Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

LSTM (Long short-term memory) 概要

18,755 views

Published on

機械学習勉強会の資料です.LSTM (Long short-term memory) について理解するために,単純なニューラルネットから話を進めていきます.

Published in: Engineering
  • Be the first to comment

LSTM (Long short-term memory) 概要

  1. 1. 時系列データ解析のためのLSTM概要 発表者: 石黒研博士後期課程2年 浦井健次 紹介論文 [1] Gesture recognition using recurrent neural networks (1991) : RNNでジェスチャ認識 [2] Long short-term memory (1997) : オリジナルLSTM [3] Learning to forget continual prediction with LSTM (2000) : 忘却ゲート付きLSTM [4] Recurrent neural network regularization (2014):ドロップアウトで過学習を防ぐLSTM [5] A neural conversational model (2015) : LSTMで対話データの生成 参考論文 [A] Building high-level features using large scale unsupervised learning (2013):DNNで猫認識 [B] A time-delay neural network architecture for isolated word recognition (1990):TDNNで音声認識 [C] Anticipating Visual Representations from Unlabeled Video (2016):DNNで人の行動予測 [D] Visually Indicated Sounds (2015):LSTMで映像から音声を予測 [E] Long-term recurrent convolutional networks for visual recognition and description (2015):LSTMで動画の特徴抽出 1/30 機械学習勉強会@大阪大学豊中キャンパス 資料
  2. 2. 発表者: 石黒研博士後期課程2年 浦井健次 紹介論文 [1] Gesture recognition using recurrent neural networks (1991) : RNNでジェスチャ認識 [2] Long short-term memory (1997) : オリジナルLSTM [3] Learning to forget continual prediction with LSTM (2000) : 忘却ゲート付きLSTM [4] Recurrent neural network regularization (2014):ドロップアウトで過学習を防ぐLSTM [5] A neural conversational model (2015) : LSTMで対話データの生成 参考論文 [A] Building high-level features using large scale unsupervised learning (2013):DNNで猫認識 [B] A time-delay neural network architecture for isolated word recognition (1990):TDNNで音声認識 [C] Anticipating Visual Representations from Unlabeled Video (2016):DNNで人の行動予測 [D] Visually Indicated Sounds (2015):LSTMで映像から音声を予測 [E] Long-term recurrent convolutional networks for visual recognition and description (2015):LSTMで動画の特徴抽出 1/30 近年話題(グーグルトレンドで調査2016.06.27) 時系列データ解析のためのLSTM概要 機械学習勉強会@大阪大学豊中キャンパス 資料
  3. 3. アウトライン 拡張LSTM(忘却ゲート・ドロップアウト) RNN(時系列データに対するNNのモデルの一種) LSTM(RNNの拡張モデル) NN(ニューラルネットワーク) 準備:背景知識
  4. 4. アウトライン RNN(時系列データに対するNNのモデルの一種) LSTM(RNNの拡張モデル) NN(ニューラルネットワーク) 拡張LSTM(忘却ゲート・ドロップアウト)
  5. 5. NN(Neural Network) とは? 人間の脳の神経回路の仕組みを模したモデル 入力パターン(文字・画像・・・) 出力パターン(予測) 重みを学習 ノード 入力層 中間層 (隠れ層) 出力層 後方に誤差を伝播させる →バックプロパゲーション (BP) 出力層の誤差 =(正解)ー(現在の出力値) 5/30 学習率:大 大きく重みを更新
  6. 6. X Y ・・・ 1 1 NNの例)XNORの学習 (pythonで実装) XNOR 訓練,訓練,訓練・・・ネットワークの重みを学習 未知データに対しての 予測が可能 1 0.5 0 誤差大.誤差が小さくなるよう重みを更新… 0 0 0.98 0 0 1 0 1 0 1 0 0 1 1 1 線形分類できない 問題 X Y 0.9 6/30
  7. 7. NNの例)XNORの学習 (pythonで実装) 6/30 X Y ・・・ 1 1 XNOR 訓練,訓練,訓練・・・ネットワークの重みを学習 未知データに対しての 予測が可能 1 0.5 0 誤差大.誤差が小さくなるよう重みを更新… 0 0 0.98 0 0 1 0 1 0 1 0 0 1 1 1 線形分類できない 問題 X Y 0.9 画像 猫です 適用例)パターン認識(手書き文字の認識etc),データマイニング(クラスタリングetc)
  8. 8. NNの問題点 問題点 認識は高精度(MLP:多層 DNN:深層) しかしオリジナルのモデルでは →時系列データの解析に不適当なモデル 例)動画・音声データの認識,文法解析など 人は認識できても,この後どうなるかは理解できない・・・ [A] Le, Quoc V. "Building high-level features using large scale unsupervised learning." 2013 IEEE international conference on acoustics, speech and signal processing. IEEE, 2013. [A] 7/30
  9. 9. NNの問題点 問題点 認識は高精度(MLP:多層 DNN:深層) しかしオリジナルのモデルでは →時系列データの解析に不適当なモデル 例)動画・音声データの認識,文法解析など 人は認識できても,この後どうなるかは理解できない・・・ [A] Le, Quoc V. “Building high-level features using large scale unsupervised learning.” 2013 IEEE international conference on acoustics, speech and signal processing. IEEE, 2013. [B] Lang, Kevin J., Alex H. Waibel, and Geoffrey E. Hinton. “A time-delay neural network architecture for isolated word recognition.” Neural networks 3.1 (1990): 23-43. [C] Vondrick, Carl, Hamed Pirsiavash, and Antonio Torralba. "Anticipating Visual Representations from Unlabeled Video." [A] 7/30 ※1)一定の幅を持たせた時系列データを入力することで,時系列データの予測を行うことが可能 (TDNN: Time-Delay Neural Network) 例)音声認識 [B] →DNNで1秒先の行動を43%の精度で予測 予測した結果と実際に未来のフレームを認識した結 果の誤差を最小化するようにネットワークを最適化 ※2)将来の入力との誤差を最小化することで,時系列データの予測行うことが可能 例)人の行動予測 (DNN)[C] 魚がサメに 見つかり追 われる
  10. 10. NNの問題点 問題点 認識は高精度(MLP:多層 DNN:深層) しかしオリジナルのモデルでは →時系列データの解析に不適当なモデル 例)動画・音声データの認識,文法解析など 人は認識できても,この後どうなるかは理解できない・・・ [A] Le, Quoc V. "Building high-level features using large scale unsupervised learning." 2013 IEEE international conference on acoustics, speech and signal processing. IEEE, 2013. [A] 7/30
  11. 11. アウトライン RNN(時系列データに対するNNのモデルの一種) LSTM(RNNの拡張モデル) NN(ニューラルネットワーク) 拡張LSTM(忘却ゲート・ドロップアウト)
  12. 12. RNN(Recurrent Neural Network) とは? →これまでの状態を保持しながら学習 ※隠れ層に時間依存の情報(文脈など) が埋め込まれていくイメージ 時系列データを扱えるNNのモデル t-2 t-3 入力層 隠れ層 出力層 t t-1 適用例)文章生成・音声/ジェスチャ認識 など,時間的な順序が重要となるケース 今日 の 天気 ・・・ ・・・ ・・・ RNNをシンプルに 描くと・・・ 9/30 は 実際には、文脈を入力する代わりに,直前の単語を処理した時の中間状態を入力 晴れ
  13. 13. 2進数の加算ルールを学習(通常のNNでは学習不可) RNNの例)2進数の加法の学習 (pythonで実装) t-1 t-2 t-3 →RNNを用いることで繰上り情報を記憶してネットワークを学習できる 1 1 0 1 1 1 1 0 1 10/30 0 1 1 + 1 1 input output0 1 1 1 1 1 1 1 1 1 1 t 1 1 1
  14. 14. 2進数の加算ルールを学習(通常のNNでは学習不可) RNNの例)2進数の加法の学習 (pythonで実装) t-1 t-2 t-3 →RNNを用いることで繰上り情報を記憶してネットワークを学習できる 1 1 0 1 1 1 1 0 1 10/30 0 1 1 + 1 1 input output0 1 1 1 1 1 1 1 1 1 1 t 1 1 1
  15. 15. RNNでジェスチャー認識 (Murakami et al, 1991)[1] [1] Murakami, Kouichi, and Hitomi Taguchi. "Gesture recognition using recurrent neural networks." Proceedings of the SIGCHI conference on Human factors in computing systems. ACM, 1991. 11/30 入力はデータグローブの値:指の角度データや手のX,Y,Zのポジションデータなどを入力する Gesture recognition using recurrent neural networks. (Murakami et al, 1991)
  16. 16. 入力はデータグローブの値:指の角度データや手のX,Y,Zのポジションデータなどを入力する RNNでジェスチャー認識 (Murakami et al, 1991)[1] [1] Murakami, Kouichi, and Hitomi Taguchi. "Gesture recognition using recurrent neural networks." Proceedings of the SIGCHI conference on Human factors in computing systems. ACM, 1991. 11/30 Gesture recognition using recurrent neural networks. (Murakami et al, 1991)
  17. 17. RNNの問題点 問題点 過去データに対する重みが発散・消失してしまう ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ Back Propagation Through Time (BPTT)で学習 時間をさかのぼって学習しているように見える 深いネットワークと同様の問題 →何度も乗算し,重みが発散したり,消失 したりするため,長期依存を学習できない ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ 時刻t 時刻t 12/30
  18. 18. アウトライン RNN(時系列データに対するNNのモデルの一種) LSTM(RNNの拡張モデル) NN(ニューラルネットワーク) 拡張LSTM(忘却ゲート・ドロップアウト) 13/30
  19. 19. Long short-term memory (Hochreiter & Schmidhuber ,1997 )[2] RNNの拡張モデル →RNNの中間層のユニットをLSTM Blockに置き換えたもの 長期依存を学習可能 [2] Hochreiter, Sepp, and Jürgen Schmidhuber. "Long short-term memory." Neural computation 9.8 (1997): 1735-1780. t t-1 t-2 LSTM Block 14/30 1.0 入力ゲート 出力ゲート ①データを重み1で ループさせ記憶 ②入出力ゲートの 学習により,正しい データのみを通過 学習によって誤差 が発散・消失しない (1000ステップ以上 の過去を記憶) Long short-term memory (Hochreiter & Schmidhuber ,1997 )
  20. 20. LSTMの振舞い・機能 15/30 1.0 入力ゲート 出力ゲート ①選択的取り込み:入力ゲートが 開いているときに入力データを記憶 1.0 入力ゲート 出力ゲート 1.0 入力ゲート 出力ゲート ②重み1のRNN(過去の全ての入 力+今回の入力) ③選択的に出力:出力ゲートが開 いているときデータを出力 Long short-term memory (Hochreiter & Schmidhuber ,1997 )
  21. 21. 問題点:大きな状況の変化に対応できない LSTMの問題点 16/30 ・データを忘れないため(重み1のループ)状況の 変化に対応不可(外れ値やノイズもため込 む) ・オリジナルのLSTMでは,状況に応じて手動で 記憶をリセット →実用的でない 1.0 入力ゲート 出力ゲート Learning to Forget: Continual Prediction with LSTM (2000)
  22. 22. アウトライン RNN(時系列データに対するNNのモデルの一種) LSTM(RNNの拡張モデル) NN(ニューラルネットワーク) 拡張LSTM(忘却ゲート・ドロップアウト)
  23. 23. Learning to Forget: Continual Prediction with LSTM (2000)[3] [3] Gers, Felix A., Jürgen Schmidhuber, and Fred Cummins. "Learning to forget: Continual prediction with LSTM." Neural computation 12.10 (2000): pp. 2451-2471. ・LSTMを実装する際,今でも主流の手法とし て利用されている (被引用数304うち111が2015年以降論文.ref.2016.6.24) ・本論文での提案手法: →忘却機能付きのLSTM ・様々な時系列データの認識に利用 (文章/動画解析・音声認識) →実装している研究例を最後に紹介 18/30 概要 Learning to Forget: Continual Prediction with LSTM (F. A. Gers et al., 2000)
  24. 24. Introduction RNN →ループを持つNNにより過去のデータを次回の入力に利用 →次時刻の状態の予測など,遷移の認識が可能 従来のRNNの課題 →誤差の消失・発散による学習の困難性 →学習する時系列の長さの限界(10ステップ程度が限界) 19/30 LSTM →学習によって誤差が発散・消失しない(1000ステップ以上記憶可能) 従来のLSTMの課題 →大きな状況の変化に対応不可能([2]では手動で記憶をリセット) [2] Hochreiter, Sepp, and Jürgen Schmidhuber. "Long short-term memory." Neural computation 9.8 (1997): 1735-1780. Learning to Forget: Continual Prediction with LSTM (F. A. Gers et al., 2000)
  25. 25. Solution: Extended LSTM with Forget Gates 本論文での提案手法:忘却機能付きのLSTM (a) Standard LSTM (b) Extended LSTM with Forget Gates 重み1を維持.正しいデータのみ通過 記憶セルを忘却ゲートの値に応じてリセット可能 20/30 1.0 入力ゲート 出力ゲート 入力ゲート 出力ゲート 忘却ゲート Learning to Forget: Continual Prediction with LSTM (F. A. Gers et al., 2000)
  26. 26. 忘却機能付きのLSTMの機能と動作(1/2) 状況が大きく変化 t-2 t-3 t-4 t t-1 21/30 Learning to Forget: Continual Prediction with LSTM (F. A. Gers et al., 2000) ルールBルールA このまま学習 進める? 過去のデータ がノイズに・・・
  27. 27. 22/30 Learning to Forget: Continual Prediction with LSTM (F. A. Gers et al., 2000) 忘却機能付きのLSTMの機能と動作(2/2) →記憶を選択的にリセット 状況が大きく変化 t-2 t-3 t-4 t t-1 ルールBルールA 過去のデータ を忘却し,効 率的に学習す ることが可能 入力ゲート 出力ゲート 忘却ゲート 忘却ゲートが 学習しリセット このまま学習 進める? 過去のデータ がノイズに・・・ BP
  28. 28. Experiments : 実験設定(2つのルールの基でスイッチする文字生成器) 23/30 Learning to Forget: Continual Prediction with LSTM (F. A. Gers et al., 2000) ERG問題:従来のRNNでは学習不可 CERG問題:ERGを区切りなく連続で配置 Reber Grammar
  29. 29. Experiments : 実験設定(2つのルールの基でスイッチする文字生成器) 23/30 Learning to Forget: Continual Prediction with LSTM (F. A. Gers et al., 2000) ERG問題:従来のRNNでは学習不可 CERG問題:ERGを区切りなく連続で配置 Reber Grammar RG問題 ・文字列を入力した際の次の文 字を予測 例)入力:BTSSXX→出力:(T,V) ・従来のRNNでも学習可能 -最新の入力:P -次の候補は (V,T) or (S,X) -Pの前がBであった場合: (V,T) -Pの前がVであった場合: (S,X) と確定可能 過去数個の履歴を記憶すれば予測可能
  30. 30. Experiments : 実験設定(2つのルールの基でスイッチする文字生成器) 23/30 Learning to Forget: Continual Prediction with LSTM (F. A. Gers et al., 2000) ERG問題:従来のRNNでは学習不可 CERG問題:ERGを区切りなく連続で配置 Reber Grammar ERG問題(RGPより少し複雑) 従来のRNNでは学習不可 -遠い過去のデータを記憶する必要あり -「RGPを2つ持つ」というルールを用い て予測する 例)入力:BTBTSSX, 出力(S,X) ※従来のRNNで学習不可の理由 ①入力BT**********E?(T or P) ②入力BP**********E?(T or P) ルートを判断するためには二つ目の入 力(T or P)を記憶しておく必要がある →長期間の記憶が必要
  31. 31. Experiments : 実験設定(2つのルールの基でスイッチする文字生成器) 23/30 Learning to Forget: Continual Prediction with LSTM (F. A. Gers et al., 2000) ERG問題:従来のRNNでは学習不可 CERG問題:ERGを区切りなく連続で配置 Reber Grammar ・前回ループ分の記憶は不要 ・1回のループ長は不定 ・「長期間記憶」+「適当なタイミングでの記 憶の破棄」が効率的な学習には求められる 問題設定となっている.
  32. 32. Experiments : ①ERG問題で評価 従来手法との比較 ・ERG問題に対する必要記憶ステップ数を解析 ・平均生成文字長:11.54文字(50文字:80000試行した際の最長文字列の平均) →50ステップ以上の記憶を保持する必要がある 24/30 Learning to Forget: Continual Prediction with LSTM (F. A. Gers et al., 2000)
  33. 33. Experiments : ①ERG問題で評価 従来手法との比較 ・ERG問題に対する必要記憶ステップ数を解析 ・平均生成文字長:11.54文字(最長50字:80000試行中) →50ステップ以上の記憶を保持する必要がある 24/30 Learning to Forget: Continual Prediction with LSTM (F. A. Gers et al., 2000) 比較対象:RTRL(Smith & Zipser, 1989), ELM;Elman net (Cleeremans etal., 1989), RCC;Recurrent Cascade Correlation (Fahlman, 1991) →LSTMでのみ学習が可能(学習回数も最も少ない)
  34. 34. Experiments : ②CERG問題で評価 学習:30000試行(CERG問題で延々と文字生成)(1試行:予測失敗or100000文字予測成功) テスト:10回実施(1回につき100000文字生成)生成される文字を予測できた場合成功 結果:従来のLSTMでは学習失敗.忘却ゲート付きLSTMでは成功率が向上. ルールが切り替わるたびに忘却ゲートの重みが変化し,セルが初期化されている. 25/30 Learning to Forget: Continual Prediction with LSTM (F. A. Gers et al., 2000) 6割以上の予測に成功! 忘却ゲート活動 中間層の状態 T,Pは2つの生成ルートの切り替わり
  35. 35. Conclusions 通常のRNN:近い過去のみしか記憶できなかったが・・・ ・「忘却機能付きのLSTM」を提案(効率よく古い記憶を保持できる) ・CERG問題について60%の成功率(かつ安定) ※LSTMを実装する際の主流の手法となっている(今では,LSTM=忘却ゲートを持つ) →近年の応用例(動画・音声解析[D]動画・画像解析[E]) 26/30 [D] Owens, Andrew, et al. "Visually Indicated Sounds." arXiv preprint arXiv:1512.08512 (2015). [E] Donahue, Jeffrey, et al. "Long-term recurrent convolutional networks for visual recognition and description." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015. 動画の特徴から説明文を生成する[E] Learning to Forget: Continual Prediction with LSTM (F. A. Gers et al., 2000) 無音映像からその映像に合った音を再現する[D]
  36. 36. Recurrent neural network regularization (2014)[4] [4] Zaremba, Wojciech, Ilya Sutskever, and Oriol Vinyals. "Recurrent neural network regularization." arXiv preprint arXiv:1409.2329 (2014). 提案手法:「忘却ゲート付きLSTM」+「工夫したドロップアウト」で過学習を防ぐ ※ドロップアウト:ランダムに選んだノードを無視して(ないものとして)学習を進める →一般にNNの汎化性能が向上する(アンサンブル効果) 27/30 Recurrent neural network regularization. (Zaremba et al., 2014) 工夫:non-recurrentな接続にのみドロップアウト操作を適用する ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ 時刻t :ドロップアウトにより無視するノード
  37. 37. Recurrent neural network regularization (2014)[4] [4] Zaremba, Wojciech, Ilya Sutskever, and Oriol Vinyals. "Recurrent neural network regularization." arXiv preprint arXiv:1409.2329 (2014). 提案手法:「忘却ゲート付きLSTM」+「工夫したドロップアウト」で過学習を防ぐ ※ドロップアウト:ランダムに選んだノードを無視して(ないものとして)学習を進める →一般にNNの汎化性能が向上する(アンサンブル効果) 28/30 Recurrent neural network regularization. (Zaremba et al., 2014) 工夫:non-recurrentな接続にのみドロップアウト操作を適用する ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ 時刻t :ドロップアウトにより無視するノード 汎化性能が向上した
  38. 38. A neural conversational model (2015)[5] [5] Vinyals, Oriol, and Quoc Le. "A neural conversational model." arXiv preprint arXiv:1506.05869 (2015). 29/30 LSTMを利用した対話生成モデル: A neural conversational model. (O. Vinyals & Q. Le , 2015) sequence-to-sequence(seq2seq) framework (Sutskever et al., 2014) →RNNに基づく時系列モデル(LSTMを利用) 与えられた発話・発話履歴から次の発話を予測する. ある200の質問に対する答え方をClever Botの返答と比較し人が評価を行った. 好ましい返答だと評価された数:提案モデル 97/200, Clever Bot 60/200
  39. 39. A neural conversational model (2015)[5] [5] Vinyals, Oriol, and Quoc Le. "A neural conversational model." arXiv preprint arXiv:1506.05869 (2015). 30/30 LSTMを利用した対話生成モデル: A neural conversational model. (O. Vinyals & Q. Le , 2015) sequence-to-sequence(seq2seq) framework (Sutskever et al., 2014) →RNNに基づく時系列モデル(LSTMを利用) 与えられた発話・発話履歴から次の発話を予測する. ある200の質問に対する答え方をClever Botの返答と比較し人が評価を行った. 好ましい返答だと評価された数:提案モデル 97/200, Clever Bot 60/200

×