忍者ブログ
統計、機械学習、AIを学んでいきたいと思います。 お役に立てば幸いです。

【DS検定対策】深層学習の壁を攻略!学習が止まる「勾配消失問題」とは?

ディープラーニングの層を深くしすぎると、かえって学習がうまく進まなくなることがあります。その主な原因の一つである「勾配消失問題」の仕組みを正しく理解しましょう。

1. 【 問題 】

ニューラルネットワークの学習において、層が深くなるにつれて誤差の情報(勾配)が極端に小さくなり、入力層に近い層のパラメータがほとんど更新されなくなる現象を何と呼ぶでしょうか?

① 過学習(オーバフィッティング)
② 勾配消失問題
③ 局所最適解へのトラップ
④ 次元の呪い


2. 【 解答 】

正解: ② 勾配消失問題

3. 整理:なぜ「勾配」が消えてしまうのか?

ニューラルネットワークは「誤差逆伝播法」という仕組みで、後ろの層から前の層へと「間違いの修正情報」を伝えていきます。

【 勾配消失のイメージ 】

[ 1. 出力層でエラーを発見 ]
「答えが少しズレているぞ!」という情報を逆方向に送る。

[ 2. 層をさかのぼる(掛け算の連続) ]
活性化関数の微分値を何度も掛け合わせていく。

[ 3. 値がどんどん小さくなる ]
★ ここが勾配消失!
1より小さい値を何度も掛けることで、入力層に届く頃には値が「ほぼゼロ」になる。

--------------------------

結果: 前の方の層にある重みが更新されず、学習がストップしてしまいます。

4. 解決のためのアプローチ

1. 活性化関数の工夫: シグモイド関数ではなく、勾配が消えにくい「ReLU関数」などを使用する。
2. バッチ正規化: 各層の出力を適切な範囲に調整し、学習を安定させる。
3. 適切な重みの初期化: 「Heの初期値」などを用い、最初から値が小さくなりすぎないようにする。


5. DS検定形式:実戦4択クイズ

問:勾配消失問題を緩和するために、隠れ層(中間層)の活性化関数として一般的に推奨される関数はどれか。

① シグモイド関数   ② ReLU関数   ③ ステップ関数   ④ 線形関数

【 正解: ② 】

解説: シグモイド関数は値が大きくなると微分値がほぼ0になるため、勾配消失が起きやすい特徴があります。一方、ReLU(Rectified Linear Unit)関数は入力が正であれば微分値が1のまま保たれるため、深い層でも学習が進みやすくなります。


6. まとめ

DS検定で「誤差逆伝播法」「勾配がゼロに近い」「パラメータが更新されない」というセットが出たら、正解は「勾配消失」です。歴史的に深層学習が停滞した理由の一つでもあるため、背景知識としてもしっかり押さえておきましょう!



PR