【DS検定対策】深層学習の壁を攻略!学習が止まる「勾配消失問題」とは?
ディープラーニングの層を深くしすぎると、かえって学習がうまく進まなくなることがあります。その主な原因の一つである「勾配消失問題」の仕組みを正しく理解しましょう。
1. 【 問題 】
ニューラルネットワークの学習において、層が深くなるにつれて誤差の情報(勾配)が極端に小さくなり、入力層に近い層のパラメータがほとんど更新されなくなる現象を何と呼ぶでしょうか?
① 過学習(オーバフィッティング)
② 勾配消失問題
③ 局所最適解へのトラップ
④ 次元の呪い
2. 【 解答 】
3. 整理:なぜ「勾配」が消えてしまうのか?
ニューラルネットワークは「誤差逆伝播法」という仕組みで、後ろの層から前の層へと「間違いの修正情報」を伝えていきます。
【 勾配消失のイメージ 】
「答えが少しズレているぞ!」という情報を逆方向に送る。
[ 2. 層をさかのぼる(掛け算の連続) ]
活性化関数の微分値を何度も掛け合わせていく。
[ 3. 値がどんどん小さくなる ]
★ ここが勾配消失!
1より小さい値を何度も掛けることで、入力層に届く頃には値が「ほぼゼロ」になる。
--------------------------
◎ 結果: 前の方の層にある重みが更新されず、学習がストップしてしまいます。
4. 解決のためのアプローチ
1. 活性化関数の工夫: シグモイド関数ではなく、勾配が消えにくい「ReLU関数」などを使用する。
2. バッチ正規化: 各層の出力を適切な範囲に調整し、学習を安定させる。
3. 適切な重みの初期化: 「Heの初期値」などを用い、最初から値が小さくなりすぎないようにする。
5. DS検定形式:実戦4択クイズ
問:勾配消失問題を緩和するために、隠れ層(中間層)の活性化関数として一般的に推奨される関数はどれか。
① シグモイド関数 ② ReLU関数 ③ ステップ関数 ④ 線形関数
【 正解: ② 】
解説: シグモイド関数は値が大きくなると微分値がほぼ0になるため、勾配消失が起きやすい特徴があります。一方、ReLU(Rectified Linear Unit)関数は入力が正であれば微分値が1のまま保たれるため、深い層でも学習が進みやすくなります。
6. まとめ
DS検定で「誤差逆伝播法」「勾配がゼロに近い」「パラメータが更新されない」というセットが出たら、正解は「勾配消失」です。歴史的に深層学習が停滞した理由の一つでもあるため、背景知識としてもしっかり押さえておきましょう!