梯度爆炸 与 梯度消失

1. 梯度爆炸与梯度消失的定义

1.1 梯度爆炸

梯度爆炸是指在神经网络训练过程中,反向传播时计算的梯度值变得非常大(趋向于无穷大),导致模型参数更新过大,损失函数值剧烈震荡甚至发散,最终模型无法收敛。

直观理解:想象你在调整一个滑块来优化某个目标,但每次调整的幅度都过大,导致滑块完全偏离目标位置,甚至“飞出去”。

1.2 梯度消失

梯度消失是指在反向传播过程中,梯度值变得非常小(趋向于零),导致模型参数几乎不更新,训练过程停滞,模型无法有效学习。

直观理解:继续用滑块的比喻,这次你想调整滑块,但每次调整的幅度微乎其微,几乎不动,永远无法到达目标位置。

这两种现象都与深度神经网络(尤其是深层网络)的反向传播机制密切相关,通常在递归神经网络(RNN)深层前馈网络或**卷积神经网络(CNN)**中更容易发生。


2. 梯度爆炸与梯度消失的原因

要理解这两个问题的原因,我们需要从反向传播的数学原理入手。反向传播通过链式法则计算梯度,梯度从输出层逐层向前传播到输入层。

2.1 梯度爆炸的原因

梯度爆炸的根本原因是梯度在反向传播过程中被指数放大。以下是主要原因:

  1. 权重初始化过大

    • 如果网络的权重初始化值过大(例如,随机初始化的权重方差较大),每一层的权重矩阵乘法会导致激活值和梯度在传播过程中快速放大。
    • 例如,假设权重矩阵 W W W 的元素很大,梯度 ∂ L ∂ W l \frac{\partial L}{\partial W_l} WlL 会随着层数增加呈指数增长。
  2. 深层网络的累积效应

    • 在深层网络中,梯度通过多层传播,涉及多次矩阵乘法。如果每一层的权重矩阵的特征值大于1,梯度会呈指数增长。
    • 数学上,梯度可以表示为: ∂ L ∂ W l ∝ ∏ k = l + 1 L W k ⋅ σ ′ ( z k ) \frac{\partial L}{\partial W_l} \propto \prod_{k=l+1}^L W_k \cdot \sigma'(z_k) WlLk=l+1LWkσ(zk) 如果 W k W_k Wk 的特征值大于1,多次乘法会导致梯度爆炸。
  3. 激活函数的选择

    • 某些激活函数(如 sigmoid 或 tanh)的导数较小,但如果权重过大,激活函数的输入可能进入饱和区,导致梯度被放大(尽管这更多与梯度消失相关)。
  4. 学习率过高

    • 如果学习率过大,即使梯度本身不算特别大,参数更新 Δ W = − η ⋅ ∇ L \Delta W = -\eta \cdot \nabla L ΔW=ηL 也会过大,导致参数“跳跃”到不稳定的区域。

2.2 梯度消失的原因

梯度消失的原因与梯度爆炸相反,梯度在传播过程中被指数缩小。主要原因包括:

  1. 激活函数的饱和

    • 像 sigmoid 和 tanh 这样的激活函数在输入值较大或较小时,导数值接近于0(进入饱和区)。
    • 例如,sigmoid 函数的导数为: σ ′ ( z ) = σ ( z )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱看烟花的码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值