-
Q学習は推定値 $E_t$ を使って推定値 $E_{t+1}$を更新する (これをブートストラップと呼ぶ)
-
ゆえにQ学習は不安定なのだが, NNを加えると更に不安定になりやすい
- DQNでは, 推定値 $E_t$ と推定値 $E_{t+1}$の相関が強くなりすぎないように「経験再生」と「ターゲットネットワーク」と呼ばれるものを導入する
-
経験再生
-
ターゲットネットワーク
- 出力 $T := R_t + \gamma \max Q(s_{t+1},a)$の回帰といっても, Qは固定ではないので学習が不安定となる (ブートストラップ)
- → ネットワーク自体はQ関数を近似しているので, Momentum Encoderのように, 重みをコピーした全く同じネットワークの出力をground-truthとすればよい!! (オモロイ)
- → ただし, ずっと同じ重みを使い続けるわけにもいかないので, $N$回に一回はそのネットワーク自体も学習させる
- 出力 $T := R_t + \gamma \max Q(s_{t+1},a)$の回帰といっても, Qは固定ではないので学習が不安定となる (ブートストラップ)
JavaScriptを有効にしてください
DQN
· ☕ 1 min read