5

問題:

グリッドの世界で簡単なタスクを実行するようにエージェントをトレーニングしました(障害物にぶつからずにグリッドの一番上に移動します)が、次の状況が常に発生するようです。それは状態空間の簡単な部分(障害物なし)にあるため、強力な正の強化信号を継続的に取得します。次に、それ自体が状態空間の難しい部分(2つの障害物の隣にくさび)であることがわかった場合、以前と同じアクションを選択するだけで、効果はありません(上昇して障害物にぶつかります)。最終的に、この値のQ値は負の報酬と一致しますが、この時点で、他のアクションのQ値は、状態空間の簡単な部分で役に立たないため、さらに低くなります。そのため、エラー信号はゼロになり、誤ったアクションは常に発生します。選ばれました。

どうすればこれを防ぐことができますか?私はいくつかの解決策を考えましたが、どれも実行可能ではないようです:

  • 常に探索が重いポリシーを使用してください。障害物は回避するために最大5つのアクションを実行するため、1つのランダムなアクションは時々効果がないように見えます。
  • 悪い行動が繰り返されると悪化するように報酬機能を作ります。これにより、報酬関数はマルコフ性を破ります。これは悪いことではないかもしれませんが、私には手がかりがありません。
  • タスクを完了したことに対してのみエージェントに報酬を与えます。タスクは完了するために1000以上のアクションを必要とするため、トレーニング信号は非常に弱くなります。

タスクの背景:

そこで、RLアルゴリズムを試すための小さなテストベッドを作成しました。これは、サットンの本で説明されているグリッドワールドのより複雑なバージョンのようなものです。世界は、0を背景にランダムなサイズの長方形の形で1が配置された大きなバイナリグリッド(300 x 1000)です。1のバンドが世界の端を囲んでいます。

エージェントは、この世界の1つのスペースと、その周囲の固定ウィンドウ(エージェントが中央にある41 x 41ウィンドウ)のみを占有します。エージェントのアクションは、4つの基本的な方向のいずれかに1スペース移動することで構成されます。エージェントは0でマークされたスペースのみを移動できます。1は通行できません。

この環境で実行される現在のタスクは、下部に沿ったランダムな位置から開始して、グリッドの世界の上部に到達することです。上に移動すると、+1の報酬が与えられます。障害物や世界の端にぶつかる動きには、-1の報酬が与えられます。他のすべての州は0の報酬を受け取ります。

エージェントは、ニューラルネット値関数近似器を備えた基本的なSARSAアルゴリズムを使用します(Suttonの本で説明されています)。ポリシーの決定については、e-greedyとsoftmaxの両方を試しました。

4

1 に答える 1

4

このようなタスクを教える典型的な方法は、エージェントに各ステップで負の報酬を与え、完了時に大きな報酬を与えることです。適格性トレースを使用し、最初にエージェントを目標の近くに配置し、次に探索したエリアの近くに配置することで、長い遅延を補うことができます。

于 2012-07-28T07:11:29.653 に答える