「体験リプレイ」とは何ですか?その利点は何ですか?


19

私はGoogleのDeepMind Atariの論文を読んでおり、「エクスペリエンスリプレイ」の概念を理解しようとしています。経験リプレイは、他の多くの強化学習ペーパー(特にAlphaGoペーパー)で取り上げられるため、その仕組みを理解したいと思います。以下は抜粋です。

まず、データをランダム化するエクスペリエンスリプレイと呼ばれる生物学的にヒントを得たメカニズムを使用して、観測シーケンスの相関を取り除き、データ分布の変化を滑らかにしました。

次に、このペーパーは次のように詳しく説明します。

他の安定した方法は、ニューラルフィットQ-反復として、強化学習の設定でニューラルネットワークを訓練するために存在するが、これらの方法では、ネットワークの繰り返し訓練伴う新規の反復の数百人を。その結果、これらの方法は、私たちのアルゴリズムとは異なり、非効率的であり、大規模なニューラルネットワークではうまく使用できません。図1に示す深い畳み込みニューラルネットワークを使用して、近似値関数をパラメーター化します。ここで、は反復でのQネットワークのパラメーター(つまり重み)です。エクスペリエンスのリプレイを実行するために、各タイムステップエージェントのエクスペリエンスを保存しますQsa;θθet=statrtst+1tデータセット内。学習中に、経験値サンプル(またはミニバッチ)にQ学習の更新を適用します。反復でのQ学習の更新では、次の損失関数が使用されます。Dt={e1et}sarsうんD

Lθ=EsarsうんD[r+γ最大aQsa;θQsa;θ2]

経験のリプレイとは何ですか?また、その利点は何ですか?

回答:


25

引用テキストの重要な部分は次のとおりです。

エクスペリエンスのリプレイを実行するために、エージェントのエクスペリエンスを保存しますet=statrtst+1

これは、シミュレーションまたは実際の体験中に発生する状態/アクションのペアでQラーニングを実行する代わりに、システムは[state、action、ward、next_state]で検出されたデータを通常大きなテーブルに保存することを意味します。これは関連する値を保存しないことに注意してください-これは、後でアクション値の計算に入力する生データです。

学習段階は、経験を積むことから論理的に分離され、この表からランダムなサンプルを取得することに基づいています。行動と学習という2つのプロセスをインターリーブしたいのは、ポリシーを改善すると、最適なアクションに近いアクションを探索する必要があるさまざまな行動につながるため、それらから学習したいからです。ただし、これを好きなように分割できます。たとえば、1つのステップを取り、3つのランダムな前のステップなどから学習します。エクスペリエンスリプレイを使用する場合、Qラーニングターゲットはオンラインバージョンと同じターゲットを使用するため、新しい公式はありません。また、与えられた損失の式は、経験を再生せずにDQNに使用するものです。違いは、どの s、a、r、s '、a'にフィードするかだけです。

DQNでは、DeepMindチームは2つのネットワークを維持し、どちらが学習中か、もう一方が「ブートストラップ」として現在のアクション値の見積もりを入力するかを切り替えました。これは、非線形関数近似器を使用する際のアルゴリズムの安定性に役立ちました。これがのバーの意味です-これはウェイトの代替凍結バージョンを示します。θ ¯

エクスペリエンスリプレイの利点:

  • 複数回学習することで、以前の経験をより効率的に使用できます。これは、実世界での経験を得るのに費用がかかる場合に重要です。これを最大限に活用できます。Qラーニングの更新はインクリメンタルであり、迅速に収束しないため、特に同じ状態、アクションペアで、即時の結果(報酬、次の状態)のばらつきが小さい場合、同じデータを使用した複数のパスが有益です。

  • 関数近似器をトレーニングするときの収束動作の改善。一部は、データがほとんどの教師付き学習収束証明で想定されるiidデータに似ているためです。

エクスペリエンスリプレイの欠点:

  • Q()などの多段階学習アルゴリズムを使用することは困難です。Q()は、バイアス(ブートストラップによる)と分散(長期結果の遅延およびランダム性による)のバランスを取ることにより、より良い学習曲線を提供するように調整できます)。マルチステップDQNとエクスペリエンスリプレイDQNは、Rainbow:Combining Improvements in Deep Reinforcement Learningで説明されている拡張機能の1つです。λ

DQNで使用されているアプローチは、このビデオ講義の一部でDavid Silverによって簡単に概説されています(約01:17:00、しかしその前のセクションを見る価値があります)。時間がある場合は、強化学習に関する大学院レベルのコースであるシリーズ全体をご覧になることをお勧めします。


トレーニング中に1つの状態にあり、イプシロン貪欲ポリシーに従ってアクションを実行すると、別の状態になるとしましょう。それで、あなたは報酬と次の状態を得ます。ここで、報酬はゲームのスコアであり、状態は画面内のピクセルパターンです。そして、関数aproximatorと、すでに凍結された関数近似を使用して、貪欲なポリシーから取得した値との間のエラーを取ります。しかし、近似器を最適化する際の経験の再現により、ランダムな状態のアクションデータセットを取得します。私は正しいですか?
シャマンシリワーダナ

1
@ShamaneSiriwardhana:はい、あなたは正しいと思います。実際の軌跡からのまったく同じデータですが、最新のステップからのみ学習する代わりに、大きなテーブルに保存し、そのテーブルのサンプル(通常は複数のサンプルから選択し、前のステップを何千も保存します) )。さらに説明が必要な場合は、サイトで質問してください。
ニールスレーター

ええ、私は再び論文を調べました。また、この方法がオフ方針学習を改善できると言います。Qでは、イプシロン-貪欲ポリシーに従って行動する学習が、貪欲ポリシーに従って値を更新するためです。そのため、タイムステップごとに、ニューラルネットパラメーターがミニバッチ統計によって更新されます。これは、より重要なことに、正確なタイムステップ統計とは関係ありませんが、これより前に起こったことは、データの無相関化にも役立ちます。
シャーマンシリワーダナ

@Neil Slater、Rainbowの論文を読みましたが、エクスペリエンスリプレイとマルチステップメソッドを組み合わせるための特別なトリックの使用に関する特別なコメントはありませんでした。また、マルチステップの方法はもともとエクスペリエンスリプレイと組み合わせることが不可能であると聞いたことがありますが、なぜエクスペリエンスリプレイから1ではなくn連続エクスペリエンスをランダムに選択するのではなく、リプレイから各nエクスペリエンス間で相関が見つからないのはなぜですか?このマルチステップエクスペリエンスはリプレイではありませんか?
StL

@NeilSlaterなぜ「マルチステップ学習アルゴリズムを使用するのが難しい」のですか?どういう意味?
グルザー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.