[DL輪読会]大規模分散強化学習の難しい問題設定への適用

>100 Views

September 21, 18

スライド概要

2018/09/21
Deep Learning JP:
http://deeplearning.jp/seminar-2/

シェア

またはPlayer版

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

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

DEEP LEARNING JP [DL Papers] 大規模分散強化学習の難しい問題設定への適用 Reiji Hatsuga, DeepX, Inc. http://deeplearning.jp/ 1

2.

モチベーション 大規模分散で強化学習を行うことにより、SimpleなRLアルゴリズムで難 しい問題設定のタスクも解けることがわかりつつある RLを使うにあたりその運用のどこが肝要なのかを理解する必要がある 2

3.

最近の強化学習の流れ 普通の問題設定のRLはほぼ解かれている Sample efficiency • Multi Task • Multi Agent • Transfer 3

4.

最近の強化学習の流れ 普通の問題設定のRLはほぼ解かれている Sample efficiency • Multi Task • Multi Agent • Transfer 4

5.

今回の発表で紹介する論文の結論 Multi Taskも、 Multi Agentも、 Transferも、 大規模分散学習 + 少しの工夫で解決しうる ※Multi Taskは均等にTaskがsamplingできるもの ※Multi AgentはCooperative Agent 5

6.

目次 • Multi Task • Multi Agent • Transfer • 共通項まとめ 6

7.

目次 • Multi Task • Multi Agent • Transfer • 共通項まとめ 7

8.

Multi Task • Multi-task Deep Reinforcement Learning with PopArt – DeepMind • 単一のエージェントを用いてAtari57ゲームのmedianスコアで のスコアを上回った 人間 8

9.

問題設定 • 単一Agentで、Action Spaceを各ゲームで共有 – Atariは入力interfaceが固定 • Atariの57個のゲームを全て解かせる 9

10.

How IMPALA + PopArt 10

11.

IMPALA • (勾配ではなく)エピソードを受け渡す分散強化学習 • Masterはエピソードを受け取り方策を更新 • Masterは複数のWorkerからエピソードを受け取るので、 Workerの方策とMasterの方策にLagが生じる • 生じたLagをOff-Policyとして、V-traceでcorrection 11

12.

分散環境 • データ効率を高める 12

13.

V-trace • 簡潔に言うとImportance Sampling – 現在の方策と違う方策でサンプリングされた エピソードについて、現在の方策でサンプリング した場合にどうなるか計算 • 元々のアルゴリズムはRetrace – Safe and Efficient Off-Policy Reinforcement Learning • 単純なISに加えて、分散低減のためのclippingを行っている 13

14.

How IMPALA + PopArt 14

15.

PopArt • Learning values across many orders of magnitude – DeepMind • Vfuncの値を平均、分散を推定しながら学習する • 平均、分散の推定はrunning mean • 強化学習における報酬値のScaleにinvariantにする – Scaleがどれほど強化学習の学習に影響を与えるかについて – DRL that matters(https://deeplearning.jp/deep-reinforcement-learning-that-matters/) – MPO(https://deeplearning.jp/hyper-parameter-agnostic-methods-in-reinforcement-learning/) 15

16.

Combination • IMPALAのVfuncのheadをgameの数だけ用意し、 の数だけ平均分散も用意する V1 S CNN V2 V3 ゲーム μ1 σ1 μ2 σ2 μ3 σ3 16

17.

結果 Median Score 17

18.

目次 • Multi Task • Multi Agent • Transfer • 共通項まとめ 18

19.

Multi Agent • OpenAI Five • Dota2の5vs5で、Top0.05%のPlayerで構成されるチームに勝利 • ※元々チームではない • ※チームとしてTop18なチームには敗れている 19

20.

学習方法 • Proximal Policy Optimization • 分散学習環境Rapid • Self-play • Multi-Agent用の工夫 20

21.

Proximal Policy Optimization • 一回の更新での方策の変化を抑えることによって安定して学習する • 尤度比をclipしたものを目的関数として使用する 21

22.

Rapid • 複数CPUでサンプルしたエピソードを複数GPUでoptimize • 勾配の同期は取りながらモデルを更新する 22

23.

Self-play • 8:2で現在の自分と、過去の自分を相手にしてエピソードを得る 23

24.

Multi Agent用の工夫 • Team sprit • どれだけチームの他のエージェントの報酬を気にするか – 0から1に学習中に増加させる • Network architecture • あんまよくわかってない – 解説記事 – (https://neuro.cs.ut.ee/the-use-of-embeddings-in-openai-five/ …) 24

25.

結果 • Top0.05%のプロや元プロのチームに勝つ • ただし、チームとしてTOP18のチームには負ける – 真にMulti Agentの問題を解決できてはいない? • 入力にAPIを使っており、ズルいのではないかという批判もある 25

26.

目次 • Multi Task • Multi Agent • Transfer • 共通項まとめ 26

27.

Transfer • Dactyl(OpenAI) • 複雑な動作において、sim2realを成功させた 27

28.

How • PPO • Domain Randomization • Asymmetric Vfunc • Rapid(OpenAI Fiveと同様) 28

29.

Domain Randomization • シミュレータ内で多数のバリエーションの環境を再現し、 現実をそのうちの一つと期待することで転移性能向上を狙う • 入力ノイズ – エピソード固定とタイムステップ毎 • 物理パラメタ • 制御誤差 29

30.

Asymmetric Vfunc • 学習中はシミュレータを使って学習するため、現実よりもリッチな情 報を得ることができる • Vfuncの入力にリッチな情報を使うことで、Vfuncの推定を向上させる • 転移して現実環境で使うときには方策だけとなるのでVfuncは使われ ない – Fine tuningはできない 30

31.

結果 31

32.

目次 • Multi Task • Multi Agent • Transfer • 共通項まとめ 32

33.

共通項 • 分散環境 • Policy based architecture • Scale • Asymmetric Vfunc (Multi Task and Transfer) • Discrete action space 33

34.

分散環境 • IMPALA or Rapid • どちらもデータ効率よくサンプルを集めることができる • GPU効率という面でいうと、IMPALAの方が良い • Rapidは同期の取れたエピソードが来るため、On policyが使える – GPUを複数台用意し、Scaleさせる必要がある 34

35.

Policy based architecture • Q学習のような価値関数ベースの手法でない • なぜか • Vfuncとpolicyという2つの役割を分けることで難しい問題設定に適用 しやすい – Asym Vfunc – PopArt • 例えばQ学習でPopArtを各ゲームに対して適用すると、 推論時にどのゲームをやっているのかという情報が必要になる – 推定する? • 学習しやすい? 35

36.

Scale • IMPALAでは説明したとおり • PPOでも実はAdvantage Functionの正規化が行われている • Vfuncに対しても、PopArtを使っている • この辺の工夫は常識? 36

37.

Asymmetric Vfunc • Multi Taskでは現在どのゲームをやっているかという情報をVfuncには 入れ、PolicyはGame-agnosticにしている • Transferではシミュレータのリッチな情報をVfuncに入れ、Policyは少な い情報(転移先)でも上手く操作できるようにしている 37

38.

Discrete action space • 実は共通してdiscrete action space – 連続空間のものはdiscretizeしている • 元々はQ関数系がdiscreteで、policy系が連続値的な棲み分けがあった • 最近はpolicyでdiscreteが多い • All you need is Discrete Action Spaceという論文を書きたい 38

39.

感想 • 難しい問題設定にシンプルな強化学習を適用し、 良い性能を見せるものが増えてきている • それらをまとめてみてみると、現在のデファクトスタンダードのよう なものが見えてくる(?) 39

40.

宣伝 • Machina(マキナ)という強化学習ライブラリを11/20に公開します • Rapidのような分散並列計算を行える(予定) – 現在1ノードでの複数GPU計算は可能 – IMPALAも実装したい • 色んな強化学習アルゴリズム • 弊社業務に使用しているライブラリで、実機との接続や、 複雑な問題設定に適用しやすいライブラリです 40