ニューラルネットワークを学習させる上で中核となるのが 誤差逆伝播法(Backpropagation, BP) です。
これは、出力の誤差を逆方向に伝え、各重みを効率的に更新するアルゴリズムです。
G検定では 仕組み・役割・問題点(勾配消失/勾配爆発)とその対策 が頻出ポイントです。
誤差逆伝播法とは?
基本の流れ
- 順伝播(Forward Propagation)
- 入力データをネットワークに通して出力を得る。
- 誤差計算
- 出力と正解ラベルを誤差関数で比較し、損失を算出。
- 逆伝播(Backward Propagation)
- 出力層から入力層に向かって、勾配(偏微分値)を伝搬。
- 重み更新
- 勾配降下法(SGD, Adamなど)で重みを更新。
👉 イメージ:「予測がどれだけズレたか」を逆流させて重みを調整。
数式イメージ
各層の重み更新は次のように行われます:
wi ← wi - η ∂L/∂wi
- wi:重み
- η:学習率
- L:損失関数
- ∂L/∂wi:誤差逆伝播で計算される勾配
勾配消失問題(Vanishing Gradient)
定義
- 深いネットワークで逆伝播を繰り返すうちに勾配が小さくなりすぎ、更新がほとんど行われなくなる現象。
主な原因
- Sigmoidやtanhのような飽和型活性化関数。
- 重み初期値が不適切。
影響
- 学習が進まない/非常に遅い。
対策
- ReLU系活性化関数を使用
- Batch Normalization
- 重み初期化の工夫(Xavier, He初期化)
- Residual Connection(スキップ結合, ResNet)
勾配爆発問題(Exploding Gradient)
定義
- 深いネットワークで勾配が大きくなりすぎ、数値が発散してしまう現象。
主な原因
- 勾配が層を通じて指数的に増加。
- 特にRNNの長期依存問題で顕著。
影響
- 学習が不安定になり、重みがNaNになる。
対策
- 勾配クリッピング(勾配の値を一定範囲に制限)
- LSTMやGRUのような構造を使う(RNNの改善)
- 適切な初期化と学習率調整
まとめ
- 誤差逆伝播法:ニューラルネットワークの学習アルゴリズム。誤差を逆方向に伝えて重みを更新。
- 勾配消失問題:勾配が小さくなり学習が進まない。対策=ReLU, BatchNorm, 初期化, ResNet。
- 勾配爆発問題:勾配が大きくなり数値発散。対策=勾配クリッピング, LSTM/GRU。
出題傾向
- 「誤差逆伝播法の役割は?」=重み更新のための勾配計算
- 「勾配消失問題の原因と対策」
- 「勾配爆発問題の原因と対策」
練習問題(例題)
問題:ディープニューラルネットワークの学習で「勾配が小さくなり学習が進まなくなる現象」を何と呼ぶか?
- 過学習
- 勾配消失
- 勾配爆発
- 過適合
👉 正解:2