梯度消失与梯度爆炸

什么是梯度消失和梯度爆炸,分别会引发什么问题

我们知道神经网络在训练过程中会利用梯度对网络的权重进行更新迭代。
当梯度出现指数级递减或指数递增时,称为梯度消失或者梯度爆炸。

假定激活函数 $g(z) = z$, 令 $b^{[l]} = 0$,对于目标输出有:
$\hat{y} = W^{[L]}W^{[L-1]}…W^{[2]}W^{[1]}X$
1)对于 W[l]的值小于 1 的情况,激活函数的值将以指数级递减
2)对于 W[l]的值大于 1 的情况,激活函数的值将以指数级递增
同理的情况会出现在反向求导。

梯度消失时,权重更新缓慢,训练难度大大增加。梯度消失相对梯度爆炸更常见。
梯度爆炸时,权重大幅更新,网络变得不稳定。较好的情况是网络无法利用训练数据学习,最差的情况是权值增大溢出,变成网络无法更新的 NaN 值。