Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning...

27
Deep Auto-Encoder Neural Networks in Reiforcement Learnning Sascha Lange and Martin Riedmiller Computer Science Department,Albert- Ludwigs University of Freiburg, D- 79194 Freiburg, Germany (IJCNN2010) 2013/02/15 M1 金金 金金

description

Deep Learning Japan @ 東大です http://www.facebook.com/DeepLearning https://sites.google.com/site/deeplearning2013/

Transcript of Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning...

Page 1: Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning 勉強会資料; 金子)

Deep Auto-Encoder Neural Networks in Reiforcement Learnning

Sascha Lange and Martin RiedmillerComputer Science Department,Albert-Ludwigs

University of Freiburg, D-79194 Freiburg, Germany(IJCNN2010)

2013/02/15M1 金子 貴輝

Page 2: Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning 勉強会資料; 金子)

概要

• 強化学習の状態観測に DLを使った研究• 強化学習で一般的な、迷路でのゴールタスク– ただし状態は迷路の拡大画像で得られる

• バッチ型強化学習に Deep Auto Encoderを組み合わせたモデルを提案

• ディスプレイ画像をカメラで撮ったものでも 15Hzで画像処理して良い方策を学習した– 初めて実画像に RLを適用できた

Page 3: Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning 勉強会資料; 金子)

迷路課題• 床と壁とゴールからなる格子世界• ランダムな位置から始まり、ゴールするまで負の報酬が与えられる

• スタートからゴールまで( 1エピソード)が繰り返される

• 簡単な強化学習では、位置を直接見て行動決定できる• この論文では迷路を俯瞰した画像が与えられる

Page 4: Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning 勉強会資料; 金子)

提案モデル:強化学習エージェントの構成

• Deep encoder– 特徴空間を 2次元まで落としこむエンコーダ

– Deep auto-encoderとして学習する

• 関数近似器– 行動決定の指標になる行動価値関数 Q(s,a)

– 学習には Fitted Q-iterationを用いる

Deep Learningとバッチ強化学習の 2つからなる

Page 5: Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning 勉強会資料; 金子)

提案モデル:学習の流れ

• 1エピソードの状態遷移全てを記録する– 観測系列を抜き出して

Deep Learningする– エンコーダで特徴空間での状態遷移に翻訳して、バッチ強化学習手法を使う(inner loop)

• 1エピソードごとに、エンコーダと関数近似器が学習を行う  (outer loop)

Page 6: Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning 勉強会資料; 金子)

Deep Auto Encoderの学習

• 層ごとの事前学習+全体での微調整

• 再構成誤差を最小化するのに、勾配法をベースにした RProp学習側 [1]を利用する– RPropは勾配ベクトルを正規化する– 正規化によって BPよりも局所解にはまりにくい– パラメータ調整に対して頑健でもある

1

23

Page 7: Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning 勉強会資料; 金子)

Fitted Q-iteration[2]• 得られている状態遷移集合 Fから Q(s,a)を近似する関数を作る

• 動的計画法を用いて Q(s,a)を反復計算する– 0で Q(s,a)を初期化する

– 観測したそれぞれの状態行動対 (s,a)に、現在の Q(s,a)から推測される Q値を加え、訓練データ Pとする

– 訓練データ Pから Q(s,a)を近似して置き換える

Page 8: Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning 勉強会資料; 金子)

提案モデル (Deep Fitted Q-Iterations)

• ランダムな重みのエンコーダとランダムな方策のエージェントで初期化する

• エピソードごとにエンコーダと関数近似器を学習– 毎回、事前学習と微調整を行ってエンコーダを学習する

– 関数近似器はエピソードのたびに初期化され、 Inner loopで再計算される

• 得られた Q(s,a)を基に、方策を決定する (ε-greedyなど)

Page 9: Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning 勉強会資料; 金子)

変化形と最適化

• 受容野の使用– 画像の近傍関係から窓を設定する

• 古い Q(s,a)の再利用– エピソードごとの Q(s,a)の反復計算の初期値に前の

Q(s,a)を再利用する– 収束が早くなる

• エンコーダの学習タイミングの間引き– 状態の観測回数が 2倍になるタイミングのみ更新

Page 10: Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning 勉強会資料; 金子)

実験 1:概念の検証• 迷路画像を拡大してノイズなしで与える• スタート位置も各セルの中心に限定する– 移動量が 1セル分なので状態数が 31個に限定される

Page 11: Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning 勉強会資料; 金子)

実験 1の結果

• 11層の Deep Encoderを使用– 素子数は下の層から順に、

900-900-484-225-121-113-57-29-15-8-2

– 下 5つの層で 9x9の受容野を使用

– 190エポックの微調整後の平均再構成誤差は 10.9

– ノイズに対する 2次元特徴の頑健性はない

• 500x500格子で状態を近似して強化学習– 65エピソードで最適方策に収束

Page 12: Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning 勉強会資料; 金子)

実験 2:特徴空間の評価• エージェントの位置をセルの中心に限定しない

– 状態数は 775に増加• 強化学習のアルゴリズムを切り離して実験

– さまざまな状態の迷路画像を 6200枚用意• 迷路画像にノイズを乗せる

– 標準偏差 0.1のガウスノイズを乗せる

実験 2の結果:再構成誤差• 再構成の例は右図

• 平均再構成誤差は 7.3– 事前学習のみのときは 17

Page 13: Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning 勉強会資料; 金子)

実験 2の結果:特徴空間の位相の変化

• 拡大する前の 6x6セルでエンコードされたデータを色分けして視覚化

• 事前学習後、各エポック数での微調整後でプロット– 層ごとの事前学習では、全体に分散している– 全体での微調整をかけるとセルごとにまとまってくる

Page 14: Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning 勉強会資料; 金子)

実験 2の結果:クラス分類の正答率

• 先ほどの特徴空間で実際のセルを当てられるか実験

• セルを当てるために「タスクネット」を学習させる– 素子数は下の層から 2-25-25-2– 入力は先ほどの特徴量– 教師信号はセル中心座標

• 出力の最近傍に正しいセルがあれば正解とする

Page 15: Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning 勉強会資料; 金子)

実験 2の結果:クラス分類の正答率

• 使用する画像の枚数を変化させて比較– 少ない枚数( 465,775)のときはランダム

• 状態数の 4倍の枚数で 80.1%の正答率

Page 16: Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning 勉強会資料; 金子)

実験 2の結果:クラス分類の正答率

• PCAで作った特徴量と比較– PCA0X は X番目の主成分まで使用

• PCA02では Deep Learningの性能に及ばない

Page 17: Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning 勉強会資料; 金子)

実験 2の結果: PCAとの比較

• PCAの基底画像(左上)• 再構成画像(左下)• PCA02でエンコードされたデータの散布図(右)

PCAより Deep Learningはコンパクトな表現を作っている

Page 18: Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning 勉強会資料; 金子)

実験 3:教師あり学習による特徴空間の改善

• 教師データで特徴空間がさらに改善するか実験• 3つの隠れ層の「タスクネット」を Deep Encoderに結合する– 誤差項が教師あり学習時にエンコーダまで伝播する

• 正答率が 99.46%まで上昇

Page 19: Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning 勉強会資料; 金子)

実験 3の結果:位相の改善

• 位相を格子で表現する(上)• 出力座標のずれと位相の改善(右列)– 収束したのち、正答率 99.46%を達成した

Page 20: Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning 勉強会資料; 金子)

実験 3の結果:位相の改善

• 均一に画像を取れなかったとき (775枚 )で実験• 正答率を 59.61%から 80.87%へ改善• 位相も下図のように改善

Page 21: Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning 勉強会資料; 金子)

実験 4:最適な状態価値関数の学習

• 強化学習での使いやすさを調べたい• 最適な状態価値関数を教師ありで学習する– 「タスクネット」を独立で学習させると正答率

78.65%– エンコーダも修正しつつ学習すると正答率 99.45%– 位相は右下図のように変化

Page 22: Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning 勉強会資料; 金子)

実験 5:方策の学習

• 再び強化学習タスクで実験– 入力画像は特徴空間の評価実験のときと同じ

– エピソードは 20ステップで強制終了

• エージェントの設定– 関数近似には 20x20格子を使用

– 探索には ε-greedyを使用

– エンコーダは入力数が 100,200,400,・・・になったとき学習される

Page 23: Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning 勉強会資料; 金子)

実験 5:方策の学習

• 平均報酬の上限は -5.1• 最大 -5.6まで到達した• 位相と状態価値関数は下図のようになった

Page 24: Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning 勉強会資料; 金子)

実験 6:実画像からの強化学習

• ほぼ 15Hzでカメラ画像 (80x60)を処理• 関数近似にクラスタリング手法のものを使用(右下図)

• 635エピソード内に -6.13の平均報酬を達成

Page 25: Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning 勉強会資料; 金子)

まとめ

• 良い特徴空間を学習できた– システム状態を同定可能– 画像ノイズに頑健– ある程度、システム状態の位相も保たれる

• 教師あり学習で位相を改善できた• 少なすぎるサンプル数では受容野の狭さが問題– 一度も学習したことのない状態は検出できない– 十分なサンプル数と適切な探索戦略が大事– 畳み込みも効きそう

Page 26: Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning 勉強会資料; 金子)

まとめ

• バッチ強化学習なので特徴空間の変化に対応できる– オンライン学習では 0からのスタートになる

• 実画像での強化学習に Deep Learningは必要か?– 今回は使いやすい特徴を得ることができた– 伝統的な特徴抽出法 (PCAなど )より、良い特徴を得ることができた

• これから、ダイナミクスを扱う強化学習に挑戦したい– サッカーや車の運転など– 前の特徴との差を使おうと考えている

Page 27: Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learning 勉強会資料; 金子)

参考文献

[1] M. Riedmiller and H. Braun, “A Direct Adaptive Method for Faster Backpropagation Learning: The RPROP Algorithm,” in Proc. of the ICNN, 1993, pp. 586–591.

[2] D. Ernst, P. Geurts, and L. Wehenkel, “Tree-Based Batch Mode Reinforcement Learning,” Journal of Machine Learning Research, vol. 6, no. 1, pp. 503–556, 2006.