うめこの開発日記

PCゲームや人工知能関連の話題についての日記

【論文読み】Diversity-Driven Exploration Strategy For Deep Reinforcement Learning

NIPS2018で発表予定の論文です(多分)

Diversity-Driven Exploration Strategy for Deep Reinforcement Learning | OpenReview

↑を読みました。ICLRの短いやつなので、NIPSに通ったものとは違うと思います。

自分の研究と近いので読んでメモを残しておきたいと思います。全体的な感想としては、とてもシンプルなアプローチながらかなり効果的な印象を受けます。比較手法としては、やはりDeepmindが出したNoisy-Netでしょうか、論文中ではベースライン手法として登場しますが、論文ではatariの全てのゲームの結果が提示されていませんので、実際にどちらが良いのかはよく分かりません。 

 

【概要(ただの日本語訳)】

強化学習において効率的な探索は未だに難しい問題である。特に環境が膨大な状態空間、陥りやすい局所解、スパースな報酬を持つとき問題となる。この問題に対し、本稿では多様性を用いたon-policy法,off-policy法のどちらにも容易に適用できる探索法を提案し、単純に距離尺度を誤差関数に加えることで、提案手法はエージェントの探索が大幅に改善し、局所解に陥ることが妨げられることを示す。また、本稿では学習過程の安定のための適応的なスケーリング法も提案する。Atari2600のゲームを用いた実験を行い、提案手法が既存手法よりもいくつかのタスクで平均スコアと探索効率が上回ったことを示す。

 

【提案手法】

提案手法の目的は学習においてエージェントに異なる振る舞いをさせること、と書いてあり、多様な振る舞いをさせることで、より多様なデータを収集するアプローチです。

Diversity-driven explorationでは次のようにモデルの誤差関数に手を加えます。

L_D = L - \mathbb E_{\pi' \in \Pi'}[\alpha D(\pi, \pi')]

L :誤差関数

\pi :現在の方策

\pi' :直近の方策集合\Pi'からサンプリングされた方策

D :方策間の距離

\alpha :Dのスケーリングパラメータ

 

直感的には最近の方策と異なる方策になるように学習をさせる感じです。論文ではメリットが3点あげられております。

  1. 報酬の情報なしに新たな方策へ移行することができる(スパースな報酬の環境に有効)
  2. 完全なランダムではなく、現在の方策を変化させる
  3. エージェントはgreedyにも確率的にも行動できる

 

これを実際にDQNに適用すると次のようになります。

 

過去のQ関数をバッファZへ保存。Q'(s,a)と表記。

KL-divergenceを距離指標(D_{KL})とするので、方策にsoftmaxを加えQ値を確率値に変換。

すると、方策は次のように定義することができる。

\pi(s,a) = \exp(Q(s,a)) / \sum_i{\exp(Q(s,a))} 

誤差関数は次のように書き直すことできる。

L_D = L - \mathbb E_{Q'(s,a) \sim U(Z)}[\alpha D_{KL}(\pi(a|s), \pi'(a|s))]

 

【実験結果】

f:id:aniharu:20180926164810p:plain

f:id:aniharu:20180926164826p:plain

実験はatariのゲーム群の中から報酬がスパースで難しいものをピックアップして実験したそう。これを見た感じ提案手法はかなり良さそうに思える。特に、Div-DQNのVentureはかなりすごいのでは??

ただし、ICLRの査読コメントにもあるように、実験は3回の平均なので正直ちょっと少ないです。もっと実験回して、統計的な結果を付与したのがNIPSverなのかな?

ICLRのコメントには他手法との比較が少ないともありました、

[1]: Reinforcement Learning with Deep Energy-Based Policies (Haarnoja T., Tang H., Abbeel P., Levine S. ICML 2017)

[2]: Equivalence Between Policy Gradients and Soft Q-Learning ( Schulman, J., Abbeel, P. and Chen, X., arXiv preprint arXiv:1704.06440, 2017).

↑の2つらしい

 

ICLRで言われた部分を修正したものが、NIPSに出るんですかね...?そこらへんはよくわからないです