3

サイズ (nxn) のグリッドに Q 学習を実装し、中央に 100 の単一の報酬を設定しました。エージェントは、1000 エポックの間、次のエージェンシーによって目標に到達することを学習します。エージェントは、0.8 の確率で状態アクション値が最も高い動きを選択し、0.2 の確率でランダムな動きを選択します。移動後、Q 学習ルールによって状態アクション値が更新されます。

ここで、次の実験を行いました: ゴールに隣接するすべてのフィールドは、一番下の隣を除いて -100 の報酬を得ました。1000 エポックを学習した後、エージェントは明らかに上に行くことを避け、最も頻繁に下からゴールに到達します。

学習後、下隣の報酬を -100 に設定し、上隣の報酬を 0 に戻し、状態アクション値マップに固執しながら 1000 エポックの学習を再度開始します。それは実際には恐ろしいです!エージェントがゴールを見つけるのに非常に時間がかかります (9x9 グリッドで最大 3 分)。パスを確認した後、エージェントが (0,0)->(1,0)->(0,0)->(1,0) のような 2 つの状態の間を行き来するのに多くの時間を費やしていることがわかりました...

この振る舞いに意味があるかどうか、私には想像しがたいです。誰かがこのような状況を経験したことがありますか?

4

4 に答える 4

0

コードを教えてください。私には、この振る舞いは驚くべきものに見えます。

私見エージェントは、以前に学んだ知識を取り消すことができるはずです。そして、強化学習に「自信」のようなものがあってはなりません。グリッドは次のようになります

00000
00--0
0-+-0
0---0
00000

最後の試みで。最短経路でランダムにゴールにぶつかる確率は です0.2*1/3 * (0.8+0.2*1/9)。基本的にランダムに斜めに行ってから下に行きます。したがって、アルゴリズムはQ状態の値をゆっくりと更新する必要があります(1,1)。実際、この値を更新する値は at にあり5%ます。学習率が低すぎなければ、最終的には更新されます。ゴールに到達する他のすべてのパスは、他のパスをゼロに向かってゆっくりと引っ張ることに注意してください。

最初の 2 つの状態の間をジャンプしていると述べました。これは、割引率がないことを示しています。これにより、2 つの状態(0,0)(1,0)がかなり良いQ値を持っているが、これらは「自己報酬型」であるという状況が生じる可能性があります。または、更新関数で古い値を減算するのを忘れている可能性があります

于 2016-02-13T21:10:25.727 に答える