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

3,607 views

Published on

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

0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,607
On SlideShare
0
From Embeds
0
Number of Embeds
43
Actions
Shares
0
Downloads
59
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

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

  1. 1. 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  金子 貴輝
  2. 2. 概要 • 強化学習の状態観測に DL を使った研究 • 強化学習で一般的な、迷路でのゴールタ スク – ただし状態は迷路の拡大画像で得られる • バッチ型強化学習に Deep Auto Encoder を 組み合わせたモデルを提案 • ディスプレイ画像をカメラで撮ったもの でも 15Hz で画像処理して良い方策を学習 した – 初めて実画像に RL を適用できた
  3. 3. 迷路課題 • 床と壁とゴールからなる格子世界 • ランダムな位置から始まり、ゴールするまで負の報 酬が与えられる • スタートからゴールまで( 1 エピソード)が繰り返 される • 簡単な強化学習では、位置を直接見て行動決定でき る • この論文では迷路を俯瞰した画像が与えられる
  4. 4. 提案モデル:強化学習エージェントの構成 • Deep encoder – 特徴空間を 2 次元まで 落としこむエンコーダ – Deep auto-encoder と して学習する • 関数近似器 – 行動決定の指標になる 行動価値関数 Q(s,a) – 学習には Fitted Q- iteration を用いる Deep Learning とバッチ強化学習の 2 つからなる
  5. 5. 提案モデル:学習の流れ • 1 エピソードの状態遷移 全てを記録する – 観測系列を抜き出して Deep Learning する – エンコーダで特徴空間での 状態遷移に翻訳して、 バッチ強化学習手法を使う (inner loop) • 1 エピソードごとに、エンコーダと関数近似器が 学習を行う  (outer loop)
  6. 6. Deep Auto Encoder の学習 • 層ごとの事前学習+全体での微調整 • 再構成誤差を最小化するのに、勾配法をベースに した RProp 学習側 [1] を利用する – RProp は勾配ベクトルを正規化する – 正規化によって BP よりも局所解にはまりにくい – パラメータ調整に対して頑健でもある 1 2 3
  7. 7. 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) を近似して置き換える
  8. 8. 提案モデル (Deep Fitted Q-Iterations) • ランダムな重みのエンコー ダとランダムな方策のエー ジェントで初期化する • エピソードごとにエンコー ダと関数近似器を学習 – 毎回、事前学習と微調整を 行ってエンコーダを学習する – 関数近似器はエピソードのた びに初期化され、 Inner loop で再計算される • 得られた Q(s,a) を基に、方 策を決定する (ε-greedy な ど)
  9. 9. 変化形と最適化 • 受容野の使用 – 画像の近傍関係から窓を設定する • 古い Q(s,a) の再利用 – エピソードごとの Q(s,a) の反復計算の初期値に前の Q(s,a) を再利用する – 収束が早くなる • エンコーダの学習タイミングの間引き – 状態の観測回数が 2 倍になるタイミングのみ更新
  10. 10. 実験 1 :概念の検証 • 迷路画像を拡大してノイズなしで与える • スタート位置も各セルの中心に限定する – 移動量が 1 セル分なので状態数が 31 個に限定さ れる
  11. 11. 実験 1 の結果 • 11 層の Deep Encoder を使用 – 素子数は下の層から順に、 900-900-484-225-121-113-57-29- 15-8-2 – 下 5 つの層で 9x9 の受容野を使 用 – 190 エポックの微調整後の平均 再構成誤差は 10.9 – ノイズに対する 2 次元特徴の頑 健性はない • 500x500 格子で状態を近似して強化学習 – 65 エピソードで最適方策に収束
  12. 12. 実験 2 :特徴空間の評価 • エージェントの位置をセルの中心に限定しない – 状態数は 775 に増加 • 強化学習のアルゴリズムを切り離して実験 – さまざまな状態の迷路画像を 6200 枚用意 • 迷路画像にノイズを乗せる – 標準偏差 0.1 のガウスノイズを乗せる 実験 2 の結果:再構成誤 差• 再構成の例は右図 • 平均再構成誤差は 7.3 – 事前学習のみのときは 17
  13. 13. 実験 2 の結果:特徴空間の位相の変化 • 拡大する前の 6x6 セルでエンコードされたデー タを色分けして視覚化 • 事前学習後、各エポック数での微調整後でプ ロット – 層ごとの事前学習では、全体に分散している – 全体での微調整をかけるとセルごとにまとまってく る
  14. 14. 実験 2 の結果:クラス分類の正答率 • 先ほどの特徴空間で実際のセルを当てられるか実 験 • セルを当てるために「タスクネット」を学習させ る – 素子数は下の層から 2-25-25-2 – 入力は先ほどの特徴量 – 教師信号はセル中心座標 • 出力の最近傍に正しいセルがあれば正解とする
  15. 15. 実験 2 の結果:クラス分類の正答率 • 使用する画像の枚数を変化させて比較 – 少ない枚数( 465,775 )のときはランダム • 状態数の 4 倍の枚数で 80.1% の正答率
  16. 16. 実験 2 の結果:クラス分類の正答率 • PCA で作った特徴量と比較 – PCA0X は X 番目の主成分まで使用 • PCA02 では Deep Learning の性能に及ばない
  17. 17. 実験 2 の結果: PCA との比較 • PCA の基底画像(左上) • 再構成画像(左下) • PCA02 でエンコードされたデータの散布図 (右) PCA より Deep Learning はコンパクトな表現 を作っている
  18. 18. 実験 3 :教師あり学習による特徴空間の改 善 • 教師データで特徴空間がさらに改善するか実 験 • 3 つの隠れ層の「タスクネット」を Deep Encoder に結合する – 誤差項が教師あり学習時にエンコーダまで伝播 する • 正答率が 99.46% まで上昇
  19. 19. 実験 3 の結果:位相の改善 • 位相を格子で表現する(上) • 出力座標のずれと位相の改善 (右列) – 収束したのち、正答率 99.46% を 達成した
  20. 20. 実験 3 の結果:位相の改善 • 均一に画像を取れなかったとき (775 枚 ) で実験 • 正答率を 59.61% から 80.87% へ改善 • 位相も下図のように改善
  21. 21. 実験 4 :最適な状態価値関数の学習 • 強化学習での使いやすさを調べたい • 最適な状態価値関数を教師ありで学習する – 「タスクネット」を独立で学習させると正答率 78.65% – エンコーダも修正しつつ学習すると正答率 99.45% – 位相は右下図のように変化
  22. 22. 実験 5 :方策の学習 • 再び強化学習タスクで実験 – 入力画像は特徴空間の評価実験のときと同じ – エピソードは 20 ステップで強制終了 • エージェントの設定 – 関数近似には 20x20 格子を使用 – 探索には ε-greedy を使用 – エンコーダは入力数が 100,200,400, ・・・になったと き学習される
  23. 23. 実験 5 :方策の学習 • 平均報酬の上限は -5.1 • 最大 -5.6 まで到達した • 位相と状態価値関数は 下図のようになった
  24. 24. 実験 6 :実画像からの強化学習 • ほぼ 15Hz でカメラ画像 (80x60) を処理 • 関数近似にクラスタリング手法のものを使用(右 下図) • 635 エピソード内に -6.13 の平均報酬を達成
  25. 25. まとめ • 良い特徴空間を学習できた – システム状態を同定可能 – 画像ノイズに頑健 – ある程度、システム状態の位相も保たれる • 教師あり学習で位相を改善できた • 少なすぎるサンプル数では受容野の狭さが問題 – 一度も学習したことのない状態は検出できない – 十分なサンプル数と適切な探索戦略が大事 – 畳み込みも効きそう
  26. 26. まとめ • バッチ強化学習なので特徴空間の変化に対応でき る – オンライン学習では 0 からのスタートになる • 実画像での強化学習に Deep Learning は必要か? – 今回は使いやすい特徴を得ることができた – 伝統的な特徴抽出法 (PCA など ) より、良い特徴を得 ることができた • これから、ダイナミクスを扱う強化学習に挑戦 したい – サッカーや車の運転など – 前の特徴との差を使おうと考えている
  27. 27. 参考文献 [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.

×