梯度爆炸是指在训练神经网络时,梯度的值变得非常大,导致网络参数的更新过大,从而使得网络不稳定,无法从训练数据中学习。12
梯度爆炸的原因是与梯度消失类似的。在反向传播时,每个参数的梯度都是多个数值的乘积。如果这些数值都大于1,那么梯度就会随着层数的增加而指数增长。3
梯度爆炸会带来一些问题,如:
- 网络不稳定:当梯度爆炸时,网络参数的更新会过大,导致网络的输出波动很大,无法收敛到一个合理的范围。这会使得网络难以拟合训练数据,学习效果很差。
- 数值溢出:当梯度爆炸时,梯度的值可能会超过计算机能够表示的最大数值,导致数值溢出或NaN(not a number)的错误。这会使得网络参数无法更新,甚至无法继续训练。2