深層学習(講談社)のまとめ 第7章
- 3. 7. 再帰型ニューラルネット
系列データとは、個々の要素が順序付きの集まり
𝒙", 𝒙$, 𝒙%, ⋯ , 𝒙'
として与えられるデータ。⾳声やテキストなど。系列の⻑さTは⼀般に可変。
⼀般に、系列データを扱う問題の多くは事前に⼊⼒されたデータ間の
依存関係(⽂脈)を学習することで解決を⾏う。系列データを扱う問題の例として、
⽂章が途中まで与えられたときに次の単語を予測する問題や、発話を記録した
⾳声信号から話者が発した⾳素を推定する問題などがあげられる。
学習には再帰型ニューラルネット(Recurrent Neural Network)を⽤いる。
また、RNNは単語間の依存関係を学習し単語の予測をする問題では⾔語モデルとも
呼ばれている。
・系列データ
- 5. 7. 再帰型ニューラルネット
RNNの出⼒層、誤差関数は順伝播型と同様に設計される。そのため、誤差関数は
𝐸 𝒘 = − 9 9 9 𝑑-1
+
𝑙𝑜𝑔𝑦1
+
(𝒙-; 𝒘)
1+-
と⽰される。ここで、はn番⽬のサンプルの時刻tでの⽬標出⼒である。
また、系列の⻑さはサンプルごとに違っていても構わない。
系列データの全体が⼀括して与えられる際、その系列データを逆向きにRNNに
⼊⼒することも出来る。このように逆向きの⼊⼒をとるRNNと順向きの⼊⼒を
とるRNNの出⼒層を統合したものを双⽅向性RNNといい、順向きだけのRNNより
性能がいいと⾔われている。
- 6. 7. 再帰型ニューラルネット
また、各⼊出⼒は以下の式で表せる
𝑢/
+
= 9 𝑤/,
(,-)
𝑥,
+
,
+ 9 𝑤//D 𝑧/D
+E"
/D
𝑧/
+
= 𝑓 𝑢/
+
𝑣1
+
= 9 𝑤1/
()*+)
𝑧/
+
/
𝑦1
+
= 𝑓()*+)(𝑣1
+
)
このとき、バイアスは常に1を出⼒する特別なユニットを1つ下の層に⽤意し、
これと各ユニットとの結合重みをバイアスとする⼿法をとる。
また、重みは時刻tに関係なく、順伝播計算中は定数である。
- 8. 7. 再帰型ニューラルネット
通常の順伝播型ネットワークでの第𝑙 + 1層から第𝑙層へのデルタは
𝛿/
(J)
= 9 𝑤1/
(JK")
𝛿1
(JK")
𝑓L(𝑢/
(J)
)
1
で表される。(fは問題に即した活性化関数)RNNに適⽤するために
時刻tの出⼒層のユニットkにおけるデルタを
𝛿1
)*+,+
≡
𝜕𝐸
𝜕𝑣1
+
と表し、中間層のユニットjにおけるデルタを
𝛿/
+
≡
𝜕𝐸
𝜕𝑢/
+
と表すことで、中間層のユニットjのデルタは
𝛿/
+
= 9 𝑤1/
)*+
𝛿1
)*+,+
1
+ 9 𝑤/D/ 𝛿/D
+K"
/D
𝑓L(𝑢/
+
)
と計算できる。これをTから1つずつtを⼩さくしながら繰り返し計算することで
各時刻におけるデルタを計算することができる。
ただし、𝑡 = 𝑇 + 1におけるデルタはまだ計算できないため、0とする。
- 12. 7. 再帰型ニューラルネット
ゲートを経るときにゲートの値が1に近ければ状態がそのまま伝達され、0に近ければ
リセットされる。そのために、ゲートの値の計算に⽤いる活性化関数はロジスティック
シグモイド関数が⽤いられる。上記の機構を式で表すと、メモリセルは
𝑠/
+
= 𝑔/
S,+
𝑠/
+E"
+ 𝑔/
T,+
𝑓(𝑢/
+
)
と表される。第2項は元のRNNと同様に
𝑢/
+
= 9 𝑤/,
(,-)
𝑥,
+
,
+ 9 𝑤//D 𝑧/D
+E"
/D
として受け取る。また、各ゲートの値は以下のように⽰される。
𝑔/
S,+
= 𝑓 𝑢/
S,+
= 𝑓 9 𝑤/,
S,,-
𝑥,
+
,
+ 9 𝑤//D
S
𝑧/D
+E"
/D
+ 𝑤/
S
𝑠/
+E"
𝑔/
T,+
= 𝑓 𝑢/
T,+
= 𝑓 9 𝑤/,
T,,-
𝑥,
+
,
+ 9 𝑤//D
T
𝑧/D
+E"
/D
+ 𝑤/
T
𝑠/
+E"
𝑔/
U,+
= 𝑓 𝑢/
U,+
= 𝑓 9 𝑤/,
U,,-
𝑥,
+
,
+ 9 𝑤//D
U
𝑧/D
+E"
/D
+ 𝑤/
U
𝑠/
+E"
- 13. 7. 再帰型ニューラルネット
LSTMも普通のRNNと同様に勾配降下法による学習が可能。また、勾配計算も
同様に誤差逆伝播法により⾏う。各ユニットのデルタは以下。
𝜖/
+
= 9 𝑤1/
)*+
𝛿1
)*+,+
1
+ 9 𝑤/D/ 𝛿/L
+K"
/L
𝑎: 𝛿/
YZJJ,+
= 𝛿[/
+
+ 𝑔/
S,+K"
𝛿/
YZJJ,+K"
+ 𝑤/
S
𝛿/
T,+K"
+ 𝑤/
T
𝛿/
S,+K"
+ 𝑤/
U
𝛿/
U,+
𝑏: 𝛿/
+
= 𝑔/
T,+
𝑓L 𝑢/
+
𝛿/
YZJJ,+K"
𝑐: 𝛿/
T,+
= 𝑓L 𝑢/
T,+
𝑓(𝑢/
+
)𝛿/
YZJJ,+
𝑑: 𝛿/
U,+
= 𝑓L 𝑢/
U,+
𝑓 𝑠/
+
𝜖/
+
𝑒: 𝛿[/
+
= 𝑔/
S,+K"
𝑓L 𝑠/
+
𝜖/
+
𝑓: 𝛿/
S,+
= 𝑓L 𝑢/
S,+
𝑠/
+E"
𝛿/
YZJJ,+
・LSTMの逆伝播計算