【深層強化学習】【DQN】Target Network

DQNは、Q Network、Target Networkの2つのネットワークを用います。

f:id:ttt242242:20190826053839g:plain

この2つのネットワークの構造は同一です。パラメータは異なります。

Q NetworkとTarget Networkの役割

Target Network

DQNでは、Target Networkを行動選択と
Experience ReplayのTD誤差を計算する時に用います。
(赤の部分)
$$
\begin{eqnarray}
TDError = r + \gamma \max \color{red}{Q(s';\theta^{-})} - Q(s,a;\theta)
\end{eqnarray}
$$

この2つのネットワークを用いることで、Q学習の課題の1つである、状態の過大評価を緩和します。

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

任意のインターバルで、Q NetworkのパラメータをTarget Networkに反映していきます。
これは、Q Learningの過大評価という課題を緩和するために重要なります。

Q Network

Q Networkは適宜、Experience Replayによって学習していきます。

Q NetworkのパラメータをTarget Networkに反映

そして、適宜学習したQ NetworkのパラメータをTarget Networkに反映していきます。

パラメータの反映方法には大きくわけて2つあって、
1つはHard Update もう1つはSoft Update になります。

Hard Update

Hard Updateでは、定期的にQ NetworkのパラメータをTarget Networkにコピーします。

Soft Update

Soft Update では、Q Networkを更新する度に少しずつずづQ Networkのパラメータを反映させていきます。

$$
\begin{eqnarray}
\theta ^{-} \leftarrow (1-\alpha)\theta ^{-} + \alpha \theta
\end{eqnarray}
$$

参考文献

www.tcom242242.net

コメント

タイトルとURLをコピーしました