[DL Hacks 実装]Playing FPS Games with Deep Reinforcement Learning

117 Views

February 02, 18

スライド概要

Deep Learning JP:
http://deeplearning.jp/hacks/

シェア

またはPlayer版

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

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

DEEP LEARNING JP [DL Papers] Playing FPS Games with Deep Reinforcement Learning Fujiki Nakamura http://deeplearning.jp/

2.

content - 書誌情報 ViZDoom と Visual Doom AI Competition review Deep Q-Networks MDP/POMDP POMDP における RL agent Arnold model - Experiments, Results, Conclusion - Bonus - Learning to Act by Predicting the Future (DFP) - UNREAL - RL Framework “Coach” - References 2

3.

書誌情報 - �出� arXiv on 18 Sep 2016. - AAAI 2017 accepted paper. - Guillaume Lample, Devendra Singh Chaplot - CMU �人た�. - Visual Doom AI Competition 2016 で2位���を収めたモデル. - チーム Terminators による Arnold という bot. - Visual Doom AI Competition 2017 で�1位. 3

4.

Visual Doom AI Competition - FPS (First Person Shooting) Game を題�にした強化学習�コン�テ�シ�ン. - ViZDoom [Kempka+ 2016] というプラットフォームが舞台. - 参�チーム��自が��した ViZDoom bot を競い合わせる. - 2016年�コン�で� Terminators チーム Arnold � full deathmatch ��� [YouTube] 4

5.

ViZDoom コン�テ�シ�ン��にもいくつか�シ�リ�が用意されている cf. ViZDoom Homepage health gathering. health pack を回収しより長く生き延びる. ����により�定�期で, また毒薬瓶に触れることで health を失う. Defend the Center. �����にいて,�りに出�する敵を倒す . 回転と射撃. basic. �対���に出�する敵を倒す. 横移動と射撃. 5

6.

Deep Q-Networks (brief review) - 方策 (policy) - 状態 s で�行動 a ��び方.π : S ↦ A - 確率的方策 π(a|s) であることもし�し�. - 収益 (Return) - を最大化したい. - ᶕ �値によって割り引く. - 行動価値関数 (Q-function) - 状態 s で行動 a を�び,そ��方策 π に�った�合�期待累積報酬. 6

7.

Deep Q-Networks (brief review) - 最適方策 π* - 期待累積報酬を最大化する方策. - 最適行動価値関数 - Q*(s, a) = Qπ*(s, a) = maxπQπ(s, a) - 最終的に,π(s) = argmaxaQ*(s, a) として最適方策を得る. - 最適行動価値 Q* をどうやって求めるか? - → Bellman 最適方程式 (Bellman optimality equation) - 最適行動価値関数に関する再帰的な関係式. - 行動価値関数が最適であるため��要����. 7

8.

Deep Q-Networks (brief review) - 最終的に,以���失関数を最適化する. Q ���� = ターゲット - Bellman 最適方程式���と��が�しくなることを��す. - DQN [Mnih+ 2015] �,以上�強化学習�基本的な�定に�えて,学習をうまく�めるため� 工夫が施されている. - Experience Replay - Target Q-Network - reward clipping - これら工夫があって�じめて DQN と呼ぶそう.[参考] � p.13. 8

9.

Deep Q-Networks (brief review) - DQN = Q-function �関数近�に CNN を使い,そ��学習上���な工夫�らした,画像で� 御できる強化学習モデル. �行動� Q値を出力 Mnih et al., 2015 9

10.

Markov Decision Process - マルコフ決定過程 (Markov Decision Process, MDP) - 環境と agent �インタラクシ�ンを�いた強化学習�問題�定�定式. - 完全観測 (fully observable) - 重要な��,���こと����状態��で決まる/決められるということ. Reinforcement Learning: An Introduction (Second edition), Sutton et.al. 10

11.

Markov Decision Process - [参考] David Silver �生�講義スライ�.ついでに [講義動画] 11

12.

Partially Observable MDP - agent が環境�状態を完全に観測することができると��らない. - 完全観測で�なくて,��観測. - 例え�,以����な例で�,����にかかわら�チーター�状態��化していない が,��せいで観測��化している. Sergey Levine による講義 CS 294: Deep Reinforcement Learning, Fall 2017 � Supervised learning and imitation 回�スライ�から��. 12

13.

Partially Observable MDP - (例によって) [参考] David Silver �生�講義スライ� st �も�や直接�観測されない ot を代わり受け取る 観測�観測関数 Z により決まる 13

14.

POMDP ��対処 - DQN が得意とする Atari も (よくよく考えれ�) POMDP. - 以���状態1つで�,Pong や Double Dunk ��ール�速�や Frostbite ����速 ���からない. - DQN で� 4フレームを重�て�ットワークに入力するという�ューリステ�ックな方法で対 処している. Hausknecht et al., 2015 14

15.

POMDP ��対処 - ���フレーム�差�を入力として,速��情報を得る. - Deep Reinforcement Learning: Pong from Pixels by Andrej Karpathy - �����モデル�,policy を直接最適化する policy gradient という手法. - ↔ DQN � Q値を推定する value-based な手法 (policy を��的に���しない) - Pong をプレイする agent を numpy でスクラッチで書いている. - チュートリアルとして�価が高い���ですよ�. 15

16.

Deep Recurrent Q-Networks - DRQN [Hausknecht+ 2015] - LSTM を使うことで1フレームを 入力としながらも,複数フレーム間 にまたがる情報を統合することが できる. - Arnold �基�となるモデル. 16

17.

Arnold model Game feature augmentation - 入力画像に映る物体を予測させた (enemy, health pack, weapon, ammo, etc) - ゲーム�����出をさせることでパフォーマンスが��. - → CNN � kernel が重要な情報を捉える. game feature あり��合 パフォーマンスが向上 17

18.

Arnold model - 18

19.

Arnold model Divide and conquer - deathmatch �敵���によって,2つ�フェー�に�けられる. - action phase : 敵と戦う - navigation phase : マップを探索し,アイテム・敵を探す - action network (= DRQN + game feature) が敵���を��. - 敵がいない or 弾薬がない → navigation network (= DQN) - それ以外 → action network 19

20.

Training Reward Shaping - コン�テ�シ�ン��価�,frag数 (= 敵を殺した数 - 自殺数) - sparse な�で学習が困難 かつ delayed な�で credit assignment も困難. - 報酬関数を工夫して,小さな即時報酬を導入,学習を高速化. - action network ➕ 敵を殺す ➖ 自殺 ➕ アイテムを拾う (health, weapon, ammo) ➖ health �低� (敵��撃を受ける, ���上を�く) ➖ 撃って弾薬を失う - navigation network ➕ アイテムを拾う ➖ ���上を�く 少し➕ 最��ステップから�移動��に�じて 20

21.

Training Frame Skip - 結果的に 4 frame skip するとよいことがわかった. - skip ��同じ行動をリ�ート.学習が高速化. Sequential updates - 最低でも 4 history を経てから update するようにした. update 数が多いと サンプル��関が高くなり,よくな い. 21

22.

Experiments Scenarios - deathmatch - built-in � Doom bot と対戦. - 最終スコア� frag数 (= 倒した bot 数 - 自殺数) - Limited deathmatch - 訓練とテストで同じマップ. - 武器���ットランチ�ー��.health pack と弾薬を回収できる. - Full deathmatch - 訓練とテストで異なるマップ. - 武器��ストルから�まる.��武器や health pack, 弾薬を回収できる. - 汎化性能をチェック. 22

23.

Experiments Evaluation Metrics - 基本,K/D (倒した数 / 倒された数) - �にも倒した数��対数,回収したアイテム数など Results & Analysis - デモ video - navigation network があるとよい (Table 2) - 武器・アイテムを回収することに貢献. - 人間を outperform (Table 1) - game feature �予測�あった�うがよい. - 敵���予測���と最終スコア��関 23

24.

Conclusion - recurrence を導入して POMDP に対処した DRQN + game feature で強い ViZDoom bot が できた. - ViZDoom AI Competition 2016 結果 - [Chaplot+ 2017] - frag数的に�2位. - K/D で��を�いている. - 2017年�コン�で�1位. 24

25.

Bonus - IntelAct [Dosovitskiy+ 2016] - Arnold ��敵 - 2016年�コン�で2位� Arnold に圧倒的差をつけて優勝. - (再掲) Visual Doom AI Competition 2016 - DL輪読会で読まれたことがある [link] - ��に���的な RL で�なく,教師あり学習. - health, frag, 弾薬数といった “measurements” ���における値を予測. - supplementary video, deathmatch - 著者らによる実装 [GitHub] と RL フレームワーク “Coach” で�実装がある. - UNREAL [Jaderberg+ 2016] [DeepMind Blog] - 基本的な RL で�わ�かな教師��を�りに学習している. - よって,大��データが�要 (サンプル効率❌) - 補助的な教師なしタスクを同時に学習させることで,問題解決. - Arnold � game feature 予測と同じ役割. 25

26.

Bonus RL Framework “Coach” - rllab, OpenAI baselines, ChainerRL, tensorforce ��間.2017年10月にリリース. - OpenAI Gym, Roboschool, ViZDoom ��環境が使える. - 最近,CARLA という自動運転シミュレータもサポート. - agent �ライン�ップ�,DQN, PG, A3C, PPO, etc - DFP もサポートしている�� Coach だけ! Reinforcement Learning Coach by Intel より引用 26

27.

Bonus Robotics だからといって何でも RL 使え�いい�か ...? (上���プチ�で�����している ) 自動運転にどれだけ RL が関係していく�か�,�人的に��. 27

28.

References - [Kempka+ 2016] ViZDoom: A Doom-based AI Research Platform for Visual Reinforcement Learning - [Mnih+ 2015] Human-level control through deep reinforcement learning - [Hausknecht+ 2015] Deep Recurrent Q-Learning for Partially Observable MDPs - [Chaplot+ 2017] Arnold: An Autonomous Agent to Play FPS Games - [Dosovitskiy+ 2016] Learning to Act by Predicting the Future - [Jaderberg+ 2016] Reinforcement Learning with Unsupervised Auxiliary Tasks - [Dosovitskiy+ 2017] CARLA: An Open Urban Driving Simulator 28