深層密度予測による擬似回数を報酬とした探索の論文を読む

ランニング30分 英語:Toeic

深層密度予測による擬似回数を報酬とした探索の論文を読む

[1703.01310] Count-Based Exploration with Neural Density Models

End-to-End(RealTimeで学習しながら問題を解く)のDQNは衝撃を与えたが、解けないゲームが多数あることが知られている。中でも右図のゲーム(Montezuma's Reveng)は最もDQNが解けなかったゲームである。

f:id:mabonki0725:20170827095038p:plain

このゲームはDQNで直接解くと同じ行動を繰り返して進まないことがわかっている。当然このゲーム攻略に注目が集まりDeepMindから擬似回数(pseudo-count)を使う画期的な論文が出てかなり高得点を得る様になった。

[1606.01868] Unifying Count-Based Exploration and Intrinsic Motivation

DeepMindはCTS(Context Tree Switching)というフィルターで画像を抽象化して、場面の再現の回数を擬似的に計算し、これを罰則として与えるものを発表した。この手法によりAgentはで出来るだけ異なった行動を採りゲームが進む様なっている。日本でも飯塚さん(日立)がこの手法で最高点を出し、OpenAIのイーロンマスクに招待されている。

https://www.slideshare.net/ItsukaraIitsuka/deepmind20166-unifying-countbased-exploration-and-intrinsic-motivation-pseudocount-montezumas-revenge

本論文は前掲の擬似回数の手法を精緻化したもので、この前掲論文を読んでいないと何が書かれているか全く理解できない。

前掲論文の比較すると以下である。

・画面密度の推定にCTS→PixelCNNを使用

・強化学習Q_learningで混合モデルを採用

・罰則モデルを精緻化

 

以下について記述する

・深層密度予測モデル(Density Model)

 RealTimeで場面の再現回数を計算するのは、全画面の画像を記憶する必要があり著しい計算コストがかかる。そこで画像を抽象化(画面を粗く灰色化)して特徴量を掴みやすくして、逐次的に過去の数画面から次の画面を予測するモデルが必要となる。pixelCNNはこの要求に沿ったCNNモデルである。

f:id:mabonki0725:20170827104710p:plain

・擬似回数(Peudo-count)

    nステップ後の画面xの改善度PG_n(x)は以下の情報量の増加で判断する

 PG_n(x) = \log \rho'_n(x) - log \rho_n(x)

    ここで

  \rho_n(x)はPixcelCNNの推定結果

  \rho'_n(x)は追加で学習した場合の推定結果

 擬似回数\hat{N}_n(x)は以下となる。

  \hat{N}_n(x) = \frac{\rho_n(x)(1-\rho'_n(x))}{\rho'_n(x) - \rho_n(x)}

   これを解くと

       \hat{N}_n(x) \approx \frac{1}{\left(e^{PG_n(x)} -1 \right)}

 ・混合Q_Learning

      Q_learningは一回先のTD法の状態価値関数\delta(x,a)

  MonteCalro法による最終回迄の価値関数\delta_{MC}(x,a)

  \betaでの混合で改善される。(MonteCalro法の具体的な方法は不明)

   Q(x,a) \gets  Q(x,a) + \alpha \left((1-\beta)\delta(x,a) + \beta \delta_{MC}(x,a)\right)

     TD法

     Q(x,a) \gets Q(x,a) + \alpha \left(r(x,a) + \gamma \max_{a'}Q(x',a') - Q(x,a) \right)

       \delta(x,a) =r(x,a) + \gamma \max_{a'}Q(x',a') - Q(x,a)

    MonteCarlo法

   Q(x,a) \gets Q(x,a) + \alpha \left( \sum_{t=0}^{\infty} \gamma^t r(x_t,a_t) - Q(x,a)\right)

     \delta_{MC} = \sum_{t=0}^{\infty} \gamma^t r(x_t,a_t) - Q(x,a)

 ・報酬

   報酬は擬似回数を罰則として逆数を加算している。擬似回数は改善度PG_n(x)に反比例し、ステップ数n^{1/2}に比例する値となっている。ここで調整c=0.1あたりが適切らしい。

   \hat{N}_n(x) = \frac{1}{\exp( c \cdot n^{-1/2} \cdot (PG_n(x))) -1}

   r(x,a) + \left(\hat{N}_n(x)\right)^{-1/2}

・結果

 提案モデル(DQN-PixelCNN)は全てのゲームに一定の成績を得ているが、肝心のMontezuma's Revengeでは前掲論文(DQN-CTS)に負けている。

 

f:id:mabonki0725:20170827102156p:plain