Upgrade to Pro — share decks privately, control downloads, hide ads and more …

深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜

 深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜

slideshareで公開していた資料の再アップロードとなります。

深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
https://www.slideshare.net/juneokumura/rnnr2d2

Jun Ernesto Okumura

October 30, 2018
Tweet

More Decks by Jun Ernesto Okumura

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  5. 本講演のアウトライン
    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(深層強化学習)

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  9. 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]、…
    注意:実際にはこれらのアルゴリズムは複数の軸をまたいでおり、あくまでも便宜的な分類になっています
    本講演で触れる内容

    View Slide

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

    View Slide

  11. 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つの環境と通信して学習を行っていた

    View Slide

  12. 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) が大きくなるように学習
    ⇒より期待報酬が大きい行動を取りやすくなる

    View Slide

  13. 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

    View Slide

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

    View Slide

  15. A3C: Pseudo-code

    View Slide

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

    View Slide

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

    View Slide

  18. 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との通信がボトルネックになることがある

    View Slide

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

    View Slide

  20. Ape-X: Pseudo-code

    View Slide

  21. 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
    の生成タイミングのズレを補正している
    ● 分散学習で学習が効率化した他、複数タスクの同時学習でも成果が出た
    両者のいいとこ取りはできない?

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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


    Zero init.


    View Slide

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

    View Slide

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

    View Slide

  32. 過去の分散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

    View Slide

  33. R2D2

    View Slide

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

    View Slide

  35. 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で生成された初期状態

    View Slide

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

    View Slide

  37. 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を併用することで学習がさらに安定する

    View Slide

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

    View Slide

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

    View Slide

  40. 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

    View Slide

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

    View Slide

  42. 主に紹介している文献
    [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

    View Slide

  43. その他参考文献
    [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

    View Slide

  44. その他参考文献
    [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

    View Slide

  45. その他参考文献
    [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

    View Slide

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

    View Slide