梯度爆炸
概述
梯度爆炸是深度神经网络训练中的另一种现象,与梯度消失相反,指在网络反向传播过程中,靠近输入层的梯度逐渐趋近于无穷大,导致参数更新幅度过大,训练过程变得极不稳定。
关键内容
- 在RNN中的表现:
- 在循环神经网络中,梯度爆炸问题同样存在
- 误差信号在时间维度上传播时会被权重矩阵连乘
- 当权重矩阵的特征值大于1时,信号会指数级膨胀
-
导致训练过程极不稳定,损失值可能突然变成NaN
-
数学原理:
- 在标准RNN中,误差信号沿时间每传递一步都会被乘以一个权重矩阵
- 特征值如果大于1,信号就会指数级膨胀
-
这与梯度消失问题形成对比,两者都是结构性问题
-
解决方案:
- 梯度裁剪(Gradient Clipping)是最常用的方法,通过限制梯度的最大范数来防止爆炸
- LSTM通过常误差流(CEC)机制,让误差信号在记忆细胞中保持恒定不变,同时解决了梯度消失和梯度爆炸问题
-
权重初始化策略(如Xavier初始化)也可以帮助缓解此问题
-
与梯度消失的关系:
- 梯度消失和梯度爆炸是同一问题的两个极端
- 两者都是由于深度网络中梯度的连乘效应造成的
- LSTM的创新设计同时解决了这两个问题
来源
- 12-hochreiter-1997-lstm.md — 梯度爆炸问题分析
相关
- 循环神经网络(RNN) — affects
- LSTM — solved_by
- 梯度消失 — compares_to
- 反向传播 — occurs_during
- 梯度裁剪 — mitigated_by