1行定義
誤差逆伝播法とは、ニューラルネットワークの出力の誤差をもとに、連鎖律を使って出力層側から入力層側へ順に、各重みの勾配を効率よく計算する方法のことです。
試験範囲としての全体像はシラバス項目『誤差逆伝播法』の要点まとめで整理しています。
くわしく
誤差逆伝播法は、ニューラルネットワークを学習させるときに使う、勾配の計算方法です。英語の名前からバックプロパゲーションとも呼ばれます。
何を計算しているのか
学習では、出力と正解のずれ(誤差)が小さくなるように重みを調整します。そのためには、各重みを少し動かしたときに誤差がどれだけ変わるか、つまり勾配が必要です。しかし重みの数は非常に多く、大きなモデルでは数十億個にもなります。1つずつ動かして調べていては、時間がかかりすぎます。
誤差逆伝播法は、すべての重みの勾配をまとめて効率よく求めます。まず入力から出力へ順に計算し(順伝播)、各層の値を記録しておきます。次に出力層の誤差から出発し、入力層へ向かって逆向きに勾配を伝えます(逆伝播)。各層では、合成関数の微分の規則である連鎖律を使います。後ろの層から届いた勾配に自分の層の微分を掛け、さらに前の層へ渡していきます。
信用割当問題との関係
多層のネットワークでは、出力の誤りに対して、どの層のどの重みにどれだけ責任があるかを決めるのが難しくなります。これを信用割当問題と呼びます。誤差逆伝播法は、各重みの責任の大きさを勾配という数値で示し、この問題に1つの答えを与えました。1986年にラメルハートらが発表した論文をきっかけに広まり、多層パーセプトロンを学習させる標準的な方法になりました。
弱点と周辺の概念
逆伝播では各層の微分を掛け合わせるため、層が深いと勾配が極端に小さくなったり(勾配消失問題)、大きくなったり(勾配爆発問題)します。RNNでは、時間方向に展開して同じ計算を行うBPTTが使われます。
なお、誤差逆伝播法が受け持つのは勾配の計算までです。求めた勾配を使って重みを更新するのは、確率的勾配降下法やAdamなどの最適化手法です。
覚え方
「誤差を出口から入口へ、微分の掛け算で配る」と覚えます。
G検定での出題
出題のされ方
シラバスの中項目名そのもので、キーワードの連鎖律・信用割当問題と結び付けて計算の流れが問われます。勾配消失問題・勾配爆発問題が起きる理由を考える前提の知識としても問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| 誤差逆伝播法このページの用語 | ニューラルネットワークの出力の誤差をもとに、連鎖律を使って出力層側から入力層側へ順に、各重みの勾配を効率よく計算する方法 |
| 勾配降下法 | 損失関数の勾配(傾き)を求め、損失が小さくなる向きに重みを少しずつ動かして、よい重みを探す最適化手法 |
違いを表で比べる
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
誤差逆伝播法は勾配を求める計算方法であり、求めた勾配を使って重みをどれだけ動かすかは、勾配降下法などの最適化手法が決める。
答えを見る
答え ◯ 正しい
2つは役割が分かれています。SGDやAdamは、逆伝播で求めた勾配を使って重みを更新する側の手法です。
-
誤差逆伝播法を使えば、ネットワークの層をいくら深くしても勾配消失問題は起きない。
答えを見る
答え × 誤り
誤差逆伝播法では各層の微分を掛け合わせるため、深いほど勾配が小さくなることがあります。勾配消失問題はこの計算から生じます。
-
誤差逆伝播法は、1986年にラメルハートらが発表した論文をきっかけに広く使われるようになった。
答えを見る
答え ◯ 正しい
考え方自体はそれ以前にも提案されていましたが、この論文が多層のネットワークで内部の表現を学習できることを示し、普及につながりました。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目15 誤差逆伝播法)
- David E. Rumelhart, Geoffrey E. Hinton, Ronald J. Williams, Learning representations by back-propagating errors, Nature 323, 533–536 (1986)
- Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press (2016) (6.5 Back-Propagation and Other Differentiation Algorithms)