[DL輪読会]Learning to Act by Predicting the Future

>100 Views

November 14, 17

スライド概要

2017/11/13
Deep Learning JP:
http://deeplearning.jp/workshop/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

DEEP LEARNING JP [DL Papers] “Learning to Act by Predicting the Future (ICLR2017)” B4 Tatsuya Matsushima, Matsuo Lab http://deeplearning.jp/ 1

2.

書誌情報 • Learning to Act by Predicting the Future – Alexey Dosovitskiy, Vladlen Koltun (Intel Labs) – https://arxiv.org/abs/1611.01779 • last revised 14 Feb 2017 (this version, v2) – Accepted as ICLR 2017 (Oral) – Open review • https://openreview.net/forum?id=rJLS7qKel – GitHub • https://github.com/IntelVCL/DirectFuturePrediction 2

3.

なぜこの論⽂? • 環境のモデルを利⽤した強化学習アルゴリズムに興味 – 実ロボットへの応⽤を考えると,不完全知覚な環境(後述)にも強いアルゴリズ ムでなければいけない • 既存の有名な深層強化学習の⼿法では難しい • この論⽂中のタスクは不完全知覚問題で,それなりにうまくいっている – 卒論… • ViZDoomコンペ(2016年)で圧倒的1位だった(後述) – 来年のコンペに出たい – IntelとかFacebook AI Researchとか出ている 3

4.

⽬次 • 強化学習の問題設定と課題 – 強化学習関連の全般的な話題について話します • 提案⼿法 • 実験 • まとめ 4

5.

強化学習の問題設定と課題 5

6.

機械学習の⼤きな分類 • 教師あり学習 – ⼊⼒と出⼒の関係(マッピング)を学習する • 教師なし学習 – データの中の隠れた構造を発⾒する • 強化学習 – エージェントが試⾏錯誤を通じてタスクの遂⾏を学習する 6

7.

強化学習の定式化 • マルコフ決定過程(Markov Decision Process, MDP) – 𝑆, 𝐴, 𝑃, 𝑅 の組で表現される • • • • • 𝑆 ∋ 𝑠( : 環境の状態集合 𝐴 ∋ 𝑎( : エージェントの⾏動集合 𝑃: 状態遷移確率(𝑆×𝐴×𝑆上) 𝑅 ∋ 𝑟( : エージェントが環境から受け取る報酬 𝑆×𝐴 → ℝ Reinforcement Learning: An Introduction (Second edition), Sutton et.al. 7

8.

強化学習の定式化 • ⽅策 𝜋(𝑠, 𝑎) – エージェントの⾏動パターン • 収益 𝐺( – 報酬の和 5 – 割引報酬和の場合, 𝐺( = ∑7 589 𝛾 𝑟(65 (𝛾: 割引率) • 状態価値関数 𝑉 ; 𝑠 = 𝔼; 𝐺( |𝑠( = 𝑠 – ある状態から⽅策𝜋に従って⾏動していったときに得られる収益の期待値 • ⾏動価値関数 𝑄; 𝑠, 𝑎 = 𝔼; 𝐺( |𝑠( = 𝑠, 𝑎( = 𝑎 – ⾏動も条件に加える 8

9.

強化学習の分類(1) • 価値関数の最適化 – 価値反復を⾏うアルゴリズム • Ex) Q学習 L )) 𝑄 𝐺( 𝑠( , 𝑎( ← 1 − 𝛼 + 𝛼(𝑟(6D + 𝛾 max 𝑄(𝑠 , 𝑎 (6D I H ∈K – 𝑄値に基づいて⾏動を決める⽅策を採⽤する • https://github.com/NervanaSystems/coach/blob/master/img/algorithms.png 9

10.

強化学習の分類(2) • ⽅策の最適化 – ⽅策を⾏動価値関数とは別のパラメータ𝜽で表現 – 勾配法で更新 𝜽(6D = 𝜽( + 𝜂𝛻𝜽 𝐽 𝜽; 𝑠9 𝑤ℎ𝑒𝑟𝑒 𝐽 𝜽; 𝑠9 = 𝔼; 𝐺9 |𝑠9 = 𝑠9 • https://github.com/NervanaSystems/coach/blob/master/img/algorithms.png 10

11.

(深層学習以後の)主要な研究 • Deep Q-Network(DQN) [Minh+ 2015] – Q学習の⼀種 – Q関数をDNNで近似 • 学習させるために⾊々な⼯夫をしている(論⽂参照) 11

12.

(深層学習以後の)主要な研究 • Asynchronous Advantage Actor-Critic (A3C) [Minh+ 2016] – Actor-Criticの⼀種 • Actor: ⽅策𝜋を使って経験を集める • Critic: 状態価値関数𝑉(𝑠)を推定する – ⾮同期的に強化学習を⾏う • 複数のworkerを使って – 各workerが⾮共有な勾配を計算 – 蓄積した勾配を利⽤し, ⼀定間隔でグローバルパラメータを更新 – グローバルパラメータで 各workerのパラメータを更新 • https://medium.com/emergent-future/simple-reinforcement-learning-with-tensorflow-part-8asynchronous-actor-critic-agents-a3c-c88f72a5e9f2 12

13.

強化学習のタスクの難しさ(1) • 部分観測マルコフ決定過程(Partially Observable Markov Decision Process, POMDP) – 環境の真の状態をエージェントが直接観測できない意思決定モデル • 実世界ではエージェントにシステムの全ての状態が与えられることは稀 – 𝑆, 𝐴, 𝑃, 𝑅, Ω, 𝑂 の組で表現される [Hausknecht+ 2015] • • • • • • 𝑆 ∋ 𝑠( : 環境の真の状態集合(エージェントは直接観測できない) 𝐴 ∋ 𝑎( : エージェントの⾏動集合 𝑃: 状態遷移確率(𝑆×𝐴×𝑆上) 𝑅: エージェントが環境から受け取る報酬 𝑆×𝐴 → ℝ Ω ∋ 𝑜( : 観測集合 𝑂: 観測確率(𝑆×𝑂上) – エージェントの観測が関係するため,MDPの問題より難しい 13

14.

強化学習のタスクの難しさ(2) • 強化学習のベンチマークとしてよく使われるゲーム – Atari • ブロック崩しやスペースインベーダーなど • フレーム⾃体は時間情報を持たないので,不完全知覚でありPOMDPに属する – ボールの速度などがわからない • しかし,実は4フレーム観測するとMDPになる[Hausknecht+ 2015] – DQNで4frameを⼊⼒にすることで解ける – ViZDoom • FPSゲーム • 視野が存在するため不完全知覚であり,POMDPに属する • 実世界の複雑性に近い 14

15.

強化学習における主要な課題 • ⽣の感覚情報を利⽤して,センサーモータの制御を⾏うこと – エージェントの経験を通じて学習する – 実世界は3次元空間で,複雑であることが多い • 様々なゴールを達成するための,柔軟なスキルを獲得すること – ゴールが変わっても,ある程度汎⽤的に使える 15

16.

本論⽂のポイント • 感覚情報(sensory input) と指標(measurement) を利⽤ – 感覚情報{𝐬( }:⽣の⾼次元な感覚情報 – 指標{𝐦( } :エージェントの状態を表す,低次元な情報 • これらを教師信号として,それぞれの⾏動の効果を予測 – センサーモータ制御を教師あり学習に還元できる • ⾏動の効果の予測を使って,エージェントがとる⾏動を決める 16

17.

本論⽂のポイント • 直接的な価値関数の最適化でも,⽅策の最適化でもない • https://github.com/NervanaSystems/coach/blob/master/img/algorithms.png 17

18.

提案⼿法 18

19.

モデルの定式化(1) • 離散時刻𝑡において,エージェントは観測𝐨( を受け取り,⾏動𝑎( を決 定する • 𝐨( は𝐬( と𝐦( からなる (𝐨( = 𝐬( , 𝐦( ) ※内積ではない – 感覚情報{𝐬( }:⽣の⾼次元な感覚情報 – 指標{𝐦( } :エージェントの状態を表す,低次元な情報 • 𝐬( と𝐦( の違い – 𝐦( は予測する対象で𝒔( の部分集合 – エージェントのゴールは将来の予測値を使って定義できると仮定する(次ページの仮定) 19

20.

モデルの定式化(2) • 時刻𝑡 + τD , 𝑡 + τa , ⋯ 𝑡 + τc と時刻𝑡の指標の差を𝐟とする 𝐟 = 𝐦(6ef −𝐦( , 𝐦(6eg −𝐦( , ⋯ , 𝐦(6eh −𝐦( • エージェントが達成するどんなゴールも𝑢(𝐟; 𝐠)の最⼤化で表現できる と仮定 𝑢(𝐟; 𝐠) = 𝐠 ⊺ 𝐟 – 𝐠はゴールに関するパラメータ 20

21.

モデルの定式化(3) • 将来の指標を予測するために,関数近似器𝐹(H を使う 𝐩H( = 𝐹(H (𝐎(6ef , 𝑎, 𝐠; 𝜽) – 𝑎 ∈ 𝒜は⾏動 – 𝜽は関数近似器𝐹(H の学習パラメータ – 𝐩H( は結果の予測 • ⾏動を以下の式に基づいて決める 𝑎( = argmax 𝐠 ⊺ 𝐹(𝐎(6ef , 𝑎, 𝐠; 𝜽) H∈𝒜 21

22.

モデルの訓練 • 関数近似器𝐹はエージェントの経験から訓練される – ランダム⽅策から始める(ε-greedy) • 𝐷をエージェントによって集めれられた訓練集合とすると, 𝐷= • 回帰誤差を定義できる 𝐎s, 𝑎s , 𝐠 s , 𝐟s t s8D t ℒ 𝜽 = v 𝐹 𝐎s, 𝑎s , 𝐠 s ; 𝜽 − 𝐟s a s 22

23.

モデルのアーキテクチャ(1) • 関数近似器𝐹は𝜽でパラメータ化されたDNN • 3つの⼊⼒モジュールを持つ – 𝑆 𝐬 :知覚モジュール (𝐬は画像で,モジュールはCNN) – 𝑀 𝐦 :指標モジュール (fully-connected) – 𝐺 𝐠 :ゴールモジュール (fully-connected) • 各⼊⼒のモジュールの出⼒を結合して,以降の⼊⼒とする 𝐣 = J 𝐬, 𝐦, 𝐠 = 𝑆 𝐬 , 𝑀 𝐦 , 𝐺 𝐠 23

24.

モデルのアーキテクチャ(2) • 2つの流れに分ける • fully-connectedでまるっと𝐩を予測するより良いらしい – Expectation Stream 𝐸 𝐣 • the average of feature measurement over all potential actions – Action Stream 𝐴 𝐣 • fine difference between actions 𝐴 𝐣 = 𝐴D 𝐣 , ⋯ , 𝐴{ 𝐣 𝑤ℎ𝑒𝑟𝑒 𝑤 = 𝒜 • 平均が0になるように正規化 { 𝐴s 𝐣 = 𝐴s 1 𝐣 − v 𝐴| 𝐣 𝑤 |8D • 予測は以下のようになる 𝐩 = 𝐩Hf , ⋯ , 𝐩H} = 𝐴D 𝐣 + 𝐸 𝐣 , ⋯ , 𝐴{ 𝐣 + 𝐸 𝐣 24

25.

モデルのアーキテクチャ(2) 25

26.

実験 26

27.

シミュレータ • ViZDoom – DoomというFPSゲームのエミュレータ – 強化学習のベンチマークとしてよく使われる – アイテムを拾ったり,モンスターを倒して⾝を守ったりするゲーム • いろんなシナリオがある 27

28.

シナリオ • • • • D1: D2: D3: D4: 正⽅形の部屋で救急箱を集める 迷路で救急箱を集めて,毒薬を避ける 迷路で救急箱と弾薬を集めて,敵から⾝を守る もっと複雑な迷路で救急箱と弾薬を集めて,敵から⾝を守る – https://www.youtube.com/watch?v=rPKwMWFo7Nk 28

29.

設定 • ⾏動 – 前進,後退,右向く,左向く,右平⾏移動,左平⾏移動,⾛る,撃つ – この組み合わせ(2• = 256通りある) • 指標 – 弾薬の数,体⼒,倒したモンスターの数 • ランダム探索時の標準偏差で割った値(それぞれ7.5, 30,1)を利⽤ • 1,2,4,8,16,32step後の予測を⾏う • ゴール: 𝐠 = (0.5,0.5,1) • 訓練 – 525step (1分相当)経過するか,体⼒が0になったら1episode終了 – 5000万step⾏う 29

30.

実験1: 既存⼿法との⽐較 • DQN,A3C,DSR,DFP(提案⼿法)を4シナリオで⽐較 – D1,D2はエピソード終了時の体⼒,D3,D4は倒した敵の総数で評価 – 複雑なマップ,タスクになるほど,既存⼿法を上回る • 複数の指標が利⽤できるため(D3,D4) – DSR [Kulkarni+ 2016b]は時間がかかりすぎるらしい • ハイパラのチューニングもそんなにできなかったらしい 30

31.

実験2: 環境に関する汎化の検証 • 環境の変化にどれだけ対応できるか調べた • D3とD4についてそれぞれランダムに100種類のテクスチャの迷路を 作り,90を訓練に10をテストに利⽤した. – それぞれD3-tx,D4-txと呼ぶ • 訓練の迷路が変化した⽅が,テストが新しい迷路の場合に良い成績 – 環境に関する汎化ができている • D4-tx-Lは⼤きなネットワークでの実験結果(Appendix. A) 31

32.

実験3: ViZDoom Competition • ViZDoomのコンペに参加(2016年) – 訓練時には知らない環境でテストという条件(Full Deathmatch track) • D4-tx-Lの変形版で参加して優勝 – 2位に50%以上の差をつける • 2位のモデルは,recurrentな構造を持ち(LSTM),補助的な教師あり学習を⾏うモデル [Lample+ 2016] 32

33.

実験4: エージェントがテスト時のゴールを知らない条件 • 訓練時に定まったゴールが決まってなくても学習でき,テスト時に ゴールが変化しても適応できるか調べた – 訓練時,テスト時のゴールのベクトル𝐠を変化させる • テストが通常の設定の場合,訓練時はランダムなゴールであっても適 応できる(1⾏⽬) • どのモデルも新しいゴールに適応できるが,全般的にランダムな訓練 を⾏なった⽅が成績は良い(2-5⾏⽬) 33

34.

実験5:ベクトルフィードバックの有効性の検証 • ベクトル値のフィードバックが有効かどうか調べた • D3-txの条件下で – 全ての指標を利⽤/倒した敵の数のみを利⽤ – 6つのオフセットτD , τa , ⋯ τ„ を利⽤/1つのオフセットτD のみを利⽤ • 全ての指標を使う場合の⽅がテスト時の成績が良い • 複数の時点の予測をする⽅がテスト時の成績が良い 34

35.

まとめ 35

36.

まとめ • 没⼊環境でのセンサーモータ制御の⽅法を⽰した – ⽣の感覚情報と,指標が利⽤可能であれば使える – これらの情報で⾃然な(外部の情報を使わない)教師あり学習ができる • 今後ありうる研究の⽅向性 – – – – 記憶を持つモデルとの融合 学習したスキルの抽象化や階層化 [Kulkarni+ 2016a] 連続的な⾏動空間への応⽤ ⽣の感覚情報から直接特徴を予測する • 感覚情報と指標の境界を曖昧にできる 36

37.

感想 • 完全なEnd-to-Endではないが,指標𝐦( が利⽤できれば良い⽅法 • この指標𝐦( 上でゴール𝐠が定義されている – ここをそれぞれの強化学習の問題に対してどう設計するのだろうか... • モデル⾃体はrecurrentな構造を持っていない – 未来の予測はしているのでここで時系列を学習できているはず – 画像と指標の組み合わせを利⽤することが,学習のスピード向上に寄与してい ると考えられる 37

38.

参考⽂献・補⾜資料 38

39.

参考⽂献 論⽂ • [Hausknecht+ 2015] Deep Recurrent Q-Learning for Partially Observable MDPs • [Kulkarni+ 2016a] Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motivation • [Kulkarni+ 2016b] Deep Successor Reinforcement Learning • [Lample+ 2016] Playing FPS Games with Deep Reinforcement Learning • [Minh+ 2015] Human-level Control through Deep Reinforcement Learning • [Minh+ 2016] Asynchronous Methods for Deep Reinforcement Learning 39

40.

おまけ • coach – – – – – Intel製の強化学習むけフレームワーク 様々な論⽂のモデルをOpenAI GymやViZDoomなどで試せる tensorflow 特製ダッシュボードつき よさげ • https://github.com/NervanaSystems/coach 40

41.

お知らせ 41

42.

Sutton本輪読会 • “Reinforcement Learning: An Introduction” (Second edition) – http://incompleteideas.net/sutton/book/the-book-2nd.html – 先⽇(11/5),完成版ドラフトがアップロードされた • 輪読会をします – 毎週⽔曜⽇17:00-19:00 @東⼤⼯学部2号館9F 92C2 (初回は11/22) – ⽇本⼀早い輪読会(たぶん) – 強化学習の理論に関する内容 • 参加希望の⽅は松嶋までご連絡ください 42