【G検定過去問風テスト】勾配消失問題と勾配爆発問題の原因・対策

※本記事では、アフィリエイトプログラムより教材を紹介しています。

📝 問題

ディープラーニングの学習過程で生じる「勾配消失問題」および「勾配爆発問題」に関する記述として、最も適切な選択肢を1つ選べ。

  • A)勾配消失問題とは、層を深くした際に出力層付近(深い層)のニューロンの勾配が非常に大きくなり、学習が不安定になる現象のことである。
  • B)勾配消失問題への有効な対策として、隠れ層の活性化関数にシグモイド関数を採用することが推奨されている。
  • C)勾配消失問題は、連鎖律による掛け算の過程で微分の値が1より小さい状態が繰り返され、入力層付近(浅い層)へと到達する頃に勾配がほぼ0になってしまうことで発生する。
  • D)勾配爆発問題とは、連鎖律によって勾配が無限大に向かって巨大化する現象であり、主な対策として「ReLU関数」を適用することが用いられる。
🔍 ここをクリックして正解を見る
  • 正解: C)勾配消失問題は、連鎖律による掛け算の過程で微分の値が1より小さい状態が繰り返され、入力層付近(浅い層)へと到達する頃に勾配がほぼ0になってしまうことで発生する。

💡 合格に近づく!徹底解説

  • 重要度: ★★★

■ 1分で分かる!この問題の要点

  • 勾配消失:1未満の掛け算連続で「入力層付近(浅い層)」の修正量がほぼ0になる現象(対策:ReLU関数など)
  • 勾配爆発:1より大きい値の連続掛け算で値が無限大に暴走する現象(対策:勾配クリッピングなど)

■ 初学者向け解説(例え話や背景)

「反省メッセージの伝言ゲーム」を想像してみましょう!

メッセージを後ろ(出力層)から前(入力層)に伝えるとき、途中のメンバーが毎回「声の大きさを4分の1に縮小して(微分の最大値が0.25)」次の人に伝えていくとどうなるでしょう?
何人も挟むうちに、スタート地点(入力層)に届く頃には声が小さすぎて「何を直せばいいかサッパリ聞こえない!」という状態になります。これが勾配消失問題です。この対策として、声を小さく減衰させない優秀な伝達役として選ばれたのがReLU関数です。

逆に、伝えるたびに「内容を2倍に大げさに盛る」と、話が巨大化してパニックを起こしてしまいます。これが勾配爆発問題であり、これには「どんなに話が大きくなっても上限枠を決めて抑える」という勾配クリッピングで対処します。


■ 選択肢の解説

  • A) (×): 「出力層付近(深い層)」ではなく、逆伝播の終着点である「入力層付近(浅い層)」の勾配が極端に小さくなる(0に近づく)現象です。
  • B) (×): シグモイド関数は微分の最大値が0.25であり、勾配消失問題を引き起こす原因となります。対策としては「ReLU関数」などが用いられます。
  • C) (○): 正しい記述です。連鎖律で1未満の値を何度も掛け合わせることで勾配が0に近づき、浅い層が学習しなくなります。
  • D) (×): 前半の説明は正しいですが、勾配爆発問題の主な対策は「ReLU関数の採用」ではなく「勾配クリッピング」などです。(ReLUは主に勾配消失問題の対策に使われます)

👉 次の問題&解説テキスト

お疲れ様です!
この調子で次の問題に挑戦しますか?
それとも、立ち止まって詳しい解説を確認しますか?