赞
踩
1、sigmoid
优点:能够把输入的连续实值变换为0和1之间的输出,如果是非常大的负数,那么输出就是0;如果是非常大的正数,输出就是1。
缺点:
(1)sigmoid函数的导数范围是(0,0.25],导数最大都不大于1,容易引起梯度消失
(2)公式包含幂运算,导致方向传播运算速度慢
(3)Sigmoid函数输出不是零中心对称。sigmoid的输出均大于0,这就使得输出不是0均值,称为偏移现象,这将导致后一层的神经元将上一层输出的非0均值的信号作为输入。关于原点对称的输入和中心对称的输出,网络会收敛地更好。
sigmoid函数的函数图和导数图
2、tanh
优点:
(1)tanh函数梯度相对于sigmoid函数来说较大,收敛速度更快且引起梯度消失更慢。
(2)它解决了Sigmoid函数的不是zero-centered输出问题。
缺点:
(1)tach函数的导数范围是(0,1],他们的导数最大都不大于1,仍然存在梯度消失的问题。
(2)仍然存在幂运算的问题。
tanh函数的函数图和导数图
3、ReLU
ReLU目前是最常用的activation function,优点:
(1)ReLU函数的左侧导数为0,右侧导数恒为1,这就避免了“梯度消失“的发生
(2)计算速度非常快,只需要判断输入是否大于0,收敛速度远快于sigmoid和tanh
缺点:
(1)恒为1的导数容易导致“梯度爆炸“,但设定合适的阈值可以解决这个问题(更新梯度的时候,如果梯度超过这个阈值,那么就将其强制限制在这个范围之内)
(2)如果左侧横为0的导数有可能导致把神经元学死,不过设置合适的步长(学习率)也可以有效避免这个问题的发生。
ReLU函数的函数图和导数图
4、Leaky ReLU
人们为了解决Dead ReLU Problem,提出了将ReLU的前半段设为αx而非0,通常α=0.01。另外一种直观的想法是基于参数的方法,即f(x)=max(αx,x),其中α可由反向传播算法学出来。理论上来讲,Leaky ReLU有ReLU的所有优点,外加不会有Dead ReLU问题,但是在实际操作当中,并没有完全证明Leaky ReLU总是好于ReLU。
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。