梯度消失#
术语解释#
梯度消失(Gradient Vanishing) 是深度学习模型训练中常见的一种数值不稳定问题,主要发生在利用反向传播算法更新网络参数的过程中。

梯度消失是指在深层神经网络中,损失函数关于网络某些层(尤其是靠近输入层的部分)的梯度值变得极其微小的现象。
梯度消失的核心成因为:
-
链式求导的累乘效应:反向传播算法基于链式法则,梯度是从输出层向输入层逐层回传的。如果网络层数过深,且每一层的梯度值都小于 1,连续的累乘会导致传到靠近输入层时梯度趋近于 0 。 关于这部分内容可以参见 「第3.3.6节 反向传播过程」 的讲解。
-
激活函数进入饱和区:在使用 Sigmoid 或 Tanh 等激活函数时,如果神经元的输入值过大或过小,函数会进入“饱和区”,此时其导数几乎为 0。这使得参数在梯度下降过程中无法得到有效更新。关于这部分内容可以参见 「第3.12.1节 Sigmoid激活函数」 的讲解。
-
长序列依赖(针对 RNN):在循环神经网络处理长序列数据时,同一组权重参数在时间步上被反复累乘,极易引发梯度消失。 「第7.1.7节 BPTT原理」 的讲解。
缺点#
梯度消失对模型的训练和性能具有显著的负面影响:
-
模型参数难以更新:由于梯度接近 0,靠近输入层的权重参数更新非常缓慢甚至完全停止,导致这些层无法学习到有效的特征。
-
丢失长期依赖信息:在 RNN 任务(如语言建模或翻译)中,梯度消失使得模型难以捕捉序列中长距离的依赖关系。模型可能只记住了最近几个时刻的信息,而遗忘了较早时刻的关键上下文,而这也催生出了 LSTM 网络。
-
收敛缓慢或无法收敛:网络底部的参数更新不及时,迫使顶部的参数不断适应未充分训练的底部输出,极大地增加了训练难度和收敛耗时。
为了缓解梯度消失,现代深度学习通常采用合理的参数初始化(如 Kaiming 或 Xavier 初始化 )、非饱和激活函数(如 ReLU )、归一化技术(如批归一化 BN )以及特殊的网络结构(如 ResNet 的残差连接 或 LSTM 的记忆门控机制 )。
相关内容可参见:
相关术语#
-
梯度下降
-
反向传播
-
批归一化
-
梯度爆炸