リカレントニューラルネット リカレントニューラルネット 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
© Copyright 2024