優先再生、重要度サンプリングは実際に何をするのですか?


9

優先再生(5ページ)の重要度サンプリングの重み(IS)の目的を理解できません。

トランジションは、その「コスト」が大きいほど、経験の再現からサンプリングされる可能性が高くなります。私が理解しているのは、「IS」は、十分な長さのトレーニングを終えた後、優先再生の使用をスムーズに放棄するのに役立つということです。 しかし、代わりに何を使用しますか、均一サンプリング?

そのような係数の各成分が結果にどのように影響しているのか、私には理解できないと思います。誰かがそれを言葉で説明できますか?

wi=(1N1P(i))β

次に、遷移から取得しようとする勾配を弱めるために使用されます。

どこ:

  • wiは「IS」
  • NはExperience Replayバッファーのサイズです
  • P(i)は、「そのコストの大きさ」に応じて、遷移iを選択する機会です。
  • βは0から始まり、新しいエポックごとに1にドラッグされます。

これらのパラメーターに対する私の理解も正しいですか?

編集回答が受け入れられた後、私は追加のソース、初心者に役立つかもしれないビデオを見つけました-MC Simmulations:3.5重要度サンプリング


1/N

βP(i)

0.1  0.2   0.3     0.4

つまり、最初のエントリには10%が選択され、2番目には20%が選択されます。これらを反転すると、次のようになります。

 10   5    3.333   2.5

1/N1/4

2.5  1.25  0.8325  0.625     ...which would add up to '5.21'

10,5,3.333,2.5

1N0.10.00001

回答:


10

DQNは本質的に不安定に苦しんでいます。元の実装では、安定性を向上させるために複数の手法が採用されています。

  1. ターゲットネットワークは、トレーニング済みモデルよりも遅れているパラメーターと共に使用されます。
  2. 報酬は範囲[-1、1]に切り取られます。
  3. グラデーションは[-1、1]の範囲にクリップされます(Huber Lossまたはグラデーションクリッピングのようなものを使用)。
  4. 質問に最も関連しているのは、トランジションを格納するために大きな再生バッファーが使用されることです。

ポイント4を続けます。大きな再生バッファーから完全にランダムなサンプルを使用すると、サンプルを無相関化するのに役立ちます。これは、新しいエピソードをサンプリングする場合と同様に、過去数十万のエピソードからの遷移をサンプリングする可能性が高いためです。しかし、優先サンプリングがミックスに追加されると、純粋にランダムなサンプリングは放棄されます。明らかに、優先度の高いサンプルに偏っています。このバイアスを修正するために、優先度の高いサンプルに対応する重みはほとんど調整されませんが、優先度の低いサンプルに対応する重みは相対性が変更されません。

これは直感的に理解できるはずです。優先度の高いサンプルは、トレーニングで何度も使用される可能性があります。これらの頻繁に見られるサンプルの重みを減らすことは、基本的にネットワークに「これらのサンプルをトレーニングしますが、あまり強調せずに、すぐにまた見られるでしょう」と伝えます。逆に、優先度の低いサンプルが見られる場合、ISの重みは基本的にネットワークに「このサンプルは二度と見られないので、完全に更新する」と伝えます。これらの優先度の低いサンプルは、いずれにせよTDエラーが低いため、おそらくそれらから学ぶことはあまりないことに注意してください。ただし、安定性の目的にはまだ価値があります。

実際には、ベータパラメーターは、トレーニングの期間中、最大1までアニーリングされます。アルファパラメータは同時にアニーリングできるため、優先順位の高いサンプリングをより積極的に行うと同時に、重みをより強く修正できます。実際には、リンクした論文から、固定アルファ(.6)を維持しながらベータを.4から1にアニーリングすることは、優先度ベースのサンプリング(14ページ)のスイートスポットのようです。

余談ですが、私自身の個人的な経験から、ISの重みを単に無視する(つまり、まったく修正しない)と、ネットワークは最初は十分にトレーニングされますが、ネットワークは過剰に見え、学んだことを忘れてしまいます(別名壊滅的な忘却)。 、タンク。たとえば、Atari Breakoutでは、最初の5,000万フレームの間に平均が増加し、その後平均は完全に低下します。あなたがリンクした論文はこれについて少し議論し、いくつかのチャートを提供しています。


ありがとうございました!著者がなぜバランスを取る必要があるのか​​について私は懸念を抱いています1N1P(i)1P(i)

2
1N1P(i)P(i)prioikpriok(td_error+ε)α1N

1
@ user3180重要なポイントのサンプリングは、期待されるリターンの公平な見積もりを取得することではありません。これは、その性質に偏っています。重要なのは、一部のサンプルは他のサンプルよりもトレーニングへの影響が大きいため、より頻繁にサンプリングする必要があるということです。重み付けサンプルの優先順位の相対重量調整を減少させることによってバイアスを補正します。ネットワークが収束し始めると、この重み付けがますます重要になるため、アニーリングが使用されます。重み付けを無視するか、バイアスを完全に補正することは、PERペーパーがカバーするものです(図12を参照)。
アベジダ

2
@ user3180全重量(β= 1)の使用についてあなたの2番目の質問に関しては:私はこのケースでは、あなたがすることを疑われる一般まだPERに利益を見ますが、一般的にトレーニングは、ベータアニール処理よりも遅くなります。αとβの2つのパラメーターがあり、βを1に固定した場合でも、αパラメーターはサンプルの優先順位を決定します。つまり、サンプルはバイアスされた方法でプルされ、バイアスが完全に修正されても、ネットワークが収束するソリューションは均一な場合と異なります。再び、PERペーパーの図12を参照してください。
アベジダ

1
@ user3180良い数学的な答えを提供できるかどうかわかりません。ただし、実際的な理由は、均一なケースとは異なるデータセットでネットワークトレインを優先させることです。0 <α<= 1の場合、サンプルに優先順位が付けられるため、サンプルは不均一で偏っています。もちろん、重みを調整してそのバイアスを修正できますが、サンプルは依然として均一な場合とは大幅に異なります。異なるサンプルのセットでトレーニングすると、重みの調整に関係なく、異なるソリューションが生成されます。
アベジダ

1

私は疑問を持っています。PER紙として、

安定性の理由から、更新を下方にのみスケーリングするように、重みを常に1 / maxi wiで正規化

では、1 / N係数は無効にならないのでしょうか。たとえば、最後のサンプルを考えてみましょう。

case 1 without N : 0.25/10 = 0.25
case 2 with N=4; 0.625/2.5 = 0.25.

そう、

Wi = pow(N,-beta) * pow(Pi, -beta)
Wmax = pow(N,-beta) * pow(Pmin,-beta)

正規化することにより、

Wi/Wmax will cancel out the pow(N, -beta).

私の理解が間違っているなら助けてください。


まだ必要です。たとえば、100のエントリがあり、いくつかのエントリの最大値が5であるとします。ここで、1兆のエントリに切り替えることを想像してください。
カリ

聞き取れませんでした。公式で更新しました。確認して、返信をお知らせください。
Karthikeyan Nagarajan
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.