梯度消失,梯度爆炸

知识共享许可协议 版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons

用Ik代表第K个神经元的总输入,用Ok代表第k个神经元的输出。
举例计算5号神经元的梯度:

在这里插入图片描述
Gk有可能在传播过程中绝对值越来越小(直到变成0),这称为梯度消失,其会使得网络的训练停滞不前。

Gk有可能在传播过程中绝对值越来越大(直到发散),这称为梯度爆炸,其会使得网络不稳定,性能崩溃。

梯度消失举例:
如果采用sigmoid或tanh非线性,在输入的绝对值很大的时候,会出现“饱和”,即导数趋近0,根据公式,会造成梯度消失。

梯度爆炸的例子:
如果网络中的W很大,例如初始化网络时使用了过大的初始值,或是网络的权重随着训练越来越大,就可能发生梯度爆炸。对于循环神经网络和GAN,较为容易出现这种现象。

因此,如果发现网络的训练性能很差,就要考虑是否出现了梯度消失和梯度爆炸。
改善梯度可通过多种技巧,包括批规范化、残差网络,还可采用梯度截断技术,或引入一定的梯度惩罚。

猜你喜欢

转载自blog.csdn.net/qjt19950610/article/details/94764634
今日推荐