マウンテンカー問題

強化学習における標準テスト領域

マウンテンカー問題

強化学習における標準的なテストドメインであるマウンテンカーは、パワー不足の車が急な坂を登る問題です。重力は車のエンジンよりも強いため、フルスロットルであっても、車は急な坂を単純に加速して登ることはできません。車は谷間に位置し、右端の坂の頂上にあるゴールに到達する前に、反対側の坂を登ることで位置エネルギーを活用することを学習する必要があります。このドメインは、様々な強化学習論文のテストベッドとして用いられてきました。

導入

マウンテンカー問題は、かなり単純ですが、強化学習エージェントが位置と速度という2つの連続変数について学習する必要があるため、広く適用されています。車両の任意の状態(位置と速度)に対して、エージェントは左に走る、右に走る、またはエンジンを全く使用しないという選択肢を与えられます。この問題の標準的なバージョンでは、エージェントは目標に到達しなかった場合、毎時間ステップごとに負の報酬を受け取ります。つまり、最初の成功までは目標に関する情報を持たないということです。

歴史

マウンテンカー問題は、アンドリュー・ムーアの博士論文(1990年)で初めて登場しました。[1]その後、シンとサットンの強化学習論文で適格性トレースを用いてより厳密に定義されました。[2]サットンとバルトが強化学習入門(1998年)にこの問題を追加したことで、より広く研究されるようになりました[3]長年にわたり、報酬関数、終了条件、開始状態を変更するバージョンなど、多くのバージョンが使用されてきました

マウンテンカーを解くために使用される技術

Q学習や、離散状態を離散行動にマッピングする類似の手法は、問題の連続状態空間を扱えるように拡張する必要があります。アプローチは、状態空間離散化関数近似の2つのカテゴリに分類されることが多いです。

離散化

このアプローチでは、2つの連続状態変数を複数の離散状態にバケット化することで、離散状態へと押し出します。このアプローチは適切に調整されたパラメータで機能しますが、ある状態から収集された情報が別の状態の評価に使用されないという欠点があります。タイルコーディングは離散化を改善するために使用でき、連続変数を互いにオフセットされたバケットセットにマッピングします。オフセットグリッドを合計すると情報が拡散するため、トレーニングの各ステップは価値関数近似に広範な影響を与えます。 [4]

関数近似

関数近似は、マウンテンカーを解くもう一つの方法です。事前に基底関数のセットを選択するか、車両の走行中に基底関数を生成することで、エージェントは各状態における価値関数を近似することができます。離散化によって生成される価値関数の段階的なバージョンとは異なり、関数近似はマウンテンカー領域の真の滑らかな関数をより明確に推定できます。 [5]

資格の痕跡

この問題の一側面は、実際の報酬の遅延に関係しています。エージェントは目標を成功裏に完了するまでは目標について学習できません。各試行において単純なアプローチをとった場合、車は目標の報酬をわずかにバックアップすることしかできません。これは単純な離散化における問題です。なぜなら、各離散状態は一度しかバックアップされないため、問題を学習するのに多くのエピソードが必要になるからです。この問題は、適格性トレースのメカニズムによって軽減できます。適格性トレースは、以前の状態に与えられた報酬を自動的にバックアップし、学習速度を劇的に向上させます。適格性トレースは、時間差分学習法からモンテカルロ法への橋渡しとして捉えることができます。[6]

技術的な詳細

マウンテンカー問題は多くの反復を経てきました。本節では、サットン(2008)による標準的な明確に定義されたバージョンに焦点を当てます。[7]

状態変数

2次元連続状態空間。

V e l o c t y 0.07 0.07 {\displaystyle 速度=(-0.07,0.07)}

P o s t o n 1.2 0.6 {\displaystyle 位置=(-1.2,0.6)}

アクション

1 次元の離散アクション空間。

メートル o t o r l e f t n e あなた t r 1つの l r グラム h t {\displaystyle motor=(left,neutral,right)}

褒美

各タイムステップごとに:

r e 1つの r d 1 {\displaystyle 報酬=-1}

更新機能

各タイムステップごとに:

c t o n [ 1 0 1 ] {\displaystyle アクション=[-1,0,1]}

V e l o c t y V e l o c t y + c t o n 0.001 + コス 3 P o s t o n 0.0025 {\displaystyle 速度=速度+(作用)*0.001+\cos(3*位置)*(-0.0025)}

P o s t o n P o s t o n + V e l o c t y {\displaystyle 位置=位置+速度}

開始条件

オプションとして、多くの実装では、より一般化された学習を示すために、両方のパラメータにランダム性を含めます。

P o s t o n 0.5 {\displaystyle 位置=-0.5}

V e l o c t y 0.0 {\displaystyle 速度=0.0}

終了条件

次の場合にシミュレーションを終了します。

P o s t o n 0.6 {\displaystyle 位置\geq 0.6}

バリエーション

マウンテンカーには、標準モデルから様々な方法で逸脱する多くのバージョンがあります。変化する変数には、問題の定数(重力や傾斜度)を変更して特定の方策に対する調整を不要にすることや、報酬関数を変更してエージェントの学習能力に異なる影響を与えることなどが含まれますが、これらに限定されません。例えば、報酬をゴールからの距離に等しくしたり、どこでも報酬を0、ゴールで1に変更したりすることが挙げられます。さらに、4次元の連続状態空間を持つ3次元のマウンテンカーを使用することもできます。[8]

参考文献

  1. ^ [Moore, 1990] A. Moore、「ロボット制御のための効率的なメモリベース学習」、博士論文、ケンブリッジ大学、1990年11月。
  2. ^ [Singh and Sutton, 1996] Singh, SP and Sutton, RS (1996) 適格性トレースの置き換えによる強化学習. 機械学習 22(1/2/3):123-158.
  3. ^ [Sutton and Barto, 1998] 強化学習入門. Richard S. Sutton and Andrew G. Barto. Bradford Book. The MIT Press Cambridge, Massachusetts London, England, 1998
  4. ^ “8.3.2 タイルコーディング”. 2012年4月28日時点のオリジナルよりアーカイブ2011年12月14日閲覧。
  5. ^ “8.4 関数近似による制御”. 2012年4月30日時点のオリジナルよりアーカイブ2011年12月14日閲覧。
  6. ^ サットン、リチャード・S.、バート、アンドリュー・G.、バッハ、フランシス(2018年11月13日)。「7. 適格性トレース」強化学習入門(第2版)。ブラッドフォードブック。ISBN 9780262039246
  7. ^ [Sutton, 2008] Mountain Car Software. Richard s. Sutton. http://www.cs.ualberta.ca/~sutton/MountainCar/MountainCar.html Archived 12 October 2009 at the Wayback Machine
  8. ^ “Mountain Car 3D (CPP) - RL-Library”. 2012年4月26日時点のオリジナルよりアーカイブ。 2011年12月14日閲覧

実装

  • C++ マウンテンカーソフトウェア。Richard S. Sutton。
  • RL Glue をサポートする Java マウンテンカー
  • Python、良い議論あり(ブログ投稿 - 下のページ)

さらに読む

  • サットン、リチャード・S. (1996). スパース粗符号化を用いたマウンテンカー. ニューラル情報処理システムの進歩. MIT Press. pp.  1038– 1044. CiteSeer x : 10.1.1.51.4764
  • 資格トレースを置き換えるマウンテンカー
  • 「連続状態空間に関するさらなる議論」2000年、  903~ 910頁。CiteSeerX  10.1.1.97.9314
  • マウンテンカーによるガウス過程
「https://en.wikipedia.org/w/index.php?title=Mountain_car_problem&oldid=1320857103」より取得