DeepMindのDQN統合版のRainBowの論文を読む

ランニング30分 英語できず

(1) DeepMindのDQN統合版のRainBowの論文を読む

 「Rainbow:Combining Imporvements in Deep Reinforcement Learninghttps://arxiv.org/abs/1710.02298

 2013年に発表されたDeepMind社のDQNの派生版を統合したRainbowの高パフォーマンスの論文です。

        f:id:mabonki0725:20171017160719p:plain

 DQNは2年後にアルファ碁のモデルの中核部分をなすモデルで如何に革新的なものであるか実績が示しています。

 DQNはDeepLearningを使ってEnd-to-Endでモデルを精緻化することに成功しました。

  ・DeepLearning(CNN)による特徴量の自動抽出

  ・自動抽出した特徴量を変数とする行動価値関数の精緻化

 特徴量による価値関数の精緻化はSuttonのニューロモデルで既に実現されていましたが、特徴量の抽出は試行錯誤でした。

 

 整理のためDQNの論文よりQ-learningの式を掲げます。

              https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf

    次式は繰返し毎に推定された前の価値行動関数と現在の価値行動関数の差を零にする様に学習しています。

         \mathcal{L_i}(\theta_i) = \mathbb{E} _{s,a \sim \rho(\cdot)} [y_i - Q(s,a | \theta_i)]^2

         但し、 y_i = \mathbb{E}_{s' \sim \varepsilon} [r + \gamma \ max_{a'} [Q(s',a' | \theta_{i-1} )]

 損失関数はL^2なので微分式は以下となります

   \frac{\partial \mathcal{L}_i(\theta_i)}{\partial \theta_i} = \mathbb{E}_{s,a \sim \rho(\cdot) \ s' \sim \varepsilon} [ \{r + \gamma \ max_{a'} [Q(s',a' | \theta_{i-1} ) -Q(s,a | \theta_i) \} \frac{\partial Q(s,a | \theta_i)}{\partial \theta_i}  ]  

         ここで

            \mathcal{L}_i(\theta_i)は損失関数

   iは繰返し数

            Q(s,a|\theta)\theta微分して精緻化する行動価値関数

   r \ \ \gammaは報酬と割引率

 しかしDQNには不得意なゲームがあり、その克服のため多くの改良版が主にDeepMindによって達成されてきました。

 

(1.1) 手法

  以下の6モデルを統合したのがRainbowとなりますが、

  5)の分散型強化学習(Deistributional RL)がベースとなっています。

  1) Double Q-Learning

   過学習を避けるため、a' \to max_{a'} Q(s',a'|\theta)でQ関数で推定し2重化しています。    

              \mathcal{L_i}(\theta_i) = \mathbb{E} _{s,a \sim \rho(\cdot)} [y_i(\theta_i) - Q(s,a | \theta_i)]^2

               y_i(\theta_i) = \mathbb{E}_{s' \sim \varepsilon} [r + \gamma [Q(s', max_{a'} Q(s',a' | \theta_i)| \theta_{i-1} )]

  2) Prioritize replay

   差の拡大を避けるためサンプリングの間隔を比例させています。

    \mathcal{p}_t  \propto  [r + \gamma \  max_{a'} [Q(s',a' | \theta_{i-1} ) ] - Q(s,a | \theta_i)]^2\

        3) Dueling netwwork

   DeepLearningの構成を強化学習用に変更 (意味不詳)

        4) Multi-step Learning

   倉庫問題や迷路問題を解くため、N期先の行動価値関数を推定しています。

           \mathcal{L_i}(\theta_i) = \mathbb{E} _{s,a \sim \rho(\cdot)} [y_i^N - Q(s,a | \theta_i)]^2

           但し、 y_i^N= \mathbb{E}_{s' \sim \varepsilon} [\sum_n^N r _n+ \gamma^N \ max_{a'} [Q(s_i^N,a' | \theta_{i-1} )]

        5) Deistributional RL

   これ以外は全て行動価値関数Q(s,a|\theta)の学習(Q_learing)でしたが、

           ここは唯一方策\piの学習になります。

            このアイデアはライバルAbbeel達のTRPO(Trust Region Policy)に近いものです。

   ここで報酬z区間v_{min} \sim v_{max}N_{atoms}に分割して、

            報酬z_i毎に行動価値関数q_\theta^i(s_t,a_t|z_i)を求めて方策\pi_\theta^*分布としています。

            \thetaの損失関数\mathcal{L}_{s,a}(\theta)は前の方策\pi_{\theta_-1}と現在の\pi_\thetaとの差としています。

                 \mathcal{L}_{s,a}(\theta) = \mathcal{D}_{KL} [\pi_{\theta+1} || \pi_\theta ]

     \pi_{\theta+1} = p_{\theta+1} (S_{t+1},a_{t+1}|z') \ \  z'=r + \gamma \cdot z

 

        6) Noisy Net

   DQNはMontezuma’s Revengeの様な変化の多い空間で移動する様なゲームでは同じ場面を繰返して最も不得意にしていました。

   そこで場面に叙々に少なくなる様なノイズをいれ大局的に場面の特徴量を掴む工夫を導入しています。

 f:id:mabonki0725:20170827095038p:plain

(1.1) 結果

 6個のモデルを統合したRainbowはゲームを問わず高得点を達成することを示しました。

f:id:mabonki0725:20171017161210p:plain