什么是梯度爆炸(什么是梯度爆炸和梯度消失)

梯度消失(gradient vanishing problem)和梯度爆炸(gradient exploding problem)是深层次的神经网络中容易出现的现象。随着网络层数的增加这种现象变得越来越明显。

(1)梯度不稳定问题

在深度神经网络中的梯度是不稳定的,在靠近输入层的隐藏层中或会消失或爆炸。这种不稳定性才是深度神经网络中基于梯度学习的根本问题。

梯度不稳定的原因:前面层上的梯度是来自后面层上梯度的乘积。当存在过多的层时,就会出现梯度不稳定场景,比如梯度消失和梯度爆炸。

(2)梯度消失的原因

如图1的网络所示:

由前向传播可知:

BP反传:

反向传播过程中,梯度随网络深度进行累乘,而sigmoid函数导数小于1,如图3所示,从而造成梯度消失。而sigmoid函数的导数下图所示。

梯度消失和梯度爆炸问题都是因为网络太深,网络权值更新不稳定造成的,本质上是因为梯度反向传播中的连乘效应。

梯度爆炸和梯度消失的应对措施:

1、对于RNN,可以通过梯度截断,避免梯度爆炸

2、可以通过添加正则项,避免梯度爆炸

3、使用LSTM等自循环和门控制机制,避免梯度消失

4、用ReLU、Leaky ReLU、PReLU、RReLU、Maxout等替代sigmoid函数。

5、用Batch Normalization。