Slide 1

Slide 1 text

深層強化学習の分散化・RNN利用の動向 Recurrent Experience Replay in Distributed Reinforcement Learning (Anonymous authors, ICLR2019 submitted) Jun Ernesto Okumura @pacocat

Slide 2

Slide 2 text

Disclaimer ● 本日紹介する”R2D2”はICLR2019のOpenreview中の論文になります ● 分かりにくい箇所や、不正確な記載があればコメントください ○ Mail: [email protected] ○ Twitter: @pacocat

Slide 3

Slide 3 text

TL; DR ● Atari2600ベンチマークで大きな成績の伸長を達成したアルゴリズム ○ 52/57タイトルで人間のスコアを超えた ○ これまでSotAだったApe-Xと比較してx3以上の成績の改善 ● 分散強化学習アルゴリズムのApe-XにRNNを活用 ○ RNNを上手く初期化している ○ 他、報酬のclipping等いくつかの工夫がある ● ICLR2019 submitted https://openreview.net/forum?id=r1lyTjAqYX

Slide 4

Slide 4 text

参考資料 ● “DQNからRainbowまで 〜深層強化学習の最新動向〜” ○ 深層強化学習アルゴリズムの DQN※からRainbowまでの改良の歴史を概観 ○ https://www.slideshare.net/juneokumura/dqnrainbow ● “強化学習の分散アーキテクチャ変遷” ○ 深層強化学習の分散化の流れを概観 ○ https://www.slideshare.net/eratostennis/ss-90506270 ※ Deep Q-Network

Slide 5

Slide 5 text

本講演のアウトライン 1. R2D2※1にいたる背景 a. DRL※2の分散化の流れについて( DQN → A3C → Ape-X/IMPALA) b. DRLにRNNを使う際の課題について( DQN→DRQN) 2. R2D2紹介 ※1:Recurrent Replay Distributed DQN(本講演紹介論文) ※2:Deep Reinforcement Learning(深層強化学習)

Slide 6

Slide 6 text

強化学習のフレーム ● ある環境下で、目的とする収益を最大化するための戦略(行動系列) を獲得する機械学習の一種 ○ 教師データがなくても学習できる ■ 環境に対する試行錯誤によってターゲットをサンプリングできる ○ 未知の環境に対しても学習ができる ■ MDP(Markov Decision Process)の成立を仮定する必要がある

Slide 7

Slide 7 text

DQNの学習フレーム ● エージェントがサンプルしてきた経験をReplay Bufferにためて、 それらの経験をランダムに取り出し行動価値関数Qを更新 環境 エージェントが挙動方策に従って行動 行動と結果をReplay Bufferに保存 経験をランダムに取り出し Q関数を更新 経験のサンプリングによって作られるtgarget 現在のQ関数 Replay Buffer Agent ※DQNでは単に蓄積された経験からランダムサンプリングするが、  現在ではより有益な(Network更新に影響の多い≒TD誤差の大きい)経験を優先的に取り出す手法がよく使われれている  ⇒Prioritized Experience Replay [6]

Slide 8

Slide 8 text

DQN Architecture ● 前処理した4-frameのゲーム画面をCNNに入力し行動価値観数Q(s,a)を出力 ※ https://www.slideshare.net/juneokumura/dqnrainbow

Slide 9

Slide 9 text

DRLの発展軸 ● 学習の安定化・効率化 ○ Double-DQN [7]、Dueling-Net [8]、Multi-step [9]、Prioritized Experience Replay [6]、… ● 探索効率化 ○ NoisyNet [10]、Intrinsic Motivation [11]、Entropy Regularization [2]、… ● 模倣学習 ○ DQfD [12]、YouTube [13]、Reverse Curriculum [14]、… ● 表現学習(環境・状態・行動認識) ○ World Models [15]、Laplacian in RL [16]、ゲームコントローラーの行動 Imitation [17]、… ● 転移学習・マルチタスク ○ Distral [18]、PopArt [19]、… ● 分散学習 ○ Gorila [20]、A3C [2]、GA3C [21]、Ape-X [4]、IMPALA [5]、R2D2 [1]、… 注意:実際にはこれらのアルゴリズムは複数の軸をまたいでおり、あくまでも便宜的な分類になっています 本講演で触れる内容

Slide 10

Slide 10 text

DRLの分散化の流れ (A3C / Ape-X / IMPALA)

Slide 11

Slide 11 text

A3C (Asynchronous Advantage Actor-Critic) ● Asynchronous ○ workerが各環境で経験した結果から勾配を計算し、中央の Learnerが学習 ○ 適当なタイミングでGlobal Networkから各workerにパラメータがコピーされる ○ A3Cにおける分散化のメリット ■ 複数エージェントが探索するため経験が多様になる ■ Replay Bufferを必要としない ■ On-policyでも学習できる ■ RNNが使える ※ https://medium.com/emergent-future/simple-reinforcement-learning-with-tensorflow-part-8-asynchronous-actor-critic-agents-a3c-c88f72a5e9f2 DQNでは1つのエージェントが 1つの環境と通信して学習を行っていた

Slide 12

Slide 12 text

A3C (Asynchronous Advantage Actor-Critic) ● Actor-Critic ○ Actorが方策 π(a|s) に従って行動・学習し、 Criticが状態価値 V(s) を評価・学習する ○ Policy gradientとTD学習のいいとこどり Actorによる方策の更新則 Criticによる価値の更新則 期待報酬と価値評価が近づくよう学習 ⇒ πの行動をより正確に評価できるようになる Rは実際に獲得された報酬(e.g. 1-step だと      ) Actorは (R-V) が大きくなるように学習 ⇒より期待報酬が大きい行動を取りやすくなる

Slide 13

Slide 13 text

A3C (Asynchronous Advantage Actor-Critic) ● Advantage ○ 方策学習時にAdvantage関数を使うことでvarianceが小さくなる(学習が安定化する ※) ○ V(s) がbaselineとして機能 Advantage関数 直感的には  単に「選択行動がどれだけ良い行動か」を評価する代わりに「予測された期待と比べてどれくらいマシな行 動か」を重視して学習する。  例えばすべての行動が正の報酬を持つ場合は、どの行動に対してもポジティブなフィードバックがかかる が、本当はそれらの行動の中にもマシなものをそうでないものがあり区別したい。 ※ 証明等は例えば以下を参照 [23]: Weaver & Tao, “The Optimal Reward Baseline for Gradient-Based Reinforcement Learning”, https://arxiv.org/abs/1301.2315

Slide 14

Slide 14 text

A3C: Performance ● 当時の既存手法に対して大きな成績の伸長が見られた ● CPUのみで学習していることも特徴的 ※ mean scoreは参考にならないため、以後はMedianで評価

Slide 15

Slide 15 text

A3C: Pseudo-code

Slide 16

Slide 16 text

Ape-X: Overview ● Replay Bufferを使ったoff-policyな分散アルゴリズムで、当時SotAだった Rainbow DQNの成績を大きく上回った ● 経験の優先度の付け方が特徴的

Slide 17

Slide 17 text

Ape-X: Architecture ● Actor達が経験を獲得、Replay Bufferに経験をStoreする際に優先度付け※ ● LearnerはReplay Bufferから優先度に応じてサンプルしてNetworkを更新 ※ Prioritized DQNでは、どのような経験も一度は活用するために初期優先度を最高にしていたが、  分散環境では効率が悪いためStore時に(TD誤差に応じた)優先度を計算しておく

Slide 18

Slide 18 text

Ape-X: Supplement ● Rainbow DQNで使われた安定化・効率化の手法をいくつか引き継いでいる ○ Double DQN、Dueling Network、Multi-step bootstrap target (n=3)、gradient clipping (40) ● Off-policyのアルゴリズム ○ Actorの挙動方策と、LearnerがQ値の評価に使う推定方策が異なっていても OK ○ Multi-step報酬をoff-policy correctionなしに利用するのは精度上好ましくない ■ その代りに多くのActorに様々なεで探索させることで汎化を狙っている ● A3CのようにActorに勾配ではなく経験を送らせるのは最近の分散RLの特徴 ○ 一般的に、勾配のサイズは大きく Learnerとの通信がボトルネックになることがある

Slide 19

Slide 19 text

Ape-X: Performance ● DQN ~ Rainbow DQNのsingle agentによる学習と比較して大きな成績の伸長 ● 過去の分散RLアルゴリズムと比べても成績が改善している

Slide 20

Slide 20 text

Ape-X: Pseudo-code

Slide 21

Slide 21 text

IMPALA: Overview ● 分散off-policyアルゴリズム(e.g. Ape-X) ○ メリット:Actorの方策と学習方策が異なっていても使える( Replay Bufferが使える) ○ デメリット:policy gradient、miulti-stepと相性が悪い(RNNが使えない) ● 分散on-policyアルゴリズム(e.g. A3C) ○ メリット:状態表現に RNNが使える(時系列情報のより良い embeddingができる) ○ デメリット:Replay Bufferが使えない、ActorとLearnerの同期Lagが問題になる ● V-traceという軌跡の生成確率を考慮した重点サンプリングを利用して、on-policy の生成タイミングのズレを補正している ● 分散学習で学習が効率化した他、複数タスクの同時学習でも成果が出た 両者のいいとこ取りはできない?

Slide 22

Slide 22 text

IMPALA: V-trace ● Retrace(λ) [24]に着想を得ている※ ● Vの代わりにV-trace targetを定義(軌跡生成確率の重み付けを導入) ※ 日本語資料としては以下がわかりやすい   https://www.slideshare.net/RyoIwaki/safe-and-efficient-off-policy-reinforcement-learning

Slide 23

Slide 23 text

IMPALA: V-trace ● ρ の役割:収束値(不動点)に影響を及ぼす ○ で に近づく(挙動方策による V) ○ で に近づく(推定方策による V) ● c の役割:あるTDが過去の時刻にどの程度影響を与えるかを定義している ○ はバリアンスを抑える役割を果たしている( μが小さい時などに対応) ※ 日本語資料としては以下がわかりやすい   https://www.slideshare.net/eratostennis/ss-90506270

Slide 24

Slide 24 text

IMPALA: Architecture 分散アーキテクチャの比較 small architecture large architecture エージェントのNetwork ※ https://deepmind.com/blog/impala-scalable-distributed-deeprl-dmlab-30/

Slide 25

Slide 25 text

IMPALA: Architecture ● V-trace、非同期データ収集によって高いスループットを実現 ● A3Cなどと比較しても安定・スケーラブルなアーキテクチャ ※ https://deepmind.com/blog/impala-scalable-distributed-deeprl-dmlab-30/

Slide 26

Slide 26 text

IMPALA: Performance ● A3Cと比較して短時間で高い成績を実現した他、マルチタスクで好成績 ● RNNを使えるためDMLabのようなPOMDP環境でも高い成績を達成 DMLab-30 Atari2600 ※IMPALA-Expert:タスク毎に訓練したモデル (マルチタスクの方が成績がいいことに注目) ※PBT(population based training) (Hyperparameter を学習中に調整する手法)

Slide 27

Slide 27 text

DRLにRNNを使う際の課題 (DRQN)

Slide 28

Slide 28 text

背景 ● 方策にRNNを使う利点 ○ より良い時系列表現を獲得することで POMDPに対応できる利点がある( e.g. Mazeタスク) ● RNNを使う際の課題 ○ RNNの初期状態をどう定義するか、入力する状態をどこから開始するか、は自明ではない

Slide 29

Slide 29 text

DRQN(Deep Reccurent Q-Network) ● Atari2600において、2つのアプローチを比較 Bootstrapped Sequential Updates Bootstrapped Random updates ● エピソードを最初からすべて入力していく方法 ● RNN初期化で困ることはないが、バリアンスが大きい・エピソード長が可変・ 軌跡データの相関が i.i.d を崩してしまう、などの諸問題がある ● エピソードからランダムに軌跡を取り出し、 RNNの隠れ状態をzero入力する方法 ● シンプルかつランダムにサンプリングできるメリットはあるが、 隠れ状態をzero初期化するためにRNNが適切な表現を獲得できない可能性がある … … Zero init. … …

Slide 30

Slide 30 text

DRQN: Episode sampling study ● 著者達の実験では、両者に目立った差分はなかった※ ○ そのため、シンプルな random updatesの方を利用するスタンスを取っている ○ はっきりした議論がないため理論的な解釈はいくつかの余地がある ■ Atari2600では隣接する4-frameを1入力としているため、 POMDP環境ではないから? ■ zero init.を使ったとしても、十分 fowardすればRNN stateが回復するから? ※ 文献内には明確な議論を発見できませんでしたが「ちゃんと記述あるよ」「他文献で議論あるよ」という情報があれば  コメントいただけると嬉しいです。

Slide 31

Slide 31 text

DRQN: Performance ● DQN+LSTM w/ random updates でDQNと比較したが大きな差分はなかった ● 意図的にPOMDP環境にした比較実験では、DQNよりも高成績だった ○ 確率でエージェントに観測をできなくすることで POMDP環境を構築 ○ POMDP課題においてはRNNの導入が効果的であることを確認できた

Slide 32

Slide 32 text

過去の分散RL×RNNについて ● A3Cの場合※ ○ エピソードを最初から再生しながら更新( Bootstrapped Sequential Updatesに近い) ○ 一定間隔、例えば30step毎にActorが勾配を親に送る& Global Networkから同期する ● IMPALAの場合 ○ Actorが経験を蓄積する際に、 RNNの初期状態を一緒に保存、再生時に活用する (Bootstrapped Random updatesのzero初期化をより現実的な入力にしたパターン) ※ 以下の実装を参考   https://github.com/awjuliani/DeepRL-Agents/blob/master/A3C-Doom.ipynb

Slide 33

Slide 33 text

R2D2

Slide 34

Slide 34 text

R2D2: Overview ● Ape-XへのRNN導入に加え、学習を工夫を導入して大きな成績の改善を達成 ○ Atariタスクにおいては圧倒的なスコアを達成( Ape-Xの3倍) ○ 52/57のタイトルのmedian scoreが人間基準を超えた ● R2D2の貢献 ○ RNN活用時の”burn-in phase”の有用性について検証をした

Slide 35

Slide 35 text

R2D2: RNN initialization ● 既存研究から、RNNの初期化について2つの手法を提案 ○ recurrent stateの保存 ■ 経験保存時にRNNの初期状態を一緒にためて再生時に活用( e.g. IMPALA) ■ 保存時のNetworkと再生時のNetworkが違う問題は残る(i.e. recurrent state staleness) ○ burn-in phaseの活用 ■ エピソード再生する前に ”burn-in phase”を設けて、最新のNetworkでforwardすることでRNN の初期状態を生成する … … … Zero init. or “burn-in phase”: 初期状態を作り出すための経験再生 学習のための経験再生 burn-inで生成された初期状態

Slide 36

Slide 36 text

R2D2: RNN experiment ● 初期状態の作り方ごとにQ値の差分(安定性)を検証 ○ : Replay Bufferに保存された観測状態 ○ : Replay Bufferに保存された隠れ状態 ○ : RNNが出力する隠れ状態 ○ : Q関数 ○ : RNNの初期状態(0もしくは burn-inで生成した状態) ○ : から推論された隠れ状態

Slide 37

Slide 37 text

R2D2: RNN experiment ● 4パターンのRNN implementationを検証 ○ Zero-State ■ 初期状態のズレも大きく RNN stateの回復も遅い ○ Zero-State + Burn-in ■ Burn-inを入れるだけで初期状態のズレは大きく改善 ○ Stored-State ■ 定義上初期状態のズレは 0 ○ Stored-State + Burn-in ■ 最終状態で最もΔQが抑えられている ● Burn-inによる改善効果が大きい ● Stored-Stateを併用することで学習がさらに安定する

Slide 38

Slide 38 text

R2D2: Other Points ● 報酬のClipping ○ 従来のDQNsでは、複数タスクを同じ Network/Parameterで学習するために、 報酬を [-1, 0, 1] にclippingしていた ○ この手法では”Ms Pacman”のようなタスクで高得点を取るのは難しくなる ■ 本当は敵を食べる方が得点が高くなるのに、エージェントは目先のポイントを稼ぐことに集中 してしまう(clipされると違う報酬に対しても同じ 1がフィードバックされる) ○ 以下のような1/2乗で効く関数を用いる ○ 実際、”Ms Pacman”では成績が伸長

Slide 39

Slide 39 text

R2D2: Other Points ● 経験を優先度に応じてサンプルする際にImportance Samplingを使わない ○ Prioritized DQN以降、経験を優先付けて再生する際には ISを使っていた ■ 経験を偏った分布でサンプルすることは i.i.dを壊してしまうため ○ 実際にはIS無しでもパフォーマンスに影響がなかったため本論文では ISが使われていない※ ● エピソード終端をゲームオーバーで定義している ○ 従来のDQNsでは、エピソード終端がライフのなくなるタイミングだった ○ より現実のゲームルールに近づいている ● 報酬の割引率を高めに設定(γ = 0.997) ※ 実践的には有効かもしれないが、理論的にはモヤモヤが残る…

Slide 40

Slide 40 text

R2D2: Results ● Atari、DMLab-30それぞれにおいて大きな成績改善を達成 ● Atariに関してsub-humanなタイトルは探索が困難な5タスクのみ※ ○ Montezuma’s Revenge, Pitfall, Skiing, Solaris, Private Eye ※ 内3タイトルに関しては、人間のExpertデータによる表現学習を使った手法でsuper-humanを達成している [13]   参考:https://www.slideshare.net/juneokumura/playing-hard-exploration-games-by-watching-youtubedemonstration

Slide 41

Slide 41 text

R2D2: 感想 ● Atari、DMLabタスクでこれだけの圧倒的な成績を出せているのはすごい ● 一方で、成績改善に対しての理論的な解釈はまだはっきりないことが多く、 今後さらに追加実験やアップデートがあるかも(期待) ※ Openreview上のコメント   https://openreview.net/forum?id=r1lyTjAqYX

Slide 42

Slide 42 text

主に紹介している文献 [1] Recurrent Experience Replay in Distributed Reinforcement Learning, ICLR2019 submitted https://openreview.net/forum?id=r1lyTjAqYX [2] Volodymyr Mnih, et al., Asynchronous methods for deep reinforcement learning. In International conference on machine learning, pp. 1928–1937, 2016. https://arxiv.org/abs/1602.01783 [3] Matthew Hausknecht and Peter Stone. Deep recurrent Q-learning for partially observable MDPs. CoRR, abs/1507.06527, 7(1), 2015. https://arxiv.org/abs/1507.06527 [4] Dan Horgan, et al., Distributed prioritized experience replay. ICLR2018. https://arxiv.org/abs/1803.00933 [5] Lasse Espeholt, et al. Impala: Scalable distributed deep-rl with importance weighted actor-learner architectures. arXiv preprint arXiv:1802.01561, 2018. https://arxiv.org/abs/1802.01561

Slide 43

Slide 43 text

その他参考文献 [6] Tom Schaul, et al. Prioritized experience replay. In International Conference on Learning Representations, 2016. https://arxiv.org/abs/1511.05952 [7] Hado van Hasselt, et al. Deep reinforcement learning with double Q-learning. In Advances in Neural Information Processing Systems, 2016. https://arxiv.org/abs/1509.06461 [8] Ziyu Wang, et al. Dueling network architectures for deep reinforcement learning. In International Conference on Machine Learning, 2016. https://arxiv.org/abs/1511.06581 [9] Richard Sutton and Andrew Barto. Reinforcement learning: An introduction. MIT press Cambridge, 1998. [10] Fortunato, et al. 2017. Noisy networks for exploration. CoRR abs/1706.10295. https://arxiv.org/abs/1706.10295 [11] Bellemare, M., et al. Unifying count-based exploration and intrinsic motivation. In Advances in Neural Information Processing Systems 2016 (pp. 1471-1479). https://arxiv.org/abs/1606.01868 [12] Hester, T., et al. Deep Q-learning from Demonstrations. arXiv preprint arXiv:1704.03732. https://arxiv.org/abs/1704.03732

Slide 44

Slide 44 text

その他参考文献 [13] Yusuf Aytar, et al. Playing hard exploration games by watching YouTube. arXiv preprint arXiv:1805.11592. https://arxiv.org/abs/1805.11592 [14] Learning Montezuma’s Revenge from a Single Demonstration. OpenAI Blog. https://blog.openai.com/learning-montezumas-revenge-from-a-single-demonstration/ [15] David Ha and Jürgen Schmidhuber, World Models. arXiv preprint arXiv:1803.10122. https://arxiv.org/abs/1803.10122 [16] The Laplacian in RL: Learning Representations with Efficient Approximations, ICLR2019 submitted https://openreview.net/forum?id=HJlNpoA5YQ [17] Jack Harmer, et al., Imitation Learning with Concurrent Actions in 3D Games, arXiv preprint arXiv:1803.05402. https://arxiv.org/abs/1803.05402 [18] Teh, Y., et al. Distral: Robust multitask reinforcement learning. In Advances in Neural Information Processing Systems 2017 (pp. 4496-4506). https://arxiv.org/abs/1707.04175 [19] Hassel, Matteo, et al. Multi-task deep reinforcement learning with popart. arXiv preprint arXiv:1809.04474. https://arxiv.org/abs/1809.04474

Slide 45

Slide 45 text

その他参考文献 [20] Nair, Arun, et al. Massively parallel methods for deep reinforcement learning. arXiv preprint arXiv:1507.04296. https://arxiv.org/abs/1507.04296 [21] Babaeizadeh, Mohammad, et al. "Reinforcement learning through asynchronous advantage actor-critic on a gpu." arXiv preprint arXiv:1611.06256. https://arxiv.org/abs/1611.06256 [22] Weaver Lex and Tao Nigel. The optimal reward baseline for gradient-based reinforcement learning. In: Proceedings of the Seventeenth conference on Uncertainty in artificial intelligence. Morgan Kaufmann Publishers Inc., 2001. p. 538-545. https://arxiv.org/abs/1301.2315 [23] Munos, Rémi, et al. Safe and efficient off-policy reinforcement learning. In: Advances in Neural Information Processing Systems. 2016. p. 1054-1062. https://arxiv.org/abs/1606.02647

Slide 46

Slide 46 text

宣伝:共著で関わった本が出版されます ● 『データサイエンティスト養成読本 ビジネス活用編』 ○ 機械学習プロジェクトの進め方を実践的な観点でまとめました ○ データのビジネス活用や組織づくりに興味がある方はぜひ https://amazon.co.jp/dp/4297101084