誤差逆伝播法
出力側から入力側へ勾配を伝播させ、全パラメータの勾配を一度に求める手法。 backpropagation。
正体は連鎖律#
新しい原理ではなく、連鎖律を 計算グラフに沿って適用しているだけ。
なぜ効率的なのか#
ヤコビ行列の積を どちらから掛けるかの選択にある。
- 入力側から(forward mode)… 入力が少なく出力が多い場合に有利
- 出力側から(reverse mode)… 入力が多く出力が 1 つの場合に有利
機械学習は「パラメータ 個 → 損失 1 つ」なので reverse mode が圧倒的に有利。
1 回の逆伝播で、全パラメータの勾配が 順伝播とほぼ同じコストで得られる。
数値微分ならパラメータ数だけ 評価が必要なので、 倍の差がつく。
歴史#
自動微分の逆モード自体は 1970 年代から知られていたが、 ニューラルネットワークへの適用が広く認識されたのは Rumelhart、Hinton、Williams の 1986 年の論文による。
量子回路との対比#
量子回路では 逆伝播が使えない。中間状態を保存できず(測定で壊れる)、 巻き戻して勾配を取り出す仕組みが無いため。
そのためパラメータシフト則で 1 パラメータずつ求めることになり、 回の回路実行が要る。 この違いが、量子機械学習の学習効率を制約している。
参考文献#
- David E. Rumelhart, Geoffrey E. Hinton, Ronald J. Williams. Learning representations by back-propagating errors. Nature 323, 1986. https://doi.org/10.1038/323533a0
- Ian Goodfellow, Yoshua Bengio, Aaron Courville. Deep Learning. MIT Press, 2016.(全文公開) https://www.deeplearningbook.org/
- Atılım Güneş Baydin et al. Automatic Differentiation in Machine Learning: a Survey. JMLR 18, 2018. https://jmlr.org/papers/v18/17-468.html