5. RNNの順伝播における入力のしかた(1)
画像 および を入力する場合
t=1, 2, 3
1 2 1
7 9 8
2 3 4
é
ë
ê
ê
ê
ù
û
ú
ú
ú
10 20 30
40 50 60
70 80 90
é
ë
ê
ê
ê
ù
û
ú
ú
ú
出力層 入力層中間層
1 2 1
7 9 8
2 3 4
t=1, 2, 3
0.1 0.2 0.2
0.6 0.2 0.7
0.3 0.6 0.1
1つ目の画像(データセット1)
画像1つが訓練データ1つに、縦のピクセルが入力層のノード番号に、
横のピクセルが入力順のt番目に、それぞれあたります。
入力順→
ノード番号1
2
3
6. RNNの順伝播における入力のしかた(2)
画像 および を入力する場合
t=1, 2, 3
1 2 1
7 9 8
2 3 4
é
ë
ê
ê
ê
ù
û
ú
ú
ú
10 20 30
40 50 60
70 80 90
é
ë
ê
ê
ê
ù
û
ú
ú
ú
出力層 入力層中間層
10 20 30
40 50 60
70 80 90
t=1, 2, 3
0.8 0.4 0.1
0.1 0.2 0.9
0.1 0.4 0.0
2つ目の画像(データセット2) 入力順→
ノード番号1
2
3
7. 1つのデータセットにおける誤差は
n番目のデータセット における誤差 は
t=1
t=2
0
1
0
1
入力層 出力層中間層
an0
2
an0
1
an1
1
bn1
2
an1
2
bn0
2
bn0
1
bn1
1
yn0
1
yn1
1
yn1
2
yn0
1
0
1
0
1
0
1
0
1
目標値
出力値
誤差
入力値
bn0
1
bn0
2
bn1
1
bn1
2
é
ë
ê
ê
ù
û
ú
ú En
En = f ynk
t
,ank
t
( )
k
å
t
å f:誤差関数
8. ミニバッチの場合の誤差は・・・
全N個のデータセットからm個のデータセットでミニバッチをつくる。
このミニバッチを用いて確率的勾配降下法で学習する。
まずn番目のデータセットの誤差 は
これをm個データセットにわたり足す。
例えば、誤差関数が交差エントロピー であれば
En
En = f ynk
t
,ank
t
( )
k
å
t=1,2
å である。
E = En
n=1
m
å = f ynk
t
,ank
t
( )
k
å
t=1,2
å
n=1
m
å
f ynk
t
,ank
t
( )= ank
t
logynk
t
E = dnk
t
logynk
t
k
å
t=1,2
å
n=1
m
å となる。
9. 重みを更新するには何を求めればいい?
RNNでは入力層 i 番目ノードから中間層 j 番目ノードへの t 時刻目にお
ける重み は
ここで は と変形できます。
そうすると、このδは などと出力側のδの関数として表さ
れます。
よって、δは出力側から再帰的に次々と決まっていきます。
そこでまず、各δを再帰的に求め、その後δから重みwの更新量を求め
ます。
wj
t
( )¢ = wj
t
-e
¶E
¶wj
t
wj
t
として更新します。
¶E
¶wj
t
=
¶E
¶uj
t
¶uj
t
¶wj
t
=dj
t ¶uj
t
¶wj
t
¶E
¶wj
t
dj
t
= f dk
t
( )
δを再帰的に求めれば、重みは求まる。これが誤差逆伝播法。
10. 誤差逆伝播でδを求めてみる
t=1における隠れ層ノード 0番目の はt=1の出力層からのδとt=2の
隠れ層からのδからなる
d0
1
= wk0
out,1
dk
out,1
+
k=0,1
å wj'0dj'
2
j'=0,1
å
æ
è
çç
ö
ø
÷÷ f ' u0
1
( )
d0
1
t=1
t=2
0
入力層 i 出力層 k中間層 j
∵ dj
t
=
¶E
¶uj
t
æ
è
çç
ö
ø
÷÷
d0
1
d0
out,1
d1
out,1
d1
2
d0
2
11
1
0
0
u0
1
28. LSTM逆伝播の計算(3)メモリセル
メモリセルの は を入力し、 を出力する恒等写像である。
メモリセルの出力先は、外部出力向け、メモリセル自身への帰還、入
力ゲート、出力ゲート、忘却ゲートの5つである。
よって、それぞれの を 、 、 、 、 とおくと
入力層
dj
cell,t
=dj
A,t
+gj
F,t+1
dj
cell,t+1
+dj
I,t+1
+dj
O,t
+dj
F,t+1
メモリセル
f sj
t
( )
dj
cell,t
sj
t
gj
O,t
= f uj
O,t
( )
dj
O,t
sj
t
sj
t
sj
t+1
sj
t+1
sj
t+1
sj
t
sj
t
dj
cell,t+1
dj
A,t
d dj
I,t+1
dj
F,t+1
29. LSTM逆伝播の計算(4)入力側ユニット
下図入力側ユニットの は を入力し、 を出力する。
その後、入力ゲートを通過してメモリセルへと渡される。よって
は
入力層
dj
t
=
¶E
¶uj
t
=
¶E
¶sj
t
¶sj
t
¶uj
t
=dj
cell,t ¶sj
t
¶uj
t
=dj
cell,t
¶ gj
I,t
f uj
t
( )( )
¶uj
t
=dj
cell,t
gj
I,t
f ' uj
t
( )
入力側ユニット
dj
t
uj
t
uj
t
f uj
t
( )
gt
I,t
f uj
t
( )
f uj
t
( )
dj
t
となる。
30. LSTM逆伝播の計算(5)忘却ユニット
下図忘却ユニットの出力は忘却ゲートで と掛け合わさり、メモリ
セルへ順伝播する。よって、忘却ユニットの は以下のようにでき
る。
入力層
dj
F,t
=
¶E
¶uj
F,t
=
¶E
¶sj
t
¶sj
t
¶uj
F,t
=dj
cell,t ¶sj
t
¶uj
F,t
=dj
cell,t
¶ sj
t-1
f uj
F,t
( )( )
¶uj
F,t
=dj
cell,t
sj
t-1
f ' uj
F,t
( )
f sj
t
( )
dj
F,t
sj
t-1
gj
F,t
= f uj
F,t
( )
忘却ユニット
uj
F,t
gj
F,t
31. LSTM逆伝播の計算(6)入力ユニット
下図入力ユニットの出力は入力ゲートで と掛け合わさり、メ
モリセルへ順伝播する。よって、入力ユニットの は以下のように
できる。
入力層
dj
I,t
=
¶E
¶uj
I,t
=
¶E
¶sj
t
¶sj
t
¶uj
I,t
=dj
cell,t ¶sj
t
¶uj
I,t
=dj
cell,t
¶ f uj
t
( ) f uj
I,t
( )( )
¶uj
I,t
=dj
cell,t
f uj
t
( ) f ' uj
I,t
( )
dj
I,t
sj
t
入力ユニット
uj
I,t
f uj
t
( )
gj
I,t
= f uj
I,t
( )
sj
t-1
f uj
t
( )