[深度学习网络从入门到入土] 拓展 - 激活函数

📅 发布时间:2026/7/14 23:06:40 👁️ 浏览次数:
[深度学习网络从入门到入土] 拓展 - 激活函数
[深度学习网络从入门到入土] 拓展 - 激活函数个人导航知乎https://www.zhihu.com/people/byzh_rcCSDNhttps://blog.csdn.net/qq_54636039注本文仅对所述内容做了框架性引导具体细节可查询其余相关资料or源码参考文章各方资料文章目录[深度学习网络从入门到入土] 拓展 - 激活函数个人导航Sigmoid1. 好处2. 坏处3. 结论Tanh1. 好处2. 坏处3. 结论Tanh - LeNet51. 好处2. 坏处3. 结论ReLU1. 好处2. 坏处3. 结论Leaky_ReLU1. 好处2. 坏处3. 结论PReLU1. 好处2. 坏处3. 结论GeLU1. 好处2. 坏处3. 结论SigmoidSigmoid 是最早被广泛用于神经网络的激活函数之一源于生物神经元发放率模型f ( x ) 1 1 e − x f ′ ( x ) f ( x ) ( 1 − f ( x ) ) f(x)\frac{1}{1e^{-x}} \\ f(x)f(x)(1-f(x))f(x)1e−x1​f′(x)f(x)(1−f(x))1. 好处输出范围在 (0,1)非常适合做概率建模Logistic Regression二分类输出层2. 坏处导数f ′ ( x ) f(x)f′(x)最大值只有 0.25- 当 |x| 很大时梯度趋近 0 —— 直接导致深层网络训练困难非零中心- 输出始终为正导致梯度更新方向偏移, 收敛速度慢饱和区问题- 当 x 很大或很小时函数进入“饱和区”梯度几乎为 03. 结论Sigmoid 现在几乎只用于输出层概率很少用于隐藏层Tanhf ( x ) tanh ⁡ ( x ) f ′ ( x ) 1 − tanh ⁡ 2 ( x ) f(x)\tanh(x) \\ f(x)1-\tanh^2(x)f(x)tanh(x)f′(x)1−tanh2(x)1. 好处输出范围在 (-1,1)零中心- 梯度更新方向更加均衡收敛速度比 Sigmoid 更快梯度最大值为 1- 比 Sigmoid 的 0.25 大2. 坏处依然存在梯度消失问题- 当 |x| 很大时仍进入饱和区, 深层网络训练依然困难指数运算- 计算量相对较大3. 结论Tanh 比 Sigmoid 更适合隐藏层, 但在深层网络时代仍然不够理想, 在 ReLU 出现后逐渐被淘汰Tanh - LeNet5缩放版的 Tanhf ( x ) 1.7159 tanh ⁡ ( 2 3 x ) f ′ ( x ) 1.7159 ⋅ 2 3 ( 1 − tanh ⁡ 2 ( 2 3 x ) ) f(x)1.7159\tanh\left(\frac{2}{3}x\right) \\ f(x) 1.7159 \cdot \frac{2}{3} \left( 1-\tanh^2\left(\frac{2}{3}x\right) \right)f(x)1.7159tanh(32​x)f′(x)1.7159⋅32​(1−tanh2(32​x))1. 好处目的放大梯度避免过早饱和加速收敛2. 坏处本质仍然是 Tanh- 饱和问题依然存在- 深层网络依然难训练3. 结论属于“早期工程优化手段”,在 ReLU 出现后逐渐被淘汰ReLUf ( x ) max ⁡ ( 0 , x ) f ′ ( x ) { 1 x 0 0 x ≤ 0 f(x)\max(0,x) \\ f(x) \begin{cases} 1 x0\\ 0 x\le0 \end{cases}f(x)max(0,x)f′(x){10​x0x≤0​1. 好处正区间梯度恒为 1-大幅缓解梯度消失计算简单- 不涉及指数运算稀疏性- 负区间输出为 0提高表达效率2. 坏处神经元死亡问题- 若权重更新后始终落在负区间- 梯度为 0永久无法恢复非零中心- 输出全部非负3. 结论ReLU 让深度网络真正可训练, 成为现代 CNN 默认激活函数Leaky_ReLUf ( x ) { x x 0 α x x ≤ 0 f ′ ( x ) { 1 x 0 α x 0 f(x) \begin{cases} x x0\\ \alpha x x\le0 \end{cases} \\ f(x) \begin{cases} 1 x0\\ \alpha x0 \end{cases}f(x){xαx​x0x≤0​f′(x){1α​x0x0​1. 好处负区间保留小梯度- 避免“死亡神经元”2. 坏处α 需要人为设定- 不同任务最优值不同仍然不是严格零中心3. 结论ReLU 的小改进版, 在一些任务中更稳定PReLUf ( x ) max ⁡ ( 0 , x ) a min ⁡ ( 0 , x ) ∂ f ∂ x { 1 x 0 a x 0 ∂ f ∂ a { 0 x 0 x x 0 f(x)\max(0,x)a\min(0,x) \\ \frac{\partial f}{\partial x} \begin{cases} 1 x0\\ a x0 \end{cases} \quad\quad\quad \frac{\partial f}{\partial a} \begin{cases} 0 x0\\ x x0 \end{cases}f(x)max(0,x)amin(0,x)∂x∂f​{1a​x0x0​∂a∂f​{0x​x0x0​1. 好处负区间斜率 a 可学习- 自适应调整通常优于固定 Leaky ReLU2. 坏处增加参数量小数据集可能过拟合仍然是分段线性3. 结论更“智能”的 ReLU, 但主流依然是普通 ReLU(在 ICCV 2015 中提出)GeLUf ( x ) x Φ ( x ) f ′ ( x ) Φ ( x ) x ϕ ( x ) f(x)x\Phi(x) \\ f(x)\Phi(x)x\phi(x)f(x)xΦ(x)f′(x)Φ(x)xϕ(x)常用近似f ( x ) ≈ 0.5 x ( 1 tanh ⁡ ( 2 π ( x 0.044715 x 3 ) ) ) f ′ ( x ) ≈ 0.5 ( 1 tanh ⁡ u ) 0.5 x ( 1 − tanh ⁡ 2 u ) c ( 1 0.134145 x 2 ) 其中 { u c ( x 0.044715 x 3 ) c 2 π f(x) \approx 0.5x\left(1\tanh\left(\sqrt{\frac{2}{\pi}}\left(x0.044715x^3\right)\right)\right) \\ f(x) \approx 0.5(1\tanh u) 0.5x(1-\tanh^2 u) c(10.134145x^2) \\ \text{其中} \begin{cases} uc(x0.044715x^3) \\ c\sqrt{\frac{2}{\pi}} \end{cases}f(x)≈0.5x(1tanh(π2​​(x0.044715x3)))f′(x)≈0.5(1tanhu)0.5x(1−tanh2u)c(10.134145x2)其中{uc(x0.044715x3)cπ2​​​已知d d x Φ ( x ) ϕ ( x ) \frac{d}{dx}\Phi(x)\phi(x)dxd​Φ(x)ϕ(x)φ ( x ) φ(x)φ(x)是标准正态分布 PDF:ϕ ( x ) 1 2 π e − x 2 / 2 \phi(x)\frac{1}{\sqrt{2\pi}}e^{-x^2/2}ϕ(x)2π​1​e−x2/2Φ ( x ) \Phi(x)Φ(x)是累积分布函数 CDF:Φ ( x ) ∫ − ∞ x ϕ ( t ) d t \Phi(x)\int_{-\infty}^{x}\phi(t)\,dtΦ(x)∫−∞x​ϕ(t)dt1. 好处平滑概率解释更自然在 Transformer 中效果优于 ReLU2. 坏处计算复杂推理速度略慢在 CNN 中优势不明显3. 结论Transformer 时代主流激活函数, 更适合大模型(被 BERT 等模型广泛采用)