$30 off During Our Annual Pro Sale. View Details »

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

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

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

Takuma Seno

July 20, 2017
Tweet

More Decks by Takuma Seno

Other Decks in Technology

Transcript

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

    View Slide

  2. 自己紹介
    妹尾卓磨
    慶應義塾大学理工学部情報工学科4年
    今井研究室所属
    強化学習に関する研究
    Wantedlyに長期インターン中
    https://github.com/takuseno
    2

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide


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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  13. 強化学習の例(1)
    DeepMind の AlphaGo
    https://gogameguru.com/i/2016/03/AlphaGo-Lee-Sedol-game-3-game-over.jpg
    13

    View Slide

  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

    View Slide

  15. 強化学習
    環境からの報酬の和を最大化するような
    行動を学習する手法
    エージェント
    環境
    状態 s 報酬 r 行動 a
    15

    View Slide

  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

    View Slide

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

    View Slide

  18. R2-D2の目標
    目標: 脱出すること
    報酬の総和を最大化すること
    試行錯誤で探索と知識の利用を行って
    目標を達成する方法を求める
    18

    View Slide

  19. 探索と知識の利用
    探索
    ● 今まで行ったことのない場所へ行ってみる
    ● ストームトルーパーに攻撃して倒してみる
    ● 基地のデータベースを調べてみる
    知識の利用
    ● 手がかりを使って脱出を試みる
    ● 倒せることがわかっている敵を倒す
    ● 敵が見回っているときは探索しない
    19
    データベースに
    アクセスしているR2-D2
    デススターのマップ

    View Slide

  20. R2-D2が脱出するには
    探索して手がかりを増やしつつ
    知識を利用して脱出を試みる
    探索と知識の利用のバランスをとる
    20

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  25. 用語を覚えよう(4)
    方策(policy)
    エージェントの行動パターン
    π(s, a): 状態sで行動aを取る確率として表すことが多い
    25
    ジャンプ 0.3
    進む 0.1
    ファイア 0.5
    下がる 0.1
    左の図での行動選択確率

    View Slide

  26. 用語を覚えよう(5)
    収益(return)
    報酬の和
    割引率γを導入して未来で得る報酬をどの程度割引くか調整する
    R
    t
    = r
    t
    + γr
    t+1
    + γ2r
    t+2
    + γ3r
    t+3
    + ….
    感覚的には、テスト前に
    ● 楽しいから、遊んで今すぐ報酬をもらう
    ● 楽しくないけど、勉強頑張ってたくさんの報酬をもらう
    26

    View Slide

  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

    View Slide

  28. 用語まとめ
    ● 状態(state)
    ○ エージェントが環境を観測した情報
    ● 行動(action)
    ○ エージェントが行う行動
    ● 報酬(reward)
    ○ エージェントが環境から受け取る評価
    ● 方策(policy)
    ○ エージェントの行動パターン
    ● 収益(return)
    ○ 割引率を考慮した報酬の和
    28

    View Slide

  29. Q学習
    状態sで行動aを行った時の収益を推定する関数Qを求める
    各ステップで以下の式を更新して最適なQ関数に近づける
    一番簡単なQ関数の表し方はテーブル
    目標の値 今の値
    状態/行動 機体を修理する 操縦補助する
    機体が攻撃された 8 1
    敵機を狙っている 2 9
    29
    TD誤差

    View Slide

  30. Q関数の使い方
    一番大きな価値の行動を選択する
    Q(攻撃された、修理) = 8
    30
    機体が攻撃された 修理する
    操縦補助する
    Q(攻撃された、操縦補助) = 1
    https://www.youtube.com/watch?v=2WBG2rJZGW8&t=125s

    View Slide

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

    View Slide

  32. テーブルを使ったQ学習の例(GridWorld)
    状態: 自分の位置(11通り)
    行動: 上下左右(4通り)
    テーブルの大きさ: 11x4=44
    32
    https://www.youtube.com/watch?v=RTu7G0y4Os4
    更新を繰り返すことで
    価値を前の状態に伝搬
    させることができている

    View Slide

  33. Arcade Learning Environment (ALE)
    ● The Arcade Learning Environment: An Evaluation Platform
    for General Agents [Bellemare+ 2013]
    Atari 2600 という米アタリ社のゲーム機のエミュレータ
    AI研究のためのフレームワーク
    33

    View Slide

  34. Atariのゲームの例
    34
    Pong Breakout Space Invaders

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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つで近似したモデル
    人間に勝てない...

    View Slide

  41. どうすれば勝てるのか
    ゲームに勝つために画像から直接
    有用な特徴量を見つけることができれば勝てるはず
    Deep Neural Network
    41

    View Slide

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

    View Slide

  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値)

    View Slide

  44. Q関数をDNNで表すとは
    Conv FC FC Q値
    84x84の白黒ゲーム画像
    Conv Conv
    行動a?
    行動全てに対してこの計算をするのはコストがかかる
    44

    View Slide

  45. DQNのネットワーク構成
    Conv FC FC




    Q

    84x84の白黒ゲーム画像
    Conv Conv
    各行動に対してQ値を計算するよりも
    一回の計算で全てのQ値を計算するように構成する
    45

    View Slide

  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

    View Slide

  47. DQNの工夫
    DQNはQ関数をディープにしただけではない
    ● Experience Replay
    ○ 保存した経験からランダムに学習に使用する
    ● Freezing the Target Network
    ○ TD誤差の目標値に古いネットワークを使用する
    ● Clipping Rewards
    ○ スコアのスケールを統一する
    ● Skipping Frames
    ○ 数フレームごとに行動を選択する
    47

    View Slide

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

    View Slide

  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

    View Slide

  50. DQNの工夫: Freezing the Target
    Network
    目標値の変動に伴うDNNで表現されたQ関数の
    学習不安定性を解消するために
    ● 誤差計算を行うときの目標のDNNを古いもので固定
    ● 一定周期(10000step毎)で現在のDNNと同期
    50
    TD誤差の目標計算に予測値を使っている
    ここを古いDNNにする

    View Slide

  51. DQNの工夫: Clipping Rewards
    ゲームによってスコアの大きさが異なると
    ハイパーパラメータを変える必要がある

    ● Pongでは一回点を取ると1点もらえる
    ● Space Invadersでは倒したインベーダの場所に応じて10~30点
    様々なゲームに同じハイパーパラメータで対応するために、
    ● 負のスコアは-1
    ● 正のスコアは+1
    で統一する
    51
    学習率
    割引率
    などなど

    View Slide

  52. DQNの工夫: Skipping Frames
    ALEは60fpsで描画されるが
    必ずしも毎フレームで行動選択を行う必要がない
    4フレーム毎に前の4フレームを使って行動選択を行う
    4フレーム後まで同じ行動を繰り返し選択する
    (Space Invaders では3フレーム)
    行動選択のコストが減り、多くの経験を積むことができる
    52

    View Slide

  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

    View Slide

  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

    View Slide

  55. Atari 2600 のゲームで学習した結果を人間のスコアと比較
    特徴量を設計しなくても
    人間より高いスコアが取れるようになった
    人間より何%高いスコアが取れているかを示している
    人間のプレイヤーは熟練者で
    ● 効果音なし
    ● それぞれのゲームで2時間の練習後、20エピソードの平均値
    55
    青: DQN
    灰: 当時最高の線形モデル

    View Slide

  56. 56
    ただし全てのゲームで勝ってはない

    View Slide

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

    View Slide

  58. ピクセルから価値推定まで: まとめ
    CNNを使った強化学習が行えるようになったことで、画像の何に
    注目すれば価値に繋がるかを獲得できるようになった
    ● DQN以前
    ○ 特徴量の設計を人間が行わないと学習が難しかった
    ● DQN
    ○ CNNを用いて画像から直接価値推定を行う
    ○ 4つの工夫が欠かせない
    ■ Experience Replay: 過去の経験を保存して学習
    ■ Target Network: 過去のDNNを固定して使用する
    ■ Clipping Rewards: スコアのスケールを統一する
    ■ Skipping Frames: 4フレームごとに行動選択
    58

    View Slide

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

    View Slide

  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
    推定値

    View Slide

  61. Double DQN (2)
    ● Deep Reinforcement Learning with Double Q-Learning
    [Hasselt+ 2015]
    Double Q-Learning をDQNに応用してTD誤差の目標値計算を改善
    現在のネットワークで選んだ行動に対するターゲットのQ値を使用
    61
    現在のネットワーク
    ターゲットネットワーク
    Y

    View Slide

  62. Dueling DQN [Wang+ 2016]
    Q学習だと一回の更新で1つの行動に対する価値しか更新できない
    →Q関数を状態価値関数とAdvantage関数に分解
    →DNNもそれに合わせて分岐させる
    これでV自体を毎回更新できるので
    TD誤差計算の伝搬が早くなる
    62
    V
    A
    Q

    View Slide

  63. Prioritized Experience Replay
    [Schaul+ 2016]
    DQNではランダムに経験を選んで学習している
    →学習に有用な経験を優先して学習するように改善した
    TD誤差が大きい経験ほど優先して学習に使用する
    ● 提案1: 誤差の大きさで重み付け
    ● 提案2: 誤差の大きさの順位
    TD誤差
    学習に選ばれる確率
    63
    0除算を避ける定数

    View Slide

  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

    View Slide

  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

    View Slide

  66. 強化学習の非同期化
    ● 4つの手法で非同期化を実現す
    るために
    1. 各スレッド非共有なパラメータを
    使って勾配を蓄積する
    2. 一定間隔で蓄積した勾配で
    グローバルパラメータを更新
    3. グローバルパラメータで
    非共有なパラメータを更新
    ということをやっている
    66
    1
    2
    3

    View Slide

  67. 複数エージェントによる利点
    複数エージェントが同時に異なる経験を集めてくる
    スレッド数を多くすることで
    同時に相関性の低い経験で学習を行える
    →Experience Replay をする必要がなくなる
    ● メモリーの使用量が少なくて済む
    ● 時系列に従ってDNNを使用することができる
    ○ LSTMなどの再帰的なネットワークが使えるようになる
    67

    View Slide

  68. Asynchronous Advantage Actor-Critic
    有名なA3Cのこと
    Actor-Criticは
    ● 方策πを使って経験を集めるactor
    ● 状態価値関数Vを推定するcritic
    で構成されており
    actor: criticの推定する収益よりも高くなるような方策を学習
    critic: actorの集めてくる経験から価値関数を学習
    というように学習を行う
    68

    View Slide

  69. 実験結果
    DQN(GPU使用)よりもA3C(CPU使用)が
    短い実行時間で学習できた
    69

    View Slide

  70. さらにA3Cを高速にする
    ● Reinforcement Learning through Asynchronous Advantage
    Actor-Critic on a GPU [Babaeizadeh+ 2017]
    1つのGPUで並列計算はできないので
    マルチスレッドだとGPUが他のスレッドの処理をブロックする
    →GPUを使ったDNNの更新処理を
    キューで管理することで
    他スレッドの処理をブロック
    しないようにした
    70

    View Slide

  71. DQNの改良: まとめ
    DQNの問題点や、工夫のさらなる改善を施した手法
    ● Double DQN
    ○ 更新式をさらに安定させた
    ● Dueling DQN
    ○ ネットワーク構造を改善した
    ● Prioritized Experience Replay
    ○ Experience Replay での経験の選び方を改善した
    ● 非同期学習
    ○ 複数エージェントで経験の収集を行って学習を速くした
    71

    View Slide

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

    View Slide

  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

    View Slide

  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

    View Slide

  75. 未来の状態を推定する特徴量を使う
    ● Improving Generalisation for Temporal Difference
    Learning: The Successor Representation [Dayan+ 1993]
    強化学習において、汎用的に使える特徴量を使いたい
    →未来の状態を推定する表現 x 報酬の重みベクトルの内積で
    価値を推定するように学習すると探索タスクで有効
    ● Successor Features for Transfer in Reinforcement
    Learning [Barret+ 2016]
    深層強化学習においても未来の状態を推定する表現を用いた
    →環境は同じだが報酬の発生の仕方が変わるという条件では
    報酬の重みベクトルだけ学習し直すことで効率よく学習できる
    75

    View Slide

  76. 学習済みモデルから転移させる
    ● Actor-Mimic Deep Multitiask and Transfer Reinforcement
    Learning [Parisotto+ 2016]
    新しいモデルに過去の知識を覚えさせたい
    →学習済みモデルを真似するように学習させて転移学習
    学習済みのQ値の出力をsoftmaxしたものを真似るように学習
    学習済みの隠れ層の発火を真似するように学習
    76
    Actor Mimic Network
    Expert

    View Slide

  77. マルチタスクの実験結果
    隠れ層の発火の真似はやらずに
    1つのAMNで8つの異なるゲームの学習済みモデルを同時に学習
    学習済みモデルと
    同じかそれ以上のスコアを出せているゲームがある
    77
    学習済みモデルに勝っている

    View Slide

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

    View Slide

  79. DNNの構造を工夫して転移学習を行う
    ● Progressive Neural Networks [Rusu+ 2016]
    複数タスクをDNNで学習すると、どうしても以前のタスクの性能が落ち
    てしまう
    →以前のDNNの重みを固定して
    新しいDNNを継ぎ足して学習
    ● PathNet [Fernando+ 2017]
    →大きなDNNをタスクごとに
    パスを切り替えることでマルチタスクと転移学習を行う
    79
    タスク1 タスク2 タスク3

    View Slide

  80. PathNet [Fernando+ 2017]
    タスクごとにDNNの最適なパスを学習する
    一度学習したパスのDNNは固定することでマルチタスクと
    転移学習が可能になる
    80

    View Slide

  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

    View Slide

  82. UNREAL
    ● Reinforcement Learning with Unsupervised Auxiliary
    Tasks [Jaderberg+ 2016]
    UNsupervised REinforcement Auxiliary Learning (UNREAL)として有名
    高次元の状態空間でさらに学習効率をあげたい
    →複数の別の学習タスクも一緒に行うことで特徴抽出を促進
    ● Pixel Control
    ● Reward Prediction
    ● Value Function Replay
    畳み込み層を共有して学習を行う
    82

    View Slide

  83. 補助タスク
    Pixel Control
    Pixel Changes
    ● 画素値の変化が最大になるように行動させるQ関数
    Network Features
    ● DNNの隠れ層の発火を最大化するように行動させるQ関数
    Reward Prediction
    状態のシークエンスから報酬の発生を予測するタスク
    Value Function Replay
    Experience Replay で価値関数を推定するタスク
    83

    View Slide

  84. UNREALの構成
    84

    View Slide

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

    View Slide

  86. ナビゲーション特化型のUNREAL
    ● Learning To Navigate in Complex Environments
    [Mirowski+ 2017]
    補助タスクを使ってより迷路探索タスクでの性能を向上した
    導入した補助タスクは
    ● 画像から奥行きを推定する教師あり学習
    ● 一度訪れたことがある場所かどうかを推定する教師あり学習
    UNREALよりもナビゲーションタスクに特化した補助タスク
    迷路探索タスクでパフォーマンスが向上
    86

    View Slide

  87. 一遍に覚える: まとめ
    CNNによる特徴抽出やネットワークを拡張する形で
    既存の知識を用いた学習をできるようにした
    ● Successor Features for Transfer
    ○ 未来を推定する特徴抽出を行って特徴表現を再利用
    ● Actor-Mimic
    ○ 学習済みモデルを模倣することで知識を再利用
    ● Progressive Neural Network
    ○ 新たにDNNを継ぎ足していくことで複数タスクを学習
    ● PathNet
    ○ 巨大なDNNのパスを切り替えることで複数タスクを学習
    ● UNREAL
    ○ タスクに有用な情報を学習して特徴抽出を改善
    87

    View Slide

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

    View Slide

  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

    View Slide

  90. すぐに覚える: Episodic Control
    問題: 人間とは違い、既存の手法では一度の経験だけでは
    最適な行動決定を行うのに十分な学習が行えない
    方法: 外部メモリーに価値を保存して使用する
    ● Hippocampal Contributions to Control: The Third Way, 2007
    ● Model-Free Episodic Control, 2016
    ● Neural Episodic Control, 2017
    90

    View Slide

  91. Episodic Control を強化学習へ
    エピソード記憶: 自分の経験の記憶
    人間は学習序盤でエピソード記憶を使って行動選択をしている
    これが Episodic Control である
    Hippocampal Contributions to Control: The Third Way
    [Lengyel+ 2007]
    強化学習において、学習序盤は目標の計算に推測値を使っている
    (bootstrap)ので学習効率が悪い
    →Episodic Controlの学習初期における優位性を主張
    報酬が得られた行動シーケンスを保存して、そのシーケンスを
    再生することで学習序盤の学習性能を改善する可能性を示した
    91

    View Slide

  92. AtariでEpisodic Control
    Model-Free Episodic Control [Blundell+ 2016]
    DQNはbootstrapで学習しているので序盤のスコアが低い
    →得られた経験から直接価値を計算して序盤のスコアを向上
    DNNで近似せず状態x行動のテーブルQECを用いてQ値を保存
    →エピソード記憶として価値を保存
    状態は入力画像に対して以下のどちらかのエンコードを行う
    ● EC-RP: ランダムに決められた行列Aをかけることで圧縮する
    ● EC-VAE: Variational AutoEncoderを使って圧縮する
    92

    View Slide

  93. テーブルQECの更新
    エピソードの終わりに、最後から順に状態遷移を追っていって
    で更新を行う
    もしテーブルがいっぱいだった場合は
    もっともアクセスされていない箇所と入れ替える
    QECには過去の経験から直接計算された価値が保存される
    93
    テーブルになければ追加
    テーブルにあれば更新

    View Slide

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

    View Slide

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

    View Slide

  96. さらに先へ
    ● Neural Episodic Control [Pritzel+ 2017]
    MFECでの入力状態のエンコードは報酬ー状態の関係を
    考慮していなかった
    →End-to-EndでQ関数の更新が行えるようにして
    報酬に関連した状態のエンコードができるようになった
    学習序盤のパフォーマンスがさらに向上
    96

    View Slide

  97. 構成
    以下の図のような2つのモジュールで構成されている
    ● DNNによる状態のエンコードを行うモジュール
    ● Key-Valueのメモリーモジュール
    97
    メモリーモジュール
    DNN Q値の計算
    v
    i v
    i

    View Slide

  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

    View Slide

  99. メモリーへのアクセス
    N-step Q学習で価値の推定を行い
    Q値を計算する度に、メモリーを更新
    ● 同じキーがある: 値を以下の式で更新
    ● 同じキーがない: 空きがあれば追加
    空きがなければ最も使われてないものと交換
    99

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  106. ランダムな探索の限界
    DQNは今までε-greedy法を用いて探索を行っていた
    基本的に知識を利用して行動するが、確率εでランダムに行動する
    しかし、ランダムに探索する方法は
    偶然いい報酬が得られるのを期待しているだけ
    報酬までの距離が長いと巡り会うのが難しくなる
    106

    View Slide

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

    View Slide

  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

    View Slide

  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

    View Slide

  110. Curiosityと強化学習
    A Possiblity for Implementing Curiosity and Boredom in
    Model-Building Neural Controllers [Schmidhuber 1991]
    オンラインモデルベース強化学習において好奇心を導入する
    コンセプトを提案している
    Curiosityとは環境のモデルを改善したいという動機である
    環境モデルによる推定と実際の観測の差から
    ● 誤差の大きい状態: 正の内部報酬を与える
    ● 誤差の小さい状態: 少ない正の内部報酬を与える
    飽きるまで(誤差がなくなるまで)探索することで
    環境のモデルを改善できる
    110

    View Slide

  111. 見たことのない状態に報酬を与える
    Incentivizing Exploration In Reinforcement Learning With
    Deep Predictive Models [Stadie+ 2015]
    ε-greedy法よりも優れた探索方法が欲しい
    →自分の今までの状態遷移のモデルから推測されるものと
    違う状態に移動すると内部報酬を与える
    AutoEncoderで圧縮した入力の特徴表現を使って
    次の状態を推定する学習を行う
    探索が改善された結果Atariのスコアが上昇した
    111

    View Slide

  112. モデル
    状態の表現を獲得するためのAE 次の状態を予測するモデル
    内部報酬をモデルと実際の観測の
    ユークリッド距離に応じて計算
    112
    行動
    ユークリッド距離

    View Slide

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

    View Slide

  114. 動画予測で訪れてない状態へ移動
    ● Action-Conditional Video Prediction using Deep Networks
    in Atari Games [Oh+ 2015]
    この論文の最大の売りは動画予測の手法であるが
    Atariのゲームをaction-conditionalで100step先まで動画予測できるよ
    うになった
    →動画予測を使って直近で訪れていない状態へ移動
    114
    行動aを取った時の
    推定フレーム
    直近のフレーム
    訪れたかどうか
    訪れた回数

    View Slide

  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

    View Slide

  116. ところで好奇心とは
    どっちが面白そうですか?
    116

    View Slide

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

    View Slide

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

    View Slide

  119. 観測を分類すると
    ● コントロールできるもの
    ○ マリオ
    ● コントロールできないが自分へ影響を与えるもの
    ○ クリボー
    ● 自分に全く関係なく変化するもの
    ○ コインのチカチカ
    119

    View Slide

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

    View Slide

  121. Intrinsic Curiosity Module (ICM)
    Curiosity-driven Exloration by Self-supervised Prediction
    [Pathak+ 2017]
    興味のある変化だけに注目したい
    →自分の行動を推測する特徴量を使うことで画像から興味のある
    ものの変化だけに注目することができた
    外部報酬一切なしで効率的な探索が行えるようになった
    121

    View Slide

  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
    内部報酬

    View Slide

  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してクロスエントロピーを計算

    View Slide

  124. 推定タスク(2/2): 順モデル
    ● 行動と状態から次の状態を推定する
    状態は行動を推定するタスクで得られる表現(Φ)を用いる
    124
    CNN
    CNN
    s
    t
    s
    t+1
    CNN a’
    t
    CNN
    a
    t Φ’
    t+1
    誤差

    View Slide

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

    View Slide

  126. 全体の誤差計算
    方策の更新
    126
    逆モデルの誤差
    順モデルの誤差

    View Slide

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

    View Slide

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

    View Slide

  129. 迷路タスクで検証
    VizDoomの3D迷路でゴールすると+1の報酬が発生する
    ● dense: 青い点からスタートできる
    ● sparse: ゴールから270step離れてる部屋からスタート
    ● very sparse: ゴールから350step離れている部屋からスタート
    129

    View Slide

  130. 迷路タスクの実験結果
    very sparseではICM以外は学習ができなかった
    130

    View Slide

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

    View Slide

  132. 外部報酬なしの環境での探索実験
    外部報酬を与えずにどこまで環境を探索できるかを検証
    ● VizDoom
    ICM: 一番遠くの部屋まで行けた
    ランダム探索: 多くの場合壁にハマってしまった
    ● マリオ
    Level-1の30%の空間を探索することができた
    しかも内部報酬を最大化するために、敵を倒すことを覚えた
    132

    View Slide

  133. 汎化性能の比較
    マリオのLevel-1を1.5Mstep学習した状態でLevel-2, 3を探索
    133
    全然違うステージだが、 finetuneしたら
    スクラッチより学習が早かった
    Level1の学習状態そのままで探索ができた

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  137. 好奇心に従う: まとめ
    今まで見たことのない状態へ移動することに、内部的な報酬を発
    生させることで探索を効率化した
    ● Incentivizing Exploration
    ○ ピクセル変化の推定と実際の観測との差で内部報酬
    ● Action-Conditional Video Prediction
    ○ 動画予測を使って訪れていないところへ探索
    ● 訪れた回数をカウント
    ○ 訪れた回数が少ない状態への移動に内部報酬
    ● Intrinsic Curiosity Module
    ○ 自分の行動に関連した特徴量を用いて内部報酬
    137

    View Slide

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

    View Slide

  139. これまでの深層強化学習
    DQN以降の研究の流れ
    ● 2015
    ○ DQN本体の学習の安定化、高速化がメインだった
    ● 2016
    ○ DNNによる特徴抽出に着目した転移学習や特徴抽出の
    効率化を行う手法が多く提案された
    ○ 状態空間の大きい3D空間を扱い始めた
    ● 2017
    ○ 3D空間を扱える手法がさらに増えて、より長期的で
    難しいタスクを扱っている
    ○ 人間の学習から着想を得た手法が増えている
    139

    View Slide

  140. 今後扱えるようになるタスク
    報酬のスパースな環境や長期タスクが扱えるようになってきたので
    長期的なプランニングや実世界のタスクを扱う手法が増える
    プランニングが必要なゲームの例(StarCraft)
    140
    https://www.youtube.com/watch?v=wDuaZm7YTl4

    View Slide

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

    View Slide

  142. 人間の学習を参考にした手法
    紹介した論文では主に以下のものが人間の学習に触れている
    ● UNREAL
    ○ 人間は目標に直接関係ないものも学習しているのを参考
    ● Neural Episodic Control
    ○ 人間のエピソード記憶を用いた行動選択を参考
    ● Curiosity-driven Exploration
    ○ 人間が好奇心によって知識を得ているのを参考
    今後も人間の学習を参考にした手法が
    深層強化学習の世界を広げるだろう
    142

    View Slide

  143. R2-D2の実現
    R2-D2を作るには
    ● 様々なモデルの統合
    ● 自然言語を介した行動決定
    ● 安全な行動選択
    ● etc
    上記のような課題などを解決することで実現できるかも
    143

    View Slide

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

    View Slide

  145. Appendix
    145

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  151. 発表時未収録論文
    151

    View Slide

  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

    View Slide

  153. サブゴールとは
    タスクのゴールではないが、短期的な目標を達成する形で
    行動することで最終的にタスクをクリアする
    この短期的な目標をサブゴールという
    153
    最終目標: ゴールにたどり着く
    サブゴール: クリボーを倒せ!!

    View Slide

  154. 与えられたサブゴールを使って学習
    ● Classifying Options for Deep Reinforcement Learning
    [Arulkumaran+ 2016]
    与えられたサブゴールごとに
    異なる方策を使いたい
    →サブゴールの識別器と
    サブゴールの数分岐したDQNを
    組み合わせて学習する
    ● Universal Value Function Approximation [Schaul+ 2016]
    →サブゴールと状態を引数にとる価値関数を提案
    154
    サブゴール1用
    サブゴール2用

    View Slide

  155. Universal Value Function Approximation [Scault+ 2016]
    ● ネットワークの構成として3つを提案した
    ● サブゴールもDNNの入力に使うことによって
    サブゴールに有用な特徴量を抽出することができる
    155
    提案1 提案2 提案3

    View Slide

  156. サブゴールを用いて階層的に学習する
    Hierarchical Deep Reinforcement Learning: Integrating
    Temporal Abstraction and Intrinsic Motivation [Kulkarni+ 2016]
    階層的な構成でサブゴールを達成するように学習する手法
    階層的な3つのモジュールからなっている
    ● Meta Controller: サブゴールを識別する学習器
    ● Controller: 状態とサブゴールから行動を選択する学習器
    ● Critic: 行動がサブゴールを達成しているか識別する学習器
    156

    View Slide

  157. モジュール構成
    ● Meta-Controller: s → g
    状態からサブゴールを選択
    環境からの報酬を最大化
    ● Contoller: s, g → a
    状態とサブゴールから行動を選択
    Criticからの報酬を最大化
    ● Critic: s, a, s’ → r
    サブゴールを達成できていれば
    Controllerに報酬を与える
    157

    View Slide

  158. Montezuma’s Revenge での実験
    DQNよりもはるかに高いスコアを獲得
    サブゴールとなり得るオブジェクトの検出は専用の識別器を使用した
    158

    View Slide

  159. 命令を実行させる
    Beating Atari with Natural Language Guided Reinforcement
    Learning [Kaplan+ 2017]
    命令とその状態を紐づけたDNNを用いて、命令を実行すると追加で報
    酬を与えた
    Montezuma’s Revenge を英語で命令して操作することでハイスコアを獲得
    159

    View Slide

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

    View Slide

  161. サブゴールを見つけて内部報酬を与える
    Micro-Objective Learning: Accelerating Deep Reinforcement
    Learning through the Discovery of Continuous Subgoals [Lee+
    2017]
    報酬の発生する経路でよく訪れている場所 = サブゴール
    と考えることでサブゴールを設定
    DNNで訪れた回数N(s)を推定して内部報酬を計算
    161

    View Slide

  162. 単純にカウントした時の問題点
    訪れた回数でサブゴールを決定すると
    ● 図のようにループしているところが過大評価される
    ● 追加で報酬を与えているので、サブゴールばかり訪れる
    →これを解決するために
    ● エピソード中で一度だけカウントする
    ● サブゴールの報酬も一度しか与えない
    ● カウントに上限も与える
    162

    View Slide

  163. 実験
    訪れていない所に遷移すると内部報酬が発生する手法と比較
    Montezuma’s Revenge で高いスコアを得ることができた
    163

    View Slide

  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

    View Slide

  165. 行動ごとの価値の差を大きくする
    ● Increasing the Action Gap: New Oprerators for
    Reinforcement Learing [Bellemare+ 2015]
    行動ごとの価値の差が大きくなれば行動選択が安定する
    →1つ先の状態の行動価値ごとの差が大きければ、その行動を
    前の状態でも行うように更新する
    1つ先の行動価値の平均との差
    165
    今の行動価値の平均との差

    View Slide

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

    View Slide

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

    View Slide