More Related Content More from Deep Learning JP (20) [DL Hacks 実装]Playing FPS Games with Deep Reinforcement Learning1. DEEP LEARNING JP
[DL Papers]
Fujiki Nakamura
Playing FPS Games with Deep Reinforcement Learning
http://deeplearning.jp/
2. - 書誌情報
- 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
content
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
4
- FPS (First Person Shooting) Game を題�にした強化学習�コン�テ�シ�ン.
- ViZDoom [Kempka+ 2016] というプラットフォームが舞台.
- 参�チーム��自が��した ViZDoom bot を競い合わせる.
- 2016年�コン�で� Terminators チーム Arnold � full deathmatch ��� [YouTube]
6. - 方方策策 (policy)
- 状態 s で�行動 a ��び方.π : S ↦ A
- 確率的方策 π(a|s) であることもし�し�.
- 収収益益 (Return)
- を最大化したい.
- �値によって割り引く.
- 行行動動価価値値関関数数 (Q-function)
- 状態 s で行動 a を�び,そ��方策 π に�った�合�期待累積報酬.
Deep Q-Networks (brief review)
6
7. - 最最適適方方策策 π*
- 期待累積報酬を最大化する方策.
- 最最適適行行動動価価値値関関数数
- Q*(s, a) = Qπ*
(s, a) = maxπ
Qπ
(s, a)
- 最終的に,π(s) = argmaxa
Q*(s, a) として最適方策を得る.
- 最適行動価値 Q* をどうやって求めるか?
- → Bellman 最最適適方方程程式式 (Bellman optimality equation)
- 最適行動価値関数に関する再帰的な関係式.
- 行動価値関数が最適であるため��要����.
Deep Q-Networks (brief review)
7
8. - 最終的に,以���失関数を最適化する.
- Bellman 最適方程式���と��が�しくなることを��す.
- DQN [Mnih+ 2015] �,以上�強化学習�基本的な�定に�えて,学習をうまく�めるため�
工夫が施されている.
- Experience Replay
- Target Q-Network
- reward clipping
- これら工夫があって�じめて DQN と呼ぶそう.[参考] � p.13.
Deep Q-Networks (brief review)
8
Q ����
= ターゲット
9. - DQN = Q-function �関数近�に CNN を使い,そ��学習上���な工夫�らした,画像で�
御できる強化学習モデル.
Deep Q-Networks (brief review)
9
�行動� Q値を出力
Mnih et al., 2015
10. Markov Decision Process
- ママルルココフフ決決定定過過程程 (Markov Decision Process, MDP)
- 環境と agent �インタラクシ�ンを�いた強化学習�問題�定�定式.
- 完全観測 (fully observable)
- 重要な��,���こと����状態��で決まる/決められるということ.
10Reinforcement Learning: An Introduction (Second edition), Sutton et.al.
12. Partially Observable MDP
- agent が環境�状態を完全に観測することができると��らない.
- 完全観測で�なくて,��観測.
- 例え�,以����な例で�,����にかかわら�チーター�状態��化していない
が,��せいで観測��化している.
12
Sergey Levine による講義 CS 294: Deep Reinforcement Learning, Fall 2017 �
Supervised learning and imitation 回�スライ�から��.
14. POMDP ��対処
- DQN が得意とする Atari も (よくよく考えれ�) POMDP.
- 以���状態1つで�,Pong や Double Dunk ��ール�速�や Frostbite ����速
���からない.
- DQN で� 4フレームを重�て�ットワークに入力するという�ューリステ�ックな方法で対
処している.
14Hausknecht et al., 2015
15. - ���フレーム�差�を入力として,速��情報を得る.
- Deep Reinforcement Learning: Pong from Pixels by Andrej Karpathy
- �����モデル�,policy を直接最適化する policy gradient という手法.
- ↔ DQN � Q値を推定する value-based な手法 (policy を��的に���しない)
- Pong をプレイする agent を numpy でスクラッチで書いている.
- チュートリアルとして�価が高い���ですよ�.
POMDP ��対処
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 が重要な情報を捉える.
17
game feature あり��合 パフォーマンスが向上
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 するようにした.
21
update 数が多いと サンプル��関が高くなり,よくな
い.
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. - recurrence を導入して POMDP に対処した DRQN + game feature で強い ViZDoom bot が
できた.
- ViZDoom AI Competition 2016 結果
- [Chaplot+ 2017]
- frag数的に�2位.
- K/D で��を�いている.
- 2017年�コン�で�1位.
Conclusion
24
25. Bonus
25
- 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 予測と同じ役割.
26. RL Framework “Coach”
- rllab, OpenAI baselines, ChainerRL, tensorforce ��間.2017年10月にリリース.
- OpenAI Gym, Roboschool, ViZDoom ��環境が使える.
- 最近,CARLA という自動運転シミュレータもサポート.
- agent �ライン�ップ�,DQN, PG, A3C, PPO, etc
- DFP もサポートしている�� Coach だけ!
Bonus
26Reinforcement Learning Coach by Intel より引用
28. References
28
- [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