教材
https://www.bilibili.com/video/BV13b4y1177W
1.神经元模型
z=∑di=1wixi+b=wTx+b
2.激活函数
性质
连续并可导(允许少数点上不可导)的非线性函数。
可导的激活函数可以直接利用数值优化的方法来学习网络参数。
激活函数及其导函数要尽可能的简单
有利于提高网络计算效率。
激活函数的导函数的值域要在一个合适的区间内
不能太大也不能太小,否则会影响训练的效率和稳定性。
单调递增
常见激活函数
S型函数
logistic函数
σ(x)=11+e−x
tanh函数
tanh(x)=ex−e−xex+e−x,值域[−1,1]
tanh(x)=2σ(2x)−1

性质:
都是饱和函数-两端导数接近于0,中间是类似线性的直线
Tanh函数是零中心化的,而logistic函数的输出恒大于0
非零中心化的输出会使得其后一层的神经元的输入发生偏置偏移(bias shift),并进一步使得梯度下降的收敛速度变慢。
比如y=f(w⋅σ(x))
求导∂y∂w=f′⋅σ(x),f′是标量,而sigma(x)是高维的,意味着所有分量都要么一起>0.要么一起<0,优化的时候会变成之字形的优化路线,优化效率差
方法1.归一化到0中心,2.增加偏置项σ(x)+b
斜坡函数
ReLU函数-修正的线性单元
ReLU(x)=max(0,x)
性质
计算上更加高效
生物学合理性
单侧抑制、宽兴奋边界
在一定程度上缓解梯度消失问题
死亡ReLU问题(Dying ReLU Problem)
函数的左边输出都是0,如果参数的Relu=0,那么梯度=0,没法更新参数了,一直处于不激活状态
解决方法,初始化的时候尽量小心,或者用LeakyRelu
Leaky Relu
LeakyRelu(x)={xx>0γxx≤0=max(0,x)+γmin(0,x)
ELU-近似的零中心化的非线性函数
ELU(x)={xx>0γ(ex−1)x≤0=max(0,x)+min(0,γ(ex−1))
softplus
Softplus(x)=log(1+ex)

复合函数
Swish函数:张一红自门控(Self-Gated)激活函数
swish(x)=xσ(βx),β允许多少信息通过,β越大,越逼近Relu,β=0就是线性函数
高斯误差线性单元 (Gaussina Error Linear Unit,GELU)
和Swish函数比较类似
GELU(x)=xP(X≤x)
其中P(X≤x)是高斯分布N(μ,σ2)的累积分布函数
其中μ,σ为超参数,一般设μ=0,σ=1即可
没有解析函数,用其他函数近似
由于高斯分布的累积分布函数为S型函数,因此GELU可以用Tanh函数或Logistic函数来近似
GELU(x)≈0.5x(1+tanh(√2π(x+0.044715x3)))
GELU(x)≈xσ(1.702x)
简单总结
激活函数 |
函数 |
导数 |
Logistic函数 |
f(x)=11+e−x |
f′(x)=f(x)(1−f(x)) |
Tanh函数 |
f(x)=ex−e−xex+e−x |
f′(x)=1−f(x)2 |
ReLU函数 |
max(0,x) |
f′(x)=I(x>0) |
ELU函数 |
max(0,x)+min(0,γ(ex−1)) |
f′(x)=I(x>0)+I(x≤0)⋅γex |
SoftPlus |
f(x)=log(1+ex) |
f′(x)=11+e−x |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)