machine_learningヘッダファイルパッケージで用いている計算式
4. 交差エントロピー誤差\(E\)のモデルパラメータ\(W_{j,i}^{(m)}\)による微分
4.2. \(m=M\)の場合
(Formula used in machine_learning header file package;
4. Derivative of the cross entropy error \(E\)
with respect to model parameters \(W_{j,i}^{(m)}\);
4.2. For \(m=M\))
前節までで以下の式が得られた。
The formula below were obtained in the previous sections.
- 3.3節の(3)式
Eq. (3) of section 3.3:
\[\begin{equation}
W_{J^{(M+1)}-1,i}^{(M)}=-\sum_{j=0}^{J^{(M+1)}-2}W_{j,i}^{(M)}
\hspace{2em} (i=0,\cdots,J^{(M)})
\label{eq.W.constraint}
\end{equation}\]
- 4.1節の(2)式
Eq. (2) of section 4.1:
\[\begin{eqnarray}
\PartialDiff{y_{j’}^{(m,n)}}{W_{j,i}^{(m)}}
&=& \left[(1-\delta_{iJ^{(m)}})x_{i}^{(m,n)}
+\delta_{iJ^{(m)}}\right]\delta_{jj’}
\nonumber \\
& & \left(m=0,\cdots,M-1; n=0,\cdots,N-1;
\right. \nonumber \\
& & \left.i=0,\cdots,J^{(m)}; j=0,\cdots,J^{(m+1)}-1;
j’=0,\cdots,J^{(m+1)}-1\right)
\label{eq.x2y.dash.differentiate.small_m}
\end{eqnarray}\]
\(m=M\)のときは\(W_{J^{(M+1)}-1,i}^{(M)}\)が
(\ref{eq.W.constraint})式を通じて\(W_{j,i}^{(M)}\)
\((j=0,\cdots,J^{(M+1)}-2)\)に依存することに留意する。
また、\(W_{J^{(M+1)}-1,i}^{(M)}\)が独立なパラメータではないので
この量を直接推定する必要はなく、
したがって\(\partial E/\partial W_{J^{(M+1)}-1,i}^{(M)}\)の計算は
行わないことにも留意する。
すなわち
\(\partial E/\partial W_{j,i}^{(M)}\)の計算において
\(j\)を動かす範囲は\(j=0,\cdots,J^{(M+1)}-2\)とする。
In case of \(m=M\), note that
\(W_{J^{(M+1)}-1,i}^{(M)}\) is dependent on
\(W_{j,i}^{(M)}\) \((j=0,\cdots,J^{(M+1)}-2)\)
through Eq. (\ref{eq.W.constraint}).
Also note that
\(\partial E/\partial W_{J^{(M+1)}-1,i}^{(M)}\) is not necessary
since \(W_{J^{(M+1)}-1,i}^{(M)}\) is not an independent parameter.
Namely, \(j\) takes the range \(j=0,\cdots,J^{(M+1)}-2\)
in the calculation of \(\partial E/\partial W_{j,i}^{(M)}\).
\(m<M\)の場合と同様に
まずは\(\partial y_{j’}^{(M,n)}/\partial W_{j,i}^{(M)}\)の計算を行う。
\(j’=0,\cdots,J^{(M+1)}-2\)においては
(\ref{eq.x2y.dash.differentiate.small_m})式の計算と何ら変わりはなく、
\[\begin{eqnarray}
\PartialDiff{y_{j’}^{(M,n)}}{W_{j,i}^{(M)}}
&=& \left[\left(1-\delta_{iJ^{(M)}}\right)x_{i}^{(M,n)}
+\delta_{iJ^{(M)}}\right]
\delta_{jj’}
\nonumber \\
& & \left(n=0,\cdots,N-1; i=0,\cdots,J^{(M)}; j=0,\cdots,J^{(M+1)}-2;
\right. \nonumber \\
& & \left. j’=0,\cdots,J^{(M+1)}-2\right)
\label{eq.x2y.dash.differentiate.mM.small_j}
\end{eqnarray}\]
と書ける。\(j’=J^{(M+1)}-1\)の場合には(\ref{eq.W.constraint})式を用いて
\[\begin{eqnarray}
\PartialDiff{y_{J^{(M+1)}-1}^{(M,n)}}{W_{j,i}^{(M)}}
&=& \PartialDiff{}{W_{j,i}^{(M)}}\left[
\sum_{i’=0}^{J^{(M)-1}}
W_{J^{(M+1)}-1,i’}^{(M)}x_{i’}^{(M,n)}
+W_{J^{(M+1)}-1,J^{(M)}}^{(M)}
\right] \nonumber \\
&=& \PartialDiff{}{W_{j,i}^{(M)}}\left[
-\sum_{i’=0}^{J^{(M)-1}}x_{i’}^{(M,n)}
\sum_{j{’}{’}=0}^{J^{(M+1)}-2}
W_{j{’}{’},i’}^{(M)}
-\sum_{j{’}{’}=0}^{J^{(M+1)}-2}
W_{j{’}{’},J^{(M)}}^{(M)}
\right] \nonumber \\
&=& -\sum_{i’=0}^{J^{(M)-1}}x_{i’}^{(M,n)}
\sum_{j{’}{’}=0}^{J^{(M+1)}-2}
\PartialDiff{W_{j{’}{’},i’}^{(M)}}{W_{j,i}^{(M)}}
-\sum_{j{’}{’}=0}^{J^{(M+1)}-2}
\PartialDiff{W_{j{’}{’},J^{(M)}}^{(M)}}{W_{j,i}^{(M)}}
\nonumber \\
&=& -\sum_{i’=0}^{J^{(M)-1}}x_{i’}^{(M,n)}
\sum_{j{’}{’}=0}^{J^{(M+1)}-2}
\delta_{ii’}\delta_{jj{’}{’}}
-\sum_{j{’}{’}=0}^{J^{(M+1)}-2}
\delta_{iJ^{(M)}}\delta_{jj{’}{’}}
\nonumber \\
&=& -\sum_{i’=0}^{J^{(M)-1}}x_{i’}^{(M,n)}\delta_{ii’}
\sum_{j{’}{’}=0}^{J^{(M+1)}-2}\delta_{jj{’}{’}}
-\delta_{iJ^{(M)}}\sum_{j{’}{’}=0}^{J^{(M+1)}-2}
\delta_{jj{’}{’}}
\nonumber \\
&=& -\left[\sum_{i’=0}^{J^{(M)-1}}x_{i’}^{(M,n)}\delta_{ii’}
+\delta_{iJ^{(M)}}\right]
\sum_{j{’}{’}=0}^{J^{(M+1)}-2}\delta_{jj{’}{’}}
\nonumber \\
&=& -\left[\left(1-\delta_{iJ^{(M)}}\right)x_{i}^{(M,n)}
+\delta_{iJ^{(M)}}\right]
\left(1-\delta_{j,J^{(M+1)}-1}\right)
\nonumber \\
&=& -\left[\left(1-\delta_{iJ^{(M)}}\right)x_{i}^{(M,n)}
+\delta_{iJ^{(M)}}\right]
\nonumber \\
& & \left(n=0,\cdots,N-1; i=0,\cdots,J^{(M)};
j=0,\cdots,J^{(M+1)}-2\right)
\label{eq.x2y.dash.differentiate.mM.jmax}
\end{eqnarray}\]
となる。最後の変形では\(j\neq J^{(M+1)}-1\)であることを用いた。
(\ref{eq.x2y.dash.differentiate.mM.small_j})
(\ref{eq.x2y.dash.differentiate.mM.jmax})
式を用いると交差エントロピー誤差の微分は
\[\begin{eqnarray}
\PartialDiff{E}{W_{j,i}^{(M)}}
&=& \PartialDiff{}{W_{j,i}^{(M)}}\left[
-\frac{1}{N}\sum_{n=0}^{N-1}\sum_{i’=0}^{J^{(M+1)}-1}
t_{i’}^{(n)}\ln x_{i’}^{(M+1,n)}
\right] \nonumber \\
&=& -\frac{1}{N}\sum_{n=0}^{N-1}\sum_{i’=0}^{J^{(M+1)}-1}
t_{i’}^{(n)}\PartialDiff{\ln x_{i’}^{(M+1,n)}}{W_{j,i}^{(M)}}
\nonumber \\
&=& -\frac{1}{N}\sum_{n=0}^{N-1}\sum_{i’=0}^{J^{(M+1)}-1}
\frac{t_{i’}^{(n)}}{x_{i’}^{(M+1,n)}}
\PartialDiff{x_{i’}^{(M+1,n)}}{W_{j,i}^{(M)}}
\nonumber \\
&=& -\frac{1}{N}\sum_{n=0}^{N-1}\sum_{i’=0}^{J^{(M+1)}-1}
\frac{t_{i’}^{(n)}}{x_{i’}^{(M+1,n)}}
\sum_{j’=0}^{J^{(M+1)}-1}
\PartialDiff{x_{i’}^{(M+1,n)}}{y_{j’}^{(M,n)}}
\PartialDiff{y_{j’}^{(M,n)}}{W_{j,i}^{(M)}}
\nonumber \\
&=& -\frac{1}{N}\sum_{n=0}^{N-1}\sum_{i’=0}^{J^{(M+1)}-1}
\frac{t_{i’}^{(n)}}{x_{i’}^{(M+1,n)}}
\nonumber \\
& & \left[
\sum_{j’=0}^{J^{(M+1)}-2}
\PartialDiff{x_{i’}^{(M+1,n)}}{y_{j’}^{(M,n)}}
\PartialDiff{y_{j’}^{(M,n)}}{W_{j,i}^{(M)}}
+\PartialDiff{x_{i’}^{(M+1,n)}}{y_{J^{(M+1)}-1}^{(M,n)}}
\PartialDiff{y_{J^{(M+1)}-1}^{(M,n)}}{W_{j,i}^{(M)}}
\right] \nonumber \\
&=& -\frac{1}{N}\sum_{n=0}^{N-1}\sum_{i’=0}^{J^{(M+1)}-1}
\frac{t_{i’}^{(n)}}{x_{i’}^{(M+1,n)}}
\nonumber \\
& & \left\{
\sum_{j’=0}^{J^{(M+1)}-2}
\PartialDiff{x_{i’}^{(M+1,n)}}{y_{j’}^{(M,n)}}
\left[\left(1-\delta_{iJ^{(M)}}\right)x_{i}^{(M,n)}
+\delta_{iJ^{(M)}}\right]
\delta_{jj’}
\right. \nonumber \\
& & \left.
-\PartialDiff{x_{i’}^{(M+1,n)}}{y_{J^{(M+1)}-1}^{(M,n)}}
\left[\left(1-\delta_{iJ^{(M)}}\right)x_{i}^{(M,n)}
+\delta_{iJ^{(M)}}\right]
\right\} \nonumber \\
&=& -\frac{1}{N}\sum_{n=0}^{N-1}
\left[\left(1-\delta_{iJ^{(M)}}\right)x_{i}^{(M,n)}
+\delta_{iJ^{(M)}}\right]
\nonumber \\
& & \sum_{i’=0}^{J^{(M+1)}-1}
\frac{t_{i’}^{(n)}}{x_{i’}^{(M+1,n)}}
\left[
\sum_{j’=0}^{J^{(M+1)}-2}
\PartialDiff{x_{i’}^{(M+1,n)}}{y_{j’}^{(M,n)}}
\delta_{jj’}
-\PartialDiff{x_{i’}^{(M+1,n)}}{y_{J^{(M+1)}-1}^{(M,n)}}
\right] \nonumber \\
&=& -\frac{1}{N}\sum_{n=0}^{N-1}
\left[\left(1-\delta_{iJ^{(M)}}\right)x_{i}^{(M,n)}
+\delta_{iJ^{(M)}}\right]
\nonumber \\
& & \sum_{i’=0}^{J^{(M+1)}-1}
\frac{t_{i’}^{(n)}}{x_{i’}^{(M+1,n)}}
\left[
\PartialDiff{x_{i’}^{(M+1,n)}}{y_{j}^{(M,n)}}
-\PartialDiff{x_{i’}^{(M+1,n)}}{y_{J^{(M+1)}-1}^{(M,n)}}
\right] \nonumber \\
&=& -\frac{1}{N}\sum_{n=0}^{N-1}
\left[\left(1-\delta_{iJ^{(M)}}\right)x_{i}^{(M,n)}
+\delta_{iJ^{(M)}}\right]
\nonumber \\
& & \sum_{i’=0}^{J^{(M+1)}-1}
\frac{t_{i’}^{(n)}}{x_{i’}^{(M+1,n)}}
\left[D_{i’,j}^{(M,n)}-D_{i’,J^{(M+1)}-1}^{(M,n)}\right]
\nonumber \\
& & \left(i=0,\cdots,J^{(M)}; j=0,\cdots,J^{(M+1)}-2\right)
\label{eq.dEdW.useD.mM}
\end{eqnarray}\]
と書ける。
Same as in the case of \(m<M\),
first \(\partial y_{j’}^{(M,n)}/\partial W_{j,i}^{(M)}\) is calculated.
For \(j’=0,\cdots,J^{(M+1)}-2\), there is no difference
from Eq. (\ref{eq.x2y.dash.differentiate.small_m}).
We therefore have Eq. (\ref{eq.x2y.dash.differentiate.mM.small_j}).
In case of \(j’=J^{(M+1)}-1\),
Eq. (\ref{eq.x2y.dash.differentiate.mM.jmax})
is derived from (\ref{eq.W.constraint}),
where \(j\neq J^{(M+1)}-1\) is used in the last line.
Using Eqs. (\ref{eq.x2y.dash.differentiate.mM.small_j})
and (\ref{eq.x2y.dash.differentiate.mM.jmax}),
the derivatives of the cross entropy error is calculated as
Eq. (\ref{eq.dEdW.useD.mM}).