30秒でわかる要点
層を深くすると、誤差逆伝播で入力側に伝わる勾配がどんどん小さくなり、学習が進まなくなる問題。シグモイド関数の微分の最大値が0.25であることが一因。ReLUの採用、バッチ正規化、スキップ結合などで対策する。
「勾配消失問題」の練習問題
当サイトの練習問題から、この用語に関係する問題をピックアップしました。
Q1ニューラルネットワークの層数を増やす際の「勾配消失問題」について最も適切な説明はどれか。
- 逆伝播時に、勾配が層を遡るにつれ指数関数的に小さくなり、入力層に近い層の学習が停止すること
- 勾配が常に大きくなり、学習が発散する
- 勾配消失は実装の細部の問題に過ぎない
- 勾配は層の深さに関わらず常に一定
答えと解説を見る
正解:A
勾配消失は、連鎖律により∂L/∂w1 = (∂L/∂y) * (∂y/∂h2) * ... が複数のシグモイド微分(<0.25)の積になり、深層では無視できるほど小さくなる。ReLU、バッチ正規化、残差接続(ResNet)が対策。B、C、Dは誤り。
Q2シグモイド関数で勾配消失問題が起こりやすい理由は何か。
- シグモイド関数の導関数の最大値が約0.25と小さいため
- バックプロパゲーション時に重みが大きくなるため
- 順伝播時に出力が負になるため
- 入力値が大きい場合に計算が不安定になるため
答えと解説を見る
正解:A
シグモイド関数σ'(x)=σ(x)(1-σ(x))の最大値は0.25です。深い層では勾配が指数関数的に小さくなります。
Q3勾配消失問題が特にRNNで顕著な理由は何か。
- バックプロパゲーションスルータイム(BPTT)で勾配が時系列方向に指数関数的に減少
- 活性化関数の問題
- バッチサイズが大きい
- 正規化層の不足
答えと解説を見る
正解:A
RNNではタイムステップ数分のバックプロパゲーションが必要となり、勾配が指数関数的に減少します。
深層学習の問題をまとめて解いて、理解を確かめましょう(無料・登録不要)。
深層学習の練習問題を解く