激活函数的性质要求

- 连续并可导(允许少数点不可导)的非线性函数,可导的激活函数。可导的激活函数可以直接利用数值优化的方法来学习网络参数
- 激活函数及其导函数要尽可能的简单,还有利于提高网络计算效率。
- 激活函数的导函数的值域要在一个合适的区间内,不能太大也不能太小,否则会影响训练的效率和稳定性
  • Sigmoid型函数
  • Hard-Logistic函数
  • max(min(0.25x+0.5,1),0)
  • Hard-Tanh函数
  • max(min(x,1),-1)
  • 这两个函数是对Logistic和Tanh函数的分段近似,与Logistic和Tanh函数相比,降低了计算开销
  • Hard-Logistic函数图像
  • 费县新个激活函数的作用_费县新个激活函数的作用

  • Hard-Logistic函数导数图像
  • 费县新个激活函数的作用_费县新个激活函数的作用_02

  • Hard-Tanh函数图像
  • 费县新个激活函数的作用_深度学习_03

  • Hard-Tanh函数导数图像
  • 费县新个激活函数的作用_神经网络_04

  • 整流线性单元(ReLU)函数
  • ReLU
  • max(0,x)
  • 是目前最常用的激活函数,具有单侧抑制、宽兴奋边界的生物学合理性,可缓解梯度消失问题
  • 缺点:有可能导致神经元的死亡
  • 带泄露的ReLU(Leaky ReLU)
  • max(0,x)+γmin(0,x)
  • 在x<0时也保持一个很小的梯度,避免永远不能被激活的情况,γ为超参
  • ReLU函数图像
  • 费县新个激活函数的作用_深度学习_05

  • ReLU函数导数图像
  • 费县新个激活函数的作用_费县新个激活函数的作用_06

  • Leaky ReLU函数图像
  • 费县新个激活函数的作用_pytorch_07

  • Leaky ReLU函数导数图像
  • 费县新个激活函数的作用_费县新个激活函数的作用_08

  • 指数线性单元ELU
  • max(0,x)+min(0,γ(exp(x)-1))
  • 近似零中心化,γ为超参
  • Softplus
  • log(1+exp(x))
  • 可以看成ReLU的平滑版本,其导数刚好为Logistic函数,具有单侧抑制、宽兴奋边界的特征,但不具有稀疏性
  • 指数线性单元ELU函数图像
  • 费县新个激活函数的作用_激活函数_09

  • 指数线性单元ELU函数导数图像
  • 费县新个激活函数的作用_费县新个激活函数的作用_10

  • Softplus函数图像
  • 费县新个激活函数的作用_费县新个激活函数的作用_11

  • Softplus函数导数图像
  • 费县新个激活函数的作用_深度学习_12

  • 其他激活函数
  • Swish函数
  • x/(1+exp(-βx))
  • 当β=0时为线性函数,当β=1时在x>0为近似线性,当β->∞时近似ReLU函数,可看成线性函数和ReLU之间的非线性插值函数
  • 高斯误差线性单元(GELU)
  • xσ(1.702x)
  • P(X≤x)为高斯分布的累积分布函数,可使用Logistic或者Tanh来近似计算,当使用Logistic近似时,相当于一种特殊的Swish函数
  • Swish函数图像
  • 费县新个激活函数的作用_神经网络_13

  • Swish函数的导数图像
  • 费县新个激活函数的作用_深度学习_14

  • GELU函数图像
  • 费县新个激活函数的作用_神经网络_15

  • GELU函数的导数图像
  • 费县新个激活函数的作用_激活函数_16

  • Maxout单元
  • Maxout是对整流线性单元的进一步扩展,Maxout将神经元的净输入z分为k组,每一组均为一个线性函数,Maxout可以看作任意凸函数的分段线性近似
  • 输出单元
  • 线性输出单元
  • 线性输出单元经常用于产生条件高斯分布的均值,适合连续值预测(回归)问题,基于高斯分布,最大化似然(最小化负对数似然)等价于最小化均方误差,因此线性输出单元可采用均方误差损失函数
  • Sigmoid单元
  • 1/(1+exp(−w^Th-b))
  • Sigmoid输出单元常用于输出Bernoulli分布,适合二分类问题,Sigmoid输出单元可采用交叉熵损失函数
  • Softmax单元
  • Softmax输出单元常用于输出Multinoulli分布,适合多分类问题,Softmax输出单元可采用交叉熵损失函数