但し書き
内々の勉強会用の資料です。
教科書どおりの説明だと天下り的に計算方法が与えられてわかりにくかったので自分なりの解釈をしました。
元々の目的
- 損失関数($L$)を作った
- 予測誤差とか
- ネットワークの学習 == $L$ の最小化
- $L$ の $W=(w_1,w_2, ..., w_n)$ に対する偏微分を求めれば L を小さくできる
- $\frac{∂L}{∂W} = (\frac{∂L}{∂w_1}, \frac{∂L}{∂w_2}, …, \frac{∂L}{∂w_n})$
- $W := W - η\frac{∂L}{∂W}$
- 偏微分を求めるには数値微分を使った
- $\frac{∂L}{∂w_i} = \lim_{h -> 0}\frac{L(w_i+h) - L(w_i-h)}{2h}$
- すべての $w_i$ について L の偏微分は計算量が大きすぎる
- L は超複雑な合成関数
- -> 誤差逆伝搬法なら計算量が小さいらしい・・ぞ!
連鎖律
y = g(t) \\
t = f(x) \\
連鎖律をグラフで
y = g(t) t = f(x)
連鎖律をグラフで
y = g(t) t = f(x)
どんどん連鎖しよう
次に右($\frac{∂E}{∂E}=1$)から見ていく。
右から順に、次々$\frac{∂E}{∂*}$が求まっていく。
=> 逐次的に右から計算してけば OK!
計算効率がいい!
分岐グラフでは途中までの計算が再利用可!
$\frac{∂E}{∂v}$ の結果は共用可
5.3 節へ向けて
局所的に考えよう!
下図で $\frac{∂E}{∂u}$ を求めたければ、必要なのは2つだけ!
- u->v の関数(ここでは足し算)
- 一つあとの偏微分: $\frac{∂E}{∂v}$