1

私は現在、Qラーニングを使用して、壁や障害物でいっぱいの部屋で移動する方法をボットに教えようとしています。部屋の任意の場所から開始して、目標の状態に到達する必要があります(たとえば、ドアのあるタイルなど)。現在、別の牌に移動したい場合はその牌に移動しますが、将来的にはその代わりに別の牌に移動する可能性をランダムに追加する可能性があると考えていました。上下左右にしか動かせません。目標状態に到達すると+100が得られ、残りのアクションは0になります。

私はここにあるアルゴリズムを使用しています。これは次の画像で見ることができます。

代替テキスト 代替テキスト

さて、これに関して、私はいくつかの質問があります:

  1. ニューラルネットワークに少し似たQラーニングを使用する場合、学習フェーズと使用フェーズを区別する必要がありますか?つまり、最初の写真で彼らが示したのは学習用のものであり、2番目の写真では使用用のものであるようです。
  2. 最適なQ値の表に到達するには、無限のステップが必要であるとどこかで読みました。本当?それは真実ではないと思いますが、私はここで何かが欠けているに違いありません。
  3. TD(Temporal Differences)についても聞いたことがありますが、これは次の式で表されているようです。

    Q(a, s) = Q(a, s) * alpha * [R(a, s) + gamma * Max { Q(a', s' } - Q(a, s)]
    

    alpha = 1の場合、これは写真の最初に示されているように見えます。ここで、そのガンマはどのような違いをもたらしますか?

  4. 非常に大きな部屋(たとえば、300x200ピクセル)を試してみると、いくつかの問題が発生しました。基本的にランダムに実行されるため、部屋が非常に大きい場合、最初の状態からゴール状態にランダムに移動するのに多くの時間がかかります。それをスピードアップするためにどのような方法を使用できますか?そのエピソードで私が持っているものがすでにその状態にあるかどうかに関して、私はおそらく真と偽で満たされたテーブルを持っていると思いました。はいの場合は破棄し、いいえの場合はそこに行きます。私がすでにこれらすべての州にいた場合、私はランダムな州に行きます。このように、私が現在行っているよりも少ない頻度で状態を繰り返すことを知っているので、それは私が今していることと同じようになります。
  5. Q-Valueのルックアップテーブル以外のものを試したいので、このためにバックプロパゲーションでニューラルネットワークを使用することを考えていました。アクション(上、下、左、右)ごとにニューラルネットワークを使用してみます。これが最良の結果をもたらすと思われるためです。良いQ値関数近似を与えるために使用および実装できる他の方法(SVM以外に、自分で実装するのは非常に難しいようです)はありますか?
  6. 遺伝的アルゴリズムは、Q値マトリックスを基礎として使用して、この状況で良い結果をもたらすと思いますか?適応度関数をテストするにはどうすればよいですか?GAは一般的にもっとランダム/複雑なものに使用されているという印象を私に与えます。注意深く見ると、Q値は明確な傾向をたどっています。つまり、目標の近くではQ値が高く、目標から離れているほどQ値は低くなります。GAによってその結論に到達しようとすると、おそらく時間がかかりすぎるでしょうか。
4

2 に答える 2

5

私はこのトピックの専門家ではありませんが、多くの質問に直接
回答することにします [ところで、質問ごとに複数の+ repを取得する必要があります!...冗談です。 SO担当者」、私は投稿を避けたいと思います。これにより、合計20回の視聴があり、これらの訪問者の半数が手元にある概念の大まかなアイデアを持っています]

1)Q-2段階のことを学びますか?
はい、Qラーニングは、学習フェーズとアクションフェーズの2つのフェーズを意味します。多くの自動学習アルゴリズムと同様に、アクションフェーズでも「学習を続ける」ことができます。

2)最適なG行列のステップ数は無限ですか? 最適なQ行列を学習するために無限の学習サイクルを必要とするステートメントがどこにあるかわからない。確かに(そしてアルファ係数とガンマ係数が正しくない場合を除いて)、アルゴリズムは、おそらく非常に遅い速度でのみ収束します。これにより、300x200のゲームスペースのアイデアをスキップしてコメントするように促されます。そうです...そうです!そのようなスペースの場合、報酬モデルが与えられると、「最適な」Qテーブルを取得するには無限に見えるものが必要になります。 。さて、数学的にはアルゴリズムが最適なニバルナに到達しない可能性がありますが、実際の解決策としては、漸近線での作業で十分です。

3)TDモデルにおけるガンマの役割
これは、より高い報酬に向けたパス(ここではあなたのモデルでは文字通り)で報酬を延期することの重要性を示しています。これにより、一般に、学習がさらに遅くなるという犠牲を払って、アルゴリズムが解空間の極大値でスタックするのを防ぎます...

4)大きな迷路の学習に役立つ提案
Q学習の性質を裏切るリスクを冒して、目標からますます離れた場所でロボットを起動できます。これは、最初にゴールを囲む状態の領域でQマトリックスを改善するのに役立ち、次に、ゴールから半径が大きくなる範囲内でランダムに取得される初期状態として、この部分的に学習されたQマトリックスを活用します。

もう1つの、よりリスクの高いアプローチ(そして実際にQラーニングの本質をさらに信じるアプローチ)は、Rマトリックスを変更して、目標からの距離を減らしてランダムに配置された、ますます高い報酬を提供することです。このアプローチの欠点は、解空間に多くの極大値の機会を導入する可能性があることです。この場合、学習率やその他の要因が適切に調整されていないと、アルゴリズムがスタックする可能性があります。

これらのアプローチの両方、特に後者は、ソリューションにおけるあなたの(設計者の)「配線」として解釈することができます。他の人は、これは単にDPのダッシュをミックスに導入する方法としてであると言うでしょう...

5)ニューラルネット(NN)6)遺伝的アルゴリズム(GA)
NNまたはGAをミックスに追加することについての意見はありません。
私はおそらく、上記の数学的に正確ではないステートメントのいくつかで自分自身を十分に馬鹿にしました。;-)

于 2009-11-13T19:00:28.727 に答える
0

-アルファ値とガンマ値を変更してみてください。それらは重要なパラメータです。

-より多くのエピソードを試してください。

-探索の値を変更します。探索の探索が多すぎるのは良くありません。そして、十分な探索はグーグではありません。

于 2020-05-22T08:14:37.383 に答える