最終更新日:2026年8月26日
gk neural_network cheatsheet
G検定トップ
> 勾配消失と勾配爆発の違い|原因・対策で切り分け【G検定】
まず結論
勾配消失と勾配爆発は、どちらも誤差逆伝播で起こる勾配の大きさの問題です。
| 問題 | 勾配 | 学習への影響 | 代表的な対策 |
|---|---|---|---|
| 勾配消失 | 0に近づく | 重みがほとんど更新されない | ReLU系、残差接続、LSTM・GRU、適切な初期化など |
| 勾配爆発 | 極端に大きくなる | 更新が不安定・発散しやすい | 勾配クリッピング、適切な初期化など |
G検定では、まず「勾配が小さいのか、大きいのか」を見れば切り分けられます。
直感的な説明
誤差逆伝播法では、出力側から入力側へ勾配を伝えていきます。
- 小さな値の影響が何度も重なる → 勾配消失
- 大きな値の影響が何度も重なる → 勾配爆発
RNNでは時刻方向にも同じような計算を繰り返すため、長い系列ほど問題が表れやすくなります。
定義・仕組み
勾配消失(Vanishing Gradient)
逆伝播を繰り返すうちに勾配が極端に小さくなり、入力側の層や遠い過去の時刻へ更新情報が届きにくくなる現象です。
起きやすい例は次のとおりです。
- 深いニューラルネットワーク
- 長い系列を扱うRNN
- Sigmoidやtanhの飽和領域が繰り返し現れる場合
結果として、学習が停滞する・長期依存を学びにくいといった問題につながります。
勾配爆発(Exploding Gradient)
逆伝播を繰り返すうちに勾配が極端に大きくなり、重みの更新が不安定になる現象です。
起きやすい例は次のとおりです。
- 深いネットワーク
- 長い系列を扱うRNN
- 重みや初期値の影響で勾配が増幅され続ける場合
結果として、損失が大きく振れる・学習が発散する・数値的に不安定になることがあります。
いつ使う?(得意・不得意)
問題文の症状から判断します。
| 問題文の表現 | 疑うもの |
|---|---|
| 入力側の層がほとんど更新されない | 勾配消失 |
| 遠い過去の情報を学習できない | RNNの勾配消失 |
| 勾配が巨大になり学習が不安定 | 勾配爆発 |
| 勾配の大きさに上限を設ける | 勾配クリッピング → 勾配爆発対策 |
| ゲート構造で長期情報を保つ | LSTM・GRU → 主にRNNの勾配消失を緩和 |
勾配消失だけを詳しく確認したい場合は、勾配消失問題も確認してください。
G検定ひっかけポイント
- ❌「勾配消失では勾配が大きくなりすぎる」→ 逆。0に近づく
- ❌「勾配爆発では勾配が0に近づく」→ 逆。大きくなりすぎる
- ❌「勾配クリッピングは小さな勾配を大きくする」→ 主に大きすぎる勾配を抑える
- ❌「LSTM・GRUなら勾配問題が完全になくなる」→ 緩和する構造であり、絶対ではない
- ❌「勾配爆発はRNNだけで起こる」→ 深いネットワークでも起こりうる
- ⭕「ReLU系・残差接続」→ 勾配消失を緩和する代表的な考え方
- ⭕「勾配クリッピング」→ 勾配爆発の代表的対策
まとめ(試験直前用)
- 消失=小さすぎる → 学習が進みにくい
- 爆発=大きすぎる → 学習が不安定
- RNN・深いネットワークで起こりやすい
- LSTM・GRUは主にRNNの勾配消失を緩和
- 勾配クリッピングは主に勾配爆発対策
「小さい? 大きい?」→「どの対策?」の順で切るのが最短です。