梯度消失 是什麼?

Vanishing Gradient — 梯度消失 的完整解釋

梯度消失是指在深度學習模型訓練中,梯度在反向傳播時逐漸縮小至接近於零,導致淺層網路權重難以更新,模型學習停滯。

容易混淆

梯度消失 vs 梯度爆炸 梯度消失是訊號太小 梯度爆炸是訊號太大 最關鍵的區別:太弱和太強

梯度消失 vs 欠擬合 梯度消失是訓練上的病灶 欠擬合是結果現象 最關鍵的區別:原因層和結果層不同

梯度消失 vs 學習率太小 學習率太小會讓更新步伐慢 梯度消失是反向傳播訊號本身變弱 最關鍵的區別:步伐小和訊號小不是同一件事

記住這句就好

訊號一層層變小,前面的層就學不動。

實際案例

很深的序列模型 舊式 RNN 在長序列上常因梯度消失而學不到前面的資訊

深層網路訓練 前幾層權重幾乎不更新,模型就只剩後面幾層在學

算法與應用

| 飽和激活函數 | 像 sigmoid 容易把梯度壓小 | 深網常出問題 | | 反向傳播 | 誤差信號一路往前傳 | 傳到前面時可能太弱 | | 殘差設計 | 讓訊息有捷徑可走 | 可減輕問題 | | 梯度裁剪 | 主要是防爆炸,不是專治消失 | 不要混在一起 |

情境判斷

Q1(直覺題):深層模型訓練到前面幾層幾乎不更新,先懷疑什麼? → 先懷疑梯度消失,因為訊號可能傳不到前層。

Q2(判斷題):把學習率調大就能解掉梯度消失嗎? → 不一定,因為問題在梯度本身變小,不只是更新步伐。

相關術語

常見問題

梯度消失只會出現在 RNN 嗎?

不是,深層前饋網路和 Transformer 某些設定也可能遇到。

殘差連接為什麼有幫助?

它提供更直接的訊息路徑,讓訊號不必完全靠長鏈路傳遞。

ReLU 可以改善嗎?

常常有幫助,因為它比較不容易在某些區域把梯度壓得太小。