ノート

いろいろ勉強したことをまとめていきます

MENU

Target Network

DQNは、Q-Network,Target-Networkの二つのネットワークを用いる。 この二つのネットワークを用いることで、Q学習の課題の1つである、状態の過大評価を緩和する。

DQNでは、Q値を更新する際に遷移先 $s'$ の状態の最大価値 $maxQ(s')$ を用いる。 そのため、ある状態を過剰に評価してしまった場合に、その状態の評価だけでなく、 他の状態の評価にも大きく影響を与え、学習が不安定になってしまう。 (行動価値は伝搬してくため)

そこで、 通常の Q-Network $Q(s,a;\theta)$ 値のパラメータを更新する際には、もうひとつのモデル Target Network $Q(s,a;\theta^{-})$ を用いる。二つのモデルの構造は同一であり、パラメータ $\theta$, $\theta^{-}$ が異なる。

具体的には以下の式で求めたTD誤差を使ってQ-Networkを更新する。 $$ \begin{eqnarray} TDError = r + \gamma \max Q(s';\theta^{-}) - Q(s,a;\theta) \end{eqnarray} $$

ここでは、 $s$ を遷移前の状態、 $s'$ を遷移後の状態としている。

Target Networkのパラメータ $\theta^{-}$ は一定時間学習行動を行った後に、Q-Networkのパラメータ $\theta$ をコピーする。つまり、一定時間学習行動している間はTarget Networkのパラメータ $\theta^{-}$ は変化させない