DQNに2つの異なるネットワークが必要なのはなぜですか?


12

私はを経たこの DQNの実装と私はライン124および125上の2つの異なるQネットワークが初期化されていることがわかります。私の理解から、私は1つのネットワークが適切なアクションを予測し、2番目のネットワークがベルマン誤差を見つけるためのターゲットQ値を予測すると思います。

Q値を予測するだけの単一のネットワークを作成して、両方の場合に使用できないのはなぜですか?計算時間を短縮するために行われたと私は推測しています。それ以外の場合は、各アクションのq値を見つけて、最適なものを選択する必要があります。これが唯一の理由ですか?何か不足していますか?

回答:


9

計算時間を短縮するために行われたと私は推測しています。それ以外の場合は、各アクションのq値を見つけて、最適なものを選択する必要があります。

わずかな増加(2つのネットワークで使用される追加のメモリによる)以外は、計算時間に実際の影響はありません。私が想定しているターゲットネットワークの結果をキャッシュすることはできます、ほとんどの環境ではそれはおそらく価値がなく、それを実行する実装を見たことがありません。

何か不足していますか?

これは、関数近似(ニューラルネットワークなど)を使用する場合のQ学習アルゴリズムの安定性に関係しています。個別のターゲットネットワークを使用し、多くのステップごとに最新の学習パラメーターのコピーを更新することで、暴走バイアスがブートストラップによるシステムの数値的支配を防ぎ、推定Q値が発散するのを防ぎます。

S, A, R, S')のデータポイントの1つが、現在の不十分な過大評価をQ(S', A')悪化させると想像してください。たぶんS', A'まだ訪問されていないか、R偶然に、これまでに見られた価値が平均より高いのかもしれません。(S,A)エクスペリエンスの再生でサンプルが複数回切り取られた場合、への更新Q(S,A)はに基づいてR + max_a Q(S',a)いるため、毎回再び悪化します。ターゲットネットワークを修正することで、そのような過大評価によって生じる可能性のある損傷を制限し、学習ネットワークが収束して、最初のバイアスをさらに失う時間を与えます。

この点で、別のターゲットネットワークを使用することには、リプレイを体験することと非常に似た目的があります。それ以外の場合は収束に問題があるアルゴリズムを安定させます。

DQNに「ダブルラーニング」を使用して、最大化バイアスという別の問題に対処することもできます。その場合、4つのニューラルネットワークを使用したDQN実装が表示されることがあります。


追加の読み取りのために、1を参照することができaaai.org/ocs/index.php/AAAI/AAAI16/paper/download/12389/11847
amitection
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.