learning to forget continual prediction with lstm
TRANSCRIPT
2015/05/30 CV勉強会@関東有名論文読み会 発表資料
2015/05/30
peisuke
ニューラルネットワークの最近の展開
• 最近の流れ• 層を深くして高精度な認識を実現
→人と同程度の画像認識精度を達成
• 課題• 対象の状況や前後状態まで推測できない
• 近年の流れ• 動画や音声、文章などの時系列データを対象としたより深い理解へ
→リカレントニューラルネットワークの研究
• 最近の時系列データに関する研究事例• 強化学習(Deep Q-Networkによるゲーム自動学習、ノウハウ習得)
• 複合学習(画像と文章を学習させて画像のキャプション生成)
• アルゴリズム学習(チューリングマシン学習、Neural Turing Machine)
http://wallpaperswide.com/
リカレントニューラルネットワーク
•概要• ネットワーク内にループを持たせ、過去データを次回の入力に利用
• 過去データと現在データを両方用いた状態変化に関する学習を行える
• 次の状態の予測など、状態遷移の認識が可能
時系列データ入力
出力層と共に新たに追加した記憶用の層にも出力時刻tの隠れ層の内容が時刻t+1の入力として扱われる
Elman network
本発表の概要
• 発表論文• Learning to Forget: Continual Prediction with LSTM
• どんな論文?• リカレントニューラルネットワークで最も成功している手法• 発表は古いが今でも主流の手法として利用されている
• 何に使える?• 時系列データの認識
• 動画解析、ロボット制御、文章解析、音声認識など
• 特徴は?• LSTMでは、リカレントニューラルネットワークが時系列データを学習する際に最も大きな問題であった、近い過去のみしか記憶できなかった問題を解決
• 上記LSTMは過去のデータを全て覚えてしまい実用性低、本論文ではLSTMに忘却機能を追加する方法を発表、実用可能な構成となった
本発表ではLSTMおよび忘却機能付きLSTMについて紹介
Learning to Forget: Continual Prediction with LSTM
Felix A. Gers
Jürgen Schmidhuber
Fred Cummins
発表:peisuke
背景(1/2)• リカレントニューラルネット(RNN)について
• ループ付きNNにより、過去データを次回の入力に利用
• 過去データを用いた状態変化に関する学習
• 次の状態の予測など、状態遷移の認識が可能
• 問題設定• 入力データ・予測対象に可変長の系列を許す
(通常のNNは、入力層の数が固定であり、
可変長データの扱いは難しい。全ての時間のデータを
一度に入力すると次元数が膨大となり扱い困難。)
• 事例• 音声認識:音声データから単語列を出力
• 機械翻訳:元言語の文章から翻訳先言語の文章生成
Elman network
背景(2/2)
•従来のRNNの課題• 学習の困難性、誤差の消失・発散
• 誤差消失のため10ステップ時間までが限界
• Back Propagation Through Time
展開
t0 t1 t2
展開後RNN(展開により多層NNと同様に扱える)
BP
教師データ
多層NN同様に誤差が消失・発散
RNN
t0,t1,t2
学習データの流れ
Long short-term memory (S. Hochreiter, 1997)
• 効果• 学習によって誤差が発散・消失しない
• 従来10ステップに対し、1000ステップ以上の過去を記憶
• 計算コストも時間当たりO(1)
• 課題• データを忘れないため、状況が変化に対応不可能
• オリジナルLSTMでは状況に合わせ手動で記憶をリセットしているが、実用上は手動リセットは難しい
• 概要• データをループさせる際に、重みを1とし維持し続ける
• 誤ったデータを記憶し続けないように、入力・出力部にゲートを設置し、正しいデータのみ通過させる
Long short-term memory with Forget Gate
•概要• 記憶セルを、忘却ゲートの値に応じてリセットできるようにする
•効果• 状況変化を自動で判別し記憶をリセットできるようになるため、区切りがないデータでも扱える
• 実用上において非常に有効
LSTMの構成について
•通常のNN
Σ
sigmoid
y1
y2
y3
𝑦𝑐𝑡 = 𝑔( 𝑤𝑐𝑦
𝑡−1)
LSTMの構成について•過去情報を減衰させずに再利用
Σy1
y2
y3
1.0
係数を1.0にすることで過去のデータを記憶し続ける。Constant Error Carousel (CEC)
全てのデータを記憶し続けるため、外れ値やノイズも溜め込んでしまう
𝑦𝑐𝑡
𝑠𝑡 = 𝑦𝑐𝑡 + 𝑠𝑡−1
𝑠𝑡 𝑦𝑡
𝑦𝑡 = ℎ(𝑠𝑡)
LSTMの構成について• データの選択的取り込み
sigmoid
Σ
y1 y2 y3
yin
ゲートが開いているときに入力データを記憶
𝑠𝑡 = 𝑦𝑖𝑛𝑦𝑐𝑡 + 𝑠𝑡−1
LSTMの構成について• データの選択的に出力
sigmoid
sigmoid
Σ
y1 y2 y3
𝑦𝑡 = ℎ 𝑦𝑜𝑢𝑡𝑠𝑡
𝑠𝑡
𝑦𝑖𝑛
LSTMの構成について•忘却ゲートの追加
sigmoid Σ
y1 y2 y3
yf
𝑠𝑡 = 𝑦𝑖𝑛𝑦𝑐𝑡 + 𝑦𝑓𝑠
𝑡−1
Long short- term memory with Forget gate
•計算式まとめ
𝑦𝑖𝑛𝑡 = 𝑓 𝑤𝑖𝑛𝑦
𝑡−1 𝑦𝑐𝑡 = 𝑔 𝑤𝑐𝑦
𝑡−1
𝑦𝑓𝑡 = 𝑓 𝑤𝑓𝑦
𝑡−1 , 𝑠𝑡 = 𝑦𝑖𝑛𝑡 𝑦𝑐𝑡 + 𝑦𝑓𝑠
𝑡−1
𝑦𝑜𝑢𝑡𝑡 = 𝑓 𝑤𝑜𝑢𝑡𝑦
𝑡−1 , 𝑦𝑡 = ℎ 𝑦𝑜𝑢𝑡𝑡 𝑠𝑡
(𝑤𝑐 , 𝑤𝑖𝑛 , 𝑤𝑜𝑢𝑡 , 𝑤𝑓)をBP、RTRLで学習
入出力ゲートがどのように影響するか
•入力ゲート• 記憶したくないデータを入力ゲートで除去
• 不要なデータかどうかは𝑤𝑖𝑛の学習によって判別可能
• データと𝑤𝑖𝑛の内積で入力可否を判別するため
•出力ゲート• 出力したくないデータを出力ゲートで除去
• 入力ゲート同様、不要なデータかどうかを𝑤𝑜𝑢𝑡の学習により判別
• LSTMの論文によると無くても動作可能とのことだが、有ったほうが高性能
実験
• Reber Grammar Problem (RG問題)• 最もシンプルなベンチマーク方法の一つ
• 文字列を入力した際に、次の文字を予測• 例:BTSSXと入力すると、出力は(X, S)
•従来のRNNでも学習可能• 最新の入力がPの場合、次候補は(V, T)か(S, X)の2種
• Pの前がBであった場合は(V, T)、Pの前がVであった場合は(X, S)と確定できる
• 数個分の履歴を記憶すれば予測実行可能
実験
• Embedded Reber Grammar Problem (ERG問題)• 遠い過去のデータを記憶する必要のある少し難しいベンチマーク方法
• 図のようにRGPを二つ組み込んだルールを用いて予測• 例:BTBTSSXと入力すると、出力は(X, S)
•従来のRNNでは学習不可• E(赤丸)という入力があった場合、次候補はTかPの2種
• Eの次がTである場合、系列①に進んだこととなる
• 系列を判別するには、2つめの入力データT, P(青丸)を記憶する必要がある
• 長時間の記憶が必要
①
②
実験
• Continual Embedded Reber Grammar Problem(CERG問題)• ERGを区切り文字なしで連続で並べた問題
• 過去数ステップ分の記憶は必要であるが、前回ループ分までの記憶は不要
•一回のループ長は不定、必要な記憶長は定義できない
•昔の記憶を保持するだけではなく、必要なタイミングで記憶を破棄
ERG問題におけるLSTMと従来手法の比較
• ERG問題に対する必要記憶ステップ数の解析• 平均の文長:11.54文字
• 80000回試行した際の最長の文字数:50文字
→50ステップ以上の記憶保持
ERG問題におけるLSTMと従来手法の比較
•比較対処(LSTM論文の結果の再掲)• RTRL (Smith and Zipser, 1989)
• Eleman net (Cleeremans et al., 1989)
• Reccurent Cascade Correlation (Fahlman, 1991)
•比較結果• LSTMのみ正しく学習
• 学習回数もLSTMが最も少ない
→LSTMでは唯一50文字の文字列の記憶が可能
CERG問題における忘却付きLSTMの評価
• ネットワーク構成• 4メモリブロック、ブロックあたり2メモリセル
• 入出力層は7ノード
CERG問題における忘却付きLSTMの評価
•実験結果• 学習は30000回
• テストは10000回連続成功した場合に成功とし10回行う
• 従来型LSTMではほぼ失敗(2,3行目)
• 忘却付きLSTMでは成功率向上
Solutions:全てのテストに成功Good Results: 平均文長が1000以上
CERG問題における忘却付きLSTMの評価
•解析• 忘却機能付きLSTMでは文が切り替わる度に
ForgetGateが変化し、セルの状態が初期化されている
論文のまとめ• 背景
• 時系列データの認識(文章・動画・音声などの学習)• 従来のリカレントニューラルネットワークは、(a)高々10ステップ分しか記憶できない、(b)学習の困難性あり
• 目的• 効率よく学習可能で、古い記憶を保持できること
• 手法• ループ時にデータを維持すると共に、入出力ゲートを用いることで、有効なデータのみ記憶
• 忘却ゲートを利用することで必要に応じ状態をリセット
• 結果• CERG問題について6割の成功率達成• 安定かつ高効率な学習
LSTMの応用事例について
• Long-term Recurrent Convolutional Networks for Visual Recognition and Description• 抽出した動画上の特徴量を用いLSTMで説明文を出力
LSTMの応用事例について
• Unsupervised Learning of Video Representations using LSTMs• AutoEncoderのLSTM版、入力データをAutoEndoerで自己符号化することで教師無し学習
発表まとめ
•近年のディープラーニングにおいて、主な研究対象となっていた静止画のみでは、その状況までは認識困難
• ニューラルネットワークの研究の流れは、近年では時系列データを学習可能なリカレントニューラルネットワークに向かっている
•本発表では、リカレントニューラルネットワークの構成手法の一つである、過去のデータを保持可能なLSTMを紹介した