REINFORCE-RTG

概要

REINFORCE-RTG (残りの報酬付き)アルゴリズムは、モデルフリーでオンポリシーのオンライン強化学習アルゴリズムで、REINFORCEアルゴリズムを拡張したものです。方策勾配法として、REINFORCE-RTGでは、勾配上昇を使用してポリシーを直接更新することにより、ポリシーを反復的に改善します。REINFORCE-RTGアルゴリズムでは、期待累積割引報酬を推定するために、エピソードの軌道をサンプリングします。さらに、REINFORCE-RTGでは値関数をベースラインとして使用します。REINFORCEとは異なり、REINFORCE-RTGでは、方策勾配の計算に軌道全体の報酬を使用しません。

このアルゴリズムの根底にある主な概念は、因果関係という考えです。因果関係の考え方は、将来の時間ステップのアクションは過去の時間ステップの報酬に影響を与えないというものです。方策勾配では、因果関係を考慮して、指定された時間ステップの前に与えられた報酬を使用せずに計算することができます。かわりに、残存累積割引報酬(つまり、残りの報酬)を使用して計算されます。残りの報酬の数量は、方策勾配の分散減少と、学習パフォーマンスの向上につながります。

REINFORCE Reward-To-Goアルゴリズム

方策勾配アルゴリズムとして、REINFORCE-RTGは最適なポリシーを直接学習します。ポリシーは任意の関数近似器を使用して学習できますが、実際には、高度な表現力を提供するニューラルネットワークが使用されます。ポリシーが状態をアクションにマッピングするため、ニューラルネットワークの入力ノードと出力ノードは、環境で定義されている状態とアクションによってそれぞれ決定されます。同様に、状態値関数の入力ノードは、状態の数によって決定されます。値関数近似器には、出力ノードが1つだけあります。

次のステップは、REINFORCE-RTGアルゴリズムの一般的な学習アプローチを示しています。

  1. ポリシーネットワークpi Subscript theta. 別の形式を利用するにはイメージをクリックします。をパラメーターtheta. 別の形式を利用するにはイメージをクリックします。で初期化します。値関数ネットワークをパラメーターphi. 別の形式を利用するにはイメージをクリックします。で初期化します。
  2. エージェントが最終状態に到達するまでポリシーを実装させることで、pi Subscript theta. 別の形式を利用するにはイメージをクリックします。から軌道をサンプリングします。訪問した状態、実行したアクション、および受け取った報酬を記録します。Capital n. 別の形式を利用するにはイメージをクリックします。回繰り返します。ここで、Capital n. 別の形式を利用するにはイメージをクリックします。はユーザー指定の値です。
  3. 方策勾配の近似値を次のように計算します。nabla Subscript theta Baseline upper J left parenthesis theta right parenthesis almost equals StartFraction 1 Over upper N upper T EndFraction sigma summation Underscript i equals 1 Overscript upper N Endscripts sigma summation Underscript t equals 1 Overscript upper T Endscripts nabla Subscript theta Baseline log pi Subscript theta Baseline left parenthesis a Subscript t Superscript i Baseline vertical bar s Subscript t Superscript i Baseline right parenthesis left parenthesis sigma summation Underscript t prime equals t Overscript upper T Endscripts upper R left parenthesis tau Subscript t prime Superscript i Baseline right parenthesis minus upper V Subscript pi Baseline left parenthesis s Subscript t prime Superscript i Baseline right parenthesis right parenthesis. 別の形式を利用するにはイメージをクリックします。ここで、upper T. 別の形式を利用するにはイメージをクリックします。はエピソードの最後に到達するために必要なステップ数です。
  4. 更新ステップを使用してポリシーパラメーターを更新します。theta left arrow theta plus alpha nabla Subscript theta Baseline upper J left parenthesis theta right parenthesis. 別の形式を利用するにはイメージをクリックします。
  5. 次の損失を最小限に抑えることによって、値関数ネットワークパラメーターphi. 別の形式を利用するにはイメージをクリックします。を更新します。StartFraction 1 Over upper N upper T EndFraction sigma summation Underscript i equals 1 Overscript upper N Endscripts sigma summation Underscript t equals 1 Overscript upper T Endscripts left parenthesis upper R left parenthesis tau Subscript t Superscript i Baseline right parenthesis minus upper V Subscript pi Sub Subscript theta Subscript Baseline left parenthesis s Subscript t Superscript i Baseline right parenthesis right parenthesis squared. 別の形式を利用するにはイメージをクリックします。
  6. 学習が終了するまで、ステップ2-5を繰り返します。
  7. pi Subscript theta. 別の形式を利用するにはイメージをクリックします。を返します。

REINFORCE-RTGの使用

rlTrainPGアクションを呼び出し、pgAlgorithmパラメーターの値をREINFORCERTGとして指定することで、REINFORCE-RTGアルゴリズムを使用してポリシーに学習させます。actorModelパラメーターを使用してポリシーネットワークアーキテクチャを指定し、actorOptimizerパラメーターを使用してポリシーオプティマイザーを指定します。同様に、criticModelパラメーターとcriticOptimizerパラメーターでは、状態値関数upper V Subscript pi Baseline left parenthesis s right parenthesis. 別の形式を利用するにはイメージをクリックします。の学習方法を定義します。学習が完了すると、モデルのアーキテクチャと重みは、modelOutパラメーターを使用して指定したテーブルに保存されます。

REINFORCE-RTGのような方策勾配アルゴリズムの重要な特性は、ポリシーが確率的になる可能性があることです。実際、確率的ポリシーは、エージェントが探索するための主要なメカニズムです。通常、エージェントはランダムなポリシーで開始し、時間の経過とともに最適なポリシーに収束します。最適なポリシーは、決定論的または確率的になります。探索を促進するために、entropyCoefパラメーターを使用してエントロピー係数を0から1までの数値として指定できます。エントロピー係数は、ポリシー分布が持つことができるエントロピーの最小値として機能します。1に近い値では、ポリシーがアクションをよりランダムに実行するように促されるため、より多くの探索につながります。

結果

デフォルトでは、rlTrainPolicyGradientは、現在のCASセッションで単一のインメモリテーブルを作成し、複数の結果テーブルを表示します。インメモリテーブルにはアクターモデル情報が格納され、指定したtableパラメーターに従って名前が付けられます。結果テーブルには、いくつかの基本的なモデル情報と学習履歴が表示されます。CartPole-v0環境の出力例は次のとおりです。

REINFORCE-RTGアルゴリズムからのモデル情報。

REINFORCE-RTGアルゴリズムからの最適化履歴。

REINFORCE-RTGアルゴリズムからの最終結果。

最終更新: 2025年7月24日