深度学习中常用的激活函数详解及对比分析(sigmoid)

Sigmoid函数:

Sigmoid=\frac{1}{1+exp(-x)}

特性:

1.当变量值远离中心轴时,梯度几乎为0,在神经网络的反向传播过程中,链式求导导致经过sigmoid函数之后的梯度

很小,权重值更新较慢

2.计算机执行指数运算较慢

3.sigmoid在压缩数据幅度方面有优势,在深度网络中,在前向传播中,sigmoid可以保证数据幅度在[0,1]内,这样数据幅度稳住了,不会出现数据扩散,不会有太大的失误。

4.定义域(0, 1) 可以表示作概率,或者用于输入的归一化,如Sigmoid交叉熵损失函数。

5.如图像所示其值域在[0,1]之间,函数输出不是0均值的,权重更新效率降低,因为这会导致后层的神经元的输入是非0均值的信号,这会对梯度产生影响:假设后层神经元的输入都为正(e.g. x>0 elementwise in ),那么对w求局部梯度则都为正,这样在反向传播的过程中w要么都往正方向更新,要么都往负方向更新,导致有一种捆绑的效果,使得收敛缓慢。 当然了,如果你是按batch去训练,那么每个batch可能得到不同的符号(正或负),那么相加一下这个问题还是可以缓解。因此,非0均值这个问题虽然会产生一些不好的影响,不过跟上面提到的 kill gradients 问题相比还是要好很多的。

 

Tanh函数:

Tanh = \frac{e^{x}-e^{-x}}{e^{x}+e^{-x}} = 2sigmoid(2x)-1

特性:

1.Tanh 网络的收敛速度要比 Sigmoid 快。因为 Tanh 的输出均值为 0,SGD 会更接近 natural gradient(一种二次优化技术),从而降低所需的迭代次数。

2.Tanh 激活函数与sigmoid函数一样也具有软饱和性,没有改变Sigmoid函数的最大问题——由于饱和性产生的梯度消失。

 

Relu函数(Rectified linear unit):

ReLU = max(0,x) = \left\{\begin{matrix} 0, x<0 & & \\ x, x\geq 0 & & \end{matrix}\right.

特性:

1.当输入值小于0时,出现硬饱和,梯度消失为0;

2.解决了梯度消失的问题 :在正区间当输入值大于0时,梯度保持不变,没有sigmoid及Tanh函数的梯度消失的问题。

3.计算速度快,只需要判断输入是否大于0

4.收敛速度远快于sigmoid和tanh

5.输出不是zero-centered

6.Dead ReLU Problem:
Dead ReLU Problem指的是某些神经元可能永远不会被激活,导致相应的参数永远不能被更新。有两个主要原因可能导致这种情况产生: (1) 非常不幸的参数初始化,这种情况比较少见 (2) 学习速率太高导致在训练过程中参数更新太大,不幸使网络进入这种状态。

 

Leaky ReLU函数

ReLU = max(0.1x,x) = \left\{\begin{matrix} 0.1x, x<0 & & \\ x, x\geq 0 & & \end{matrix}\right.

Leaky ReLU是为了解决ReLU函数的Dead ReLU Problem而提出的激活函数。为了解决Dead ReLU Problem,Leaky ReLU提出了将ReLU的前半段设为0.01x0.01x而非0。另外一种直观的想法是基于参数的方法,即Parametric ReLU:

ReLU = max(\alpha x,x) = \left\{\begin{matrix} \alpha x, x<0 & & \\ x, x\geq 0 & & \end{matrix}\right.
其中α可由back propagation学出来。理论上来讲,Leaky ReLU有ReLU的所有优点,外加不会有Dead ReLU问题,但是在实际操作当中,并没有完全证明Leaky ReLU总是好于ReLU。

 

ELU函数

ELU = \left\{\begin{matrix} x, x>0 & & \\ \alpha (e^{x}-1), x\leq 0 & & \end{matrix}\right.

特性:

ELU(Exponential Linear Units)函数也是为解决ReLU存在的问题而提出,显然,ELU有ReLU的基本所有优点,以及:

  • 不会有Dead ReLU问题
  • 输出的均值接近0,zero-centered

它的一个小问题在于计算量稍大。类似于Leaky ReLU,理论上虽然好于ReLU,但在实际使用中目前并没有好的证据ELU总是优于ReLU。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值