a)隠れ層を1層追加します。
入力 |
: |
\( X = (x_1, x_2) \in R^{1 \times 2} \) |
重み |
: |
\(
W^1
=
\begin{pmatrix}
w_{11}^1 & w_{12}^1
\\
w_{21}^1 & w_{22}^1
\end{pmatrix}
\in R^{p \times q}
\)、\(
W^2
=
\begin{pmatrix}
w_{11}^2
\\
w_{21}^2
\end{pmatrix}
\in R^{p \times q}
\) |
重み付き総和 |
: |
\(
A=(a_1, a_2) \in R^{1 \times 2}
\)、\(
B=(b) \in R
\)
|
出力 |
: |
\(
Y=(y_1, y_2) \in R^{1 \times 2}
\)、\(
Z=h(b) \in R
\)
|
順伝播の計算は次の通りです。
入力層→隠れ層1 |
: |
\( A = XW^1 \) |
隠れ層1の処理 |
: |
\( Y = g(A) \) |
隠れ層1→出力層 |
: |
\( B = YW^2 \) |
出力層の処理 |
: |
\( Z = h(B) \)または\( z = h(b) \) |
このケースでは、\( \displaystyle \frac{\partial L}{\partial W^2} \)と\( \displaystyle \frac{\partial L}{\partial W^1} \)を求める必要があります。
\( \displaystyle \frac{\partial L}{\partial W^2} \)は(4.4-1)式の\( X \)を\( Y \)に置き換えるだけです。
\[
\frac{\partial L}{\partial W^2}
=
Y^t \frac{\partial L}{\partial z} \{ h(b) \}'
\]
\( \displaystyle \frac{\partial L}{\partial W^1} \)は成分計算した方がわかりやすいので、まずは\( w_{11} \)に着目して計算してみます。
\[
\frac{\partial L}{\partial w_{11}^1}
=
\frac{\partial L}{\partial z} \frac{\partial z}{\partial b} \frac{\partial b}{\partial w_{11}^1}
=
\zeta \frac{\partial b}{\partial w_{11}^1}
\]
\( b = y_1 w_{11}^2 + y_2 w_{21}^2 \)であり、\( w_{11}^1 \)は\( y_2 \)に含まれないので、次式が得られます。
\[
\frac{\partial L}{\partial w_{11}^1}
=
\zeta \frac{\partial b}{\partial y_1} \frac{\partial y_1}{\partial a_1} \frac{\partial a_1}{\partial w_{11}^1}
=
\zeta w_{11}^2 \{ g(a_1) \}' x_1
\tag{4.4-8}
\]
\[
\left(
\frac{\partial y_1}{\partial a_1}
=
\frac{\partial g(a_1)}{\partial a_1}
=\{ g(a_1) \}'
\right)
\]
同様にして他の成分についても計算します。
\[
\begin{eqnarray}
\frac{\partial L}{\partial w_{21}^1}
& = &
\zeta \frac{\partial b}{\partial y_1} \frac{\partial y_1}{\partial a_1} \frac{\partial a_1}{\partial w_{21}^1}
=
\zeta w_{21}^2 \{ g(a_1) \}' x_2
\\
\frac{\partial L}{\partial w_{12}^1}
& = &
\zeta \frac{\partial b}{\partial y_2} \frac{\partial y_2}{\partial a_2} \frac{\partial a_2}{\partial w_{12}^1}
=
\zeta w_{11}^2 \{ g(a_2) \}' x_1
\\
\frac{\partial L}{\partial w_{22}^1}
& = &
\zeta \frac{\partial b}{\partial y_2} \frac{\partial y_2}{\partial a_2} \frac{\partial a_2}{\partial w_{22}^1}
=
\zeta w_{21}^2 \{ g(a_2) \}' x_2
\end{eqnarray}
\]
以上を使って行列表現すると、次のようになります(偏微分の対角行列は(4.4-3)式を参照ください)。
\[
\begin{eqnarray}
\frac{\partial L}{\partial W^1}
& = &
\zeta
\begin{pmatrix}
w_{11}^2 \{ g(a_1) \}' x_1 & w_{12}^2 \{ g(a_2) \}' x_1 &
\\
w_{21}^2 \{ g(a_1) \}' x_2 & w_{22}^2 \{ g(a_2) \}' x_2 &
\end{pmatrix}
\\
\\
& = &
\zeta
\begin{pmatrix}
x_1
\\
x_2
\end{pmatrix}
\left( w_{11}^2 \quad w_{21}^2 \right)
\begin{pmatrix}
\{ g(a_1) \}'& 0
\\
0 & \{ g(a_2) \}'
\end{pmatrix}
\\
\\
& = &
X^t \frac{\partial L}{\partial z} \{ h(b) \}' (W^2)^t \{ g(A) \}'
\tag{4.4-9}
\end{eqnarray}
\]
b)隠れ層を2層にしてみます。
このケースでは、\( \displaystyle \frac{\partial L}{\partial W^3} \)、\( \displaystyle \frac{\partial L}{\partial W^2} \)、\( \displaystyle \frac{\partial L}{\partial W^1} \)を求める必要があります。
順伝播の計算は省略します。
\( \displaystyle \frac{\partial L}{\partial W^3} \)は(4.4-1)式の\( X \)を\( Y^2 \)に置き換えるだけです。
\[
\frac{\partial L}{\partial W^3}
=
(Y^2)^t \frac{\partial L}{\partial z} \{ h(b) \}'
\]
\( \displaystyle \frac{\partial L}{\partial W^2} \)は(4.4-9)式の\( X \)を\( Y^1 \)に、\( W^2 \)を\( W^3 \)に、\( g(A) \)を\( g^2(A^2) \)に置き換えるだけです。
\[
\frac{\partial L}{\partial W^2}
=
(Y^1)^t \frac{\partial L}{\partial z} \{ h(b) \}' (W^3)^t \{ g^2(A^2) \}'
\]
\( \displaystyle \frac{\partial L}{\partial W^1} \)は成分計算した方がわかりやすいので、\( w_{11} \)に着目して計算してみます。
\[
\frac{\partial L}{\partial w_{11}^1}
=
\frac{\partial L}{\partial z} \frac{\partial z}{\partial b} \frac{\partial b}{\partial w_{11}^1}
=
\zeta \frac{\partial b}{\partial w_{11}^1}
\]
隠れ層1で\( w_{11}^1 \)を含むのは\( a_1^1 \)、\( y_1^1 \)なので、これを見越して上式を変形します。
\[
\frac{\partial L}{\partial w_{11}^1}
=
\zeta \frac{\partial b}{\partial y_1^1} \frac{\partial y_1^1}{\partial a_1^1} \frac{\partial a_1^1}{\partial w_{11}^1}
=
\zeta \frac{\partial b}{\partial y_1^1} \{ g^1(a_1^1) \}' x_1
\]
この式は(4.4-8)式と同じ形をしているので、その行列表現(4.4-9)式と照らし合わせて、次のように表すことができます。
\[
\frac{\partial L}{\partial W^1}
=
X^t \zeta \frac{\partial b}{\partial Y^1} \{ g^1(A^1) \}'
\tag{4.4-10}
\]
ここで計算が残っている\( \displaystyle \frac{\partial b}{\partial Y^1} \)について見ていきます。
成分計算した方がわかりやすいので、\( y_1^1 \)に着目して計算してみます。
\[
\begin{eqnarray}
\frac{\partial b}{\partial y_1^1}
& = &
\frac{\partial}{\partial y_1^1} ( y_1^2 w_{11}^3 + y_2^2 w_{21}^3 )
\\
& = &
w_{11}^3 \frac{\partial y_1^2}{\partial y_1^1}
+ w_{21}^3 \frac{\partial y_2^2}{\partial y_1^1}
\\
& = &
w_{11}^3 \frac{\partial y_1^2}{\partial a_1^2} \frac{\partial a_1^2}{\partial y_1^1}
+ w_{21}^3 \frac{\partial y_2^2}{\partial a_2^2} \frac{\partial a_2^2}{\partial y_1^1}
\\
& = &
w_{11}^3 \frac{\partial y_1^2}{\partial a_1^2} w_{11}^2
+ w_{21}^3 \frac{\partial y_2^2}{\partial a_2^2} w_{12}^2
\end{eqnarray}
\]
同様に
\[
\frac{\partial b}{\partial y_2^1}
=
w_{11}^3 \frac{\partial y_1^2}{\partial a_1^2} w_{21}^2
+ w_{21}^3 \frac{\partial y_2^2}{\partial a_2^2} w_{22}^2
\]
以上より、
\[
\begin{eqnarray}
\frac{\partial b}{\partial Y^1}
& = &
\left(
\frac{\partial b}{\partial y_1^1} \quad \frac{\partial b}{\partial y_2^1}
\right)
\\
& = &
(w_{11}^3 \quad w_{21}^3)
\begin{pmatrix}
\{ g^2(a_1^2) \}' & 0
\\
0 & \{ g^2(a_2^2) \}'
\end{pmatrix}
\begin{pmatrix}
w_{11}^2 & w_{12}^2
\\
w_{12}^2 & w_{22}^2
\end{pmatrix}
\\
& = &
(W^3)^t \{ g^2(A^2) \}' (W^2)^t
\end{eqnarray}
\tag{4.4-11}
\]
これを(4.4-10)式に代入して、\( \displaystyle \frac{\partial L}{\partial W^1} \)が求まります。
\[
\frac{\partial L}{\partial W^1}
=
X^t \frac{\partial L}{\partial z} \{ h(b) \}' (W^3)^t \{ g^2(A^2) \}' (W^2)^t \{ g^1(A^1) \}'
\tag{4.4-12}
\]
\[
\left(
\zeta
=
\frac{\partial L}{\partial z} \{ h(b) \}'
\right)
\]
ここで、(4.4-1)式、(4.4-9)式、(4.4-12)式を比較してみます。
\[
\begin{eqnarray}
\frac{\partial L}{\partial W^1}
& = &
X^t \frac{\partial L}{\partial z} \{ h(b) \}'
\\
\frac{\partial L}{\partial W^1}
& = &
X^t \frac{\partial L}{\partial z} \{ h(b) \}' \txc{red}{(W^2)^t \{ g^1(A^1) \}'}
\\
\frac{\partial L}{\partial W^1}
& = &
X^t \frac{\partial L}{\partial z} \{ h(b) \}' \txc{red}{(W^3)^t \{ g^2(A^2) \}'} \txc{orange}{(W^2)^t \{ g^1(A^1) \}'}
\end{eqnarray}
\]
このように、隠れ層を追加していくごとに“重みと活性化関数の微分の積”\( (W^l)^t \{ g^{l-1}(A^{l-1}) \} \)が追加されます。
したがって、隠れ層を3層にしたときの\( \displaystyle \frac{\partial L}{\partial W^1} \)は
\[
\frac{\partial L}{\partial W^1}
=
X^t \frac{\partial L}{\partial z} \{ h(b) \}'
\txc{red}{(W^4)^t \{ g^3(A^3) \}'}
\txc{orange}{(W^3)^t \{ g^2(A^2) \}'}
\txc{blue}{(W^2)^t \{ g^1(A^1) \}'}
\]
となることが予想されます。
c)隠れ層を3層にしてみます。
このケースでは、\( \displaystyle \frac{\partial L}{\partial W^4} \)、\( \displaystyle \frac{\partial L}{\partial W^3} \)、\( \displaystyle \frac{\partial L}{\partial W^2} \)、\( \displaystyle \frac{\partial L}{\partial W^1} \)を求める必要があります。
順伝播の計算は省略します。
\( \displaystyle \frac{\partial L}{\partial W^4} \)は(4.4-1)式を、\( \displaystyle \frac{\partial L}{\partial W^3} \)は(4.4-9)式を、\( \displaystyle \frac{\partial L}{\partial W^2} \)は(4.4-12)式を書き換えるだけです。
\[
\begin{eqnarray}
\frac{\partial L}{\partial W^4}
& = &
(Y^3)^t \frac{\partial L}{\partial z} \{ h(b) \}'
\\
\frac{\partial L}{\partial W^3}
& = &
(Y^2)^t \frac{\partial L}{\partial z} \{ h(b) \}' (W^4)^t \{ g^3(A^3) \}'
\\
\frac{\partial L}{\partial W^2}
& = &
(Y^1)^t \frac{\partial L}{\partial z} \{ h(b) \}' (W^4)^t \{ g^3(A^3) \}' (W^3)^t \{ g^2(A^2) \}'
\end{eqnarray}
\]
これまで同様\( \displaystyle \frac{\partial L}{\partial W^1} \)は計算する必要があります。
計算過程の詳細をここで紹介しても数式のお化けになってあまり本質的な意味はないので、
pdfに記しておきます。
確認したい方は
pdfをご覧ください。
最終的に、\( \displaystyle \frac{\partial L}{\partial W^1} \)の計算結果は以下のとおりとなり、b)で予想した式と同じものになりました。
\[
\frac{\partial L}{\partial W^1}
=
X^t \frac{\partial L}{\partial z} \{ h(b) \}'
(W^4)^t \{ g^3(A^3) \}'
(W^3)^t \{ g^2(A^2) \}'
(W^2)^t \{ g^1(A^1) \}'
\tag{4.4-15}
\]