Q-Learningがテスト中にepsilon-greedyを使用するのはなぜですか?


18

Deep MindのAtariビデオゲームのDeep Q-Learningに関する論文(こちら)では、トレーニング中の探索にイプシロングリディ法を使用しています。これは、トレーニングでアクションが選択されると、最高のq値を持つアクションとして選択されるか、ランダムアクションとして選択されることを意味します。これら2つの選択はランダムで、イプシロンの値に基づき、イプシロンはトレーニング中にアニールされ、最初は多くのランダムなアクションが実行されます(探索)が、トレーニングが進むにつれて、最大q値を持つアクションが多く実行されます(搾取)。

次に、テスト中に、彼らはこのイプシロン貪欲法も使用しますが、イプシロンは非常に低い値であるため、探査よりも搾取に強いバイアスがあり、ランダムアクションよりも最も高いq値を持つアクションを選択します。ただし、ランダムアクションが選択されることもあります(時間の5%)。

私の質問は次のとおりです。トレーニングが既に行われているのに、なぜこの時点で調査が必要なのですか システムが最適なポリシーを学習した場合、最高のq値を持つアクションとして常にアクションを選択できないのはなぜですか?トレーニングでのみ調査を行い、最適なポリシーを学習したら、エージェントは最適なアクションを繰り返し選択できますか?

ありがとう!


ALE環境の決定論的な性質に何らかの形で関係している可能性があります。評価中にランダムなアクションを実行しない場合、常に同じアクションのシーケンスを実行します(状態のシーケンスは同じであるため)。また、ランダムスタートも行います。このため、最大30フレームまで待機します。
ヨビバイト

回答:


10

ネイチャーペーパーでは、次のように言及しています。

トレーニングされたエージェントは、異なる初期ランダム条件(「noop」;拡張データ表1を参照)とepsilon 0.05のe-greedyポリシーを使用して、各ゲームを最大5分間30回プレイすることで評価されました。この手順は、評価中の過剰適合の可能性を最小限に抑えるために採用されています。

それらが意味するのは、「過剰/過小フィットの悪影響を無効にすること」だと思います。0のイプシロンを使用することは、(あなたが指摘しているように)完全に搾取的な選択であり、強力な声明を出します。

たとえば、エージェントの現在のQ推定値が1つのグリッドを除いて最適なポリシーに収束する迷路ゲームを考えてみてください。エージェントがそのような状態に達し、Max Qアクションを選択している場合、エージェントは永遠にそこに留まります。ただし、そのポリシーに漠然と探索的/確率的要素を保持することで(わずかなイプシロンなど)、そのような状態から抜け出すことができます。

そうは言っても、実際にパフォーマンスを調べた(そして自分でコーディングした)コードの実装から、質問に挙げた正確な理由から欲張りポリシーで測定されることがよくあります。


3

答えは論文自体にあります。彼らは、オーバーフィットを避けるためにを使用しました。このモデルはベースラインとして使用されます。そして、同じ理由でランダムな開始を行うコメントで言及されたヨビバイト。そして、アルゴリズムは人間の専門家に対してパフォーマンスが評価されます。アルゴリズムには相手のモデルがないため、小さなイプシロンがあります。対戦相手のモデルがある場合、問題は確率的ではなく決定論的です。これがあなたの質問に答えることを願っていますϵ =0.05


2

テストの目的は、実際の状況でシステムがどのように応答するかを把握することだと思います。

オプション1:
彼らは実際に現実世界のプレイにノイズを入れるかもしれません-本当にランダムな動きをします。これにより、 -policyスイッチングが実際のプレイを完全に反映する可能性があります。 ϵ

オプション2:
脆弱であることが懸念され、「本来の合理的」ではないプレーヤーと対戦する場合、彼らは過大評価しないためにトレーニングスコアを「焼きなます」可能性があります。

オプション3:
これは魔法の煙です。共有したくない、共有したくない部分があります。彼らはこれを公開して、共有したくないビジネスに独占的または非常に関連性のあるものを隠すことができます。

オプション4:
繰り返しテストを使用し、イプシロンのさまざまな値を使用して、システムに残っている「脂肪」の量をテストできます。それらに弱いランダム化がある場合、または非常に多くのサンプルがあり、公正なランダム化でさえ繰り返し始める場合、このメソッドは、擬似ランダムバイアスに対する誤った動作を「学習」する可能性があります。これにより、テスト段階でそれを確認できる場合があります。

他にも意味のある理由が半ダースあると思いますが、これらは私が考えることができるものでした。

編集:自己に注意してください、私は本当に「脆い」思考が好きです。それは第一世代の中間AIの実存的な弱さかもしれないと思います。


1

テスト中に -greedy を使用する理由は、教師あり機械学習(たとえば、画像分類)とは異なり、強化学習では、テストフェーズで利用可能な未公開のデータセットが存在しないためです。これは、アルゴリズムがトレーニングされたのとまったく同じセットアップでテストされることを意味します。現在、論文では言及しています(セクション「方法、評価手順」):ϵ

トレーニングされたエージェントは、異なる初期ランダム条件(「no- op」。拡張データ表1を参照)と -greedyポリシーを使用して、各ゲームを最大5分間30回プレイすることによって評価されました。この手順は、評価中の過剰適合の可能性を最小限に抑えるために採用されています。ϵϵ=0.05

特に、前処理された入力には以前に遭遇した状態の履歴が含まれているため、エージェントは基礎となるゲームプレイに一般化する代わりに、その特定のゲームの最適な軌跡を記憶し、テスト段階でリプレイするだけです。これが「評価中の過剰適合の可能性」が意味するものです。決定論的な環境では、これは明らかですが、確率的な状態遷移では、暗記(つまり、過剰適合)が発生する可能性があります。テスト段階でランダム化を使用すると、ゲーム中のランダムなアクションの一部だけでなく、ランダムな長さのノーオペレーションスタートの形で、アルゴリズムに予期しない状態を処理させるため、ある程度の一般化が必要になります。

一方、 -greedyは、観測空間の訓練が不十分な領域でアルゴリズムがスタックしないようにすることで、アルゴリズムのパフォーマンスを潜在的に改善するために使用されません。特定のポリシーは常に(少なくともこの種のタスクに対して)最適なポリシーの近似値と見なすことができますが、アルゴリズムが無意味なアクションを実行するポイントをはるかに超えてトレーニングされています。を使用するϵϵ=0テスト中にパフォーマンスが向上する可能性がありますが、ここでのポイントは一般化する能力を示すことです。さらに、ほとんどのAtariゲームでは、状態もノーオペレーションで進化するため、エージェントはそれが発生した場合に自然に「スタック」します。環境が無操作で進化しない他の場所で言及された迷宮の例を考慮すると、エージェントは、報酬が適切に形作られている場合、壁にぶつかることは良い考えではないことをすぐに知るでしょう(たとえば、各ステップで-1); 特に楽観的な初期値を使用する場合、必要な調査は自然に行われます。いくつかの状況でアルゴリズムが動かなくなる場合は、アクションに関して補助的なランダム化を導入する代わりに、トレーニング時間を増やす(つまり、より多くのエピソードを実行する)必要があることを意味します。

ただし、進化するシステムダイナミクス(つまり、基礎となる状態遷移または報酬の変化)のある環境で実行している場合、ある程度の探索を保持し、変更に対応するためにポリシーを適宜更新する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.