論文で理解するApe-Xの概要|論文で理解する深層強化学習の研究トレンド #1

f:id:lib-arts:20190920183641p:plain

上記シリーズでRainbowを取り扱ったのですが、実装ベースというよりは論文ベースでも研究トレンドを把握しておきたいということで新シリーズとして『論文で理解する深層強化学習の研究トレンド』として始めていきたいと思います。
#1ではRainbowの後の2018年にDeepMindが発表した"Ape-X(DISTRIBUTED PRIORITIZED EXPERIENCE REPLAY)"についてご紹介します。

[1803.00933] Distributed Prioritized Experience Replay
以下、目次になります。

1. Ape-Xの概要(Abstract、Introductionの確認)
1-1 Abstractの確認
1-2 Introductionの確認
2. 論文の重要なポイントの抜粋
2-1 Background(Section2)
2-2 Our Contribution: Distributed Prioritized Experience Replay(Section3)
2-3 Experiments(Section4)
2-4 Analysis(Section5)
3. まとめ


1. Ape-Xの概要(Abstract、Introductionの確認)
1-1 Abstractの確認
1-1節ではAbstractの内容を確認しながら概要について把握します。以下一文ずつ和訳とともに解説を行います。

We propose a distributed architecture for deep reinforcement learning at scale, that enables agents to learn effectively from orders of magnitude more data than previously possible.

和訳:『我々はエージェント(agents)が従来よりもより大きなデータから効率的に学習できるようにするための深層強化学習の分散アーキテクチャを提案する。』
ここでの分散は計算処理的な意味での分散を意味しています。すなわち処理を分散して行うことで処理スピードを速めることを意図しています。

The algorithm decouples acting from learning: the actors interact with their own instances of the environment by selecting actions according to a shared neural network, and accumulate the resulting experience in a shared experience replay memory; the learner replays samples of experience and updates the neural network.

和訳:『我々が考案したアルゴリズムは学習(learning)から実際のゲームなどの実施(acting)を分離する。より詳細に述べると、actorは共有されたニューラルネットワークにしたがって行動を選択することによって環境のインスタンスと相互作用し、共有の経験再生メモリー(shared experience replay memory)に結果の経験を蓄積する。learnerは経験のサンプルを再生し、ニューラルネットワークをアップデートする。』
この関係性については冒頭部にも貼っているFigure1がわかりやすいです。RainbowなどのそれまでのDeep Q-Network派生の強化学習アルゴリズムではOnline NetworkとTarget Networkの分離などは行っていましたが、学習(learning)とゲームの実施(acting)は同じOnline Networkにおいて行っていました。しかしlearningとactingが同じでなくてはならないという必要性はそこまでないので、このようにすることで計算の効率性を図ることは自然な発想だと思われます。

The architecture relies on prioritized experience replay to focus only on the most significant data generated by the actors.

和訳:『(我々の考案した)アーキテクチャはactorsによって生成された最も重要な経験にのみフォーカスするために優先度つき経験再生(prioritized experience replay)を用いている。』
優先度つき経験再生(prioritized experience replay)についてはRainbow[2017]でも利用されているので、Ape-X[2018]でもこちらを踏襲しているのではと思われます。1年後の研究であり、Rainbowのパフォーマンスと比較してみるという意味でも新規で取り組んでいるところ以外は、先行研究を踏襲するのは妥当だと思われます。

Our architecture substantially improves the state of the art on the Arcade Learning Environment, achieving better final performance in a fraction of the wall-clock training time.

和訳:『我々の考案したアーキテクチャはALE(the Arcade Learning Environment)において実質的にSotAを更新し、学習に用いられた時間におけるこれまでよりも良い最終結果を獲得した。』
どちらかというと全体的なベンチマークとして報告されているようなので、Ape-XはRainbowの後継的な位置付けて見ておくと良さそうです。


1-2 Introductionの確認
1-2ではIntroductionの確認を行っていきます。

f:id:lib-arts:20190920190536p:plain

基本的にはAbstractの内容を詳しく書いてあることが多いので以下パラグラフ単位でリーディングしていきます。

f:id:lib-arts:20190920190741p:plain

第一パラグラフでは、DeepLearning全体のトレンドとして大きなデータに対して大きなモデルを適用することはより衝撃的な結果を導くとしたのちに、これを深層強化学習(deep reinforcement learning)にあてはめるのは自然だとされています。また、深層強化学習の具体例としてGorila[2015]、A3C[2016]、AlphaGo[2016]などが挙げられています。

f:id:lib-arts:20190920191319p:plain

第二パラグラフでは、TensorFlowなどの分散学習ができる深層学習フレームワークの登場により、多くの大規模な機械学習システムが実装できるようになってきた一方で、多くの深層強化学習アルゴリズムは単一のマシンにおける計算でパフォーマンスを向上させようとしてきたことについて触れられています。

f:id:lib-arts:20190920191840p:plain

第三パラグラフでは、「分散処理を用いることでより大規模な処理を行う方法をこの論文(Ape-X)では紹介します」とされています。通常のDeepLearningにおいては勾配の計算の並列化にフォーカスしているが、この論文では経験の生成などを分散化するとされています。

f:id:lib-arts:20190920192424p:plain

f:id:lib-arts:20190920192437p:plain

第四パラグラフでは、Ape-Xで提唱する分散化のアーキテクチャをDeep Q-NetworksやDeep Deterministic Policy Gradientのスケールアップに適用したとされています。これによりスピードを向上させ、同一時間でのパフォーマンスにおけるSotAを更新したとされています。

f:id:lib-arts:20190920192923p:plain

第五パラグラフでは、(分散処理の)フレームワークのスケーラビリティを包括的に調査したとあり、"replay capacity"や"recency of the experience"、"the use of different data-generating policies for different workers"などの分析を行なったとされています。

ここまでのAbstractとIntroductionの内容で大体のイメージがついたので1節はここまでとします。


2. 論文の重要なポイントの抜粋
2節ではSection2以降の論文の重要なポイントを抜粋していきます。基本的に章立てにならいますが、細かい記述には立ち入らないで進めていきます。

 

2-1 Background(Section2)
Section2のBackgroundでは、(1)Distributed Stochastic Gradient Descent、(2)Distributed Importance Sampling、(3)Prioritized Experience Replayの三点についてまとめられています。
まず(1)はパラメータのアップデートに用いる勾配の計算を並列化する処理で、DeepLearningのスピードアップにあたって多く用いられているとされています。
次に(2)は重要度にしたがってサンプリングを行う手法で、Hintonの"To recognize shapes, first learn to generate images."[2007]などで有用性が示されてきたなどとされています。(3)は同様な話を強化学習におけるExperience Replayの文脈で言及しており、その流れでPrioritized experience replay[2016]などが紹介されています。

 

2-2 Our Contribution: Distributed Prioritized Experience Replay(Section3)

f:id:lib-arts:20190920200453p:plain

まずSection3の冒頭でApe-Xなどについて言及されているので、こちらから確認していきます。簡単に和訳すると、『この論文では優先度付き経験再生(prioritized experience replay)を分散処理の設定に拡張し、この設定は深層強化学習の大規模化への高度なアプローチであることを示す。我々はスケーラビリティを可能にするためにいくつかの重要な修正を導入し、これらのアプローチをApe-Xと名付ける。』となります。このため通称のApe-Xはここまで述べてきた分散処理の全体を総称したものと考えておくと良さそうです。

f:id:lib-arts:20190920201234p:plain

次に、Figure1について確認します。1節で確認したLearnerやActorについて図解されています。それぞれ、Actorは既存の方針(Neural Network)に基づいて意思決定を行い、環境との相互作用によりReplayに経験が積み重なっていきます。ちなみにこのとき蓄積される経験はtransitionなどとも呼ばれ、Rainbowなどでは(S_{t},A_{t},R_{t+1},\gamma_{t+1},S_{t+1})のように表記されています。Actorが複数あることにより、処理を分散することが可能になるというのがApe-Xが従来の研究に比べてアドバンテージとなっているポイントです。

f:id:lib-arts:20190920201843p:plain

上記のようなAlgorithmに基づいてActorとLearnerはそれぞれ処理を行なっていきます。これらに基づいて、Section3.1ではApe-XのDeep Q-Networkへの導入、Section3.2ではApe-XのDPG(Deterministic Policy Gradients)への導入についてまとめられています。

 

2-3 Experiments(Section4)
Section4のExperimentsではApe-Xの導入に関しての実験結果についてまとめられています。Section4.1ではApe-X Deep Q-Networkに対応してAtariについて、Section4.1ではAPE-X DPGに対応してContinuous Controlについてまとめられています。

f:id:lib-arts:20190920202506p:plain

まず上記のTable1ではAtariでの検証の結果についてまとめられています。A3CやRainbowなどと比較してもApe-Xが良い結果となっていることがわかります。理由としてはEnvironment Framesの数が大きく異なることでより多くの学習を行えたという風に考えておくと良さそうです。

 

2-4 Analysis(Section5)
Section5ではApe-X Deep Q-Networkの追加(aditional)実験を行うことで、ハイパーパラメータの設定について議論を行なっています。

f:id:lib-arts:20190920202958p:plain

上記の第二パラグラフではactorsの数について実験を行なっています。actorsの数の設定としては、(8, 16, 32, 64, 128, 256)のように2倍しながら実験が行われています。

f:id:lib-arts:20190920203250p:plain

結果は上記のFigure4にまとめられています。エージェントの数が増えるにつれてパフォーマンスが向上するということがわかります。

f:id:lib-arts:20190920203640p:plain

次にreplay memoryとパフォーマンスの関係性について実験されています。25万transition〜200万transitionについて比較されています。replay memoryを増やすことで少しだけ恩恵(small benefit)があったとされています。

 

3. まとめ
#1ではApe-X[2018]の論文についてまとめました。
#2ではApe-Xよりも後にDeepMindが発表し、SotAを達成したR2D2[2019]について取り扱います。