深層強化学習の動向 / survey of deep reinforcement learning

深層強化学習の動向 / survey of deep reinforcement learning

全脳アーキテクチャ若手の会第28回勉強会
Keywords: DQN, 強化学習, Episodic Control, Curiosity-driven Exploration

6711b98e551cf77257ca33c86b748eec?s=128

Takuma Seno

July 20, 2017
Tweet

Transcript

  1. 深層強化学習の動向 2017年のDQNはどこまで賢くなったか 発表者: 慶應義塾大学理工学部B4 妹尾卓磨 メンター: 慶應義塾大学環境情報学部B3 野口裕貴 東京大学情報理工学系研究科M1 八木拓真

    1 全脳アーキテクチャ若手の会 第28回勉強会
  2. 自己紹介 妹尾卓磨 慶應義塾大学理工学部情報工学科4年 今井研究室所属 強化学習に関する研究 Wantedlyに長期インターン中 https://github.com/takuseno 2

  3. 好きなもの 3 https://upload.wikimedia.org/wikipedia/commons/thumb/6/6c/Star_Wars_Logo.svg/1200px-Star_Wars_Logo.svg.png

  4. 最近はStar Warsブームが来てる 2005年のStar Wars: Episode 3以来のシリーズ再開 ワクワクが止まらない 4 http://www.northwestcrossing.com/wp-content/uploads/2016/06/Star-wars-VII.jpg

  5. 多くのロボットが登場する 5 R2-D2 C-3PO http://screenrant.com/wp-content/uploads/2016/12/r2-d2-c-3po-best-friends-wallpaper-5478.jpg

  6. 夢 R2-D2を作りたい!! 6 https://pbs.twimg.com/profile_images/479266377937608704/Yaw8wh-9.jpeg

  7. R2-D2のいいところ ピンチの時に助けてくれる https://www.youtube.com/watch?v=gfMoXBOjWBM 7

  8. ロボットを行動学習させる方法 強化学習 人間がHowを教えなくても様々な問題の 解決策を見いだすことができる方法 * 強化学習をR2-D2に入れてピンチの時に助けてもらう! 8 * https://deepmind.com/about/

  9. 今日のテーマ 深層強化学習の動向 2017年のDQNはどこまで賢くなったか 9

  10. 今日話すこと • 強化学習の基礎 • Deep Q-Network (DQN) • 近年研究が進んでいるゲームタスクでの手法 10

  11. 目次 1. イントロダクション: 強化学習の目標 2. 基礎編: DQNの誕生 a. ピクセルから価値推定まで b.

    DQNの改良 3. 応用編: DQNのその先へ a. 一遍に覚える: 転移/マルチタスク学習 b. すぐに覚える: Episodic Control c. 好奇心に従う: Curiosity-driven Exploration 4. まとめ: これからの深層強化学習 11
  12. 目次 1. イントロダクション: 強化学習の目標 2. 基礎編: DQNの誕生 a. ピクセルから価値推定まで b.

    DQNの改良 3. 応用編: DQNのその先へ a. 一遍に覚える: 転移/マルチタスク学習 b. すぐに覚える: Episodic Control c. 好奇心に従う: Curiosity-driven Exploration 4. まとめ: これからの深層強化学習 12
  13. 強化学習の例(1) DeepMind の AlphaGo https://gogameguru.com/i/2016/03/AlphaGo-Lee-Sedol-game-3-game-over.jpg 13

  14. 強化学習の例(2) 14 https://www.goo gle.com/url?q=h ttps://storage.go ogleapis.com/d eepmind-live-c ms-alt/documen ts/ezgif.com-res ize.gif&sa=D&u

    st=1500344775 009000&usg=A FQjCNE8y_VA Rd-Bf5XLi_MG aXESDEtLjg https://www.youtube.com/watch?v=ZhsEKTo7V04
  15. 強化学習 環境からの報酬の和を最大化するような 行動を学習する手法 エージェント 環境 状態 s 報酬 r 行動

    a 15
  16. R2-D2が帝国軍に囚われてしまいました 16 http://furunet.jp/cp-bin/wordpress/wp-content/uploads/2015/03/IMGP7144.jpg http://vignette2.wikia.nocookie.net/starwars/images/e/eb/ArtooTFA2-Fathead.png/revision/latest?cb=20161 108113441&path-prefix=ja

  17. R2-D2の状況を強化学習で表すと エージェント: R2-D2 環境: 帝国軍の基地 状態(s): R2-D2のセンサー値 報酬(r): + 手がかりを発見する、脱出する

    ー 敵に見つかる、攻撃を受ける 行動(a): R2-D2の行動 17
  18. R2-D2の目標 目標: 脱出すること 報酬の総和を最大化すること 試行錯誤で探索と知識の利用を行って 目標を達成する方法を求める 18

  19. 探索と知識の利用 探索 • 今まで行ったことのない場所へ行ってみる • ストームトルーパーに攻撃して倒してみる • 基地のデータベースを調べてみる 知識の利用 •

    手がかりを使って脱出を試みる • 倒せることがわかっている敵を倒す • 敵が見回っているときは探索しない 19 データベースに アクセスしているR2-D2 デススターのマップ
  20. R2-D2が脱出するには 探索して手がかりを増やしつつ 知識を利用して脱出を試みる 探索と知識の利用のバランスをとる 20

  21. 用語を覚えよう • 状態(state) • 行動(action) • 報酬(reward) • 方策(policy) •

    収益(return) 21
  22. 用語を覚えよう(1) 状態(state) エージェントのいる環境の様子 s t : 時刻tでの環境の様子 22 マリオの位置やクリボーの位置など エージェント

    環境 状態 s 報酬 r 行動 a
  23. 用語を覚えよう(2) 行動(action) エージェントが環境に働きかける行動 a t : tでの行動 23 ファイヤー! エージェント

    環境 状態 s 報酬 r 行動 a
  24. 用語を覚えよう(3) 報酬(reward) 環境からエージェントへ与えられる評価 r t : tでの環境からの評価 24 エージェント 環境

    状態 s 報酬 r 行動 a
  25. 用語を覚えよう(4) 方策(policy) エージェントの行動パターン π(s, a): 状態sで行動aを取る確率として表すことが多い 25 ジャンプ 0.3 進む

    0.1 ファイア 0.5 下がる 0.1 左の図での行動選択確率
  26. 用語を覚えよう(5) 収益(return) 報酬の和 割引率γを導入して未来で得る報酬をどの程度割引くか調整する R t = r t +

    γr t+1 + γ2r t+2 + γ3r t+3 + …. 感覚的には、テスト前に • 楽しいから、遊んで今すぐ報酬をもらう • 楽しくないけど、勉強頑張ってたくさんの報酬をもらう 26
  27. 用語を覚えよう(5) 収益(return) R t = r t + γr t+1

    + γ2r t+2 + γ3r t+3 + …. • γ=1 (今の報酬と未来の報酬が同じ大事さ) R t = r t + r t+1 + r t+2 + r t+3 + …. • γ=0.9 (遠い未来は考えない) R t = r t + 0.9r t+1 + 0.81r t+2 + 0.729r t+3 + …. • γ=0 (今を生きる) R t = r t 27
  28. 用語まとめ • 状態(state) ◦ エージェントが環境を観測した情報 • 行動(action) ◦ エージェントが行う行動 •

    報酬(reward) ◦ エージェントが環境から受け取る評価 • 方策(policy) ◦ エージェントの行動パターン • 収益(return) ◦ 割引率を考慮した報酬の和 28
  29. Q学習 状態sで行動aを行った時の収益を推定する関数Qを求める 各ステップで以下の式を更新して最適なQ関数に近づける 一番簡単なQ関数の表し方はテーブル 目標の値 今の値 状態/行動 機体を修理する 操縦補助する 機体が攻撃された

    8 1 敵機を狙っている 2 9 29 TD誤差
  30. Q関数の使い方 一番大きな価値の行動を選択する Q(攻撃された、修理) = 8 30 機体が攻撃された 修理する 操縦補助する Q(攻撃された、操縦補助)

    = 1 https://www.youtube.com/watch?v=2WBG2rJZGW8&t=125s
  31. 目次 1. イントロダクション: 強化学習の目標 2. 基礎編: DQNの誕生 a. ピクセルから価値推定まで b.

    DQNの改良 3. 応用編: DQNのその先へ a. 一遍に覚える: 転移/マルチタスク学習 b. すぐに覚える: Episodic Control c. 好奇心に従う: Curiosity-driven Exploration 4. まとめ: これからの深層強化学習 31
  32. テーブルを使ったQ学習の例(GridWorld) 状態: 自分の位置(11通り) 行動: 上下左右(4通り) テーブルの大きさ: 11x4=44 32 https://www.youtube.com/watch?v=RTu7G0y4Os4 更新を繰り返すことで

    価値を前の状態に伝搬 させることができている
  33. Arcade Learning Environment (ALE) • The Arcade Learning Environment: An

    Evaluation Platform for General Agents [Bellemare+ 2013] Atari 2600 という米アタリ社のゲーム機のエミュレータ AI研究のためのフレームワーク 33
  34. Atariのゲームの例 34 Pong Breakout Space Invaders

  35. ALEにおける強化学習の設定 環境: ゲーム エージェント: 自機 状態: ゲーム画像 行動: コントローラの操作 報酬:

    ゲームのスコア 35
  36. ALEにおける強化学習の設定 エージェントはエミュレータからゲーム画像とスコアを 受け取り、エミュレータにゲームの操作を返す エージェント 環境 状態: 画像 報酬: スコア 行動:

    操作 36
  37. ALEが掲げていた課題 提供している様々なゲームに適応できるような手法の発明 敵の位置や自分の位置の情報など ゲームに特有の特徴量を使わない 37

  38. 理想的な方法 直接ゲーム画像から価値(Q値)を推定する 38 価値 推定器

  39. テーブルでQ関数を表せないとき 入力状態は84x84の白黒画像 テーブルでQ関数を表すには25684x84の状態の行が必要 Q関数をテーブルではなく関数で近似してみる 39 ベクトルを前処理する関数

  40. 線形関数で近似した結果 人間のスコアを以下のモデルと比較 • Linear: (前処理なし)画像から直接線形近似したモデル • HNeat: (前処理あり)物体の位置が与えられているモデル 40 Breakout

    B. Rider Enduro Sequest S. Invaders Human 31 7456 368 28010 3690 Linear* 3 2347 62 657 301 HNeat 52 3616 106 920 1720 *後述の工夫を行なって全結合層 1つで近似したモデル 人間に勝てない...
  41. どうすれば勝てるのか ゲームに勝つために画像から直接 有用な特徴量を見つけることができれば勝てるはず Deep Neural Network 41

  42. 層を重ねて、入力から推測までをend-to-endで学習すると タスクに有用な特徴抽出ができる 人間が特徴量を設計する必要がなくなった (画像ではCNNを使うのが一般的) DNNによる特徴抽出 42 https://www.slideshare.net/nlab_ut okyo/deep-learning-49182466 学習によって得られた特徴表現

  43. DQN (Deep Q-Network)とは • Playing Atari with Deep Reinforcement Learning

    [Mnih+ 2013] • Human-level control through deep reinforcement learning [Mnih+ 2015] Q関数をDNNで近似した 43 価値 (Q値)
  44. Q関数をDNNで表すとは Conv FC FC Q値 84x84の白黒ゲーム画像 Conv Conv 行動a? 行動全てに対してこの計算をするのはコストがかかる

    44
  45. DQNのネットワーク構成 Conv FC FC 各 行 動 の Q 値

    84x84の白黒ゲーム画像 Conv Conv 各行動に対してQ値を計算するよりも 一回の計算で全てのQ値を計算するように構成する 45
  46. しかしQ関数をDNNにしただけだと... さっきの線形モデルの手法に負けている.... 46 Breakout R. Raid Enduro Sequest S. Invaders

    Naive DQN 3.2 1453.0 29.1 275.8 302.0 Linear 3.0 2346.9 62.0 656.9 301.3
  47. DQNの工夫 DQNはQ関数をディープにしただけではない • Experience Replay ◦ 保存した経験からランダムに学習に使用する • Freezing the

    Target Network ◦ TD誤差の目標値に古いネットワークを使用する • Clipping Rewards ◦ スコアのスケールを統一する • Skipping Frames ◦ 数フレームごとに行動を選択する 47
  48. DQNの工夫: Experience Replay Reinforcement Learning for Robots Using Neural Network

    [Lin+ 1993] で最初にExperience Replayが提案されている • 経験の相関性が高いとNNが過学習してしまう 過去の経験をメモリーに溜めて ランダムに経験を選んで学習に使用する • 価値を前の状態に伝搬させるには多く学習する必要がある 経験をミニバッチで学習させることで加速! • いい経験を一回しか使わないのは勿体無い 過去の経験を使いまわそう! 48
  49. DQNの工夫: Experience Replay 昔経験したことe t =(s t , a t

    , r t , s t+1 )をメモリーに貯めて ランダムに複数(n=32)選んで学習に使うことで 学習を高速且つ安定させた e t-4 Replay Memory ランダムに選んで学習 49 e t-3 e t-2 e t-1 e t t
  50. DQNの工夫: Freezing the Target Network 目標値の変動に伴うDNNで表現されたQ関数の 学習不安定性を解消するために • 誤差計算を行うときの目標のDNNを古いもので固定 •

    一定周期(10000step毎)で現在のDNNと同期 50 TD誤差の目標計算に予測値を使っている ここを古いDNNにする
  51. DQNの工夫: Clipping Rewards ゲームによってスコアの大きさが異なると ハイパーパラメータを変える必要がある 例 • Pongでは一回点を取ると1点もらえる • Space

    Invadersでは倒したインベーダの場所に応じて10~30点 様々なゲームに同じハイパーパラメータで対応するために、 • 負のスコアは-1 • 正のスコアは+1 で統一する 51 学習率 割引率 などなど
  52. DQNの工夫: Skipping Frames ALEは60fpsで描画されるが 必ずしも毎フレームで行動選択を行う必要がない 4フレーム毎に前の4フレームを使って行動選択を行う 4フレーム後まで同じ行動を繰り返し選択する (Space Invaders では3フレーム)

    行動選択のコストが減り、多くの経験を積むことができる 52
  53. DQNと線形モデルの比較 ついに勝った... 53 Breakout R. Raid Enduro Sequest S. Invaders

    DQN 316.8 7446.6 1006.3 2894.4 1088.9 Naive DQN 3.2 1453.0 29.1 275.8 302.0 Linear 3.0 2346.9 62.0 656.9 301.3
  54. Experience ReplayとTarget networkの影響 Experience Replay がスコアの向上にもっとも寄与していた 54 Replay ◯ ◯

    × × Target ◯ × ◯ × Breakout 316.8 240.7 10.2 3.2 River Raid 7446.6 4102.8 2867.7 1453.0 Seaquest 2894.4 822.6 1003.0 275.8 Space Invaders 1088.9 826.3 373.2 302.0
  55. Atari 2600 のゲームで学習した結果を人間のスコアと比較 特徴量を設計しなくても 人間より高いスコアが取れるようになった 人間より何%高いスコアが取れているかを示している 人間のプレイヤーは熟練者で • 効果音なし •

    それぞれのゲームで2時間の練習後、20エピソードの平均値 55 青: DQN 灰: 当時最高の線形モデル
  56. 56 ただし全てのゲームで勝ってはない

  57. 視覚の誕生 DQNによって、CNNが価値に結びつく特徴抽出を 画像から直接行えるようになった R2-D2がピンチの時に助けるために 何に注目すれば良いかを学習できるようになった 57

  58. ピクセルから価値推定まで: まとめ CNNを使った強化学習が行えるようになったことで、画像の何に 注目すれば価値に繋がるかを獲得できるようになった • DQN以前 ◦ 特徴量の設計を人間が行わないと学習が難しかった • DQN

    ◦ CNNを用いて画像から直接価値推定を行う ◦ 4つの工夫が欠かせない ▪ Experience Replay: 過去の経験を保存して学習 ▪ Target Network: 過去のDNNを固定して使用する ▪ Clipping Rewards: スコアのスケールを統一する ▪ Skipping Frames: 4フレームごとに行動選択 58
  59. 目次 1. イントロダクション: 強化学習の目標 2. 基礎編: DQNの誕生 a. ピクセルから価値推定まで b.

    DQNの改良 3. 応用編: DQNのその先へ a. 一遍に覚える: 転移/マルチタスク学習 b. すぐに覚える: Episodic Control c. 好奇心に従う: Curiosity-driven Exploration 4. まとめ: これからの深層強化学習 59
  60. Double DQN (1) • Issues in Using Function Approximation for

    Reinforcement Learning [Thrun+ 1993] TD誤差計算時に、目標値に大きすぎる値が設定されると 前の状態が過大評価されてしまう問題を提示 • Double Q-Learning [Hasselt+ 2010] 上の問題を解決するために2つのQ関数A,Bを混ぜて学習 QA(s’, a)に大きな値が設定されても、QA(s, a)が過大評価されない 60 推定値
  61. Double DQN (2) • Deep Reinforcement Learning with Double Q-Learning

    [Hasselt+ 2015] Double Q-Learning をDQNに応用してTD誤差の目標値計算を改善 現在のネットワークで選んだ行動に対するターゲットのQ値を使用 61 現在のネットワーク ターゲットネットワーク Y
  62. Dueling DQN [Wang+ 2016] Q学習だと一回の更新で1つの行動に対する価値しか更新できない →Q関数を状態価値関数とAdvantage関数に分解 →DNNもそれに合わせて分岐させる これでV自体を毎回更新できるので TD誤差計算の伝搬が早くなる 62

    V A Q
  63. Prioritized Experience Replay [Schaul+ 2016] DQNではランダムに経験を選んで学習している →学習に有用な経験を優先して学習するように改善した TD誤差が大きい経験ほど優先して学習に使用する • 提案1:

    誤差の大きさで重み付け • 提案2: 誤差の大きさの順位 TD誤差 学習に選ばれる確率 63 0除算を避ける定数
  64. 並列分散アーキテクチャの導入 • MapReduce for Parallel Reinforcement Learning [Li+ 2011] 深層強化学習ではないが、MapReduceというGoogleの

    並列分散処理アーキテクチャで強化学習の行列計算を高速化 • Massively Parallel Methods for Deep Reinforcement Learning [Nair+ 2015] (Gorila) 経験を集めるActorと 誤差計算を行うLearner を並列分散処理し、 38のゲームでDQNより 10倍高速化した 64
  65. Asynchronous Methods for Deep Reinforcement Learning [Mnih+ 2016] CPUのマルチスレッドで同時に複数エージェントで学習 →GPUを使ったDQNよりも短い計算時間で学習できた

    以下の4つの手法を提案 • Asynchronous one-step Q-Learning • Asynchronous one-step Sarsa • Asynchronous N-step Q-Learning • Asynchronous advantage actor-critic (A3C) 65
  66. 強化学習の非同期化 • 4つの手法で非同期化を実現す るために 1. 各スレッド非共有なパラメータを 使って勾配を蓄積する 2. 一定間隔で蓄積した勾配で グローバルパラメータを更新

    3. グローバルパラメータで 非共有なパラメータを更新 ということをやっている 66 1 2 3
  67. 複数エージェントによる利点 複数エージェントが同時に異なる経験を集めてくる スレッド数を多くすることで 同時に相関性の低い経験で学習を行える →Experience Replay をする必要がなくなる • メモリーの使用量が少なくて済む •

    時系列に従ってDNNを使用することができる ◦ LSTMなどの再帰的なネットワークが使えるようになる 67
  68. Asynchronous Advantage Actor-Critic 有名なA3Cのこと Actor-Criticは • 方策πを使って経験を集めるactor • 状態価値関数Vを推定するcritic で構成されており

    actor: criticの推定する収益よりも高くなるような方策を学習 critic: actorの集めてくる経験から価値関数を学習 というように学習を行う 68
  69. 実験結果 DQN(GPU使用)よりもA3C(CPU使用)が 短い実行時間で学習できた 69

  70. さらにA3Cを高速にする • Reinforcement Learning through Asynchronous Advantage Actor-Critic on a

    GPU [Babaeizadeh+ 2017] 1つのGPUで並列計算はできないので マルチスレッドだとGPUが他のスレッドの処理をブロックする →GPUを使ったDNNの更新処理を キューで管理することで 他スレッドの処理をブロック しないようにした 70
  71. DQNの改良: まとめ DQNの問題点や、工夫のさらなる改善を施した手法 • Double DQN ◦ 更新式をさらに安定させた • Dueling

    DQN ◦ ネットワーク構造を改善した • Prioritized Experience Replay ◦ Experience Replay での経験の選び方を改善した • 非同期学習 ◦ 複数エージェントで経験の収集を行って学習を速くした 71
  72. 目次 1. イントロダクション: 強化学習の目標 2. 基礎編: DQNの誕生 a. ピクセルから価値推定まで b.

    DQNの改良 3. 応用編: DQNのその先へ a. 一遍に覚える: 転移/マルチタスク学習 b. すぐに覚える: Episodic Control c. 好奇心に従う: Curiosity-driven Exploration 4. まとめ: これからの深層強化学習 72
  73. 一遍に覚える: 転移/マルチタスク学習 R2-D2は多機能で様々な局面に対応できる 視覚(特徴抽出器)は手に入ったので、次は • どのように他のタスクの知識(表現)を活用するか • どのように複数のタスクを覚えるか http://vignette2.wikia.nocookie.net/p__/images/9/93/R2_repair.p ng/revision/latest?cb=20151112152925&path-prefix=protagonist

    http://vignette3.wikia.nocookie.net/starwars/images/f/fe/Skyrocke tsinflight.jpg/revision/latest?cb=20100125171306 73
  74. 一遍に覚える: 転移/マルチタスク学習 問題: 難しいタスクを1から学習するのは難しい 方法: 他のタスクで得た知識を利用する • Improving Generalisation for

    Temporal Difference Learning: The Successor Representation, 1993 • Successor Features for Transfer in Reinforcement Learning, 2016 • Actor-Mimic Deep Multitiask and Transfer Reinforcement Learning, 2016 • PathNet: Evolution Channels Gradient Descent in Super Neural Networks, 2017 • Playing FPS Games with Deep Reinforcement Learning, 2016 • Reinforcement Learning with Unsupervised Auxiliary Tasks, 2016 • Learning To Navigate in Complex Environments, 2017 • Learning to Act by Predicting the Future, 2017 74
  75. 未来の状態を推定する特徴量を使う • Improving Generalisation for Temporal Difference Learning: The Successor

    Representation [Dayan+ 1993] 強化学習において、汎用的に使える特徴量を使いたい →未来の状態を推定する表現 x 報酬の重みベクトルの内積で 価値を推定するように学習すると探索タスクで有効 • Successor Features for Transfer in Reinforcement Learning [Barret+ 2016] 深層強化学習においても未来の状態を推定する表現を用いた →環境は同じだが報酬の発生の仕方が変わるという条件では 報酬の重みベクトルだけ学習し直すことで効率よく学習できる 75
  76. 学習済みモデルから転移させる • Actor-Mimic Deep Multitiask and Transfer Reinforcement Learning [Parisotto+

    2016] 新しいモデルに過去の知識を覚えさせたい →学習済みモデルを真似するように学習させて転移学習 学習済みのQ値の出力をsoftmaxしたものを真似るように学習 学習済みの隠れ層の発火を真似するように学習 76 Actor Mimic Network Expert
  77. マルチタスクの実験結果 隠れ層の発火の真似はやらずに 1つのAMNで8つの異なるゲームの学習済みモデルを同時に学習 学習済みモデルと 同じかそれ以上のスコアを出せているゲームがある 77 学習済みモデルに勝っている

  78. 転移学習の実験結果 13のゲームで学習したAMNの重みを初期値としてDQNを学習 多くのゲームで学習が効率化できた 一部のゲームでは隠れ層の真似によってさらに効率化できた 78 mil = million 隠れ層の真似によって効率化できたゲーム

  79. DNNの構造を工夫して転移学習を行う • Progressive Neural Networks [Rusu+ 2016] 複数タスクをDNNで学習すると、どうしても以前のタスクの性能が落ち てしまう →以前のDNNの重みを固定して

    新しいDNNを継ぎ足して学習 • PathNet [Fernando+ 2017] →大きなDNNをタスクごとに パスを切り替えることでマルチタスクと転移学習を行う 79 タスク1 タスク2 タスク3
  80. PathNet [Fernando+ 2017] タスクごとにDNNの最適なパスを学習する 一度学習したパスのDNNは固定することでマルチタスクと 転移学習が可能になる 80

  81. ゲーム独自の情報も一緒に学習する • Playing FPS Games with Deep Reinforcement Learning [Lample+

    2016] ゲームに有利な知識も学習に含めたい →ゲームの情報(アイテム数とか)をDQNのCNNを共有して 教師あり学習を行うことでゲームに有用な特徴量を獲得する • Learning to Act by Predicting the Future [Dosovitskiy+ 2017] →未来のゲームの情報とゴール(弾薬を集めるなど) も含めて学習を行った VizDoom AI Competitionで圧倒的な1位を獲得 81
  82. UNREAL • Reinforcement Learning with Unsupervised Auxiliary Tasks [Jaderberg+ 2016]

    UNsupervised REinforcement Auxiliary Learning (UNREAL)として有名 高次元の状態空間でさらに学習効率をあげたい →複数の別の学習タスクも一緒に行うことで特徴抽出を促進 • Pixel Control • Reward Prediction • Value Function Replay 畳み込み層を共有して学習を行う 82
  83. 補助タスク Pixel Control Pixel Changes • 画素値の変化が最大になるように行動させるQ関数 Network Features •

    DNNの隠れ層の発火を最大化するように行動させるQ関数 Reward Prediction 状態のシークエンスから報酬の発生を予測するタスク Value Function Replay Experience Replay で価値関数を推定するタスク 83
  84. UNREALの構成 84

  85. 実験 3D迷路の探索タスクとAtariで実験 • 3D迷路: A3Cよりも高い性能 • Atari: DQN, Dueling DQN,

    Prioritized Dueling DQNより高い 85
  86. ナビゲーション特化型のUNREAL • Learning To Navigate in Complex Environments [Mirowski+ 2017]

    補助タスクを使ってより迷路探索タスクでの性能を向上した 導入した補助タスクは • 画像から奥行きを推定する教師あり学習 • 一度訪れたことがある場所かどうかを推定する教師あり学習 UNREALよりもナビゲーションタスクに特化した補助タスク 迷路探索タスクでパフォーマンスが向上 86
  87. 一遍に覚える: まとめ CNNによる特徴抽出やネットワークを拡張する形で 既存の知識を用いた学習をできるようにした • Successor Features for Transfer ◦

    未来を推定する特徴抽出を行って特徴表現を再利用 • Actor-Mimic ◦ 学習済みモデルを模倣することで知識を再利用 • Progressive Neural Network ◦ 新たにDNNを継ぎ足していくことで複数タスクを学習 • PathNet ◦ 巨大なDNNのパスを切り替えることで複数タスクを学習 • UNREAL ◦ タスクに有用な情報を学習して特徴抽出を改善 87
  88. 目次 1. イントロダクション: 強化学習の目標 2. 基礎編: DQNの誕生 a. ピクセルから価値推定まで b.

    DQNの改良 3. 応用編: DQNのその先へ a. 一遍に覚える: 転移/マルチタスク学習 b. すぐに覚える: Episodic Control c. 好奇心に従う: Curiosity-driven Exploration 4. まとめ: これからの深層強化学習 88
  89. すぐに覚える: Episodic Control R2-D2は数少ない昔の経験を後の話に活かしている どのように少ない経験から行動選択を行うか 89 Clone Wars Star Wars

    Episode 3 https://www.youtube.com/watch?v=tj70-y9hNLg https://www.youtube.com/watch?v=qwX0yOgMhJE
  90. すぐに覚える: Episodic Control 問題: 人間とは違い、既存の手法では一度の経験だけでは 最適な行動決定を行うのに十分な学習が行えない 方法: 外部メモリーに価値を保存して使用する • Hippocampal

    Contributions to Control: The Third Way, 2007 • Model-Free Episodic Control, 2016 • Neural Episodic Control, 2017 90
  91. Episodic Control を強化学習へ エピソード記憶: 自分の経験の記憶 人間は学習序盤でエピソード記憶を使って行動選択をしている これが Episodic Control である

    Hippocampal Contributions to Control: The Third Way [Lengyel+ 2007] 強化学習において、学習序盤は目標の計算に推測値を使っている (bootstrap)ので学習効率が悪い →Episodic Controlの学習初期における優位性を主張 報酬が得られた行動シーケンスを保存して、そのシーケンスを 再生することで学習序盤の学習性能を改善する可能性を示した 91
  92. AtariでEpisodic Control Model-Free Episodic Control [Blundell+ 2016] DQNはbootstrapで学習しているので序盤のスコアが低い →得られた経験から直接価値を計算して序盤のスコアを向上 DNNで近似せず状態x行動のテーブルQECを用いてQ値を保存

    →エピソード記憶として価値を保存 状態は入力画像に対して以下のどちらかのエンコードを行う • EC-RP: ランダムに決められた行列Aをかけることで圧縮する • EC-VAE: Variational AutoEncoderを使って圧縮する 92
  93. テーブルQECの更新 エピソードの終わりに、最後から順に状態遷移を追っていって で更新を行う もしテーブルがいっぱいだった場合は もっともアクセスされていない箇所と入れ替える QECには過去の経験から直接計算された価値が保存される 93 テーブルになければ追加 テーブルにあれば更新

  94. Q値の計算 行動決定時にテーブルQECを用いてQ値を計算する 94 s,aに対応するものがなければsが近いものをk件持ってきて平均 経験から直接計算された価値

  95. Atariで既存手法との比較 MFECは多くのゲームで学習序盤からスコアが取れている 95

  96. さらに先へ • Neural Episodic Control [Pritzel+ 2017] MFECでの入力状態のエンコードは報酬ー状態の関係を 考慮していなかった →End-to-EndでQ関数の更新が行えるようにして

    報酬に関連した状態のエンコードができるようになった 学習序盤のパフォーマンスがさらに向上 96
  97. 構成 以下の図のような2つのモジュールで構成されている • DNNによる状態のエンコードを行うモジュール • Key-Valueのメモリーモジュール 97 メモリーモジュール DNN Q値の計算

    v i v i
  98. メモリーモジュール Differentiable Neural Dictionary (DND) というメモリーが エージェントの各行動がそれぞれ持っている h i をi番目のキーとしてv

    i をi番目の値とすると NECでは • h: CNNによってエンコードされた状態の表現 • v: Q値 h i v i h i+1 h i+2 h i+3 h i+... v i+2 v i+2 v i+3 v i+... 98 a 1
  99. メモリーへのアクセス N-step Q学習で価値の推定を行い Q値を計算する度に、メモリーを更新 • 同じキーがある: 値を以下の式で更新 • 同じキーがない: 空きがあれば追加

    空きがなければ最も使われてないものと交換 99
  100. Q値の計算 入力状態sの中間表現hからk近傍法で近いキーp個(p=50)選択 重み付きでvの和をとった値がQ値である 100 0除算を避けるための定数 重み キーの類似度 Q値

  101. 学習 学習はExperience Replayを用いてDQNと同じように行う Q値から状態まで誤差逆伝播法でDNNの更新を行うことができる 101 メモリーモジュール DNN v i v

    i
  102. 実験結果 NEC早い!!! 102 人間より何%スコアが取れているかを示している

  103. Episodic Control の欠点 MFECやNECは学習を進めると他の手法に負ける場合がある メモリー容量の制限によって、全ての状態の情報を 保持できないので学習後半での行動選択が課題である 103 Atariで1000万ステップ学習した時の結果

  104. すぐに覚えられる: まとめ 経験から計算された価値を外部メモリーに保存して行動選択に用 いることで少ない経験で学習が行えた • Model-Free Episodic Control ◦ 状態をエンコードしたテーブルベースのQ学習で序盤から

    行動選択できる • Neural Episodic Control ◦ メモリーに価値を保存して活用しつつ 状態の価値に結びつくエンコードを行う 104
  105. 目次 1. イントロダクション: 強化学習の目標 2. 基礎編: DQNの誕生 a. ピクセルから価値推定まで b.

    DQNの改良 3. 応用編: DQNのその先へ a. 一遍に覚える: 転移/マルチタスク学習 b. すぐに覚える: Episodic Control c. 好奇心に従う: Curiosity-driven Exploration 4. まとめ: これからの深層強化学習 105
  106. ランダムな探索の限界 DQNは今までε-greedy法を用いて探索を行っていた 基本的に知識を利用して行動するが、確率εでランダムに行動する しかし、ランダムに探索する方法は 偶然いい報酬が得られるのを期待しているだけ 報酬までの距離が長いと巡り会うのが難しくなる 106

  107. Montezuma’s Revenge では ε-greedy法で探索するDQNで学習すると... 報酬がほとんど得られない環境では報酬にたどり着けない 107 鍵をとると最初の報酬がもらえる

  108. 好奇心に従う: Curiosity-driven Exploration マイペースなR2-D2は船に残れと指示されたが 勝手に動き回った結果、仲間達を守った どのように自分で未知の広い空間を効率的に探索するか 108 http://a.dilcdn.com/bl/wp-content/uploads/sites/6/2015/04/Screen-Shot-2015-04-14-at-10.52.38-AM.jpg

  109. 好奇心に従う 問題: 報酬がないとどこを探索すればいいのか分からない 方法: 見たことのない場所に行った時に追加報酬を与える • A Possiblity for Implementing

    Curiosity and Boredom in Model-Building Neural Controllers, 1991 • Incentivizing Exploration In Reinforcement Learning With Deep Predictive Models, 2015 • Action-Conditional Video Prediction using Deep Networks in Atari Games, 2015 • Unifying Count-based Exploration and Intrinsic Motivation, 2016 • A Study of Count-Based Exploration for Deep Reinforcement Learning, 2017 • Curiosity-driven Exloration by Self-supervised Prediction, 2017 109
  110. Curiosityと強化学習 A Possiblity for Implementing Curiosity and Boredom in Model-Building

    Neural Controllers [Schmidhuber 1991] オンラインモデルベース強化学習において好奇心を導入する コンセプトを提案している Curiosityとは環境のモデルを改善したいという動機である 環境モデルによる推定と実際の観測の差から • 誤差の大きい状態: 正の内部報酬を与える • 誤差の小さい状態: 少ない正の内部報酬を与える 飽きるまで(誤差がなくなるまで)探索することで 環境のモデルを改善できる 110
  111. 見たことのない状態に報酬を与える Incentivizing Exploration In Reinforcement Learning With Deep Predictive Models

    [Stadie+ 2015] ε-greedy法よりも優れた探索方法が欲しい →自分の今までの状態遷移のモデルから推測されるものと 違う状態に移動すると内部報酬を与える AutoEncoderで圧縮した入力の特徴表現を使って 次の状態を推定する学習を行う 探索が改善された結果Atariのスコアが上昇した 111
  112. モデル 状態の表現を獲得するためのAE 次の状態を予測するモデル 内部報酬をモデルと実際の観測の ユークリッド距離に応じて計算 112 行動 ユークリッド距離

  113. Atariでの実験 100epochsの正規化スコアグラフの積分値で比較(学習速度) 値が大きいほど学習速度が早い 多くのゲームで学習速度が向上した 113

  114. 動画予測で訪れてない状態へ移動 • Action-Conditional Video Prediction using Deep Networks in Atari

    Games [Oh+ 2015] この論文の最大の売りは動画予測の手法であるが Atariのゲームをaction-conditionalで100step先まで動画予測できるよ うになった →動画予測を使って直近で訪れていない状態へ移動 114 行動aを取った時の 推定フレーム 直近のフレーム 訪れたかどうか 訪れた回数
  115. 訪れた場所をカウントを内部報酬に • Unifying Count-based Exploration and Intrinsic Motivation [Bellemare+ 2016]

    あまり訪れていない場所に行くと追加で報酬を発生させたい →DNNで入力状態にどのくらい訪れたことがあるかを推定する • A Study of Count-Based Exploration for Deep Reinforcement Learning [Tang+ 2017] もっと単純に回数を保存したい →入力状態をハッシュ関数で次元圧縮して ハッシュテーブルに訪れた回数を保存する 提案したハッシュ関数 1. SimHash 2. AutoEncoder 115
  116. ところで好奇心とは どっちが面白そうですか? 116

  117. 画素の予測誤差で面白さを決めると 117 これが超おもろい!!

  118. でも人間は 118 99%こっちの方が面白い

  119. 観測を分類すると • コントロールできるもの ◦ マリオ • コントロールできないが自分へ影響を与えるもの ◦ クリボー •

    自分に全く関係なく変化するもの ◦ コインのチカチカ 119
  120. 本当に興味のあるもの • コントロールできるもの ◦ マリオ • コントロールできないが自分へ影響を与えるもの ◦ クリボー •

    自分に全く関係なく変化するもの ◦ コインのチカチカ 120 これっしょ
  121. Intrinsic Curiosity Module (ICM) Curiosity-driven Exloration by Self-supervised Prediction [Pathak+

    2017] 興味のある変化だけに注目したい →自分の行動を推測する特徴量を使うことで画像から興味のある ものの変化だけに注目することができた 外部報酬一切なしで効率的な探索が行えるようになった 121
  122. 本当に面白いのを見分けるICMの構成 方策と別に以下の二つのものを一緒に学習する • 逆モデル: s t とs t+1 からa t

    を推定 • 順モデル: a t と上で得られる特徴量Φ(s t )からΦ(s t+1 )を推定 順モデル 逆モデル 122 CNN CNN s t s t+1 CNN a’ t CNN a t Φ’ t+1 Φ t+1 ri t 内部報酬
  123. 推定タスク(1/2): 逆モデル • 状態遷移から行動を推定する 入力: s t , s t+1

    ➡ 出力: a’ t 123 CNN CNN s t s t+1 CNN a’ t Φ t Φ t+1 誤差 予測の出力と実際の出力をsoftmaxしてクロスエントロピーを計算
  124. 推定タスク(2/2): 順モデル • 行動と状態から次の状態を推定する 状態は行動を推定するタスクで得られる表現(Φ)を用いる 124 CNN CNN s t

    s t+1 CNN a’ t CNN a t Φ’ t+1 誤差
  125. 内部報酬 125 CNN CNN s t s t+1 CNN a

    t CNN a t Φ’ t+1 Φ t+1 ri t
  126. 全体の誤差計算 方策の更新 126 逆モデルの誤差 順モデルの誤差

  127. ICMの優れているところ 自分の行動を推定するタスクで得られる特徴量によって テレビのノイズのような 自分の行動に関係ないピクセル変化を無視できる 既存の手法ではノイズに興味を持ってしまう 127 ここ

  128. 実験 画素の予測誤差のみで内部報酬を発生させるICM(pixels)と複 数の設定で比較した 128 CNN a t s t s

    t+1 s’ t+1 ri t ICM(pixels)の構成 画像そのまま
  129. 迷路タスクで検証 VizDoomの3D迷路でゴールすると+1の報酬が発生する • dense: 青い点からスタートできる • sparse: ゴールから270step離れてる部屋からスタート • very

    sparse: ゴールから350step離れている部屋からスタート 129
  130. 迷路タスクの実験結果 very sparseではICM以外は学習ができなかった 130

  131. ノイズへのロバスト性の検証実験 VizDoomの画像の40%にノイズを乗せてICMのロバスト性を検証 ICM(pixels)よりもICMの方が高いスコアを獲得 131

  132. 外部報酬なしの環境での探索実験 外部報酬を与えずにどこまで環境を探索できるかを検証 • VizDoom ICM: 一番遠くの部屋まで行けた ランダム探索: 多くの場合壁にハマってしまった • マリオ

    Level-1の30%の空間を探索することができた しかも内部報酬を最大化するために、敵を倒すことを覚えた 132
  133. 汎化性能の比較 マリオのLevel-1を1.5Mstep学習した状態でLevel-2, 3を探索 133 全然違うステージだが、 finetuneしたら スクラッチより学習が早かった Level1の学習状態そのままで探索ができた

  134. ICM(pixels)との汎化性能比較 VizDoomで左の迷路で学習した状態で右の迷路を学習 ICM(pixels)は 全く学習できないが ICMは学習できた 134 壁のテクスチャも変えた

  135. 動画 https://www.youtube.com/watch?v=J3FHOyhUn3A&t=35s 135

  136. ICMの今後の展望 • 学習された探索の能力を再利用する 他の方策と組み合わせて利用する (壁にハマらずに歩きつつゴールを目指すなど) • 頻繁に発生しないインタラクションの扱い 稀にしか発生しないインタラクションについて解決しているわけで はないので、メモリーに保存して探索に活用する 136

  137. 好奇心に従う: まとめ 今まで見たことのない状態へ移動することに、内部的な報酬を発 生させることで探索を効率化した • Incentivizing Exploration ◦ ピクセル変化の推定と実際の観測との差で内部報酬 •

    Action-Conditional Video Prediction ◦ 動画予測を使って訪れていないところへ探索 • 訪れた回数をカウント ◦ 訪れた回数が少ない状態への移動に内部報酬 • Intrinsic Curiosity Module ◦ 自分の行動に関連した特徴量を用いて内部報酬 137
  138. 目次 1. イントロダクション: 強化学習の目標 2. 基礎編: DQNの誕生 a. ピクセルから価値推定まで b.

    DQNの改良 3. 応用編: DQNのその先へ a. 一遍に覚える: 転移/マルチタスク学習 b. すぐに覚える: Episodic Control c. 好奇心に従う: Curiosity-driven Exploration 4. まとめ: これからの深層強化学習 138
  139. これまでの深層強化学習 DQN以降の研究の流れ • 2015 ◦ DQN本体の学習の安定化、高速化がメインだった • 2016 ◦ DNNによる特徴抽出に着目した転移学習や特徴抽出の

    効率化を行う手法が多く提案された ◦ 状態空間の大きい3D空間を扱い始めた • 2017 ◦ 3D空間を扱える手法がさらに増えて、より長期的で 難しいタスクを扱っている ◦ 人間の学習から着想を得た手法が増えている 139
  140. 今後扱えるようになるタスク 報酬のスパースな環境や長期タスクが扱えるようになってきたので 長期的なプランニングや実世界のタスクを扱う手法が増える プランニングが必要なゲームの例(StarCraft) 140 https://www.youtube.com/watch?v=wDuaZm7YTl4

  141. 実世界への応用 141 https://www.youtube.com/watch?v=ZhsEKTo7V04 https://www.youtube.com/watch?v=diaZFIUBMBQ ヒューリスティックに動くロボット 強化学習で動きを学習するアーム 将来的に人型ロボットの制御への応用の可能性

  142. 人間の学習を参考にした手法 紹介した論文では主に以下のものが人間の学習に触れている • UNREAL ◦ 人間は目標に直接関係ないものも学習しているのを参考 • Neural Episodic Control

    ◦ 人間のエピソード記憶を用いた行動選択を参考 • Curiosity-driven Exploration ◦ 人間が好奇心によって知識を得ているのを参考 今後も人間の学習を参考にした手法が 深層強化学習の世界を広げるだろう 142
  143. R2-D2の実現 R2-D2を作るには • 様々なモデルの統合 • 自然言語を介した行動決定 • 安全な行動選択 • etc

    上記のような課題などを解決することで実現できるかも 143
  144. まとめ: これからの深層強化学習 2015年では主にAtariで評価していた深層強化学習はこれから • 複雑な3D空間や実世界でのタスクを扱う手法が増える • 人間の学習の仕組みから着想を得た手法が増える という形で研究が進んでいくだろう 特にNECや好奇心などの脳を参考にした手法は深層強化学習の 世界をより広げるはずなので、今後も注目していきたい

    144
  145. Appendix 145

  146. 紹介論文リスト(1) • Bellemare, Marc G., et al. "The Arcade Learning

    Environment: An evaluation platform for general agents." J. Artif. Intell. Res.(JAIR)47 (2013): 253-279. • Mnih, Volodymyr, et al. "Playing atari with deep reinforcement learning." arXiv preprint arXiv:1312.5602 (2013). • Mnih, Volodymyr, et al. "Human-level control through deep reinforcement learning." Nature 518.7540 (2015): 529-533. • Lin, Long-Ji. Reinforcement learning for robots using neural networks. No. CMU-CS-93-103. Carnegie-Mellon Univ Pittsburgh PA School of Computer Science, 1993. • Nair, Arun, et al. "Massively parallel methods for deep reinforcement learning." arXiv preprint arXiv:1507.04296 (2015). • Mnih, Volodymyr, et al. "Asynchronous methods for deep reinforcement learning." International Conference on Machine Learning. 2016. • Babaeizadeh, Mohammad, et al. "Reinforcement learning through asynchronous advantage actor-critic on a gpu." (2016). 146
  147. 紹介論文リスト(2) • Thrun, Sebastian, and Anton Schwartz. "Issues in using

    function approximation for reinforcement learning." Proceedings of the 1993 Connectionist Models Summer School Hillsdale, NJ. Lawrence Erlbaum. 1993. • Hasselt, Hado V. "Double Q-learning." Advances in Neural Information Processing Systems. 2010. • Van Hasselt, Hado, Arthur Guez, and David Silver. "Deep Reinforcement Learning with Double Q-Learning." AAAI. 2016. • Wang, Ziyu, et al. "Dueling network architectures for deep reinforcement learning." arXiv preprint arXiv:1511.06581 (2015). • Schaul, Tom, et al. "Prioritized experience replay." arXiv preprint arXiv:1511.05952 (2015). • Li, Yuxi, and Dale Schuurmans. "MapReduce for Parallel Reinforcement Learning." EWRL. 2011. 147
  148. 紹介論文リスト(3) • Barreto, André, et al. "Successor features for transfer

    in reinforcement learning." arXiv preprint arXiv:1606.05312 (2016). • Parisotto, Emilio, Jimmy Lei Ba, and Ruslan Salakhutdinov. "Actor-mimic: Deep multitask and transfer reinforcement learning." arXiv preprint arXiv:1511.06342 (2015). • Rusu, Andrei A., et al. "Progressive neural networks." arXiv preprint arXiv:1606.04671 (2016). • Dutta, Bhaskar, Anders Wallqvist, and Jaques Reifman. "PathNet: a tool for pathway analysis using topological information." Source code for biology and medicine 7.1 (2012): 10. • Lample, Guillaume, and Devendra Singh Chaplot. "Playing FPS Games with Deep Reinforcement Learning." AAAI. 2017. • Dosovitskiy, Alexey, and Vladlen Koltun. "Learning to act by predicting the future." arXiv preprint arXiv:1611.01779 (2016). 148
  149. 紹介論文リスト(4) • Dayan, Peter. "Improving generalization for temporal difference learning:

    The successor representation." Neural Computation 5.4 (1993): 613-624. • Jaderberg, Max, et al. "Reinforcement learning with unsupervised auxiliary tasks." arXiv preprint arXiv:1611.05397 (2016). • Mirowski, Piotr, et al. "Learning to navigate in complex environments." arXiv preprint arXiv:1611.03673 (2016). • Lengyel, Máté, and Peter Dayan. "Hippocampal contributions to control: the third way." Advances in neural information processing systems. 2008. • Blundell, Charles, et al. "Model-free episodic control." arXiv preprint arXiv:1606.04460 (2016). • Pritzel, Alexander, et al. "Neural Episodic Control." arXiv preprint arXiv:1703.01988 (2017). • urgen Schmidhuber, J. "A possibility for implementing curiosity and boredom in model-building neural controllers." From animals to animats: proceedings of the first international conference on simulation of adaptive behavior (SAB90). 1991. 149
  150. 紹介論文リスト(5) • Stadie, Bradly C., Sergey Levine, and Pieter Abbeel.

    "Incentivizing exploration in reinforcement learning with deep predictive models." arXiv preprint arXiv:1507.00814 (2015). • Oh, Junhyuk, et al. "Action-conditional video prediction using deep networks in atari games." Advances in Neural Information Processing Systems. 2015. • Bellemare, Marc, et al. "Unifying count-based exploration and intrinsic motivation." Advances in Neural Information Processing Systems. 2016. • Tang, Haoran, et al. "# Exploration: A Study of Count-Based Exploration for Deep Reinforcement Learning." arXiv preprint arXiv:1611.04717 (2016). • Pathak, Deepak, et al. "Curiosity-driven exploration by self-supervised prediction." arXiv preprint arXiv:1705.05363 (2017). 150
  151. 発表時未収録論文 151

  152. サブゴール 問題: 報酬が手に入りにくいと、なかなか学習が進まない 方法: サブゴールを設定して報酬を密にする • Classifying Options for Deep

    Reinforcement Learning, 2016 • Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motivation, 2016 • Universal Value Function Approximation, 2016 • Subgoal Discovery for Hierarchical Reinforcement Learning Using Learned Policies, 2003 • Deep Successor Reinforcement Learning, 2016 • Beating Atari with Natural Language Guided Reinforcement Learning, 2017 • Micro-Objective Learning: Accelerating Deep Reinforcement Learning through the Discovery of Continuous Subgoals, 2017 152
  153. サブゴールとは タスクのゴールではないが、短期的な目標を達成する形で 行動することで最終的にタスクをクリアする この短期的な目標をサブゴールという 153 最終目標: ゴールにたどり着く サブゴール: クリボーを倒せ!!

  154. 与えられたサブゴールを使って学習 • Classifying Options for Deep Reinforcement Learning [Arulkumaran+ 2016]

    与えられたサブゴールごとに 異なる方策を使いたい →サブゴールの識別器と サブゴールの数分岐したDQNを 組み合わせて学習する • Universal Value Function Approximation [Schaul+ 2016] →サブゴールと状態を引数にとる価値関数を提案 154 サブゴール1用 サブゴール2用
  155. Universal Value Function Approximation [Scault+ 2016] • ネットワークの構成として3つを提案した • サブゴールもDNNの入力に使うことによって

    サブゴールに有用な特徴量を抽出することができる 155 提案1 提案2 提案3
  156. サブゴールを用いて階層的に学習する Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic

    Motivation [Kulkarni+ 2016] 階層的な構成でサブゴールを達成するように学習する手法 階層的な3つのモジュールからなっている • Meta Controller: サブゴールを識別する学習器 • Controller: 状態とサブゴールから行動を選択する学習器 • Critic: 行動がサブゴールを達成しているか識別する学習器 156
  157. モジュール構成 • Meta-Controller: s → g 状態からサブゴールを選択 環境からの報酬を最大化 • Contoller:

    s, g → a 状態とサブゴールから行動を選択 Criticからの報酬を最大化 • Critic: s, a, s’ → r サブゴールを達成できていれば Controllerに報酬を与える 157
  158. Montezuma’s Revenge での実験 DQNよりもはるかに高いスコアを獲得 サブゴールとなり得るオブジェクトの検出は専用の識別器を使用した 158

  159. 命令を実行させる Beating Atari with Natural Language Guided Reinforcement Learning [Kaplan+

    2017] 命令とその状態を紐づけたDNNを用いて、命令を実行すると追加で報 酬を与えた Montezuma’s Revenge を英語で命令して操作することでハイスコアを獲得 159
  160. サブゴールを見つける • Subgoal Discovery for Hierarchical Reinforcement Learning Using Learned

    Policies [Goel+ 2003] サブゴールは人が与えている →時刻tに状態sを訪れている回数の変化でサブゴールを判定 • Deep Successor Reinforcement Learning [Kulkarni+ 2016] 深層強化学習では? →未来を推定するように 学習した特徴量を使って 状態遷移をクラスタリング することでサブゴールを推定 160
  161. サブゴールを見つけて内部報酬を与える Micro-Objective Learning: Accelerating Deep Reinforcement Learning through the Discovery

    of Continuous Subgoals [Lee+ 2017] 報酬の発生する経路でよく訪れている場所 = サブゴール と考えることでサブゴールを設定 DNNで訪れた回数N(s)を推定して内部報酬を計算 161
  162. 単純にカウントした時の問題点 訪れた回数でサブゴールを決定すると • 図のようにループしているところが過大評価される • 追加で報酬を与えているので、サブゴールばかり訪れる →これを解決するために • エピソード中で一度だけカウントする •

    サブゴールの報酬も一度しか与えない • カウントに上限も与える 162
  163. 実験 訪れていない所に遷移すると内部報酬が発生する手法と比較 Montezuma’s Revenge で高いスコアを得ることができた 163

  164. Reward Propagation の改善 問題: TD誤差の伝搬には多くの更新が必要 方法: TD誤差の計算式を改善する • Increasing the

    Action Gap: New Oprerators for Reinforcement Learing, 2015 • Learning to Play in a Day: Faster Deep Reinforcement Learning by Optimality Tightening, 2016 164
  165. 行動ごとの価値の差を大きくする • Increasing the Action Gap: New Oprerators for Reinforcement

    Learing [Bellemare+ 2015] 行動ごとの価値の差が大きくなれば行動選択が安定する →1つ先の状態の行動価値ごとの差が大きければ、その行動を 前の状態でも行うように更新する 1つ先の行動価値の平均との差 165 今の行動価値の平均との差
  166. 学習序盤のTD誤差計算をより正確に • Learning to Play in a Day: Faster Deep

    Reinforcement Learning by Optimality Tightening [He+ 2016] TD誤差計算では目標値に予測値を使っている(bootstrap)ので 学習序盤は学習効率が悪い →経験で得られた収益を目標値に直接使用して効率をあげた 収益の上限と下限を定義 jからj+kの有限タイムステップの収益 上の式の変形 上限 下限 166
  167. Learning to Play in a Day: Faster Deep Reinforcement Learning

    by Optimality Tightening [He+ 2016] 収益の上限と下限を混ぜて以下の損失関数を最小化 上限 下限 DQNよりはるかに学習序盤からスコアが伸びた 167