梯度裁剪 是什麼?
Gradient Clipping — 梯度裁剪 的完整解釋
梯度裁剪是一種防止梯度爆炸問題的技術,通過限制梯度的大小,確保訓練過程的穩定性,避免模型參數更新過大。
容易混淆
梯度裁剪 vs 梯度消失 梯度消失是梯度太小,模型學不動 梯度裁剪是梯度太大,模型更新太猛 最關鍵的區別是太小,還是太大
梯度裁剪 vs 降低學習率 降低學習率是整體縮小步伐 梯度裁剪是只在梯度超標時動手 最關鍵的區別是全局變慢,還是局部止血
記住這句就好
太大的梯度先按住再更新。
實際案例
RNN 訓練 序列模型很容易出現梯度爆炸,梯度裁剪可以讓訓練過程穩定很多。
大批次訓練 批次太大或資料分布不穩時,梯度偶爾會飆高,裁剪可以避免一次更新把模型帶偏。
算法與應用
常見做法是設定梯度範數上限,超過就把整體縮放回來。 它處理的是穩定性,不是資料品質問題,所以通常要和其他方法一起用。
情境判斷
Q1: 訓練中梯度 norm 常常暴衝,第一個想到什麼? → 先加梯度裁剪,再看學習率和資料是否也要調整。
Q2: 訓練雖穩但一直不收斂,裁剪會是唯一解嗎? → 不會,還要看學習率、模型架構和損失函數是否合理。
相關術語
常見問題
裁剪會不會傷害表現?
會,裁太狠可能讓模型學得保守。
閾值怎麼選?
通常要用驗證集試,沒有萬用數字。
它能取代所有穩定技巧嗎?
不能,常要和正則化、早停法一起配合。