勾配クリッピング

Gradient Clipping

勾配クリッピング(Gradient Clipping)とは、逆伝播で計算された勾配のノルム(大きさ)が閾値を超えた場合に、閾値内に制限する手法です。勾配爆発問題を防ぎ、学習を安定させます。

2つの方法

Clip by Value(各勾配の値を直接制限)とClip by Norm(勾配ベクトル全体のノルムを制限し、方向を保持)の2種類があります。Clip by Normが一般的で、勾配の方向を保ちながら大きさのみを制限します。

適用場面

RNNやLSTMの学習、Transformerの学習、長いシーケンスの処理など、勾配が不安定になりやすい場面で特に重要です。一般的にmax_norm=1.0が使われます。