RNN

image.png

ht=tanh(Wxt+Uht1+b)h_{t}=\tanh \left(W x_{t}+U h_{t-1}+b\right)

  • dhtdθ=htht1dht1dθ+htθ\frac{d h_{t}}{d \theta}=\frac{\partial h_{t}}{\partial h_{t-1}} \frac{d h_{t-1}}{d \theta}+\frac{\partial h_{t}}{\partial \theta}
    • htht1>1|\frac{\partial h_{t}}{\partial h_{t-1}}| >1,导致 ↔ 梯度爆炸
      • 如何解决 → 梯度裁剪
    • htht1<1|\frac{\partial h_{t}}{\partial h_{t-1}}| < 1,导致 ↔ 梯度消失

htht1=(1ht2)U\frac{\partial h_{t}}{\partial h_{t-1}}=\left(1-h_{t}^{2}\right) U

  • 结合 ((793e6f39-50c7-4cd1-bc30-80cf6dea21f1)) 对应的曲线
    • 为什么隐状态激活函数使用 [[Tanh]] 而不是 [[ReLU]]?
      • 为什么用 Tanh → htht1\frac{\partial h_{t}}{\partial h_{t-1}} 是有界的,可以缓减梯度爆炸的风险。
      • 为什么不用 ReLU → 正半区没有上限
        • 将 U 初始化在单位矩阵附近 + 梯度裁剪也可以得到不错的效果
  • 如果 U 很大,ht 会接近于 1,$$\frac{\partial h_{t}}{\partial h_{t-1}}$$ 反而会小

[[Backward]]

[[Ref]]

网络回响

作者

Ryen Xiang

发布于

2026-02-17

更新于

2026-02-17

许可协议


评论