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.




\(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}).