深度学习常用激活函数总结

激活函数的特点

  • 非线性。引入非线性能提升模型的表达能力
  • 可微分。如果激活函数不可微,那就无法使用梯度下降方法更新参数
  • 非饱和性。饱和指在某些区间上激活函数的梯度接近于零,使参数无法更新
  • 取值范围有界。这样可以使网络更稳定,即使有很大的输入,激活函数的输出也不会太大
  • 计算简单。复杂的激活函数会降低训练速度

常用激活函数

1、Sigmoid

公式

优点

  • 适用于将预测概率作为输出的模型
  • 梯度平滑
  • 可微

缺点

  • 存在饱和区间,在该区间内,梯度可能会消失
  • 指数运算,计算量较大
  • 函数输出不以零为均值,模型收敛较慢

2、Tanh

公式

优点

  • 解决了非零均值问题

缺点

  • 存在饱和区间,且饱和区间比sigmoid的更大
  • 指数运算,计算量较大

3、ReLU

公式

优点

  • 在正区间解决了梯度消失问题
  • 计算速度快
  • 将小于0的输入置零,从某种程度上防止过拟合

缺点

  • 非零均值
  • 当输入为负时,ReLU完全失效
  • 某些神经元可能永远不会被激活

4、Leaky ReLU

公式

优点

  • 针对Relu函数中存在的Dead Relu Problem,Leaky Relu函数在输入为负值时,给予输入值一个很小的斜率,在解决了负输入情况下的0梯度问题的基础上,也很好的缓解了Dead Relu问题
  • 该函数的输出为负无穷到正无穷,即leaky扩大了Relu函数的范围

缺点

  • 理论上来说,该函数具有比Relu函数更好的效果,但是大量的实践证明,其效果不稳定,故实际中该函数的应用并不多

5、ELU

公式

优点

  • 解决了Dead ReLU Problem问题
  • 该函数在负数域存在饱和区域,从而对噪声具有一定的鲁棒性

缺点

  • 计算量较大
  • 在实践中同样没有较ReLU更突出的效果,故应用不多

6、Softplus

公式

优点

  • 类似于ReLU

缺点

  • 导数小于1,可能存在梯度消失的问题
  • 计算量较大

7、SiLU

公式

优点

  • 继承了ReLU无上界和有下界的特点
  • 相比ReLU又增加了平滑和非单调的特点

缺点

  • 引入了指数函数,增加了计算量

8、ReLU6

公式

出现原因

  • ReLU6就是把ReLU的最大输出为限制为6(变成有上、下界),这使得模型在移动端设备(dtype=float16/int8,低精度)应用时也能有很好的数值分辨率。如果对ReLU激活范围不加限制,当激活值非常大时,低精度的设备无法很好地描述如此大范围的数值,从而带来精度损失

9、Mish

公式

优点

  • 无上界、有下界
  • 增加了平滑和非单调的特点

缺点

  • 引入了指数函数,增加了计算量

猜你喜欢

转载自blog.csdn.net/qq_38964360/article/details/131685766
今日推荐