誤差逆伝播法

誤差逆伝播法

執筆済 AIニューラルネットワーク

出力側から入力側へ勾配を伝播させ、全パラメータの勾配を一度に求める手法。 backpropagation。

正体は連鎖律#

新しい原理ではなく、連鎖律を 計算グラフに沿って適用しているだけ。

LW(l)=La(L)a(L)a(L1)a(l)W(l)

なぜ効率的なのか#

ヤコビ行列の積どちらから掛けるかの選択にある。

JLJL1J1
  • 入力側から(forward mode)… 入力が少なく出力が多い場合に有利
  • 出力側から(reverse mode)… 入力が多く出力が 1 つの場合に有利

機械学習は「パラメータ 109 個 → 損失 1 つ」なので reverse mode が圧倒的に有利。

1 回の逆伝播で、全パラメータの勾配が 順伝播とほぼ同じコストで得られる。

数値微分ならパラメータ数だけ 評価が必要なので、109 倍の差がつく。

歴史#

自動微分の逆モード自体は 1970 年代から知られていたが、 ニューラルネットワークへの適用が広く認識されたのは Rumelhart、Hinton、Williams の 1986 年の論文による。

量子回路との対比#

量子回路では 逆伝播が使えない。中間状態を保存できず(測定で壊れる)、 巻き戻して勾配を取り出す仕組みが無いため。

そのためパラメータシフト則で 1 パラメータずつ求めることになり、 𝒪(p) 回の回路実行が要る。 この違いが、量子機械学習の学習効率を制約している。

参考文献#

ノート一覧を閉じる