JavaScriptを有効にしてください

DQN

 ·  ☕ 1 min read
  • Q学習は推定値 $E_t$ を使って推定値 $E_{t+1}$を更新する (これをブートストラップと呼ぶ)

  • ゆえにQ学習は不安定なのだが, NNを加えると更に不安定になりやすい

    • DQNでは, 推定値 $E_t$ と推定値 $E_{t+1}$の相関が強くなりすぎないように「経験再生」と「ターゲットネットワーク」と呼ばれるものを導入する
  • 経験再生

    • 過去の状態や行動をまとめてバッファに保存しておいて, そこから無作為にサンプリング
    • それらをミニバッチにしてNNを学習させる
      • 誤解を恐れずに言えば, 不均衡データにおけるBatchSamplerと同じような動機だと捉えれば良い
  • ターゲットネットワーク

    • 出力 $T := R_t + \gamma \max Q(s_{t+1},a)$の回帰といっても, Qは固定ではないので学習が不安定となる (ブートストラップ)
      • → ネットワーク自体はQ関数を近似しているので, Momentum Encoderのように, 重みをコピーした全く同じネットワークの出力をground-truthとすればよい!! (オモロイ)
      • → ただし, ずっと同じ重みを使い続けるわけにもいかないので, $N$回に一回はそのネットワーク自体も学習させる
共有

YuWd (Yuiga Wada)
著者
YuWd (Yuiga Wada)
機械学習・競プロ・iOS・Web