Loading [MathJax]/jax/output/HTML-CSS/autoload/mtable.js

2016年1月22日金曜日

Chainerチュートリアルの覚え書き

Chainerのチュートリアルの中程に以下の記述がある。 上記のf.W.gradとf.b.gradを導出する。

計算される量は \begin{equation} Y = WX+B \end{equation}
成分を取ると \begin{equation} y_{i m} = \sum_{j}w_{i j}x_{j m}+b_{i} \end{equation}
w_{\alpha \beta}で微分を取ると \begin{eqnarray} \frac{\partial y_{i m}}{\partial w_{\alpha \beta}} &=& \sum_{j} \delta_{i \alpha}\delta_{\beta j} x_{j m} \\ &=&\delta_{i \alpha}x_{\beta m} \end{eqnarray}
両辺 i,m で和を取ると \begin{eqnarray} \sum_{im}\frac{\partial y_{im}}{\partial w_{\alpha \beta}} &=& \sum_{im}\delta_{i\alpha}x_{\beta m} \\ &=&\sum_{m}x_{\beta m} \end{eqnarray}
この値を \delta w_{\alpha \beta} と置く。 \begin{equation} \delta w_{\alpha \beta}=\sum_{m}x_{\beta m} \end{equation}
いま m=(0,1) であるから \begin{equation} \delta w_{\alpha \beta}= x_{\beta 0}+x_{\beta 1} \end{equation}
\beta=(0,1,2) であるから \begin{eqnarray} \delta w_{\alpha 0}&=&x_{0 0}+x_{0 1} \\ \delta w_{\alpha 1}&=&x_{1 0}+x_{1 1} \\ \delta w_{\alpha 2}&=&x_{2 0}+x_{2 1} \end{eqnarray}
(x_{0 0},x_{1 0},x_{2 0})=(1,2,3), (x_{0 1},x_{1 1},x_{2 1})=(4,5,6) であるから \begin{eqnarray} \delta w_{\alpha 0}&=& 5\\ \delta w_{\alpha 1}&=& 7 \\ \delta w_{\alpha 2}&=& 9 \end{eqnarray}
\alpha=(0,1) であることを使えば次式を得る。 \begin{eqnarray} \delta w &=& \begin{pmatrix} \delta w_{00} & \delta w_{01} & \delta w_{02}\\ \delta w_{10} & \delta w_{11} & \delta w_{12} \end{pmatrix} \\ &=& \begin{pmatrix} 5 & 7 & 9\\ 5 & 7 & 9 \end{pmatrix} \end{eqnarray}
これが f.W.grad である。次に b_{j}y_{im} を微分する。 \begin{eqnarray} \delta b_{j} &\equiv& \sum_{im} \frac{\partial y_{im}}{\partial b_{j}}\\ &=&\sum_{im} \delta_{ij} \\ &=&\sum_{m}\\ &=&2 \end{eqnarray}
j=(0,1) であるから (\delta b_{0},\delta b_{1})=(2,2) を得る。これが f.b.grad である。

0 件のコメント:

コメントを投稿