39
時系列データ解析のための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 機械学習勉強会@大阪大学豊中キャンパス 資料

LSTM (Long short-term memory) 概要

Embed Size (px)

Citation preview

Page 1: LSTM (Long short-term memory) 概要

時系列データ解析のための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

機械学習勉強会@大阪大学豊中キャンパス 資料

Page 2: LSTM (Long short-term memory) 概要

発表者: 石黒研博士後期課程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概要

機械学習勉強会@大阪大学豊中キャンパス 資料

Page 3: LSTM (Long short-term memory) 概要

アウトライン

拡張LSTM(忘却ゲート・ドロップアウト)

RNN(時系列データに対するNNのモデルの一種)

LSTM(RNNの拡張モデル)

NN(ニューラルネットワーク)

準備:背景知識

Page 4: LSTM (Long short-term memory) 概要

アウトライン

RNN(時系列データに対するNNのモデルの一種)

LSTM(RNNの拡張モデル)

NN(ニューラルネットワーク)

拡張LSTM(忘却ゲート・ドロップアウト)

Page 5: LSTM (Long short-term memory) 概要

NN(Neural Network) とは?

人間の脳の神経回路の仕組みを模したモデル

入力

パタ

ーン

(文

字・画

像・・・)

出力

パタ

ーン

(予

測)

重みを学習

ノード

入力層中間層

(隠れ層)出力層

後方に誤差を伝播させる

→バックプロパゲーション(BP)

出力層の誤差

=(正解)ー(現在の出力値)

5/30

学習率:大

大きく重みを更新

Page 6: LSTM (Long short-term memory) 概要

X

Y

・・・

1

1

NNの例)XNORの学習 (pythonで実装)

XNOR

訓練,訓練,訓練・・・ネットワークの重みを学習未知データに対しての予測が可能

10.5

0

誤差大.誤差が小さくなるよう重みを更新…

0

00.98

0 0 1

0 1 0

1 0 0

1 1 1

線形分類できない問題

X Y

0.9

6/30

Page 7: LSTM (Long short-term memory) 概要

NNの例)XNORの学習 (pythonで実装)6/30

X

Y

・・・

1

1

XNOR

訓練,訓練,訓練・・・ネットワークの重みを学習未知データに対しての予測が可能

10.5

0

誤差大.誤差が小さくなるよう重みを更新…

0

00.98

0 0 1

0 1 0

1 0 0

1 1 1

線形分類できない問題

X Y

0.9

画像

猫です

適用例)パターン認識(手書き文字の認識etc),データマイニング(クラスタリングetc)

Page 8: LSTM (Long short-term memory) 概要

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

Page 9: LSTM (Long short-term memory) 概要

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]

魚がサメに見つかり追われる

Page 10: LSTM (Long short-term memory) 概要

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

Page 11: LSTM (Long short-term memory) 概要

アウトライン

RNN(時系列データに対するNNのモデルの一種)

LSTM(RNNの拡張モデル)

NN(ニューラルネットワーク)

拡張LSTM(忘却ゲート・ドロップアウト)

Page 12: LSTM (Long short-term memory) 概要

RNN(Recurrent Neural Network) とは?

→これまでの状態を保持しながら学習

※隠れ層に時間依存の情報(文脈など)が埋め込まれていくイメージ

時系列データを扱えるNNのモデル

t-2

t-3

入力層

隠れ層

出力層t

t-1

適用例)文章生成・音声/ジェスチャ認識など,時間的な順序が重要となるケース

今日

天気

・・・

・・・

・・・

RNNをシンプルに描くと・・・

9/30

実際には、文脈を入力する代わりに,直前の単語を処理した時の中間状態を入力

晴れ

Page 13: LSTM (Long short-term memory) 概要

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

1input

output0

1

1

1

1

1

1

1

1

1

1

t

1 1

1

Page 14: LSTM (Long short-term memory) 概要

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

1input

output0

1

1

1

1

1

1

1

1

1

1

t

1 1

1

Page 15: LSTM (Long short-term memory) 概要

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)

Page 16: LSTM (Long short-term memory) 概要

入力はデータグローブの値:指の角度データや手の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)

Page 17: LSTM (Long short-term memory) 概要

RNNの問題点

問題点

過去データに対する重みが発散・消失してしまう・・・

・・・

・・・

・・・

・・・

・・・

・・・

・・・

・・・

・・・

・・・

・・・

・・・

・・・

・・・

Back Propagation Through Time (BPTT)で学習

時間をさかのぼって学習しているように見える

深いネットワークと同様の問題

→何度も乗算し,重みが発散したり,消失したりするため,長期依存を学習できない

・・・

・・・

・・・

・・・

・・・

・・・

・・・

・・・

・・・

・・・

・・・

・・・

・・・

・・・

・・・

時刻t 時刻t

12/30

Page 18: LSTM (Long short-term memory) 概要

アウトライン

RNN(時系列データに対するNNのモデルの一種)

LSTM(RNNの拡張モデル)

NN(ニューラルネットワーク)

拡張LSTM(忘却ゲート・ドロップアウト)

13/30

Page 19: LSTM (Long short-term memory) 概要

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 )

Page 20: LSTM (Long short-term memory) 概要

LSTMの振舞い・機能15/30

1.0

入力ゲート

出力ゲート

①選択的取り込み:入力ゲートが開いているときに入力データを記憶

1.0

入力ゲート

出力ゲート

1.0

入力ゲート

出力ゲート

②重み1のRNN(過去の全ての入力+今回の入力)

③選択的に出力:出力ゲートが開いているときデータを出力

Long short-term memory (Hochreiter & Schmidhuber ,1997 )

Page 21: LSTM (Long short-term memory) 概要

問題点:大きな状況の変化に対応できない

LSTMの問題点16/30

・データを忘れないため(重み1のループ)状況の変化に対応不可(外れ値やノイズもため込む)

・オリジナルのLSTMでは,状況に応じて手動で記憶をリセット

→実用的でない

1.0

入力ゲート

出力ゲート

Learning to Forget: Continual Prediction with LSTM (2000)

Page 22: LSTM (Long short-term memory) 概要

アウトライン

RNN(時系列データに対するNNのモデルの一種)

LSTM(RNNの拡張モデル)

NN(ニューラルネットワーク)

拡張LSTM(忘却ゲート・ドロップアウト)

Page 23: LSTM (Long short-term memory) 概要

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)

Page 24: LSTM (Long short-term memory) 概要

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)

Page 25: LSTM (Long short-term memory) 概要

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)

Page 26: LSTM (Long short-term memory) 概要

忘却機能付きの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 このまま学習進める?

過去のデータがノイズに・・・

Page 27: LSTM (Long short-term memory) 概要

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

過去のデータを忘却し,効率的に学習することが可能

入力ゲート

出力ゲート

忘却ゲート

忘却ゲートが学習しリセット

このまま学習進める?

過去のデータがノイズに・・・B

P

Page 28: LSTM (Long short-term memory) 概要

Experiments : 実験設定(2つのルールの基でスイッチする文字生成器)23/30

Learning to Forget: Continual Prediction with LSTM (F. A. Gers et al., 2000)

ERG問題:従来のRNNでは学習不可 CERG問題:ERGを区切りなく連続で配置

Reber Grammar

Page 29: LSTM (Long short-term memory) 概要

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)と確定可能

過去数個の履歴を記憶すれば予測可能

Page 30: LSTM (Long short-term memory) 概要

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)を記憶しておく必要がある→長期間の記憶が必要

Page 31: LSTM (Long short-term memory) 概要

Experiments : 実験設定(2つのルールの基でスイッチする文字生成器)23/30

Learning to Forget: Continual Prediction with LSTM (F. A. Gers et al., 2000)

ERG問題:従来のRNNでは学習不可 CERG問題:ERGを区切りなく連続で配置

Reber Grammar

・前回ループ分の記憶は不要・1回のループ長は不定・「長期間記憶」+「適当なタイミングでの記憶の破棄」が効率的な学習には求められる問題設定となっている.

Page 32: LSTM (Long short-term memory) 概要

Experiments : ①ERG問題で評価

従来手法との比較

・ERG問題に対する必要記憶ステップ数を解析

・平均生成文字長:11.54文字(50文字:80000試行した際の最長文字列の平均)

→50ステップ以上の記憶を保持する必要がある

24/30

Learning to Forget: Continual Prediction with LSTM (F. A. Gers et al., 2000)

Page 33: LSTM (Long short-term memory) 概要

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でのみ学習が可能(学習回数も最も少ない)

Page 34: LSTM (Long short-term memory) 概要

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つの生成ルートの切り替わり

Page 35: LSTM (Long short-term memory) 概要

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]

Page 36: LSTM (Long short-term memory) 概要

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

:ドロップアウトにより無視するノード

Page 37: LSTM (Long short-term memory) 概要

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

:ドロップアウトにより無視するノード

汎化性能が向上した

Page 38: LSTM (Long short-term memory) 概要

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

Page 39: LSTM (Long short-term memory) 概要

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