jΛuンhニzー?ル*ッh - Graham Neubig

リカレントニューラルネット
リカレントニューラルネット
Graham Neubig
奈良先端科学技術大学院大学 (NAIST)
1
リカレントニューラルネット
フィードフォーワード
ニューラルネット
●
すべての線が前方向のネット
ϕ ( x)
●
( 有効非巡回グラフ DAG になっている )
y
2
リカレントニューラルネット
リカレントニューラルネット (RNN)
●
ノードの一部の出力が入力として戻ってくる
ht −1
ϕ t (x )
●
理由:「記憶」が可能
y
3
リカレントニューラルネット
系列モデルとしての RNN
y1
y2
y3
y4
NET
NET
NET
NET
x1
x2
x3
x4
4
リカレントニューラルネット
例:テキストの次の単語のの予測
[Mikolov+11]
this
NET
<s>
●
●
is
a
pen
NET
NET
NET
this
is
a
テキスト生成が可能
テキストの自然性を判断することが可能 ( 言語モデル )
5
リカレントニューラルネット
例:音声信号から音素の予測
[Robinson+ 96]
th
i
s
NET
NET
NET
i
NET
6
リカレントニューラルネット
例:天気の予測
[Maqsood+ 04]
15.0
14.0
13.5
13.4
NET
NET
NET
NET
15.3
15.0
14.0
13.5
7
リカレントニューラルネット
例:プログラムの実行
[Zaremba+14]
●
hello
<s>
NET
NET
NET
NET
print
hello
<s>
( もっと複雑なプログラムも可能 )
8
リカレントニューラルネット
ほかにも…
●
●
●
機械翻訳 [Sutskever+ 14]
手書き文字の生成 [Graves+ 13]
画像から説明文の生成 [Karpathy+ 14]
9
リカレントニューラルネット
復習:
フィードフォーワードネットの逆伝搬
10
リカレントニューラルネット
確率的勾配降下法
(stochastic gradient descent; SGD)
●
●
ロジスティック回帰を含む確率モデルのための学習ア
ルゴリズム
w=0
for I iterations
for each labeled pair x, y in the data
w += α * dP(y|x)/dw
つまり
●
●
各学習例に対して勾配を計算
( y の確率が上がる方向)
その方向へ、学習率 α をかけた分だけ動かす
11
リカレントニューラルネット
●
確率の微分
w⋅ϕ ( x)
d
P ( y=1∣x ) =
dw
d e
d w 1+e w⋅ϕ (x)
w⋅ϕ (x)
e
= ϕ (x )
w⋅ϕ (x) 2
(1+e
)
d
P ( y=−1∣x ) =
dw
dp(y|x)/dw*phi(x)
シグモイド関数の勾配
0.4
0.3
0.2
0.1
-10
-5
0
0
5
10
w*phi(x)
w⋅ϕ (x)
d
e
(1−
)
w⋅ϕ (x)
dw
1+ e
w⋅ϕ (x)
e
= −ϕ (x )
w⋅ϕ (x) 2
(1+ e
)
12
リカレントニューラルネット
学習:隠れ層の勾配が分からない
●
出力層のタグしか分からない
h( x)
w1
d P( y=1∣x)
=?
d w1
d P( y=1∣x)
e w ⋅h(x )
=h (x)
w ⋅h( x) 2
d
w
(1+ e
)
4
w
4
ϕ ( x)
w2
w3
4
4
y=1
d P( y=1∣x)
=?
d w2
d P( y=1∣x)
=?
d w3
13
リカレントニューラルネット
逆伝搬 (back propagation)
●
連鎖律を使って計算
d P( y=1∣x) d P( y=1∣x ) d w 4 h(x ) d h1 (x )
=
d w1
d w 4 h( x) d h1 (x) d w 1
w 4⋅h( x )
e
w ⋅h( x) 2
(1+e
)
w 1,4
次の層の
エラー (δ4)
重み
4
一般には
i を次の層の
j のエラーで計算
勾配
d P( y=1∣x) d hi ( x)
=
δ
w
∑
j
i, j
j
wi
d wi
14
リカレントニューラルネット
逆伝搬の概念図
●
エラーを逆方向に伝搬
w1
ϕ ( x)
δ1
w2
w4
δ2
δ4
y
w3
δ3
15
リカレントニューラルネット
リカレントネットの逆伝搬
16
リカレントニューラルネット
計算できるエラーは?
y1
NET
x1
●
●
δo,1
δr,1
y2
NET
x2
δo,2
δr,2
y3
NET
x3
δo,3
δr,3
y4
δo,4
NET
x4
出力エラー δo は簡単に計算可能
次の時間からのリカレントエラー δr は逆伝搬
17
リカレントニューラルネット
逆伝搬の方法
●
通時的逆伝播 (back propagation through time; BPTT)
●
●
各 δo に対して n 回(時間)の逆伝搬を行う
完全勾配計算 (full gradient calculation)
●
動的計画法に基づいて、系列全体の勾配を計算
18
リカレントニューラルネット
通時的逆伝搬
y1
δ
δ
NET
x1
●
●
δo,1
δ
δ
y2
NET
x2
δo,2
δ
δ
y3
δo,3
NET
y4
δo,4
NET
δ
x3
1 つの出力エラーだけを考慮
n 回の計算だけを行う ( ここでは n=2)
x4
19
リカレントニューラルネット
完全勾配計算
y1
δ
●
●
δo,1
y2
δ
δo,2
y3
δ
δo,3
y4
δo,4
δ
NET
NET
NET
NET
x1
x2
x3
x4
まず系列のネット結果全体を計算
後ろからエラーを計算
20
リカレントニューラルネット
BPTT? 完全勾配計算?
●
完全勾配計算
●
●
●
+ 計算量が少ない、ステップ数の指定がない
- 系列全体の計算結果を保存するのが必要
BPTT:
●
●
+ メモリ量は系列の長さではなくステップ数に比例
- 計算量が多い、長距離の情報が捉えにくい
21
リカレントニューラルネット
ニューラルネットにおける消える勾配
極微
y1
δ
●
微
y2
δ
小
y3
δ
中
y4
δo,4
δ
NET
NET
NET
NET
x1
x2
x3
x4
「 Long Short Term Memory 」などでこの問題に対処
22
リカレントニューラルネット
参考文献
23
リカレントニューラルネット
参考文献
●
●
●
●
●
●
●
A. Graves. Generating sequences with recurrent neural networks. arXiv preprint
arXiv:1308.0850, 2013.
A. Karpathy and L. Fei-Fei. Deep visual-semantic alignments for generating image
descriptions. arXiv preprint arXiv:1412.2306, 2014.
I. Maqsood, M. R. Khan, and A. Abraham. An ensemble of neural networks for
weather forecasting. Neural Computing & Applications, 13(2):112–122, 2004.
T. Mikolov, M. Karafit, L. Burget, J. Cernocky, and S. Khudanpur. Recurrent neural
network based language model. In Proc. 11th InterSpeech, pages 1045–1048, 2010.
T. Robinson, M. Hochberg, and S. Renals. The use of recurrent neural networks in
continuous speech recognition. In Automatic speech and speaker recognition, pages
233–258. Springer, 1996.
I. Sutskever, O. Vinyals, and Q. V. Le. Sequence to sequence learning with neural
networks. In Advances in Neural Information Processing Systems, pages 3104–3112,
2014.
W. Zaremba and I. Sutskever. Learning to execute. CoRR, abs/1410.4615, 2014.
24