学習方法2(後ろ向き演算)

次に、入力層-中間層の結合荷重の計算について説明する。 結合荷重の修正量は、中間層-出力層と同じように、式(4.9)で求められる。


\begin{displaymath}
\triangle W_{ji} = -\eta \frac{\partial E}{\partial W_{ji}}
\end{displaymath} (17)

出力層の結合荷重を計算するときは、$k$番目の出力$O_k$のみに注目していたが、中間層の結合荷重を更新するときは$n$個の出力すべてが関係する。 この偏微分を行うには合成関数の微分を行う。これを行うと、中間層の結合荷重の修正量 $\triangle W_{ji}$は式(4.10)で求められる。


$\displaystyle \triangle W_{ji}$ $\textstyle =$ $\displaystyle -\eta \frac{\partial E}{\partial W_{ji}}$  
  $\textstyle =$ $\displaystyle -\eta \left( \sum_{i=1}^{n} \frac{\partial E_i}{\partial O_i} \fr...
... \right) \frac{\partial H_j}{\partial T_j} \frac{\partial T_j}{\partial W_{ji}}$ (18)

前節と同じようにこの式を計算していく。始めの2つは前節と同じなので省略する。 ネット値$U_i$を中間層の出力$H_j$で偏微分する式を式(4.11)に示す。


$\displaystyle \frac{\partial U_i}{\partial H_j}$ $\textstyle =$ $\displaystyle \frac{\partial}{\partial H_{j}}(H_1W_{k1}+H_2W_{k2}+...+H_nW_{kn})$  
  $\textstyle =$ $\displaystyle W_{kj}$ (19)

中間層の出力$H_j$をネット値$T_j$で偏微分する式を式(4.12)に示す。


$\displaystyle \frac{\partial H_j}{\partial T_j}$ $\textstyle =$ $\displaystyle \frac{\partial}{\partial T_{j}}\left( \frac{1}{1+e^{-T_j}}\right)$  
  $\textstyle =$ $\displaystyle -\frac{e^{-T_j}}{1+e^{-T_j}}$  
  $\textstyle =$ $\displaystyle \frac{1}{1+e^{-T_j}}\left( 1-\frac{1}{1+e^{-T_j}}\right)$  
  $\textstyle =$ $\displaystyle H_{j}(1-H_j)$ (20)

ネット値$T_j$を結合荷重$W_{ji}$で偏微分する式を式(4.13)に示す。


$\displaystyle \frac{\partial T_j}{\partial W_ji}$ $\textstyle =$ $\displaystyle \frac{\partial}{\partial W_{ji}}(X_1W_{j1}+X_2W_{j2}+...+X_nW_{jn})$  
  $\textstyle =$ $\displaystyle X_i$ (21)

これらの式より、結合荷重の修正量は式(4.14)のようになる。


$\displaystyle \triangle W_{ji}$ $\textstyle =$ $\displaystyle -\eta \frac{\partial E}{\partial W_{ji}}$  
  $\textstyle =$ $\displaystyle -\eta \frac{\partial H_j}{\partial T_j} \frac{\partial T_j}{\part...
...artial O_i} \frac{\partial O_i}{\partial U_i} \frac{\partial U_i}{\partial H_j}$  
  $\textstyle =$ $\displaystyle \eta H_j(1-H_j)X_i \sum_{k=1}^{n}W_{kj}(t_k-O_k)O_k(1-O_k)$  
  $\textstyle =$ $\displaystyle \eta H_j(1-H_j)X_i \sum_{k=1}^{n}W_{kj}\delta _k$  
  $\textstyle =$ $\displaystyle \eta \delta _j X_i$ (22)

ここで、$\delta _j$は、式(4.15)と定義される。


\begin{displaymath}
\delta _j=H_j(1-H_j)\sum_{k=1}^{n}W_{kj}\delta _k
\end{displaymath} (23)

このようにして中間層の結合荷重の修正量を求める。

Deguchi Lab. 2017年3月6日