Share
Embed
深層強化学習の動向 / survey of deep reinforcement learning
全脳アーキテクチャ若手の会第28回勉強会
Keywords: DQN, 強化学習, Episodic Control, Curiosity-driven Exploration
Takuma Seno
July 20, 2017
Transcript
167 slides
-
目次 1. イントロダクション: 強化学習の目標 2. 基礎編: DQNの誕生 a. ピクセルから価値推定まで b.
DQNの改良 3. 応用編: DQNのその先へ a. 一遍に覚える: 転移/マルチタスク学習 b. すぐに覚える: Episodic Control c. 好奇心に従う: Curiosity-driven Exploration 4. まとめ: これからの深層強化学習 11 -
目次 1. イントロダクション: 強化学習の目標 2. 基礎編: DQNの誕生 a. ピクセルから価値推定まで b.
DQNの改良 3. 応用編: DQNのその先へ a. 一遍に覚える: 転移/マルチタスク学習 b. すぐに覚える: Episodic Control c. 好奇心に従う: Curiosity-driven Exploration 4. まとめ: これからの深層強化学習 12 -
強化学習の例(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 -
R2-D2の状況を強化学習で表すと エージェント: R2-D2 環境: 帝国軍の基地 状態(s): R2-D2のセンサー値 報酬(r): + 手がかりを発見する、脱出する
ー 敵に見つかる、攻撃を受ける 行動(a): R2-D2の行動 17 -
探索と知識の利用 探索 • 今まで行ったことのない場所へ行ってみる • ストームトルーパーに攻撃して倒してみる • 基地のデータベースを調べてみる 知識の利用 •
手がかりを使って脱出を試みる • 倒せることがわかっている敵を倒す • 敵が見回っているときは探索しない 19 データベースに アクセスしているR2-D2 デススターのマップ -
用語を覚えよう(2) 行動(action) エージェントが環境に働きかける行動 a t : tでの行動 23 ファイヤー! エージェント
環境 状態 s 報酬 r 行動 a -
用語を覚えよう(4) 方策(policy) エージェントの行動パターン π(s, a): 状態sで行動aを取る確率として表すことが多い 25 ジャンプ 0.3 進む
0.1 ファイア 0.5 下がる 0.1 左の図での行動選択確率 -
用語を覚えよう(5) 収益(return) 報酬の和 割引率γを導入して未来で得る報酬をどの程度割引くか調整する R t = r t +
γr t+1 + γ2r t+2 + γ3r t+3 + …. 感覚的には、テスト前に • 楽しいから、遊んで今すぐ報酬をもらう • 楽しくないけど、勉強頑張ってたくさんの報酬をもらう 26 -
用語を覚えよう(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 -
用語まとめ • 状態(state) ◦ エージェントが環境を観測した情報 • 行動(action) ◦ エージェントが行う行動 •
報酬(reward) ◦ エージェントが環境から受け取る評価 • 方策(policy) ◦ エージェントの行動パターン • 収益(return) ◦ 割引率を考慮した報酬の和 28 -
Q関数の使い方 一番大きな価値の行動を選択する Q(攻撃された、修理) = 8 30 機体が攻撃された 修理する 操縦補助する Q(攻撃された、操縦補助)
= 1 https://www.youtube.com/watch?v=2WBG2rJZGW8&t=125s -
目次 1. イントロダクション: 強化学習の目標 2. 基礎編: DQNの誕生 a. ピクセルから価値推定まで b.
DQNの改良 3. 応用編: DQNのその先へ a. 一遍に覚える: 転移/マルチタスク学習 b. すぐに覚える: Episodic Control c. 好奇心に従う: Curiosity-driven Exploration 4. まとめ: これからの深層強化学習 31 -
Arcade Learning Environment (ALE) • The Arcade Learning Environment: An
Evaluation Platform for General Agents [Bellemare+ 2013] Atari 2600 という米アタリ社のゲーム機のエミュレータ AI研究のためのフレームワーク 33 -
線形関数で近似した結果 人間のスコアを以下のモデルと比較 • 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つで近似したモデル 人間に勝てない... -
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値) -
DQNのネットワーク構成 Conv FC FC 各 行 動 の Q 値
84x84の白黒ゲーム画像 Conv Conv 各行動に対してQ値を計算するよりも 一回の計算で全てのQ値を計算するように構成する 45 -
しかし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 -
DQNの工夫 DQNはQ関数をディープにしただけではない • Experience Replay ◦ 保存した経験からランダムに学習に使用する • Freezing the
Target Network ◦ TD誤差の目標値に古いネットワークを使用する • Clipping Rewards ◦ スコアのスケールを統一する • Skipping Frames ◦ 数フレームごとに行動を選択する 47 -
DQNの工夫: Experience Replay Reinforcement Learning for Robots Using Neural Network
[Lin+ 1993] で最初にExperience Replayが提案されている • 経験の相関性が高いとNNが過学習してしまう 過去の経験をメモリーに溜めて ランダムに経験を選んで学習に使用する • 価値を前の状態に伝搬させるには多く学習する必要がある 経験をミニバッチで学習させることで加速! • いい経験を一回しか使わないのは勿体無い 過去の経験を使いまわそう! 48 -
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 -
DQNの工夫: Freezing the Target Network 目標値の変動に伴うDNNで表現されたQ関数の 学習不安定性を解消するために • 誤差計算を行うときの目標のDNNを古いもので固定 •
一定周期(10000step毎)で現在のDNNと同期 50 TD誤差の目標計算に予測値を使っている ここを古いDNNにする -
DQNの工夫: Clipping Rewards ゲームによってスコアの大きさが異なると ハイパーパラメータを変える必要がある 例 • Pongでは一回点を取ると1点もらえる • Space
Invadersでは倒したインベーダの場所に応じて10~30点 様々なゲームに同じハイパーパラメータで対応するために、 • 負のスコアは-1 • 正のスコアは+1 で統一する 51 学習率 割引率 などなど -
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 -
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 -
Atari 2600 のゲームで学習した結果を人間のスコアと比較 特徴量を設計しなくても 人間より高いスコアが取れるようになった 人間より何%高いスコアが取れているかを示している 人間のプレイヤーは熟練者で • 効果音なし •
それぞれのゲームで2時間の練習後、20エピソードの平均値 55 青: DQN 灰: 当時最高の線形モデル -
ピクセルから価値推定まで: まとめ CNNを使った強化学習が行えるようになったことで、画像の何に 注目すれば価値に繋がるかを獲得できるようになった • DQN以前 ◦ 特徴量の設計を人間が行わないと学習が難しかった • DQN
◦ CNNを用いて画像から直接価値推定を行う ◦ 4つの工夫が欠かせない ▪ Experience Replay: 過去の経験を保存して学習 ▪ Target Network: 過去のDNNを固定して使用する ▪ Clipping Rewards: スコアのスケールを統一する ▪ Skipping Frames: 4フレームごとに行動選択 58 -
目次 1. イントロダクション: 強化学習の目標 2. 基礎編: DQNの誕生 a. ピクセルから価値推定まで b.
DQNの改良 3. 応用編: DQNのその先へ a. 一遍に覚える: 転移/マルチタスク学習 b. すぐに覚える: Episodic Control c. 好奇心に従う: Curiosity-driven Exploration 4. まとめ: これからの深層強化学習 59 -
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 推定値 -
Double DQN (2) • Deep Reinforcement Learning with Double Q-Learning
[Hasselt+ 2015] Double Q-Learning をDQNに応用してTD誤差の目標値計算を改善 現在のネットワークで選んだ行動に対するターゲットのQ値を使用 61 現在のネットワーク ターゲットネットワーク Y -
Prioritized Experience Replay [Schaul+ 2016] DQNではランダムに経験を選んで学習している →学習に有用な経験を優先して学習するように改善した TD誤差が大きい経験ほど優先して学習に使用する • 提案1:
誤差の大きさで重み付け • 提案2: 誤差の大きさの順位 TD誤差 学習に選ばれる確率 63 0除算を避ける定数 -
並列分散アーキテクチャの導入 • 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 -
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 -
強化学習の非同期化 • 4つの手法で非同期化を実現す るために 1. 各スレッド非共有なパラメータを 使って勾配を蓄積する 2. 一定間隔で蓄積した勾配で グローバルパラメータを更新
3. グローバルパラメータで 非共有なパラメータを更新 ということをやっている 66 1 2 3 -
複数エージェントによる利点 複数エージェントが同時に異なる経験を集めてくる スレッド数を多くすることで 同時に相関性の低い経験で学習を行える →Experience Replay をする必要がなくなる • メモリーの使用量が少なくて済む •
時系列に従ってDNNを使用することができる ◦ LSTMなどの再帰的なネットワークが使えるようになる 67 -
Asynchronous Advantage Actor-Critic 有名なA3Cのこと Actor-Criticは • 方策πを使って経験を集めるactor • 状態価値関数Vを推定するcritic で構成されており
actor: criticの推定する収益よりも高くなるような方策を学習 critic: actorの集めてくる経験から価値関数を学習 というように学習を行う 68 -
さらにA3Cを高速にする • Reinforcement Learning through Asynchronous Advantage Actor-Critic on a
GPU [Babaeizadeh+ 2017] 1つのGPUで並列計算はできないので マルチスレッドだとGPUが他のスレッドの処理をブロックする →GPUを使ったDNNの更新処理を キューで管理することで 他スレッドの処理をブロック しないようにした 70 -
DQNの改良: まとめ DQNの問題点や、工夫のさらなる改善を施した手法 • Double DQN ◦ 更新式をさらに安定させた • Dueling
DQN ◦ ネットワーク構造を改善した • Prioritized Experience Replay ◦ Experience Replay での経験の選び方を改善した • 非同期学習 ◦ 複数エージェントで経験の収集を行って学習を速くした 71 -
目次 1. イントロダクション: 強化学習の目標 2. 基礎編: DQNの誕生 a. ピクセルから価値推定まで b.
DQNの改良 3. 応用編: DQNのその先へ a. 一遍に覚える: 転移/マルチタスク学習 b. すぐに覚える: Episodic Control c. 好奇心に従う: Curiosity-driven Exploration 4. まとめ: これからの深層強化学習 72 -
一遍に覚える: 転移/マルチタスク学習 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 -
一遍に覚える: 転移/マルチタスク学習 問題: 難しいタスクを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 -
未来の状態を推定する特徴量を使う • Improving Generalisation for Temporal Difference Learning: The Successor
Representation [Dayan+ 1993] 強化学習において、汎用的に使える特徴量を使いたい →未来の状態を推定する表現 x 報酬の重みベクトルの内積で 価値を推定するように学習すると探索タスクで有効 • Successor Features for Transfer in Reinforcement Learning [Barret+ 2016] 深層強化学習においても未来の状態を推定する表現を用いた →環境は同じだが報酬の発生の仕方が変わるという条件では 報酬の重みベクトルだけ学習し直すことで効率よく学習できる 75 -
学習済みモデルから転移させる • Actor-Mimic Deep Multitiask and Transfer Reinforcement Learning [Parisotto+
2016] 新しいモデルに過去の知識を覚えさせたい →学習済みモデルを真似するように学習させて転移学習 学習済みのQ値の出力をsoftmaxしたものを真似るように学習 学習済みの隠れ層の発火を真似するように学習 76 Actor Mimic Network Expert -
DNNの構造を工夫して転移学習を行う • Progressive Neural Networks [Rusu+ 2016] 複数タスクをDNNで学習すると、どうしても以前のタスクの性能が落ち てしまう →以前のDNNの重みを固定して
新しいDNNを継ぎ足して学習 • PathNet [Fernando+ 2017] →大きなDNNをタスクごとに パスを切り替えることでマルチタスクと転移学習を行う 79 タスク1 タスク2 タスク3 -
ゲーム独自の情報も一緒に学習する • 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 -
UNREAL • Reinforcement Learning with Unsupervised Auxiliary Tasks [Jaderberg+ 2016]
UNsupervised REinforcement Auxiliary Learning (UNREAL)として有名 高次元の状態空間でさらに学習効率をあげたい →複数の別の学習タスクも一緒に行うことで特徴抽出を促進 • Pixel Control • Reward Prediction • Value Function Replay 畳み込み層を共有して学習を行う 82 -
補助タスク Pixel Control Pixel Changes • 画素値の変化が最大になるように行動させるQ関数 Network Features •
DNNの隠れ層の発火を最大化するように行動させるQ関数 Reward Prediction 状態のシークエンスから報酬の発生を予測するタスク Value Function Replay Experience Replay で価値関数を推定するタスク 83 -
実験 3D迷路の探索タスクとAtariで実験 • 3D迷路: A3Cよりも高い性能 • Atari: DQN, Dueling DQN,
Prioritized Dueling DQNより高い 85 -
ナビゲーション特化型のUNREAL • Learning To Navigate in Complex Environments [Mirowski+ 2017]
補助タスクを使ってより迷路探索タスクでの性能を向上した 導入した補助タスクは • 画像から奥行きを推定する教師あり学習 • 一度訪れたことがある場所かどうかを推定する教師あり学習 UNREALよりもナビゲーションタスクに特化した補助タスク 迷路探索タスクでパフォーマンスが向上 86 -
一遍に覚える: まとめ CNNによる特徴抽出やネットワークを拡張する形で 既存の知識を用いた学習をできるようにした • Successor Features for Transfer ◦
未来を推定する特徴抽出を行って特徴表現を再利用 • Actor-Mimic ◦ 学習済みモデルを模倣することで知識を再利用 • Progressive Neural Network ◦ 新たにDNNを継ぎ足していくことで複数タスクを学習 • PathNet ◦ 巨大なDNNのパスを切り替えることで複数タスクを学習 • UNREAL ◦ タスクに有用な情報を学習して特徴抽出を改善 87 -
目次 1. イントロダクション: 強化学習の目標 2. 基礎編: DQNの誕生 a. ピクセルから価値推定まで b.
DQNの改良 3. 応用編: DQNのその先へ a. 一遍に覚える: 転移/マルチタスク学習 b. すぐに覚える: Episodic Control c. 好奇心に従う: Curiosity-driven Exploration 4. まとめ: これからの深層強化学習 88 -
すぐに覚える: 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 -
すぐに覚える: Episodic Control 問題: 人間とは違い、既存の手法では一度の経験だけでは 最適な行動決定を行うのに十分な学習が行えない 方法: 外部メモリーに価値を保存して使用する • Hippocampal
Contributions to Control: The Third Way, 2007 • Model-Free Episodic Control, 2016 • Neural Episodic Control, 2017 90 -
Episodic Control を強化学習へ エピソード記憶: 自分の経験の記憶 人間は学習序盤でエピソード記憶を使って行動選択をしている これが Episodic Control である
Hippocampal Contributions to Control: The Third Way [Lengyel+ 2007] 強化学習において、学習序盤は目標の計算に推測値を使っている (bootstrap)ので学習効率が悪い →Episodic Controlの学習初期における優位性を主張 報酬が得られた行動シーケンスを保存して、そのシーケンスを 再生することで学習序盤の学習性能を改善する可能性を示した 91 -
AtariでEpisodic Control Model-Free Episodic Control [Blundell+ 2016] DQNはbootstrapで学習しているので序盤のスコアが低い →得られた経験から直接価値を計算して序盤のスコアを向上 DNNで近似せず状態x行動のテーブルQECを用いてQ値を保存
→エピソード記憶として価値を保存 状態は入力画像に対して以下のどちらかのエンコードを行う • EC-RP: ランダムに決められた行列Aをかけることで圧縮する • EC-VAE: Variational AutoEncoderを使って圧縮する 92 -
さらに先へ • Neural Episodic Control [Pritzel+ 2017] MFECでの入力状態のエンコードは報酬ー状態の関係を 考慮していなかった →End-to-EndでQ関数の更新が行えるようにして
報酬に関連した状態のエンコードができるようになった 学習序盤のパフォーマンスがさらに向上 96 -
メモリーモジュール 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 -
メモリーへのアクセス N-step Q学習で価値の推定を行い Q値を計算する度に、メモリーを更新 • 同じキーがある: 値を以下の式で更新 • 同じキーがない: 空きがあれば追加
空きがなければ最も使われてないものと交換 99 -
すぐに覚えられる: まとめ 経験から計算された価値を外部メモリーに保存して行動選択に用 いることで少ない経験で学習が行えた • Model-Free Episodic Control ◦ 状態をエンコードしたテーブルベースのQ学習で序盤から
行動選択できる • Neural Episodic Control ◦ メモリーに価値を保存して活用しつつ 状態の価値に結びつくエンコードを行う 104 -
目次 1. イントロダクション: 強化学習の目標 2. 基礎編: DQNの誕生 a. ピクセルから価値推定まで b.
DQNの改良 3. 応用編: DQNのその先へ a. 一遍に覚える: 転移/マルチタスク学習 b. すぐに覚える: Episodic Control c. 好奇心に従う: Curiosity-driven Exploration 4. まとめ: これからの深層強化学習 105 -
好奇心に従う 問題: 報酬がないとどこを探索すればいいのか分からない 方法: 見たことのない場所に行った時に追加報酬を与える • 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 -
Curiosityと強化学習 A Possiblity for Implementing Curiosity and Boredom in Model-Building
Neural Controllers [Schmidhuber 1991] オンラインモデルベース強化学習において好奇心を導入する コンセプトを提案している Curiosityとは環境のモデルを改善したいという動機である 環境モデルによる推定と実際の観測の差から • 誤差の大きい状態: 正の内部報酬を与える • 誤差の小さい状態: 少ない正の内部報酬を与える 飽きるまで(誤差がなくなるまで)探索することで 環境のモデルを改善できる 110 -
見たことのない状態に報酬を与える Incentivizing Exploration In Reinforcement Learning With Deep Predictive Models
[Stadie+ 2015] ε-greedy法よりも優れた探索方法が欲しい →自分の今までの状態遷移のモデルから推測されるものと 違う状態に移動すると内部報酬を与える AutoEncoderで圧縮した入力の特徴表現を使って 次の状態を推定する学習を行う 探索が改善された結果Atariのスコアが上昇した 111 -
動画予測で訪れてない状態へ移動 • Action-Conditional Video Prediction using Deep Networks in Atari
Games [Oh+ 2015] この論文の最大の売りは動画予測の手法であるが Atariのゲームをaction-conditionalで100step先まで動画予測できるよ うになった →動画予測を使って直近で訪れていない状態へ移動 114 行動aを取った時の 推定フレーム 直近のフレーム 訪れたかどうか 訪れた回数 -
訪れた場所をカウントを内部報酬に • 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 -
観測を分類すると • コントロールできるもの ◦ マリオ • コントロールできないが自分へ影響を与えるもの ◦ クリボー •
自分に全く関係なく変化するもの ◦ コインのチカチカ 119 -
本当に興味のあるもの • コントロールできるもの ◦ マリオ • コントロールできないが自分へ影響を与えるもの ◦ クリボー •
自分に全く関係なく変化するもの ◦ コインのチカチカ 120 これっしょ -
Intrinsic Curiosity Module (ICM) Curiosity-driven Exloration by Self-supervised Prediction [Pathak+
2017] 興味のある変化だけに注目したい →自分の行動を推測する特徴量を使うことで画像から興味のある ものの変化だけに注目することができた 外部報酬一切なしで効率的な探索が行えるようになった 121 -
本当に面白いのを見分ける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 内部報酬 -
推定タスク(1/2): 逆モデル • 状態遷移から行動を推定する 入力: s t , s t+1
➡ 出力: a’ t 123 CNN CNN s t s t+1 CNN a’ t Φ t Φ t+1 誤差 予測の出力と実際の出力をsoftmaxしてクロスエントロピーを計算 -
推定タスク(2/2): 順モデル • 行動と状態から次の状態を推定する 状態は行動を推定するタスクで得られる表現(Φ)を用いる 124 CNN CNN s t
s t+1 CNN a’ t CNN a t Φ’ t+1 誤差 -
内部報酬 125 CNN CNN s t s t+1 CNN a
t CNN a t Φ’ t+1 Φ t+1 ri t -
実験 画素の予測誤差のみで内部報酬を発生させるICM(pixels)と複 数の設定で比較した 128 CNN a t s t s
t+1 s’ t+1 ri t ICM(pixels)の構成 画像そのまま -
迷路タスクで検証 VizDoomの3D迷路でゴールすると+1の報酬が発生する • dense: 青い点からスタートできる • sparse: ゴールから270step離れてる部屋からスタート • very
sparse: ゴールから350step離れている部屋からスタート 129 -
外部報酬なしの環境での探索実験 外部報酬を与えずにどこまで環境を探索できるかを検証 • VizDoom ICM: 一番遠くの部屋まで行けた ランダム探索: 多くの場合壁にハマってしまった • マリオ
Level-1の30%の空間を探索することができた しかも内部報酬を最大化するために、敵を倒すことを覚えた 132 -
好奇心に従う: まとめ 今まで見たことのない状態へ移動することに、内部的な報酬を発 生させることで探索を効率化した • Incentivizing Exploration ◦ ピクセル変化の推定と実際の観測との差で内部報酬 •
Action-Conditional Video Prediction ◦ 動画予測を使って訪れていないところへ探索 • 訪れた回数をカウント ◦ 訪れた回数が少ない状態への移動に内部報酬 • Intrinsic Curiosity Module ◦ 自分の行動に関連した特徴量を用いて内部報酬 137 -
目次 1. イントロダクション: 強化学習の目標 2. 基礎編: DQNの誕生 a. ピクセルから価値推定まで b.
DQNの改良 3. 応用編: DQNのその先へ a. 一遍に覚える: 転移/マルチタスク学習 b. すぐに覚える: Episodic Control c. 好奇心に従う: Curiosity-driven Exploration 4. まとめ: これからの深層強化学習 138 -
これまでの深層強化学習 DQN以降の研究の流れ • 2015 ◦ DQN本体の学習の安定化、高速化がメインだった • 2016 ◦ DNNによる特徴抽出に着目した転移学習や特徴抽出の
効率化を行う手法が多く提案された ◦ 状態空間の大きい3D空間を扱い始めた • 2017 ◦ 3D空間を扱える手法がさらに増えて、より長期的で 難しいタスクを扱っている ◦ 人間の学習から着想を得た手法が増えている 139 -
人間の学習を参考にした手法 紹介した論文では主に以下のものが人間の学習に触れている • UNREAL ◦ 人間は目標に直接関係ないものも学習しているのを参考 • Neural Episodic Control
◦ 人間のエピソード記憶を用いた行動選択を参考 • Curiosity-driven Exploration ◦ 人間が好奇心によって知識を得ているのを参考 今後も人間の学習を参考にした手法が 深層強化学習の世界を広げるだろう 142 -
R2-D2の実現 R2-D2を作るには • 様々なモデルの統合 • 自然言語を介した行動決定 • 安全な行動選択 • etc
上記のような課題などを解決することで実現できるかも 143 -
紹介論文リスト(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 -
紹介論文リスト(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 -
紹介論文リスト(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 -
紹介論文リスト(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 -
紹介論文リスト(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 -
サブゴール 問題: 報酬が手に入りにくいと、なかなか学習が進まない 方法: サブゴールを設定して報酬を密にする • 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 -
与えられたサブゴールを使って学習 • Classifying Options for Deep Reinforcement Learning [Arulkumaran+ 2016]
与えられたサブゴールごとに 異なる方策を使いたい →サブゴールの識別器と サブゴールの数分岐したDQNを 組み合わせて学習する • Universal Value Function Approximation [Schaul+ 2016] →サブゴールと状態を引数にとる価値関数を提案 154 サブゴール1用 サブゴール2用 -
Universal Value Function Approximation [Scault+ 2016] • ネットワークの構成として3つを提案した • サブゴールもDNNの入力に使うことによって
サブゴールに有用な特徴量を抽出することができる 155 提案1 提案2 提案3 -
サブゴールを用いて階層的に学習する Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic
Motivation [Kulkarni+ 2016] 階層的な構成でサブゴールを達成するように学習する手法 階層的な3つのモジュールからなっている • Meta Controller: サブゴールを識別する学習器 • Controller: 状態とサブゴールから行動を選択する学習器 • Critic: 行動がサブゴールを達成しているか識別する学習器 156 -
モジュール構成 • Meta-Controller: s → g 状態からサブゴールを選択 環境からの報酬を最大化 • Contoller:
s, g → a 状態とサブゴールから行動を選択 Criticからの報酬を最大化 • Critic: s, a, s’ → r サブゴールを達成できていれば Controllerに報酬を与える 157 -
命令を実行させる Beating Atari with Natural Language Guided Reinforcement Learning [Kaplan+
2017] 命令とその状態を紐づけたDNNを用いて、命令を実行すると追加で報 酬を与えた Montezuma’s Revenge を英語で命令して操作することでハイスコアを獲得 159 -
サブゴールを見つける • Subgoal Discovery for Hierarchical Reinforcement Learning Using Learned
Policies [Goel+ 2003] サブゴールは人が与えている →時刻tに状態sを訪れている回数の変化でサブゴールを判定 • Deep Successor Reinforcement Learning [Kulkarni+ 2016] 深層強化学習では? →未来を推定するように 学習した特徴量を使って 状態遷移をクラスタリング することでサブゴールを推定 160 -
サブゴールを見つけて内部報酬を与える Micro-Objective Learning: Accelerating Deep Reinforcement Learning through the Discovery
of Continuous Subgoals [Lee+ 2017] 報酬の発生する経路でよく訪れている場所 = サブゴール と考えることでサブゴールを設定 DNNで訪れた回数N(s)を推定して内部報酬を計算 161 -
単純にカウントした時の問題点 訪れた回数でサブゴールを決定すると • 図のようにループしているところが過大評価される • 追加で報酬を与えているので、サブゴールばかり訪れる →これを解決するために • エピソード中で一度だけカウントする •
サブゴールの報酬も一度しか与えない • カウントに上限も与える 162 -
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 -
行動ごとの価値の差を大きくする • Increasing the Action Gap: New Oprerators for Reinforcement
Learing [Bellemare+ 2015] 行動ごとの価値の差が大きくなれば行動選択が安定する →1つ先の状態の行動価値ごとの差が大きければ、その行動を 前の状態でも行うように更新する 1つ先の行動価値の平均との差 165 今の行動価値の平均との差 -
学習序盤のTD誤差計算をより正確に • Learning to Play in a Day: Faster Deep
Reinforcement Learning by Optimality Tightening [He+ 2016] TD誤差計算では目標値に予測値を使っている(bootstrap)ので 学習序盤は学習効率が悪い →経験で得られた収益を目標値に直接使用して効率をあげた 収益の上限と下限を定義 jからj+kの有限タイムステップの収益 上の式の変形 上限 下限 166 -
Learning to Play in a Day: Faster Deep Reinforcement Learning
by Optimality Tightening [He+ 2016] 収益の上限と下限を混ぜて以下の損失関数を最小化 上限 下限 DQNよりはるかに学習序盤からスコアが伸びた 167