AI用語集・ディープラーニングの概要

勾配消失問題とは

こうばいしょうしつもんだいvanishing gradient problem

別名:勾配消失

  • シラバス 技術12
  • ◯×チェック3問
  • 練習問題14問

最終更新日:作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合)人による確認:未出典

1行定義

勾配消失問題とは、誤差逆伝播法で入力層に近い層ほど勾配が小さくなり、重みがほとんど更新されなくなる現象のことです。

くわしく

勾配消失問題は、層の深いニューラルネットワークや、長い系列を扱うRNNで、学習が進まなくなる現象です。深いネットワークの学習が長く難しいとされてきた大きな理由の1つです。

なぜ起きるのか

ニューラルネットワークは誤差逆伝播法で学習します。出力の誤差をもとに、各重みを「どちらにどれだけ動かせば誤差が減るか」を表す勾配を求めます。このとき連鎖律により、出力層から入力層へ向かって、各層の微分が次々に掛け合わされます。

掛け合わせる値が1より小さいと、層をさかのぼるほど積は急速に小さくなります。たとえば0.25を10回掛けると、約100万分の1になります。シグモイド関数の微分は最大でも0.25なので、この状況が起きやすくなります。その結果、出力層に近い層は学習できても、入力層に近い層の重みはほとんど変わりません。

RNNでも同じことが起きます。RNNは時間方向に展開すると深いネットワークになり、BPTTで過去にさかのぼるたびに勾配が掛け合わされます。そのため、遠い過去の情報を学習しにくくなります。

主な対策

  • 活性化関数:正の範囲で微分が1になるReLU関数を使う。
  • 重みの初期値:層の大きさに合わせた初期化(Xavierの初期値、Heの初期値)を使う。
  • バッチ正規化:各層への入力の分布を整え、活性化関数が飽和しにくくする。
  • スキップ結合:ResNetのように層を飛び越える経路を作り、勾配を直接伝える。
  • ゲート機構:RNNではLSTMやGRUを使い、情報と勾配を長く保つ。

勾配爆発問題との違い

逆に、掛け合わせる値が1より大きいと、勾配が急激に大きくなります。これが勾配爆発問題です。重みが極端な値になり、学習が発散します。勾配の大きさに上限を設ける勾配クリッピングが代表的な対策です。

覚え方

「1より小さい数の掛け算は、すぐに0へ近づく」と覚えます。

G検定での出題

出題のされ方

シグモイド関数の微分の小ささが原因になる仕組み、ReLU関数・LSTM・スキップ結合・バッチ正規化などの対策との対応、勾配爆発問題との違いが問われます。

混同しやすい用語

用語意味
勾配消失問題このページの用語誤差逆伝播法で入力層に近い層ほど勾配が小さくなり、重みがほとんど更新されなくなる現象
勾配爆発問題誤差逆伝播法で層や時刻をさかのぼって勾配を伝えるうちに勾配が急激に大きくなり、学習が不安定になったり発散したりする現象

◯×チェック

3問

次の文が正しいか、誤りかを選んでください。

  1. 勾配消失問題が起きると、出力層に近い層よりも、入力層に近い層の重みのほうが更新されにくくなる。

    答えを見る

    答え ◯ 正しい

    勾配は出力層から入力層へ、各層の微分を掛け合わせながら伝わります。そのため入力層に近いほど小さくなります。

  2. 勾配消失問題は、ネットワークの層を増やすほど起きにくくなる。

    答えを見る

    答え × 誤り

    層が増えるほど掛け合わせる回数が増え、勾配は小さくなりやすくなります。深いネットワークほど起きやすい問題です。

  3. RNNで長い系列を学習すると、時間をさかのぼるほど勾配が小さくなり、遠い過去の情報が学習に反映されにくくなることがある。

    答えを見る

    答え ◯ 正しい

    時間方向に展開したRNNは、深いネットワークと同じ構造になるためです。LSTMやGRUのゲート機構はこの対策です。

この用語の練習問題

14問
  1. #0164各層のユニット数の決め方難易度 基礎・単一選択未回答
  2. #0035シグモイド関数と勾配消失難易度 標準・単一選択未回答
  3. #0037ReLU系関数とtanh関数の性質難易度 基礎・単一選択未回答

ほかに11問あります。続けて解くと、すべての問題を順に出題します。

出典

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合)人による確認:未 最終確認日: 対応シラバス:シラバス第1.4版 技術12・技術15・技術22

誤りを報告

表示設定

テーマ
文字の大きさ
問題演習