連鎖律
多変数の合成関数に対する微分則。
行列で書けばヤコビ行列の積。
経路をすべて足す#
1 変数と違い、 から への影響が 複数の中間変数 を経由する。 その全経路の寄与を足すのが の意味。
計算グラフで考えると、 「 から に至るすべての道について、 道に沿った偏微分を掛け、道どうしは足す」となる。
前向きと後ろ向き#
ヤコビ行列の積は結合的なので、掛ける順序を選べる。
| 順序 | 名前 | 効率的な場面 |
|---|---|---|
| 右から | forward mode | 入力が少なく出力が多い |
| 左から | reverse mode | 入力が多く出力が 1 つ |
機械学習は「パラメータ数百万 → 損失 1 つ」なので reverse mode が圧倒的に有利。 これが誤差逆伝播法で、 1 回の逆向き計算で全パラメータの勾配が得られる。
数値微分ならパラメータ数だけ評価が要ることと比べると、差は決定的。
参考文献#
- 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
- MIT OCW 18.02 Multivariable Calculus https://ocw.mit.edu/courses/18-02-multivariable-calculus-fall-2007/