神经网络中的激活函数的比较

常见激活函数
神经网络中,常见的激活函数有以下几种:

1. sigmoid

f(x)=11+exf(x) = \frac{1}{1+e^{-x}}f(x)=1+e−x1​
f(x)=f(x)(1f(x))f^{'}(x) = f(x)(1-f(x))f′(x)=f(x)(1−f(x))

2. tanh

f(x)=exexex+exf(x) =\frac{e^{x}-e^{-x}}{e^{x}+e^{-x}}f(x)=ex+e−xex−e−x​
f(x)=?f^{'}(x) = ?f′(x)=?

  • 二者都需要指数计算
  • sigmoid和tanh都是S型的非线性激活函数,对输入做非线性映射。
  • 不同的是sigmoid将响应值限制在了(0,1),而tanh则是(-1,1).
  • 在自变量处于极大和极小值区域,导数几乎为0,在反向传播过程中,导致梯度消失,无法更新权值。

3. ReLU

f(x)={x,x&gt;00,x&lt;=0f(x)=\left\{\begin{matrix} x,x&gt;0\\ 0,x&lt;=0 \end{matrix}\right.f(x)={x,x>00,x<=0​
相对于S型函数,计算简单,在x>0区域,不存在梯度消失。
ReLU有个严重的问题,存在死区。在死区处,无法更新权值。

5. Leaky ReLU

见下图。解决ReLU死区问题,引入了一个新参数aia_{i}ai​

6. PReLU

与Leaky ReLU类似,但是参数aia_{i}ai​根据数据来定的
参考

7. RReLU

与Leaky ReLU类似,但是参数aia_{i}ai​在U(I,u)中随机选择的

神经网络中的激活函数的比较

神经网络中的激活函数的比较

上一篇:李宏毅机器学习系列-深度学习小贴士


下一篇:ZFNet: Visualizing and Understanding Convolutional Networks