このページはPC画面での表示を推奨しております。
処理が重く数式が表示されるまで時間がかかる場合があります。
個人による計算なので内容に誤りがある可能性があります。
その際は式の番号を指摘してくださると幸いでございます。
2017年9月あたりに書いたものです。
5: リカレントニューラルネットワーク
5.1: 基本のアプローチ
5.1.1: 時系列データ
\begin{equation}
f(t)= \sin \left( \frac{2\pi}{T} t \right) \ \ (t = 1, 2, ..., 2T)
\end{equation}
\tag{ 書籍内(5.1), 記事内(A1) }
5.1.2: 過去の隠れ層
入力層 -->> 隠れ層 ゲート
\boldsymbol{h}(t) = f(\boldsymbol{Ux}(t) + \boldsymbol{Wh}(t-1) + \boldsymbol{b})
\tag{ 書籍内(5.4), 記事内(A4) }
\begin{align}
\boldsymbol{h}(t)
&=
\left[
\begin{matrix}
h_1(t)\\
h_2(t)\\
\vdots\\
h_J(t)\\
\end{matrix}
\right]
&
\boldsymbol{b}
&=
\left[
\begin{array}{c}
b_1\\
b_2\\
\vdots\\
b_J\\
\end{array}
\right]
\\
\boldsymbol{U}
&=
\left[
\begin{array}{cc}
u_{11} & u_{12} &\cdots &u_{1I}\\
u_{21} & u_{22} &\cdots & u_{2I}\\
\vdots & \vdots &\cdots & \vdots\\
u_{J1} & u_{J2} & \cdots & u_{JI}\\
\end{array}
\right]
\ \ \ \ \ \ &
\boldsymbol{x}(t)
&=
\left(
\begin{array}{cc}
x_1(t)\\
x_2(t)\\
\vdots\\
x_I(t)\\
\end{array}
\right)
\\
\boldsymbol{W}
&=
\left[
\begin{array}{c}
w_{11} &w_{12} &\cdots &w_{1J}\\
w_{21} &w_{22} &\cdots &w_{2J}\\
\vdots &\vdots &\cdots &\vdots\\
w_{J1} &w_{J2} &\cdots &w_{JJ}\\
\end{array}
\right]
\ \ \ \ \ \ \ &
\boldsymbol{h}(t-1)
&=
\left[
\begin{array}{c}
h_1(t-1)\\
h_2(t-1)\\
\vdots\\
h_J(t-1)\\
\end{array}
\right]
\\
\end{align}
\tag{ 記事内(A4.1) }
隠れ層 -->> 出力層 ゲート
\boldsymbol{y}(t) = g(V\boldsymbol{h}(t) + \boldsymbol{c} )
\tag{ 書籍内(5.5), 記事内(A5) }
\begin{align}
\boldsymbol{y}(t)
&=
\begin{bmatrix}
y_1(t)\\
y_2(t)\\
\vdots\\
y_L(t)\\
\end{bmatrix}
&
\boldsymbol{c}
&=
\begin{bmatrix}
c_1(t)\\
c_2(t)\\
\vdots\\
c_L(t)\\
\end{bmatrix}
\\
\boldsymbol{V}
&=
\begin{bmatrix}
v_{11} & v_{12} & \cdots & v_{1J}\\
v_{21} & v_{22} & \cdots & v_{2J}\\
\vdots & \vdots & \cdots & \vdots\\
v_{L1} & v_{L2} & \cdots & v_{LJ}\\
\end{bmatrix}
&
\boldsymbol{h}(t)
&=
\begin{bmatrix}
h_1(t)\\
h_2(t)\\
\vdots\\
h_J(t)\\
\end{bmatrix}
\\
\end{align}
\tag{ 記事内(A5.1) }
変数定義
各モデルのパラメータも誤差逆伝播法で最適化できる
E := E(U, V, W, \boldsymbol{b}, \boldsymbol{c})
\boldsymbol{p}(t) := U\boldsymbol{x}(t) + W\boldsymbol{h}(t-1) + \boldsymbol{b}
\tag{ 書籍内(5.6), 記事内(A6) }
\boldsymbol{q}(t) := V\boldsymbol{h}(t) + \boldsymbol{c}
\tag{ 書籍内(5.7), 記事内(A7) }
\boldsymbol{e}_{h}(t) := \frac{\partial E}{\partial \boldsymbol{p}(t)}
\tag{ 書籍内(5.8), 記事内(A8) }
\boldsymbol{e}_{o}(t) := \frac{\partial E}{\partial \boldsymbol{q}(t)}
\tag{ 書籍内(5.9), 記事内(A9) }
各パラメータの勾配
\begin{align}
\frac{ \partial E}{ \partial \boldsymbol{U} }
&= % 1
\frac{ \partial E}{ \partial
\left[
\begin{array}{c}
u_{11} & \cdots & u_{1I} \\
\vdots & \cdots & \vdots \\
u_{J1} & \cdots & u_{JI}
\end{array}
\right]
}
\tag{ 記事内(A10.1) }
\\
&= % 2
\left[
\begin{array}{c}
\frac{ \partial E}{ \partial u_{11} } & \cdots & \frac{ \partial E}{ \partial u_{1I} } \\
\vdots & \cdots & \vdots \\
\frac{ \partial E}{ \partial u_{J1} } & \cdots & \frac{ \partial E}{ \partial u_{JI} }
\end{array}
\right]
\tag{ 記事内(A10.2) }
\\
&= % 3
\left[
\begin{array}{c}
\frac{ \partial E}{ \partial \boldsymbol{u_{1} }^T } \\
\vdots \\
\frac{ \partial E}{ \partial \boldsymbol{u_{J} }^T }
\end{array}
\right]
\\
&
\left( \
\boldsymbol{U}
= \left[
\begin{array}{c}
\boldsymbol{u_1} & \cdots & \boldsymbol{u_J}
\end{array}
\right]^T
= \left[
\begin{array}{c}
\boldsymbol{u_1}^T \\
\vdots \\
\boldsymbol{u_J}^T
\end{array}
\right]
\right)
\tag{ 記事内(A10.3) }
\\
&= % 4
\left[
\begin{array}{c}
\frac{ \partial E}{ \partial p_1}
\frac{ \partial p_1(t)}{ \partial \boldsymbol{u_{1} }^T } \\
\vdots \\
\frac{ \partial E}{ \partial p_J}
\frac{ \partial p_J(t)}{ \partial \boldsymbol{u_{J} }^T } \\
\end{array}
\right]
\\
&
\left( \
\because \
\boldsymbol{u}_i^Tを引数に持つのは、p_1, \cdots, p_J のうちで p_i のみ
\right)
\tag{ 記事内(A10.4) }
\\
&= % 5
\left[
\begin{array}{c}
\frac{ \partial E}{ \partial p_1(t)}
\boldsymbol{x}(t)^T \\
\vdots \\
\frac{ \partial E}{ \partial p_J(t)}
\boldsymbol{x}(t)^T
\end{array}
\right]
\tag{ 記事内(A10.5) }
\\
&= % 6
\left[
\begin{array}{c}
\frac{ \partial E}{ \partial p_1(t)} \\
\vdots \\
\frac{ \partial E}{ \partial p_J(t)}
\end{array}
\right] \boldsymbol{x}(t)^T
\tag{ 記事内(A10.7) }
\\
&= % 7
\frac{ \partial E}{ \boldsymbol{p}(t) }
\boldsymbol{x}(t)^T
\tag{ 記事内(A10.8) }
\\
&= % 8
\boldsymbol{e}_h(t)
\boldsymbol{x}(t)^T
\tag{ 書籍内(5.10), 記事内(A10) }
\\
\end{align}
(5.11) ( (5.10)と同様のプロセス )
\begin{align}
\frac{ \partial E}{ \partial \boldsymbol{V} }
&= % 1
\frac{ \partial E}{ \partial
\left[
\begin{array}{c}
v_{11} & \cdots & v_{1I} \\
\vdots & \cdots & \vdots \\
v_{L1} & \cdots & v_{LI}
\end{array}
\right]
}
\tag{ 記事内(A11.1) }
\\
&= % 2
\left[
\begin{array}{c}
\frac{ \partial E}{ \partial v_{11} } & \cdots & \frac{ \partial E}{ \partial v_{1I} } \\
\vdots & \cdots & \vdots \\
\frac{ \partial E}{ \partial v_{L1} } & \cdots & \frac{ \partial E}{ \partial v_{LI} }
\end{array}
\right]
\tag{ 記事内(A11.2) }
\\
&= % 3
\left[
\begin{array}{c}
\frac{ \partial E}{ \partial \boldsymbol{v_{1} }^T } \\
\vdots \\
\frac{ \partial E}{ \partial \boldsymbol{v_{L} }^T }
\end{array}
\right]
\\
&
\left( \
\boldsymbol{V}
= \left[
\begin{array}{c}
\boldsymbol{v_1} & \cdots & \boldsymbol{v_L}
\end{array}
\right]^T
= \left[
\begin{array}{c}
\boldsymbol{v_1}^T \\
\vdots \\
\boldsymbol{v_L}^T
\end{array}
\right]
\right)
\tag{ 記事内(A11.3) }
\\
&= % 4
\left[
\begin{array}{c}
\frac{ \partial E}{ \partial q_1}
\frac{ \partial q_1(t)}{ \partial \boldsymbol{v_{1} }^T } \\
\vdots \\
\frac{ \partial E}{ \partial q_L}
\frac{ \partial q_L(t)}{ \partial \boldsymbol{v_{L} }^T } \\
\end{array}
\right]
\\
&
\left( \
\because \
\boldsymbol{v}_i^T を引数に持つのは、q_1, \cdots, q_L のうちで q_i のみ
\right)
\tag{ 記事内(A11.4) }
\\
&= % 5
\left[
\begin{array}{c}
\frac{ \partial E}{ \partial q_1(t)}
\boldsymbol{h}(t)^T \\
\vdots \\
\frac{ \partial E}{ \partial q_L(t)}
\boldsymbol{h}(t)^T
\end{array}
\right]
\tag{ 記事内(A11.5) }
\\
&= % 6
\left[
\begin{array}{c}
\frac{ \partial E}{ \partial q_1(t)} \\
\vdots \\
\frac{ \partial E}{ \partial q_L(t)}
\end{array}
\right] \boldsymbol{h}(t)^T
\tag{ 記事内(A11.6) }
\\
&= % 7
\frac{ \partial E}{ \boldsymbol{q}(t) }
\boldsymbol{h}(t)^T
\tag{ 記事内(A11.7) }
\\
&= % 8
\boldsymbol{e}_o(t)
\boldsymbol{h}(t)^T
\tag{ 書籍内(5.11), 記事内(A11) }
\\
\end{align}
(5.12) ( (5.10)と同様のプロセス )
\begin{align}
\frac{ \partial E}{ \partial \boldsymbol{W} }
&= % 1
\frac{ \partial E}{ \partial
\left[
\begin{array}{c}
w_{11} & \cdots & w_{1I} \\
\vdots & \cdots & \vdots \\
w_{J1} & \cdots & w_{JI}
\end{array}
\right]
}
\tag{ 記事内(A12.1) }
\\
&= % 2
\left[
\begin{array}{c}
\frac{ \partial E}{ \partial w_{11} } & \cdots & \frac{ \partial E}{ \partial w_{1I} } \\
\vdots & \cdots & \vdots \\
\frac{ \partial E}{ \partial w_{J1} } & \cdots & \frac{ \partial E}{ \partial w_{JI} }
\end{array}
\right]
\tag{ 記事内(A12.2) }
\\
&= % 3
\left[
\begin{array}{c}
\frac{ \partial E}{ \partial \boldsymbol{w_{1} }^T } \\
\vdots \\
\frac{ \partial E}{ \partial \boldsymbol{w_{J} }^T }
\end{array}
\right]
\\
&
\left( \
\boldsymbol{W}
= \left[
\begin{array}{c}
\boldsymbol{w_1} & \cdots & \boldsymbol{w_J}
\end{array}
\right]^T
= \left[
\begin{array}{c}
\boldsymbol{w_1}^T \\
\vdots \\
\boldsymbol{w_J}^T
\end{array}
\right]
\right)
\tag{ 記事内(A12.3) }
\\
&= % 4
\left[
\begin{array}{c}
\frac{ \partial E}{ \partial p_1}
\frac{ \partial p_1(t)}{ \partial \boldsymbol{w_{1} }^T } \\
\vdots \\
\frac{ \partial E}{ \partial p_J}
\frac{ \partial p_J(t)}{ \partial \boldsymbol{w_{J} }^T } \\
\end{array}
\right]
\\
&
\left( \
\because \
\boldsymbol{w}_i^T を引数に持つのは、p_1, \cdots, p_J のうちで p_i のみ
\right)
\tag{ 記事内(A12.4) }
\\
&= % 5
\left[
\begin{array}{c}
\frac{ \partial E}{ \partial p_1(t)}
\boldsymbol{h}(t-1)^T \\
\vdots \\
\frac{ \partial E}{ \partial p_J(t)}
\boldsymbol{h}(t-1)^T
\end{array}
\right]
\tag{ 記事内(A12.5) }
\\
&= % 6
\left[
\begin{array}{c}
\frac{ \partial E}{ \partial p_1(t)} \\
\vdots \\
\frac{ \partial E}{ \partial p_J(t)}
\end{array}
\right] \boldsymbol{h}(t-1)^T
\tag{ 記事内(A12.6) }
\\
&= % 7
\frac{ \partial E}{ \boldsymbol{p}(t) }
\boldsymbol{h}(t-1)^T
\tag{ 記事内(A12.7) }
\\
&= % 8
\boldsymbol{e}_h(t)
\boldsymbol{h}(t-1)^T
\tag{ 書籍内(5.12), 記事内(A12) }
\\
\end{align}
(5.13) ( (5.10)と同様のプロセス )
\begin{align}
\frac{ \partial E}{ \partial \boldsymbol{b}}
&= % 1
\frac{ \partial E}{ \partial
\left[
\begin{array}{c}
b_{1} \\
\vdots \\
b_{J}
\end{array}
\right]
}
\tag{ 記事内(A13.1) }
\\
&= % 2
\left[
\begin{array}{c}
\frac{ \partial E}{ \partial b_{1} } \\
\vdots \\
\frac{ \partial E}{ \partial b_{J} }
\end{array}
\right]
\tag{ 記事内(A13.2) }
\\
&= % 3
\left[
\begin{array}{c}
\frac{ \partial E}{ \partial p_1}
\frac{ \partial p_1(t)}{ \partial b_{1} } \\
\vdots \\
\frac{ \partial E}{ \partial p_J}
\frac{ \partial p_J(t)}{ \partial w_{J} } \\
\end{array}
\right]
\\
&
\left( \
\because \
b_i を引数に持つのは、p_1, \cdots, p_J のうちで p_i のみ
\right)
\tag{ 記事内(A13.3) }
\\
&= % 4
\left[
\begin{array}{c}
\frac{ \partial E}{ \partial p_1(t)} \cdot 1 \\
\vdots \\
\frac{ \partial E}{ \partial p_J(t)} \cdot 1
\end{array}
\right]
\tag{ 記事内(A13.4) }
\\
&= % 5
\left[
\begin{array}{c}
\frac{ \partial E}{ \partial p_1(t)} \\
\vdots \\
\frac{ \partial E}{ \partial p_J(t)}
\end{array}
\right]
\tag{ 記事内(A13.5) }
\\
&= % 6
\frac{ \partial E}{ \partial \boldsymbol{p}(t) }
\tag{ 記事内(A13.6) }
\\
&= % 7
\boldsymbol{e}_h(t) \\
\tag{ 書籍内(5.13), 記事内(A13) }
\\
\end{align}
(5.14) ( (5.13)と同様のプロセス )
\begin{align}
\frac{ \partial E}{ \partial \boldsymbol{c}}
&= % 1
\boldsymbol{e}_o(t)
& (略)
\tag{ 書籍内(5.14), 記事内(A14) }
\\
\end{align}
誤差関数E
出力層における活性化関数は、恒等写像 $g( \cdot )$ と定めるので、
\begin{align}
\boldsymbol{y}(t)
&= g( \ \boldsymbol{q}(t) \ ) \\
&= \boldsymbol{q}(t) \\
\end{align}
誤差関数 $E$ を2乗和誤差関数として以下のようにとる。(例)
\begin{align}
E
&:= \frac{1}{2} \sum_{t'=1}^T \| \ \boldsymbol{y}(t') - \boldsymbol{t}(t') \ \|^2
\tag{ 書籍内番号(5.16), 記事内番号(A16) }
\\
&
( \ 標準内積に関するノルム\ )
\\
&= \frac{1}{2} \sum_{t'=1}^T \sum_{l'=1}^L ( \ y_{l'}(t') - t_{l'}(t') \ )^2
\tag{ 記事内番号(A16.1) }
\\
\end{align}
厳密に書くと
\begin{align}
E
&:= \frac{1}{2} \sum_{n=1}^N \sum_{t'=1}^T \| \ \boldsymbol{y_n}(t') - \boldsymbol{t_n}(t') \ \|^2
\tag{ 記事内番号(A16.2) }
\\
\end{align}
5.1.3: Backpropagation Through Time ( BPTT )
p(t), q(t) の勾配
\begin{align}
\boldsymbol{e}_h(t)
&= % 1
\frac{ \partial E}{ \partial \boldsymbol{p}(t)}
\tag{ 記事内番号(A17.1) }
\\
&= % 2
\frac{ \partial E }{ \partial
\left[
\begin{array}{c}
p_1(t) \\
\vdots \\
p_J(t)
\end{array}
\right]
}
\tag{ 記事内番号(A17.2) }
\\
&= % 3
\left[
\begin{array}{c}
\frac{ \partial E }{ \partial p_1(t) } \\
\vdots \\
\frac{ \partial E }{ \partial p_J(t) } \\
\end{array}
\right]
\tag{ 記事内番号(A17.3) }
\\
&= % 4
\left[
\begin{array}{c}
\frac{ \partial E }{ \partial h_1(t) }
\frac{ \partial h_1(t) }{ \partial p_1(t) }
\\
\vdots \\
\frac{ \partial E }{ \partial h_J(t)}
\frac{ \partial h_J(t) }{ \partial p_J(t) }
\\
\end{array}
\right]
\tag{ 記事内番号(A17.4) }
\\
&= % 5
\left[
\begin{array}{c}
\left(
\sum_{l=1}^L
\frac{ \partial E }{ q_l(t) }
\frac{ q_l(t) }{ h_1(t) }
\right)
\frac{ f( \ p_1(t) \ ) }{ \partial p_1(t) }
\\
\vdots \\
\left(
\sum_{l=1}^L
\frac{ \partial E }{ q_l(t) }
\frac{ q_l(t) }{ h_J(t) }
\right)
\frac{ f( \ p_J(t) \ ) }{ \partial p_J(t) }
\\
\end{array}
\right]
\\
&
\left( \
E \ の要素で p_i(t) を引数に持つのは q_1(t), \cdots, q_L(t) \ だから、\sum_{l=1}^L を用いている
\right)
\tag{ 記事内番号(A17.5) }
\\
&= % 6
\left[
\begin{array}{c}
\left(
\sum_{l=1}^L
\frac{ \partial E }{ q_l(t) }
v_{l1}
\right)
f'( \ p_1(t) \ )
\\
\vdots \\
\left(
\sum_{l=1}^L
\frac{ \partial E }{ q_l(t) }
v_{lJ}
\right)
f'( \ p_J(t) \ )
\\
\end{array}
\right]
\tag{ 記事内番号(A17.6) }
\\
&= % 7
\left[
\begin{array}{c}
\left(
\boldsymbol{v'}_1^T
\frac{ \partial E}{ \partial \boldsymbol{q}(t) }
\right)
f'( \ p_1(t) \ )
\\
\vdots \\
\left(
\boldsymbol{v'}_J^T
\frac{ \partial E}{ \partial \boldsymbol{q}(t) }
\right)
f'( \ p_J(t) \ )
\\
\end{array}
\right]
\\
&
\left( \
\boldsymbol{V}
= [ \boldsymbol{v}_1, \cdots, \boldsymbol{v}_L ]^T
= \left[
\begin{array}{c}
\boldsymbol{v}_1^T \\
\vdots \\
\boldsymbol{v}_L^T \\
\end{array}
\right]
= [ \boldsymbol{v'}_1, \cdots, \boldsymbol{v'}_L ]
= \left[
\begin{array}{c}
\boldsymbol{v'}_1^T \\
\vdots \\
\boldsymbol{v'}_L^T \\
\end{array}
\right]^T
とする
\right)
\tag{ 記事内番号(A17.7) }
\\
&= % 8
\left[
\begin{array}{c}
\boldsymbol{v'}_1^T
\boldsymbol{e}_o(t)
\\
\vdots \\
\boldsymbol{v'}_J^T
\boldsymbol{e}_o(t)
\\
\end{array}
\right]
\odot
f'( \ \boldsymbol{p}(t) \ )
\\
&
( \ \odot はアダマール積(要素積) \ )
\tag{ 記事内番号(A17.8) }
\\
&= % 9
\left[
\begin{array}{c}
\boldsymbol{v'}_1^T
\\
\vdots \\
\boldsymbol{v'}_J^T
\\
\end{array}
\right]
\boldsymbol{e}_o(t)
\odot
f'( \ \boldsymbol{p}(t) \ )
\tag{ 記事内番号(A17.9) }
\\
&= % 10
\boldsymbol{V}^T
\boldsymbol{e}_o(t)
\odot
f'( \ \boldsymbol{p}(t) \ )
\tag{ 記事内番号(A17.10) }
\\
&= % 11
f'( \ \boldsymbol{p}(t) \ )
\odot
\boldsymbol{V}^T
\boldsymbol{e}_o(t)
\\
&
( \ \because \ アダマール積は可換 \ )
\tag{ 書籍内番号(5.17), 記事内番号(A17) }
\\
\end{align}
\begin{align}
\boldsymbol{e}_o(t)
&= % 1
\frac{ \partial E}{ \partial \boldsymbol{q}(t)}
\tag{ 記事内番号(A18.1) }
\\
&= % 2
\left[
\begin{array}{c}
\frac{ \partial \left( \frac{1}{2} \sum_{t'=1}^T \sum_{l'=1}^L ( \ y_{l'}(t') - t_{l'}(t') \ )^2 \right)}{ \partial q_1(t) } \\
\vdots \\
\frac{ \partial \partial \left( \frac{1}{2} \sum_{t'=1}^T \sum_{l'=1}^L ( \ y_{l'}(t') - t_{l'}(t') \ )^2 \right) }{ \partial q_L(t) } \\
\end{array}
\right]
\tag{ 記事内番号(A18.2) }
\\
&= % 3
\left[
\begin{array}{c}
\frac{ \partial \left( \frac{1}{2} \sum_{t'=1}^T \sum_{l'=1}^L ( \ y_{l'}(t') - t_{l'}(t') \ )^2 \right) }{ \partial y_1(t) }
\frac{ \partial y_1(t) }{ \partial q_1(t) }
\\
\vdots \\
\frac{ \partial \left( \frac{1}{2} \sum_{t'=1}^T \sum_{l'=1}^L ( \ y_{l'}(t') - t_{l'}(t') \ )^2 \right) }{ \partial y_L(t) }
\frac{ \partial y_L(t) }{ \partial q_L(t) }
\\
\end{array}
\right]
\tag{ 記事内番号(A18.3) }
\\
&= % 4
\left[
\begin{array}{c}
\frac{ \partial \left( \frac{1}{2} \sum_{t'=1}^T \sum_{l'=1}^L ( \ y_{l'}(t') - t_{l'}(t') \ )^2 \right) }{ \partial \left( \sum_{l'=1}^L ( \ y_{l'}(t) - t_{l'}(t) \ )^2 \right) }
\frac{ \partial \left( \sum_{l'=1}^L ( \ y_{l'}(t) - t_{l'}(t) \ )^2 \right) }{ \partial y_1(t) }
\frac{ \partial g( \ q_1(t) \ ) }{ \partial q_1(t) }
\\
\vdots \\
\frac{ \partial \left( \frac{1}{2} \sum_{t'=1}^T \sum_{l'=1}^L ( \ y_{l'}(t') - t_{l'}(t') \ )^2 \right) }{ \partial \left( \sum_{l'=1}^L ( \ y_{l'}(t) - t_{l'}(t) \ )^2 \right) }
\frac{ \partial \left( \sum_{l'=1}^L ( \ y_{l'}(t) - t_{l'}(t) \ )^2 \right) }{ \partial y_L(t) }
\frac{ \partial g( \ q_L(t) \ ) }{ \partial q_L(t) }
\\
\end{array}
\right]
\tag{ 記事内番号(A18.4) }
\\
&= % 5
\left[
\begin{array}{c}
\frac{1}{2}
\times 2 \times
\left( \ y_{1}(t) - t_{1}(t) \ \right)
g'( \ q_1(t) \ )
\\
\vdots \\
\frac{1}{2}
\times 2 \times
\left( \ y_{:}(t) - t_{L}(t) \ \right)
g'( \ q_L(t) \ )
\\
\end{array}
\right]
\tag{ 記事内番号(A18.5) }
\\
&= % 6
\left[
\begin{array}{c}
y_{1}(t) - t_{1}(t)
\\
\vdots \\
y_{L}(t) - t_{L}(t)
\\
\end{array}
\right]
\odot
\left[
\begin{array}{c}
g'( \ q_1(t) \ ) \\
\vdots \\
g'( \ q_L(t) \ ) \\
\end{array}
\right]
\tag{ 記事内番号(A18.6) }
\\
&= % 7
\left( \
\boldsymbol{y}(t) - \boldsymbol{t}(t) \
\right)
\odot
g'( \ \boldsymbol{q} \ )
\tag{ 記事内番号(A18.7) }
\\
&= % 8
g'( \ \boldsymbol{q} \ )
\odot
\left( \
\boldsymbol{y}(t) - \boldsymbol{t}(t) \
\right)
\\
&
\ ( \ \because \ アダマール積は可換 \ )
\tag{ 書籍内番号(5.18), 記事内番号(A18) }
\\
\end{align}
q(t-1) の勾配
\boldsymbol{e}_h(t-1) = \frac{ \partial E }{ \partial \boldsymbol{p}(t-1) }
\tag{ 書籍内番号(5.19), 記事内番号(A19) }
ここで以下のことを再度確認する。
\begin{align}
E
&= \frac{1}{2} \sum_{t'=1}^T \left\| \boldsymbol{y}(t') - \boldsymbol{t}(t') \right\|^2 \\
&= \frac{1}{2} \sum_{t'=1}^T \sum_{l'=1}^L \left( y_{l'}(t') - t_{l'}(t') \right)^2 \\\\
\boldsymbol{y}(t)
&= g( \ \boldsymbol{q}(t) \ ) \\
&= g( \ \boldsymbol{V \ h}(t) + \boldsymbol{c} \ ) \\
&= g( \ \boldsymbol{V} \ f( \ \boldsymbol{p}(t) \ ) + \boldsymbol{c} \ ) \\\\
\boldsymbol{p}(t)
&= \boldsymbol{U} \ \boldsymbol{x}(t) + \boldsymbol{W} \ \boldsymbol{h}(t-1) + \boldsymbol{b}\\
&= \boldsymbol{U} \ \boldsymbol{x}(t) + \boldsymbol{W} \ f( \ \boldsymbol{p}(t-1) \ ) + \boldsymbol{b}\\
\end{align}
そのうえで、再帰関係式を求めると
\begin{align}
\boldsymbol{e}_h(t-1)
&= % 1
\frac{ \partial E }{ \partial \boldsymbol{p}(t-1) }
\tag{ 記事内番号(A22.1) }
\\
&= % 2
\left[
\begin{array}{c}
\frac{ \partial E }{ \partial p_1(t-1) } \\
\vdots \\
\frac{ \partial E }{ \partial p_J(t-1) } \\
\end{array}
\right]
\tag{ 記事内番号(A22.2) }
\\
&= % 3
\left[
\begin{array}{c}
\frac{ \partial E }{ \partial f( p_1(t-1) ) }
\frac{ \partial f( p_1(t-1) ) }{ \partial p_1(t-1) }
\\
\vdots \\
\frac{ \partial E }{ \partial f( p_J(t-1) ) }
\frac{ \partial f( p_J(t-1) ) }{ \partial p_J(t-1) }
\\
\end{array}
\right]
\tag{ 記事内番号(A22.3) }
\\
&= % 4
\left[
\begin{array}{c}
\sum_{j=1}^J
\frac{ \partial E }{ \partial p_j(t) }
\frac{ \partial p_j(t) }{ \partial f( p_1(t-1) ) }
\frac{ \partial f( p_1(t-1) ) }{ \partial p_1(t-1) }
\\
\vdots \\
\sum_{j=1}^J
\frac{ \partial E }{ \partial p_j(t) }
\frac{ \partial p_j(t) }{ \partial f( p_J(t-1) ) }
\frac{ \partial f( p_J(t-1) ) }{ \partial p_J(t-1) }
\\
\end{array}
\right]
\tag{ 記事内番号(A22.4) }
\\
&= % 5
\left[
\begin{array}{c}
\sum_{j=1}^J
\frac{ \partial E }{ \partial p_j(t) }
w_{j1} \
f'( p_1(t-1) )
\\
\vdots \\
\sum_{j=1}^J
\frac{ \partial E }{ \partial p_j(t) }
w_{jJ} \
f'( p_J(t-1) )
\\
\end{array}
\right]
\tag{ 記事内番号(A22.5) }
\\
&= % 6
\left[
\begin{array}{c}
\sum_{j=1}^J
\frac{ \partial E }{ \partial p_j(t) }
w_{j1} \
\\
\vdots \\
\sum_{j=1}^J
\frac{ \partial E }{ \partial p_j(t) }
w_{jJ} \
\\
\end{array}
\right] \
\odot
f'( \boldsymbol{p}(t-1) )
\tag{ 記事内番号(A22.6) }
\\
&= % 7
\left[
\begin{array}{c}
\boldsymbol{w}_{1}'
\frac{ \partial E }{ \partial \boldsymbol{p}(t) }
\\
\vdots \\
\boldsymbol{w}_{J}'
\frac{ \partial E }{ \partial \boldsymbol{p}(t) }
\\
\end{array}
\right] \
\odot
f'( \boldsymbol{p}(t-1) )
\\
&
\left( \
\boldsymbol{W}
=
\left[
\begin{array}{c}
\boldsymbol{w}_1' & \cdots & \boldsymbol{w}_J'
\end{array}
\right]
=
\left[
\begin{array}{c}
\boldsymbol{w}_1'^T \\
\vdots \\
\boldsymbol{w}_J'^T \\
\end{array}
\right]^T
\right)
\tag{ 記事内番号(A22.7) }
\\
&= % 8
\boldsymbol{W}^T
\boldsymbol{e}_h(t)
\odot
f'( \boldsymbol{p}(t-1) )
\tag{ 記事内番号(A22.8) }
\\
&= % 9
f'( \boldsymbol{p}(t-1) )
\odot
\boldsymbol{W}^T
\boldsymbol{e}_h(t)
\tag{ 書籍内番号(??5.22??), 記事内番号(A22) }
\\
\end{align}
あれ?
テキストと違う答えになってしまった。。。(汗)
(テキストの内容は以下の通り)
\begin{align}
\boldsymbol{e}_h(t-1)
&= % 1
\frac{ \partial E }{ \partial \boldsymbol{p}(t) }
\odot
\frac{ \partial \boldsymbol{p}(t) }{ \partial \boldsymbol{p}(t-1) }
\tag{ 書籍内番号(5.20) }
\\
&= % 2
\boldsymbol{e}_h(t)
\odot
\left( \
\frac{ \partial \boldsymbol{p}(t) }{ \partial\boldsymbol{h}(t-1) }
\frac{ \partial \boldsymbol{h}(t-1) }{ \partial \boldsymbol{p}(t-1) }
\right)
\tag{ 書籍内番号(5.21) }
\\
&= % 3
\boldsymbol{e}_h(t)
\odot
\boldsymbol{W}
f'( \boldsymbol{p}(t-1) )
\tag{ 書籍内番号(5.22) }
\\
\end{align}
私の解法で誤っている数式の記事内番号を教えてくださると助かります。
こちらの論文の内容によると私の解答であっている気がするのですが。。。
(?? その論文の内容にも細かいところにミスがある...かも?)(2017/08/08:追記)