TadaoYamaokaの開発日記

個人開発しているスマホアプリや将棋AIの開発ネタを中心に書いていきます。

Agent57: Outperforming the Atari Human Benchmarkを読む その3

NGUの改善

状態行動価値関数のパラメーター化

  • 提案されているアーキテクチャの改善は、次のように状態行動価値関数を分割することである。

\displaystyle
\begin{equation*}
Q(x, a, j; \theta) = Q(x, a, j; \theta^e) + \beta_jQ(x, a, j; \theta^i)
\end{equation*}

  • ここで、Q(x, a, j; \theta^e)Q(x, a, j; \theta^i)は、それぞれQ(x, a, j; \theta)の外部コンポーネントと組み込みコンポーネントである。
  • 重みのセット\theta^e\theta^iは、同一のアーキテクチャ\theta = \theta^i\cup\theta^eを持つ2つのニューラルネットワークを個別にパラメーター化する。
  • Q(x, a, j; \theta^e)Q(x, a, j; \theta^i)は、それぞれラーナーで報酬r^er^iを使用して個別に最適化されるが、同じターゲット方策\pi(x) = argmax_{a\in\mathcal{A}}Q(x, a, j; \theta)を使用する。
  • より正確には、重み\theta^eおよび\theta^iを訓練するために、リプレイからサンプリングされた同じ遷移シーケンスを使用するが、2つの異なる変換されたRetrace損失関数を使用する。
  • Q(x, a, j; \theta^e)の場合、報酬r^eとターゲット方策\piを使用してシーケンス遷移の外因性変換Retrace損失を計算する。
  • Q(x, a, j; \theta^i)の場合、遷移の同じシーケンスで固有の変換されたRetrace損失を計算するが、報酬はr^iで、ターゲット方策は\piである。
  • 報酬rとターゲット方策\piを含む遷移のシーケンスで変換されたRetrace損失を計算する方法のリマインダーは、付録Cで提供されている。



  • さらに、付録Bでは、個別の状態行動価値のこの最適化が、(単純な勾配降下オプティマイザーの下で)報酬r^e + \beta_jr^iを使用した元の単一の状態行動価値関数の最適化と同等であることを示している。
  • 最適化の理論上の目的は同じですが、パラメーター化は異なる。2つの異なるニューラルネットワークを使用して、これらの状態行動価値のそれぞれ1つを概算する(使用されているアーキテクチャの概略図と詳細図は、付録Fにある)。
  • これにより、各ネットワークが対応する報酬に関連付けられたスケールと分散に適応できるようになる。また、関連するオプティマイザの状態を、内発的および外発的状態行動価値関数で分離できるようになる。



  • さらに、関数hを使用して変換されたベルマン演算子を使用すると(付録Aを参照)、次のように状態行動価値関数を分割できる。

\displaystyle
\begin{align*}
&Q(x, a, j; \theta)= 
\\
&h\left(h^{-1}(Q(x, a,j; \theta^e)) + \beta_j h^{-1}(Q(x, a,j; \theta^i))\right)
\end{align*}



  • 付録Bでは、分離された変換された状態行動価値関数の最適化が、元の単一の変換された状態行動価値関数の最適化と同等であることも示している。
  • 実際には、単純な分割または変換された分割を選択することは、パフォーマンスの点で重要な役割を果たすとは思われない(この結果の背後にある経験的証拠と直感は、付録H.3にある)。
  • 私たちの実験では、hが恒等であることに対応する単純な分割を持つアーキテクチャを選択するが、変換されたRetrace損失関数を引き続き使用する。

一連の方策に関する適応的探索

  • NGUの核となるアイデアは、単一のネットワークアーキテクチャを使用して、さまざまな程度の探索行動を伴う一連の方策を共同で訓練することである。
  • このように、これらの探索的方策の訓練は、外部からの報酬がない場合でも共有アーキテクチャの訓練に役立つ一連の補助タスクの役割を果たす。
  • このアプローチの主な制限は、学習の進歩への貢献に関係なく、すべての方策が等しく訓練されていることである。
  • 訓練時と評価時に使用する方策を適応的に選択できるメタコントローラを組み込むことを提案する。
  • これには2つの重要な結果がある。
  • 第1に、訓練中に優先する方策を選択することにより、ネットワークの容量をより多く割り当てることができ、目前のタスクに最も関連する方策の状態行動価値関数をより適切に表すことができる。
  • これは訓練プロセス全体で変更される可能性が高く、訓練を容易にするカリキュラムが自然に構築されることに注意してほしい。
  • 2章で述べたように、方策は探索率と割引係数(\beta_j, \gamma_j)のペアで表され、最大化する割引累積報酬を決定する。
  • \beta_jが高く、\gamma_jが低い方の方策が訓練の初期にさらに進歩することを期待するのは当然ですが、訓練が進むにつれてその逆が期待される。
  • 第2に、このメカニズムは、評価時に使用するファミリ内の最適な方策を選択する自然な方法も提供する。
  • \beta_j \approx 0\gamma_jの幅広い値を考慮すると、タスクごとに割引率を自動的に調整する方法が提供される。
  • これにより、アプローチの一般性が大幅に向上する。



  • 各アクターで独立して実行される非定常多腕バンディットアルゴリズムを使用してメタコントローラーを実装することを提案する。
  • グローバルなメタコントローラーとは対照的に、この選択の理由は、各アクターが最適なアームの選択を変更する可能性がある異なる\epsilon_l-greedy方策に従うことである。
  • N腕バンディットの各腕jは、ファミリーの方策にリンクされ、ペア(\beta_j, \gamma_j)に対応する。
  • 各エピソードの最初、たとえばk番目のエピソードで、メタコントローラーは実行される方策を腕J_k設定から選択します。 腕J_kは確率変数であるため、大文字を使用する。
  • 次に、l番目のアクターは、エピソード全体について、対応する状態行動価値関数Q(x, a, J_k; \theta_l)に関して\epsilon_l-greedyに動作する。
  • 割引されていない外発的エピソードの収益(R^e_k(J_k)と記す)は、メタコントローラーの多腕バンディットアルゴリズムを訓練するための報酬信号として使用される。



  • エージェントが訓練を通じて変化するため、報酬信号R^e_k(J_k)は非定常である。
  • したがって、Upper Confidence Bound(UCB)などの古典的なバンディットアルゴリズムは、時間の経過に伴う報酬の変化に適応できない。
  • したがって、\epsilon_{\texttt{UCB}}-greedyな探索を行う簡略化されたスライディングウィンドウUCBを使用する。
  • 確率1-\epsilon_{\texttt{UCB}}の場合、このアルゴリズムはサイズ\tauのスライディングウィンドウで従来のUCBのわずかな変更を実行し、確率\epsilon_{\texttt{UCB}}でランダムアームを選択します(アルゴリズムの詳細は付録Dで提供される)。



  • 訓練および評価時に割引係数を調整することの利点は、本質的な報酬がない場合でも適用できることに注意してほしい。
  • これを示すために、R2D2のバリアントをメタコントローラーで拡張することを提案する。
  • この変更の影響を分離するために、Agent57と同じRL損失を使用するR2D2のバリアントを評価する。
  • つまり、元の論文のように変換されたnステップ損失とは対照的に、変換されたRetrace損失である。
  • この論文では、このバリアントをR2D2(Retrace)と呼ぶ。
  • 他のすべての側面では、R2D2(Retrace)はR2D2とまったく同じアルゴリズムである。
  • \{\gamma_j\}_{j=0}^{N-1}によってパラメーター化されたいくつかの方策の共同訓練をR2D2(Retrace)に組み込む。
  • このアルゴリズムR2D2(バンディット)と呼ぶ。

(続く)