誤差逆伝播法(Backpropagation)とは、ニューラルネットワークの各パラメータに対する損失関数の勾配を効率的に計算するアルゴリズムです。微分の連鎖律(Chain Rule)を用いて出力層から入力層に向かって勾配を逆向きに伝播させます。
順伝播と逆伝播
まず順伝播で入力データから出力(予測値)を計算し、損失関数で誤差を求めます。次に逆伝播で、出力層から入力層に向かって連鎖律を適用し、各パラメータの勾配を計算します。計算された勾配を使って勾配降下法でパラメータを更新します。
| ひとことで言うと | 出力の誤差を出口から入口へ逆向きに伝えて、各パラメータの責任分を計算する方法。 |
|---|---|
| なぜ重要か | これがあるから、層が何十層あっても効率よく学習できる。深層学習の根幹。 |
| 注意点 | 層が深いと勾配が消えたり爆発したりする。正規化や残差結合で対策する。 |
計算効率
連鎖律による勾配計算は各パラメータを個別に微分するよりも大幅に効率的です。一度の逆伝播ですべてのパラメータの勾配を同時に計算でき、計算量は順伝播とほぼ同等です。
1順伝播入力から予測を計算
▶
2損失を計算正解とのズレ
▶
3出口から逆向きに誤差を前の層へ伝える
▶
4各重みの責任を算出勾配が求まる
▶
5まとめて更新全層のパラメータを調整
歴史的意義
1986年にRumelhart、Hinton、Williamsらにより広く知られるようになった誤差逆伝播法は、多層ニューラルネットワークの効率的な学習を可能にし、現代の深層学習の基盤となっています。