Sigmoid函数
Sigmoid函数也叫Logistic函数,可将输入为为实数的样本映射到(0,1)区间之内:
g
(
z
)
=
1
1
+
e
−
z
g(z)=\frac{1}{1+e^{-z}}
g(z)=1+e−z1
sigmoid函数的导数函数示意图:
缺点:
- 容易导致梯度消失
由反向传播算法可知,梯度从后向前传时,sigmoid的梯度如图最大为0.25倍,没传递一层都会减小相应的倍数,随着网络的加深,在传播过程中梯度将会趋近于0,产生梯度消失的现象。 - 输出不是0均值(zero-centered)
后一层神经元将得到上一层输出的非0均值的信号作为输入。如果输入的数据 x > 0 x>0 x>0,在反向传播的过程中,对于某一层的某个神经元来说,根据链式法则,上层传来的梯度 L L L对权值 w w w的梯度为:
∂ L ∂ w = ∂ L ∂ f ⋅ ∂ f ∂ w \frac{\partial L}{\partial w} = \frac{\partial L}{\partial f}\cdot \frac{\partial f}{\partial w} ∂w∂L=∂f∂L⋅∂w∂f
其中对于上层传来的梯度是一样的,激活函数也都是sigmoid函数,所以 ∂ L ∂ f \frac{\partial L}{\partial f} ∂f∂L对于所有的神经元的 w w w都是相同的,对于数 f f f为sigmoid函数:
f = s i g m o i d ( w T x + b ) f=sigmoid(w^{T}x+b) f=sigmoid(wTx+b)
∂ f ∂ w \frac{\partial f}{\partial w} ∂w∂f为sigmoid 函数对 w w w求导:
∂ f ∂ w = f ( w T x ) ⋅ ( 1 − f ( w T x ) ) ⋅ x \frac{\partial f}{\partial w}=f(w^{T}x)\cdot (1-f(w^{T}x)) \cdot x ∂w∂f=f(wTx)⋅(1−f(wTx))⋅x
由于sigmoid函数的域值为 ( 0 , 1 ) (0,1) (0,1),故 ∂ f ∂ w \frac{\partial f}{\partial w} ∂w∂f值的正负将取决于 x x x的正负,输入 x > 0 x>0 x>0,所以梯度的符号取决于 ∂ L ∂ f \frac{\partial L}{\partial f} ∂f∂L的值,且对该层所有的神经元来说,关于 w w w的梯度的符号全部相同,要么都为正要么都为负,故 w w w都会往同一个方向更新。假设有二维情况下 w 1 w_{1} w1和 w 2 w_{2} w2,要么 w 1 w_{1} w1和 w 1 w_{1} w1符号均为正,方向指向第一象限,要么均为负,方向指向第三象限,若此时最优解在第四象限方向,则收敛速度会变得很慢。如下图所示:
- 式中存在幂函数预算
式中的幂运算计算时较为耗时,增加训练时间
Tanh函数
Tanh函数是一种双曲函数,可将输入为实数的样本映射到(-1,1)区间之内,因此其输出是0均值的。Tanh函数的函数图像如下图所示。Tanh函数的表达式为:
g
(
z
)
=
e
z
−
e
−
z
e
z
+
e
−
z
g(z)=\frac{e^{z}-e^{-z}}{e^{z}+e^{-z}}
g(z)=ez+e−zez−e−z
优点:
解决了非零均值输出的问题
缺点:
梯度消失和式中幂函数耗时的问题存在
ReLU函数
ReLU函数又被称作修正线性单元,其函数图像如图下图所示,其函数表达式为:
g
(
z
)
=
m
a
x
(
0
,
z
)
g(z)=max(0,z)
g(z)=max(0,z)
优点:
- 解决了梯度消失的问题
- 运算速度提升,只需进行max判断
- 收敛速度提高,ReLU的最大梯度为1,高于sigmoid和tanh的0.25
缺点:
- 输出不是零均值输出
- Dead ReLu problem,某些神经元可能不会激活,产生该问题的原因有:(1)神经元因为初始化后可能 w w w全部为负值,导致其训练结果为0。(2)学习率太高导致训练过程中参数更新太大。
Leaky ReLu函数
Leaky ReLU函数是在ReLU函数的基础上的改进,当输入小于0时,输出为一个斜率较小的线性函数,解决了ReLU函数会导致神经元无法响应的问题。Leaky ReLU函数的函数图像如下图所示,其函数表达式为:
g
(
z
)
=
m
a
x
(
0
,
α
z
)
g(z)=max(0,αz)
g(z)=max(0,αz)
其中α为斜率且一般选择较小的值作为斜率。
参考链接
https://blog.csdn.net/GreatXiang888/article/details/99296607
https://blog.csdn.net/wtrnash/article/details/87893725
https://blog.csdn.net/weixin_43835911/article/details/89294613