無限不可能性ドライブ

『ニューラルネットワーク自作入門』に刺激されてExcelVBAでニューラルネットワークを作ってみたものの、やっぱり数学やらなきゃと思い少しずつやってきたのもあって、自分の知識の整理とかそういった感じです。

【数式編】(逆伝播)2つめの隠れ層の重みとバイアスを更新する 2-(1)

f:id:celaeno42:20181021220728p:plain

重みの更新式

大まかなところは1つめのユニットと変わりません。


 \displaystyle w_{21}^3 ← w_{21}^3 - \eta \nabla E

 \displaystyle \nabla E =  \frac{\partial E}{\partial w_{21}^3} = \frac{\partial E}{\partial u_2^3} \frac{\partial u_2^3}{\partial w_{21}^3}


今回は2つめのユニット(ユニットh22)なので、 u_1^3 u_2^3 になっていることに注意してください。

連鎖率(チェインルール)

ユニットh21 と同様の考え方で、 \displaystyle \frac{\partial E}{\partial u_2^3} を求める式を立ててみます。


 \displaystyle \begin{align}
\frac{\partial E}{\partial u_2^3} &= \frac{\partial E}{\partial z_1^4} \frac{\partial z_1^4}{\partial u_1^4} \frac{\partial u_1^4}{\partial z_2^3} \frac{\partial z_2^3}{\partial u_2^3} \\
\\
&+ \frac{\partial E}{\partial z_2^4} \frac{\partial z_2^4}{\partial u_2^4} \frac{\partial u_2^4}{\partial z_2^3} \frac{\partial z_2^3}{\partial u_2^3} \\
\\
&+ \frac{\partial E}{\partial z_3^4} \frac{\partial z_3^4}{\partial u_3^4} \frac{\partial u_3^4}{\partial z_2^3} \frac{\partial z_2^3}{\partial u_2^3}
\end{align}


(再掲)ユニットh21 \displaystyle \frac{\partial E}{\partial u_1^3} の式


 \displaystyle \begin{align}
\frac{\partial E}{\partial u_1^3} &= \frac{\partial E}{\partial z_1^4} \frac{\partial z_1^4}{\partial u_1^4} \frac{\partial u_1^4}{\partial z_1^3} \frac{\partial z_1^3}{\partial u_1^3} \\
\\
&+ \frac{\partial E}{\partial z_2^4} \frac{\partial z_2^4}{\partial u_2^4} \frac{\partial u_2^4}{\partial z_1^3} \frac{\partial z_1^3}{\partial u_1^3} \\
\\
&+ \frac{\partial E}{\partial z_3^4} \frac{\partial z_3^4}{\partial u_3^4} \frac{\partial u_3^4}{\partial z_1^3} \frac{\partial z_1^3}{\partial u_1^3}
\end{align}


見比べてみると、ユニットh21ユニットh22 で、それぞれのかたまりの第1項め、第2項めが共通していることがわかります。
では、順番にみていきましょう。

1つめのかたまり

まずは1つめのかたまりについて見ていきましょう。


 \displaystyle \frac{\partial E}{\partial z_1^4} \frac{\partial z_1^4}{\partial u_1^4} \frac{\partial u_1^4}{\partial z_2^3} \frac{\partial z_2^3}{\partial u_2^3}


の部分です。
左から第1項め、第2項め、第3項め、第4項めとします。

・第1項めと第2項めについて

ここは ユニットh21 と同じです。


 \displaystyle \frac{\partial E}{\partial z_1^4} \frac{\partial z_1^4}{\partial u_1^4} = \frac{\partial E}{\partial u_1^4} = z_1^4 - t_1


・第3項めについて

第3項めは  \displaystyle \frac{\partial u_1^4}{\partial z_2^3} です。


\displaystyle u_1^4 = w_{11}^4 z_1^3 + w_{12}^4 z_2^3 + w_{13}^4 z_3^3 + w_{14}^4 z_4^3 + b_1^4


よって


 \displaystyle \frac{\partial u_1^4}{\partial z_2^3} = w_{12}^4


・第4項めについて

ユニットh21 と同様に、


 \displaystyle \frac{\partial z_2^3}{\partial u_2^3} = ReLU'(u_2^3)


・まとめ1

ひととおり必要な部品が揃ったのでつなげてみましょう。


 \displaystyle \frac{\partial E}{\partial z_1^4} \frac{\partial z_1^4}{\partial u_1^4} \frac{\partial u_1^4}{\partial z_2^3} \frac{\partial z_2^3}{\partial u_2^3} = (z_1^4 - t_1) \times w_{12}^4 \times ReLU'(u_2^3)


2つめのかたまり

2つめのかたまりはこの部分です。


 \displaystyle \frac{\partial E}{\partial z_2^4} \frac{\partial z_2^4}{\partial u_2^4} \frac{\partial u_2^4}{\partial z_2^3} \frac{\partial z_2^3}{\partial u_2^3}


・第1項めと第2項めについて

ここも ユニットh21 と同じです。


 \displaystyle \frac{\partial E}{\partial z_2^4} \frac{\partial z_2^4}{\partial u_2^4} = \frac{\partial E}{\partial u_2^4} = z_2^4 - t_2


・第3項めについて

第3項めは  \displaystyle \frac{\partial u_2^4}{\partial z_2^3} です。


\displaystyle u_2^4 = w_{21}^4 z_1^3 + w_{22}^4 z_2^3 + w_{23}^4 z_3^3 + w_{24}^4 z_4^3 + b_2^4


よって


 \displaystyle \frac{\partial u_2^4}{\partial z_2^3} = w_{22}^4


・第4項めについて

ここは1つめのかたまりと同じです。


 \displaystyle \frac{\partial z_2^3}{\partial u_2^3} = ReLU'(u_2^3)


・まとめ2

ひととおり必要な部品が揃ったのでつなげてみましょう。


 \displaystyle \frac{\partial E}{\partial z_2^4} \frac{\partial z_2^4}{\partial u_2^4} \frac{\partial u_2^4}{\partial z_2^3} \frac{\partial z_2^3}{\partial u_2^3} = (z_2^4 - t_2) \times w_{22}^4 \times ReLU'(u_2^3)


3つめのかたまり

最後のかたまりです。


 \displaystyle \frac{\partial E}{\partial z_3^4} \frac{\partial z_3^4}{\partial u_3^4} \frac{\partial u_3^4}{\partial z_2^3} \frac{\partial z_2^3}{\partial u_2^3}


・第1項めと第2項めについて

ここも ユニットh21 と同じです。


 \displaystyle \frac{\partial E}{\partial z_3^4} \frac{\partial z_3^4}{\partial u_3^4} = \frac{\partial E}{\partial u_3^4} = z_3^4 - t_3


・第3項めについて


\displaystyle u_3^4 = w_{31}^4 z_1^3 + w_{32}^4 z_2^3 + w_{33}^4 z_3^3 + w_{34}^4 z_4^3 + b_3^4


なので


 \displaystyle \frac{\partial u_3^4}{\partial z_2^3} = w_{32}^4


・第4項めについて

第4項めはまったく同じです。


 \displaystyle \frac{\partial z_2^3}{\partial u_2^3} = ReLU'(u_2^3)


・まとめ3

ひととおり必要な部品が揃ったのでつなげてみます。


 \displaystyle \frac{\partial E}{\partial z_3^4} \frac{\partial z_3^4}{\partial u_3^4} \frac{\partial u_3^4}{\partial z_2^3} \frac{\partial z_2^3}{\partial u_2^3} = (z_3^4 - t_3) \times w_{32}^4 \times ReLU'(u_2^3)


まとめると…

すべてのネタが揃ったのでまとめてみましょう。


 \displaystyle \begin{align}
\frac{\partial E}{\partial u_2^3} &= \frac{\partial E}{\partial z_1^4} \frac{\partial z_1^4}{\partial u_1^4} \frac{\partial u_1^4}{\partial z_2^3} \frac{\partial z_2^3}{\partial u_2^3} \\
\\
&+ \frac{\partial E}{\partial z_2^4} \frac{\partial z_2^4}{\partial u_2^4} \frac{\partial u_2^4}{\partial z_2^3} \frac{\partial z_2^3}{\partial u_2^3} \\
\\
&+ \frac{\partial E}{\partial z_3^4} \frac{\partial z_3^4}{\partial u_3^4} \frac{\partial u_3^4}{\partial z_2^3} \frac{\partial z_2^3}{\partial u_2^3} \\
\\
&= (z_1^4 - t_1) \times w_{12}^4 \times ReLU'(u_2^3) \\
\\
&+ (z_2^4 - t_2) \times w_{22}^4 \times ReLU'(u_2^3) \\
\\
&+ (z_3^4 - t_3) \times w_{32}^4 \times ReLU'(u_2^3)
\end{align}


残りの部分

あとは  \displaystyle \frac{\partial u_2^3}{\partial w_{21}^3} だけです。
これは簡単ですね。 u_2^3 も隠れ層2層めの順伝播で求めています。


 \displaystyle u_2^3 = w_{21}^3 z_1^2 + w_{22}^3 z_2^2 + w_{23}^3 z_3^2 + b_2^3


よって


 \displaystyle \begin{align}
\frac{\partial u_2^3}{\partial w_{21}^3} &= \frac{\partial}{\partial w_{21}^3} (w_{21}^3 z_1^2 + w_{22}^3 z_2^2 + w_{23}^3 z_3^2 + b_2^3) \\
\\
&= z_1^2
\end{align}


まとめ: w_{21}^3 の更新式

以上から、


 \displaystyle w_{21}^3 ← w_{21}^3 - \eta \nabla E


 \displaystyle \begin{align}
\nabla E = \frac{\partial E}{\partial w_{21}^3} = \frac{\partial E}{\partial u_2^3} \frac{\partial u_2^3}{\partial w_{21}^3} \\
\\
\\
&= \left( \frac{\partial E}{\partial z_1^4} \frac{\partial z_1^4}{\partial u_1^4} \frac{\partial u_1^4}{\partial z_2^3} \frac{\partial z_2^3}{\partial u_2^3} + \frac{\partial E}{\partial z_2^4} \frac{\partial z_2^4}{\partial u_2^4} \frac{\partial u_2^4}{\partial z_2^3} \frac{\partial z_2^3}{\partial u_2^3} + \frac{\partial E}{\partial z_3^4} \frac{\partial z_3^4}{\partial u_3^4} \frac{\partial u_3^4}{\partial z_2^3} \frac{\partial z_2^3}{\partial u_2^3} \right) \times \frac{\partial u_2^3}{\partial w_{21}^3} \\
\\
\\
&=
\begin{pmatrix}
 (z_1^4 - t_1) \times w_{12}^4 \times ReLU'(u_2^3) \\
\\+ (z_2^4 - t_2) \times w_{22}^4 \times ReLU'(u_2^3) \\
\\+ (z_3^4 - t_3) \times w_{32}^4 \times ReLU'(u_2^3)
\end{pmatrix}
\times z_1^2
\end{align}


と求めることができました。