深層学習
ゼロから作るDeep-Learning
行列微分

(概要)
『ゼロから作るDeep Learning』読書会@高円寺(15)に参加してきた。
https://koenjidl.connpass.com/event/69408/
この書籍で、下記(1)式他の導出が省略されていた。
行列の微分を、スカラ値の微分の感覚で行うと
あいまいな点がのこるので、要素に分解して導出した。

(方針)
行列の微分を、要素に分解して、多変数のスカラ関数の
スカラ値による微分に、置き換えて解く。
導出した式は、少し変形すれば、一般性を失わないので
公式として利用できる。

(求める式)

(1)
\begin{equation*}
\frac{\partial L}{\partial X} =\frac{\partial L}{\partial Y} ・W^{T}
\end{equation*}

(変数)

\begin{gather*}
(2)Y=( y_{1} ,y_{2} ,y_{3})\\
(3)X=( x_{1} ,x_{2})\\
(4)W=\begin{pmatrix}
w_{11} & w_{21} & w_{31}\\
w_{12} & w_{22} & w_{32}
\end{pmatrix}
\end{gather*}

(前準備)

(5)
\begin{equation*}
XW=\left( x_{1} w_{11} +x_{2} w_{12} ,\ x_{1} w_{21} +x_{2} w_{22} ,\ x_{1} w_{31} +x_{2} w_{32}\right)
\end{equation*}
(6)
\begin{equation*}
y_{j} =\sum _{k} x_{k} ・w_{jk} +b_{j}
\end{equation*}

(式展開)
Y=XW+Bだが、Bは定数で、微分する場合無視するので(5)(6)から

\begin{equation*}
\frac{\partial y_{j}}{\partial x_{i}} =\frac{\partial }{\partial x_{i}}\sum _{k} x_{k} ・w_{jk} =w_{ji}
\end{equation*}

求めるのは(1)のdL/dXだから

\begin{gather*}
\frac{\partial L}{\partial x_{i}} =\sum _{j}\frac{\partial L}{\partial y_{j}} ・\frac{\partial y_{j}}{\partial x_{i}}\\
\ \ \ \ \ \ =\sum _{j}\frac{\partial L}{\partial y_{j}} ・w_{ji}\\
\frac{\partial L}{\partial X} =\begin{pmatrix}
\frac{\partial L}{\partial x_{1}} & \frac{\partial L}{\partial x_{2}}
\end{pmatrix}\\
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =\begin{pmatrix}
\sum _{j}\frac{\partial L}{\partial y_{j}} ・w_{j1} & \sum _{j}\frac{\partial L}{\partial y_{j}} ・w_{j2}
\end{pmatrix}\\
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =\begin{pmatrix}
\frac{\partial L}{\partial Y} ・\begin{pmatrix}
w_{11}\\
w_{21}\\
w_{31}
\end{pmatrix} & \frac{\partial L}{\partial Y} ・\begin{pmatrix}
w_{12}\\
w_{22}\\
w_{32}
\end{pmatrix}
\end{pmatrix}\\
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =\frac{\partial L}{\partial Y} ・\begin{pmatrix}
w_{11} & w_{12}\\
w_{21} & w_{22}\\
w_{31} & w_{32}
\end{pmatrix}\\
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =\frac{\partial L}{\partial Y} ・\begin{pmatrix}
w_{11} & w_{21} & w_{31}\\
w_{12} & w_{22} & w_{32}
\end{pmatrix}^{T}\\
=\frac{\partial L}{\partial Y} ・W^{T}
\end{gather*}

つづき
https://qiita.com/krxross/private/a902d9727d89c0b81443