learning to forget continual prediction with lstm

28
2015/05/30 CV勉強会@関東 有名論文読み会 発表資料 2015/05/30 peisuke

Upload: fujimoto-keisuke

Post on 10-Aug-2015

998 views

Category:

Engineering


2 download

TRANSCRIPT

Page 1: Learning to forget continual prediction with lstm

2015/05/30 CV勉強会@関東有名論文読み会 発表資料

2015/05/30

peisuke

Page 2: Learning to forget continual prediction with lstm

ニューラルネットワークの最近の展開

• 最近の流れ• 層を深くして高精度な認識を実現

→人と同程度の画像認識精度を達成

• 課題• 対象の状況や前後状態まで推測できない

• 近年の流れ• 動画や音声、文章などの時系列データを対象としたより深い理解へ

→リカレントニューラルネットワークの研究

• 最近の時系列データに関する研究事例• 強化学習(Deep Q-Networkによるゲーム自動学習、ノウハウ習得)

• 複合学習(画像と文章を学習させて画像のキャプション生成)

• アルゴリズム学習(チューリングマシン学習、Neural Turing Machine)

http://wallpaperswide.com/

Page 3: Learning to forget continual prediction with lstm

リカレントニューラルネットワーク

•概要• ネットワーク内にループを持たせ、過去データを次回の入力に利用

• 過去データと現在データを両方用いた状態変化に関する学習を行える

• 次の状態の予測など、状態遷移の認識が可能

時系列データ入力

出力層と共に新たに追加した記憶用の層にも出力時刻tの隠れ層の内容が時刻t+1の入力として扱われる

Elman network

Page 4: Learning to forget continual prediction with lstm

本発表の概要

• 発表論文• Learning to Forget: Continual Prediction with LSTM

• どんな論文?• リカレントニューラルネットワークで最も成功している手法• 発表は古いが今でも主流の手法として利用されている

• 何に使える?• 時系列データの認識

• 動画解析、ロボット制御、文章解析、音声認識など

• 特徴は?• LSTMでは、リカレントニューラルネットワークが時系列データを学習する際に最も大きな問題であった、近い過去のみしか記憶できなかった問題を解決

• 上記LSTMは過去のデータを全て覚えてしまい実用性低、本論文ではLSTMに忘却機能を追加する方法を発表、実用可能な構成となった

本発表ではLSTMおよび忘却機能付きLSTMについて紹介

Page 5: Learning to forget continual prediction with lstm

Learning to Forget: Continual Prediction with LSTM

Felix A. Gers

Jürgen Schmidhuber

Fred Cummins

発表:peisuke

Page 6: Learning to forget continual prediction with lstm

背景(1/2)• リカレントニューラルネット(RNN)について

• ループ付きNNにより、過去データを次回の入力に利用

• 過去データを用いた状態変化に関する学習

• 次の状態の予測など、状態遷移の認識が可能

• 問題設定• 入力データ・予測対象に可変長の系列を許す

(通常のNNは、入力層の数が固定であり、

可変長データの扱いは難しい。全ての時間のデータを

一度に入力すると次元数が膨大となり扱い困難。)

• 事例• 音声認識:音声データから単語列を出力

• 機械翻訳:元言語の文章から翻訳先言語の文章生成

Elman network

Page 7: Learning to forget continual prediction with lstm

背景(2/2)

•従来のRNNの課題• 学習の困難性、誤差の消失・発散

• 誤差消失のため10ステップ時間までが限界

• Back Propagation Through Time

展開

t0 t1 t2

展開後RNN(展開により多層NNと同様に扱える)

BP

教師データ

多層NN同様に誤差が消失・発散

RNN

t0,t1,t2

学習データの流れ

Page 8: Learning to forget continual prediction with lstm

Long short-term memory (S. Hochreiter, 1997)

• 効果• 学習によって誤差が発散・消失しない

• 従来10ステップに対し、1000ステップ以上の過去を記憶

• 計算コストも時間当たりO(1)

• 課題• データを忘れないため、状況が変化に対応不可能

• オリジナルLSTMでは状況に合わせ手動で記憶をリセットしているが、実用上は手動リセットは難しい

• 概要• データをループさせる際に、重みを1とし維持し続ける

• 誤ったデータを記憶し続けないように、入力・出力部にゲートを設置し、正しいデータのみ通過させる

Page 9: Learning to forget continual prediction with lstm

Long short-term memory with Forget Gate

•概要• 記憶セルを、忘却ゲートの値に応じてリセットできるようにする

•効果• 状況変化を自動で判別し記憶をリセットできるようになるため、区切りがないデータでも扱える

• 実用上において非常に有効

Page 10: Learning to forget continual prediction with lstm

LSTMの構成について

•通常のNN

Σ

sigmoid

y1

y2

y3

𝑦𝑐𝑡 = 𝑔( 𝑤𝑐𝑦

𝑡−1)

Page 11: Learning to forget continual prediction with lstm

LSTMの構成について•過去情報を減衰させずに再利用

Σy1

y2

y3

1.0

係数を1.0にすることで過去のデータを記憶し続ける。Constant Error Carousel (CEC)

全てのデータを記憶し続けるため、外れ値やノイズも溜め込んでしまう

𝑦𝑐𝑡

𝑠𝑡 = 𝑦𝑐𝑡 + 𝑠𝑡−1

𝑠𝑡 𝑦𝑡

𝑦𝑡 = ℎ(𝑠𝑡)

Page 12: Learning to forget continual prediction with lstm

LSTMの構成について• データの選択的取り込み

sigmoid

Σ

y1 y2 y3

yin

ゲートが開いているときに入力データを記憶

𝑠𝑡 = 𝑦𝑖𝑛𝑦𝑐𝑡 + 𝑠𝑡−1

Page 13: Learning to forget continual prediction with lstm

LSTMの構成について• データの選択的に出力

sigmoid

sigmoid

Σ

y1 y2 y3

𝑦𝑡 = ℎ 𝑦𝑜𝑢𝑡𝑠𝑡

𝑠𝑡

𝑦𝑖𝑛

Page 14: Learning to forget continual prediction with lstm

LSTMの構成について•忘却ゲートの追加

sigmoid Σ

y1 y2 y3

yf

𝑠𝑡 = 𝑦𝑖𝑛𝑦𝑐𝑡 + 𝑦𝑓𝑠

𝑡−1

Page 15: Learning to forget continual prediction with lstm

Long short- term memory with Forget gate

•計算式まとめ

𝑦𝑖𝑛𝑡 = 𝑓 𝑤𝑖𝑛𝑦

𝑡−1 𝑦𝑐𝑡 = 𝑔 𝑤𝑐𝑦

𝑡−1

𝑦𝑓𝑡 = 𝑓 𝑤𝑓𝑦

𝑡−1 , 𝑠𝑡 = 𝑦𝑖𝑛𝑡 𝑦𝑐𝑡 + 𝑦𝑓𝑠

𝑡−1

𝑦𝑜𝑢𝑡𝑡 = 𝑓 𝑤𝑜𝑢𝑡𝑦

𝑡−1 , 𝑦𝑡 = ℎ 𝑦𝑜𝑢𝑡𝑡 𝑠𝑡

(𝑤𝑐 , 𝑤𝑖𝑛 , 𝑤𝑜𝑢𝑡 , 𝑤𝑓)をBP、RTRLで学習

Page 16: Learning to forget continual prediction with lstm

入出力ゲートがどのように影響するか

•入力ゲート• 記憶したくないデータを入力ゲートで除去

• 不要なデータかどうかは𝑤𝑖𝑛の学習によって判別可能

• データと𝑤𝑖𝑛の内積で入力可否を判別するため

•出力ゲート• 出力したくないデータを出力ゲートで除去

• 入力ゲート同様、不要なデータかどうかを𝑤𝑜𝑢𝑡の学習により判別

• LSTMの論文によると無くても動作可能とのことだが、有ったほうが高性能

Page 17: Learning to forget continual prediction with lstm

実験

• Reber Grammar Problem (RG問題)• 最もシンプルなベンチマーク方法の一つ

• 文字列を入力した際に、次の文字を予測• 例:BTSSXと入力すると、出力は(X, S)

•従来のRNNでも学習可能• 最新の入力がPの場合、次候補は(V, T)か(S, X)の2種

• Pの前がBであった場合は(V, T)、Pの前がVであった場合は(X, S)と確定できる

• 数個分の履歴を記憶すれば予測実行可能

Page 18: Learning to forget continual prediction with lstm

実験

• Embedded Reber Grammar Problem (ERG問題)• 遠い過去のデータを記憶する必要のある少し難しいベンチマーク方法

• 図のようにRGPを二つ組み込んだルールを用いて予測• 例:BTBTSSXと入力すると、出力は(X, S)

•従来のRNNでは学習不可• E(赤丸)という入力があった場合、次候補はTかPの2種

• Eの次がTである場合、系列①に進んだこととなる

• 系列を判別するには、2つめの入力データT, P(青丸)を記憶する必要がある

• 長時間の記憶が必要

Page 19: Learning to forget continual prediction with lstm

実験

• Continual Embedded Reber Grammar Problem(CERG問題)• ERGを区切り文字なしで連続で並べた問題

• 過去数ステップ分の記憶は必要であるが、前回ループ分までの記憶は不要

•一回のループ長は不定、必要な記憶長は定義できない

•昔の記憶を保持するだけではなく、必要なタイミングで記憶を破棄

Page 20: Learning to forget continual prediction with lstm

ERG問題におけるLSTMと従来手法の比較

• ERG問題に対する必要記憶ステップ数の解析• 平均の文長:11.54文字

• 80000回試行した際の最長の文字数:50文字

→50ステップ以上の記憶保持

Page 21: Learning to forget continual prediction with lstm

ERG問題におけるLSTMと従来手法の比較

•比較対処(LSTM論文の結果の再掲)• RTRL (Smith and Zipser, 1989)

• Eleman net (Cleeremans et al., 1989)

• Reccurent Cascade Correlation (Fahlman, 1991)

•比較結果• LSTMのみ正しく学習

• 学習回数もLSTMが最も少ない

→LSTMでは唯一50文字の文字列の記憶が可能

Page 22: Learning to forget continual prediction with lstm

CERG問題における忘却付きLSTMの評価

• ネットワーク構成• 4メモリブロック、ブロックあたり2メモリセル

• 入出力層は7ノード

Page 23: Learning to forget continual prediction with lstm

CERG問題における忘却付きLSTMの評価

•実験結果• 学習は30000回

• テストは10000回連続成功した場合に成功とし10回行う

• 従来型LSTMではほぼ失敗(2,3行目)

• 忘却付きLSTMでは成功率向上

Solutions:全てのテストに成功Good Results: 平均文長が1000以上

Page 24: Learning to forget continual prediction with lstm

CERG問題における忘却付きLSTMの評価

•解析• 忘却機能付きLSTMでは文が切り替わる度に

ForgetGateが変化し、セルの状態が初期化されている

Page 25: Learning to forget continual prediction with lstm

論文のまとめ• 背景

• 時系列データの認識(文章・動画・音声などの学習)• 従来のリカレントニューラルネットワークは、(a)高々10ステップ分しか記憶できない、(b)学習の困難性あり

• 目的• 効率よく学習可能で、古い記憶を保持できること

• 手法• ループ時にデータを維持すると共に、入出力ゲートを用いることで、有効なデータのみ記憶

• 忘却ゲートを利用することで必要に応じ状態をリセット

• 結果• CERG問題について6割の成功率達成• 安定かつ高効率な学習

Page 26: Learning to forget continual prediction with lstm

LSTMの応用事例について

• Long-term Recurrent Convolutional Networks for Visual Recognition and Description• 抽出した動画上の特徴量を用いLSTMで説明文を出力

Page 27: Learning to forget continual prediction with lstm

LSTMの応用事例について

• Unsupervised Learning of Video Representations using LSTMs• AutoEncoderのLSTM版、入力データをAutoEndoerで自己符号化することで教師無し学習

Page 28: Learning to forget continual prediction with lstm

発表まとめ

•近年のディープラーニングにおいて、主な研究対象となっていた静止画のみでは、その状況までは認識困難

• ニューラルネットワークの研究の流れは、近年では時系列データを学習可能なリカレントニューラルネットワークに向かっている

•本発表では、リカレントニューラルネットワークの構成手法の一つである、過去のデータを保持可能なLSTMを紹介した