1.【平安科技】 sigmoid激活函数为什么会导致梯度消失和梯度爆炸?
答:设
S
i
g
m
o
i
d
(
x
)
=
g
(
x
)
Sigmoid(x)=g(x)
Sigmoid(x)=g(x),则
g
′
(
x
)
=
g
(
x
)
∗
(
1
−
g
(
x
)
)
g'(x) = g(x)*(1-g(x))
g′(x)=g(x)∗(1−g(x))。由
g
(
x
)
g(x)
g(x)的取值为(-1,1)可知
g
′
(
x
)
g'(x)
g′(x)的取值范围为(0,0.25)。以全连接神经网络为例,根据梯度反传的链式求导法则,形如
g
′
(
x
)
∗
W
t
g'(x)*W_t
g′(x)∗Wt(
W
t
W_t
Wt为第t层的权重)的项会被累乘,当这些项小于1时,累乘效应会使得越低层网络的梯度越接近0,而当
W
t
W_t
Wt很大导致这些项大于1时就会因累乘效应出现梯度爆炸。实际上对于梯度爆炸可以用一个简单clip来缓解,但是梯度弥散则不行。 现在广泛使用的relu激活的原因是因为relu的导数不容易导致梯度消失。
面经项目题目(二)
最新推荐文章于 2024-03-02 21:27:57 发布