←上一篇 | ↓↑ | 下一篇→ |
---|---|---|
3.7 为什么需要非线性激活函数 | 回到目录 | 3.9 神经网络的梯度下降法 |
激活函数的导数 (Derivatives of Activation Functions)
在神经网络中使用反向传播的时候,你真的需要计算激活函数的斜率或者导数。针对以下四种激活,求其导数如下:
1)sigmoid activation function
图3.8.1
其具体的求导如下: 公式3.25: d d z g ( z ) = 1 1 + e − z ( 1 − 1 1 + e − z ) = g ( z ) ( 1 − g ( z ) ) \frac{d}{dz}g(z)=\frac{1}{1+e^{-z}}(1-\frac{1}{1+e^{-z}})=g(z)(1-g(z)) dzdg(z)=1+e−z1(1−1+e−z1)=g(z)(1−g(z))
注:
当
z
=
10
z=10
z=10 或
z
=
−
10
;
d
d
z
g
(
z
)
≈
0
z=-10;\frac{d}{dz}g(z)\approx0
z=−10;dzdg(z)≈0
当
z
=
0
,
d
d
z
g
(
z
)
=
g
(
z
)
(
1
−
g
(
z
)
)
=
1
4
z=0,\frac{d}{dz}g(z)=g(z)(1-g(z))=\frac14
z=0,dzdg(z)=g(z)(1−g(z))=41
在神经网络中
a
=
g
(
z
)
;
g
(
z
)
′
=
d
d
z
g
(
z
)
=
a
(
1
−
a
)
a=g(z);g(z)^{'}=\frac{d}{dz}g(z)=a(1-a)
a=g(z);g(z)′=dzdg(z)=a(1−a)
2)Tanh activation function
图3.8.2
其具体的求导如下: 公式3.26:
g
(
z
)
=
t
a
n
h
(
z
)
=
e
z
−
e
−
z
e
z
+
e
−
z
g(z)=tanh(z)=\frac{e^z-e^{-z}}{e^z+e^{-z}}
g(z)=tanh(z)=ez+e−zez−e−z
公式3.27:
d
d
z
g
(
z
)
=
1
−
(
t
a
n
h
(
z
)
)
2
\frac{d}{dz}g(z)=1-(tanh(z))^2
dzdg(z)=1−(tanh(z))2
注:
当
z
=
10
z=10
z=10 或
z
=
−
10
,
d
d
z
g
(
z
)
≈
0
z=-10,\frac{d}{dz}g(z)\approx0
z=−10,dzdg(z)≈0
当
=
0
,
d
d
z
g
(
z
)
=
1
−
(
0
)
=
1
=0,\frac{d}{dz}g(z)=1-(0)=1
=0,dzdg(z)=1−(0)=1
在神经网络中;
3)Rectified Linear Unit (ReLU)
注:通常在
z
=
0
z=0
z=0 的时候给定其导数1,0;当然
z
=
0
z=0
z=0 的情况很少
4)Leaky linear unit (Leaky ReLU)
与ReLU类似
g ( z ) = m a x ( 0.01 z , z ) g ( z ) ′ = { 0.01 i f z < 0 1 i f z > 0 u n d e f i n e d i f z = 0 g(z)=max(0.01z,z)\\ g(z)^{'}=\left\{ \begin{matrix} 0.01 & if\ z<0\\ 1 & if\ z>0\\ undefined & if\ z=0\\ \end{matrix} \right. g(z)=max(0.01z,z)g(z)′=⎩⎨⎧0.011undefinedif z<0if z>0if z=0
注:通常在 z = 0 z=0 z=0 的时候给定其导数1,0.01;当然 z = 0 z=0 z=0 的情况很少。
课程PPT
←上一篇 | ↓↑ | 下一篇→ |
---|---|---|
3.7 为什么需要非线性激活函数 | 回到目录 | 3.9 神经网络的梯度下降法 |