3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Asynchronous Methods for Deep Reinforcement Learningを読んだ

Last updated at Posted at 2018-07-30

Volodymyr Mnih, Adrià Puigdomènech Badia, Mehdi Mirza, Alex Graves, Timothy P. Lillicrap, Tim Harley, David Silver, Koray Kavukcuoglu
ICML 2016
arXiv, pdf

どんなもの?

CPUで複数のactor-learnersを並列に計算することで,パラメータを非同期に更新.
GPUを用いたDQNよりも早く,安定した学習が可能になった.

先行研究との差分

DQNの学習は不安定で,パラメータの更新はデータと強い相関を持ってしまう.
そこで学習の安定のためにexperience replayが用いられる.
しかしexperience replayを使うと,大きなメモリが必要となる,Q学習などのoff-policy型のアルゴリズムに限られる,などの問題がある.

先行研究との差分

  • CPUによる並列計算で強化学習
  • experience replayを使用せずに,安定した学習ができる
    • 必要なメモリを削減
    • on-policy型のアルゴリズムも使える
  • state-of-the-artの手法よりも高速で,より良い方策を学習できる

技術や手法のキモ

CPUで複数のactor-learners(NARUTOの影分身の術みたいな感じ?)を並列に計算することで,パラメータを非同期に更新.
アルゴリズムの異なる4つの手法を提案.

  • Asynchronous one-step Q-learning
    毎ステップ,ローカルの$d\theta$を更新.
    image.png

  • Asynchronous one-step Sarsa
    流れはAsynchronous one-step Q-learningと同様.更新式がSarsa.

  • Asynchronous n-step Q-learning
    terminal状態になるか,$t_{max}$ステップ経過後にローカルの$d\theta$を更新.
    image.png

  • Asynchronous advantage actor-critic (A3C)
    流れはAsynchronous n-step Q-learningと同様.アルゴリズムはAdvantage Actor-Critic. Actor-Criticは方策と状態価値関数をそれぞれ独立に推定する手法.
    image.png

どうやって有効性を検証したか

Atari 2600 games, TORCS 3D car racing simulator, Mujoco, Labyrinthで実験.

  • Atari 2600 Games
    DQNはNvidia K40 GPUで,非同期手法は16コアCPUで学習.

    • どの非同期手法もDQNより早く学習が進んでいる
    • one-stepよりn-stepの方が良さそう
    • A3Cが他を圧倒

image.png

(急にFF, LSTMが出てきて困惑)
1日の学習でDueling Double DQNやGorila並みのスコアになっている.

image.png


  • TORCS Car Racing Simulator
    もっとリアルな画像で,車の動きや制御の学習が求められる.
    4つのセッティングで実験.
    A3Cが最も良く,human testerの75~90%のスコアが得られた.
    human testerは12時間訓練.
    https://youtu.be/0xo1Ldx3L5Q

image.png


  • Continuous Action Control Using the MuJoCo Physics Simulator
    物理エンジンで関節の制御.
    24時間弱の学習で非常に良い結果が得られるが2, 3時間の学習でもある程度学習できた.
    https://youtu.be/Ajjc08-iPx8

  • Labyrinth
    報酬は迷路の中でランダムに生成される.
    agentのスタート地点は毎エピソードでランダム.
    迷路にはapplesとportalsが設置されていて,applesを取ると報酬1獲得,portalsを取ると報酬10を獲得し,ランダムな位置にリスポーン,取ったapplesは再生成.(「たくさんapplesを取ってリスポーン」を繰り返すと高得点)
    1エピソードは60秒で終了.
    A3C LSTMで訓練.
    https://youtu.be/nMR5mjCFZCw

  • Scalability and Data Efficiency
    スレッド数とあるスコアに到達するまでの時間の関係性.
    one-step手法で大幅なスピードアップ.スレッド数が増えたことで,one-stepのバイアスが低減されたからか.
    image.png

  • Robustness and Stability
    学習率を変えた時のA3Cのスコア(5 games).
    ある程度の範囲の学習率で高スコアが得られていることからハイパーパラメータの変化に頑健.

image.png

議論はあるか

  • CPUで並列に学習を走らせることで,安定した学習が可能なA3Cを提案
  • experience replay無しで安定したQ-learningが可能になった.experience replayと非同期学習を組み合わせる事で,より高性能になるかも

次に読むべき論文

Reinforcement Learning with Unsupervised Auxiliary Tasks

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?