2017-04-25 4 views
0

学習者は訓練段階にあり、そこではエポックの束のためにQテーブルが更新されます。学習を強化する:Q学習の練習後にハイパーパラメータ(?)を無視する必要がありますか?

この段階では、Qテーブルはガンマ(割引率)、学習率(アルファ)で更新され、ランダムアクションレートでアクションが選択されます。

報酬が安定しているいくつかの時代の後、私はこの「トレーニングが完了しました」と呼ぶことにしましょう。その後、これらのパラメータ(ガンマ、学習率など)を無視しなければならないのですか?私が意味する

は、トレーニングの段階で、私はこのようなQ-テーブルからアクションを得た:

if rand_float < rar: 
    action = rand.randint(0, num_actions - 1) 
else: 
    action = np.argmax(Q[s_prime_as_index]) 

しかし、訓練段階の後、私はからアクションを取得する必要がありますを意味し、rarを削除する必要がありますこのようなQ-table?

action = np.argmax(self.Q[s_prime]) 
+0

どの言語とライブラリを使用していますか?タグを追加します。 – user31264

+0

私はライブラリを使用していません...自分でシステム全体を作りました – user3595632

+0

これはstats.stackexchange.comまたはai.stackexchange.comの質問です。 – user31264

答えて

2

値関数が収束すると(値の変更が停止する)、Q値更新を実行する必要がなくなります。これは、ガンマとアルファが更新にのみ影響するため、ガンマとアルファはもはや関係がないことを意味します。

εパラメータは探索ポリシー(e-greedy)の一部であり、エージェントがすべての状態を無期限に制限内に確実に訪れるようにします。これは、エージェントの価値関数が最終的に正しい値に収束することを保証する上で重要な要素です。しかし、価値関数が収束したと考えれば、価値関数が最良ではないと思われる行動をランダムに続ける必要はありません。価値関数が最適であると信じているので、あらゆる国家において最良の行動であることを貪欲に選択することによって、最適な政策を抽出する。

+0

ありがとう、ニック! :) – user3595632

+0

もう一つ。トレーニングの状態では、私は新しい時代に 'rar'を再び立ち上げなければなりませんか?すべての時代に 'rar'を再初期化すれば、収束しませんでした! ..それほど時間がかかると思う? – user3595632

+0

パブロの答えノートでは、「エピソード(またはステップ)の数でイプシロンパラメータ(あなたのケースではrar)を減らす必要があります。だから、エピソードごとにそれを再初期化しないでください。ただそれが崩壊し続けるのを許してください。 –

1

@Nick Walkerが提供する答えは正しいものの、ここではいくつかの追加情報があります。

あなたの話は、技術的に「探査開発トレードオフ」という概念と密接に関連しています。 Sutton & Barto bookから:

エージェントは、それがすでに 報酬を得るために知っているものを利用するために持っているが、それはまた、将来的にはより良いアクション 選択を行うために探索することがあります。ジレンマは、探査も の開発も、タスクで失敗せずに排他的に追求することができないということです。 エージェントはさまざまなアクションを試し、徐々にベストであると思われるものである を優先させる必要があります。探査・開発のトレードオフを実現するために

一つの方法は、あなたのコードサンプルで使用しているものですイプシロン - 貪欲探査を、使用しています。結局、エージェントが最適なポリシーに収束すると、エージェントは現在の知識を利用するエージェントのみを選択する必要があります。すなわち、rand_float < rarの部分を忘れることがあります。理想的には、エピソード(またはステップ)の数でイプシロンパラメータ(あなたのケースではrar)を減らす必要があります。

一方、学習率に関しては、それは理論的には、このパラメータはRobbins-Monro conditionsに従うべきであることに注意worths:

enter image description here

これは学習率が漸近的に減少するはずであることを意味します。つまり、アルゴリズムが収束したら、学習率パラメータを安全に無視することができます。

実際には、アルゴリズムが収束してからそれらを0にする(つまり無視する)まで、固定イプシロンとアルファパラメータを単純に維持することができます。

関連する問題