Skip to the content.

最終更新日:2026年7月14日

G検定トップ > 勾配消失問題とは?原因と対策をシグモイド・RNNで整理【G検定】

まず結論

勾配消失問題とは、誤差逆伝播の途中で勾配が極端に小さくなり、入力側の層や過去の時刻ほど重みを更新できなくなる問題です。

観点 判断ポイント
何が小さくなる? 勾配
何が起きる? 重みの更新量がほぼ0になり、学習が進まない
起きやすい場所 深いネットワーク、長い系列を扱うRNN
関係する活性化関数 シグモイド、tanh
代表的な対策 ReLU系、残差接続、LSTM・GRU、適切な初期化・正規化

G検定では、「勾配が小さくなって学習が進まない」と、過学習や勾配爆発を切り分けます。

直感的な説明

勾配は、各重みをどの方向へ、どれくらい直すかを伝える指示です。

深いネットワークでは、出力側で計算した誤差を入力側へ順番に戻します。その途中で小さい値を何度も掛けると、指示が次のように弱くなります。

0.5 → 0.1 → 0.01 → 0.001 → ほぼ0

入力側へ届くころには更新量がほとんどなくなり、前半の層が学習できません。

RNNでは、層の深さだけでなく、時刻をさかのぼって同じような掛け算を繰り返します。そのため、長い系列の過去情報を学習しにくくなります。

定義・仕組み

誤差逆伝播では、連鎖律を使って各層の微分値を掛け合わせます。

微分値や重みの影響が1より小さい状態で掛け算を繰り返すと、勾配は指数的に小さくなります。

シグモイド・tanhとの関係

シグモイド関数は、入力が大きな正または負の値になると出力が0または1付近で飽和し、微分値が0に近づきます。シグモイドの微分値は最大でも0.25です。

小さい微分値が多層で掛け合わされると、入力側の勾配が消えやすくなります。

活性化関数 勾配に関する特徴
Sigmoid 飽和領域で微分が0に近い
tanh 飽和領域で微分が0に近い
ReLU 正の領域では勾配を保ちやすい

シグモイドが使えないわけではありません。二値分類の出力層など、0〜1の値を確率として出したい場面では今も使われます。

RNNとの関係

RNNでは、時刻方向に誤差を伝えるBPTT(Backpropagation Through Time)を使います。

長い系列では、同じ重みや微分の掛け算が繰り返されるため、遠い過去の情報へ勾配が届きにくくなります。その結果、長期依存関係を学習できないことがあります。

LSTMやGRUは、ゲート構造によって情報と勾配を保ちやすくし、通常のRNNの勾配消失を緩和します。

いつ使う?(得意・不得意)

勾配消失は、次の場面で疑います。

  • 深いニューラルネットワークで入力側の層がほとんど更新されない
  • 損失が十分に下がらず、学習が停滞する
  • RNNが長い系列の前半情報を利用できない
  • シグモイドやtanhを多層の隠れ層で使っている

代表的な対策は次のとおりです。

対策 考え方
ReLU系活性化関数 正の領域で勾配を保ちやすくする
Xavier・He初期化 信号や勾配が極端に変化しにくい初期値を使う
Batch Normalization・Layer Normalization 層への入力を安定させる
残差接続 勾配が直接流れる近道を作る
LSTM・GRU RNNで長期情報と勾配を保ちやすくする

対策はモデルの種類によって選びます。CNNや深い全結合ネットワークではReLUや残差接続、長い系列を扱うRNNではLSTM・GRUが代表的です。

G検定ひっかけポイント

勾配消失と過学習は同じ

誤りです。

  • 勾配消失:勾配が小さく、学習そのものが進みにくい
  • 過学習:訓練データへ合わせすぎ、未知データで性能が落ちる

ドロップアウトや正則化は主に過学習対策です。

勾配クリッピングで小さい勾配を回復する

誤りです。勾配クリッピングは、大きすぎる勾配へ上限を設けるため、主に勾配爆発への対策です。

ReLUなら勾配問題は一切起きない

誤りです。ReLUは正の領域で勾配を保ちやすい一方、負の入力では勾配が0になるため、ニューロンが更新されなくなるDead ReLUが起きることがあります。

LSTMは過学習だけを防ぐ

誤りです。LSTMのゲート構造は、RNNで長期依存関係と勾配を保ちやすくすることが中心です。

選択肢の判断基準

問題文の表現 疑う問題・手法
勾配が0に近づき学習しない 勾配消失
勾配が非常に大きくなる 勾配爆発
長期依存関係を学べない RNNの勾配消失
ゲート機構で長期情報を保持 LSTM・GRU
スキップ接続で深層化 ResNet・残差接続
訓練精度は高いが未知データで悪化 過学習

まとめ(試験直前用)

  • 勾配消失は、入力側へ届く勾配がほぼ0になる問題
  • 深い層や長いRNN系列で起きやすい
  • シグモイド・tanhの飽和と微分の連続した掛け算が原因になりやすい
  • ReLU、残差接続、初期化・正規化、LSTM・GRUが代表的な対策
  • 勾配クリッピングは主に勾配爆発対策
  • 過学習とは別の問題

「勾配が小さい・学習が進まない・遠い過去を覚えられない」なら勾配消失です。

確認問題(G検定対策)

勾配消失問題への対策として、最も適切なものはどれか。

  • ア. 長い系列を扱うRNNをLSTMへ置き換え、ゲート構造で情報を保ちやすくする。
  • イ. 小さくなった勾配をさらに小さくするため、勾配クリッピングを使う。
  • ウ. 訓練データだけに適合させるため、説明変数を増やし続ける。
  • エ. 隠れ層の活性化関数をすべて飽和しやすいシグモイドへ変更する。
▶ クリックして答えと解説を見る(ここを開く)

正解:ア

解説

  • ア:適切です。LSTM・GRUは通常のRNNより長期情報と勾配を保ちやすい構造です。
  • イ:勾配クリッピングは主に勾配爆発への対策です。
  • ウ:過学習を招く可能性があり、勾配消失対策ではありません。
  • エ:シグモイドの飽和は勾配消失の原因になり得ます。

判断ポイントは、RNNの長期依存ならLSTM・GRU、深いネットワークならReLUや残差接続です。

© 2024-2026 stemtazoo. All rights reserved.