30秒でわかる要点

層を深くすると、誤差逆伝播で入力側に伝わる勾配がどんどん小さくなり、学習が進まなくなる問題。シグモイド関数の微分の最大値が0.25であることが一因。ReLUの採用、バッチ正規化、スキップ結合などで対策する。

「勾配消失問題」の練習問題

当サイトの練習問題から、この用語に関係する問題をピックアップしました。

Q1ニューラルネットワークの層数を増やす際の「勾配消失問題」について最も適切な説明はどれか。

  1. 逆伝播時に、勾配が層を遡るにつれ指数関数的に小さくなり、入力層に近い層の学習が停止すること
  2. 勾配が常に大きくなり、学習が発散する
  3. 勾配消失は実装の細部の問題に過ぎない
  4. 勾配は層の深さに関わらず常に一定
答えと解説を見る

正解:A

勾配消失は、連鎖律により∂L/∂w1 = (∂L/∂y) * (∂y/∂h2) * ... が複数のシグモイド微分(<0.25)の積になり、深層では無視できるほど小さくなる。ReLU、バッチ正規化、残差接続(ResNet)が対策。B、C、Dは誤り。

Q2シグモイド関数で勾配消失問題が起こりやすい理由は何か。

  1. シグモイド関数の導関数の最大値が約0.25と小さいため
  2. バックプロパゲーション時に重みが大きくなるため
  3. 順伝播時に出力が負になるため
  4. 入力値が大きい場合に計算が不安定になるため
答えと解説を見る

正解:A

シグモイド関数σ'(x)=σ(x)(1-σ(x))の最大値は0.25です。深い層では勾配が指数関数的に小さくなります。

Q3勾配消失問題が特にRNNで顕著な理由は何か。

  1. バックプロパゲーションスルータイム(BPTT)で勾配が時系列方向に指数関数的に減少
  2. 活性化関数の問題
  3. バッチサイズが大きい
  4. 正規化層の不足
答えと解説を見る

正解:A

RNNではタイムステップ数分のバックプロパゲーションが必要となり、勾配が指数関数的に減少します。

深層学習の問題をまとめて解いて、理解を確かめましょう(無料・登録不要)。

深層学習の練習問題を解く

深層学習の関連用語

用語集の一覧に戻る →