ターゲットネットワーク

Target Network

ターゲットネットワークとは

ターゲットネットワーク(Target Network)とは、DQNにおいてTDターゲットの計算に使用する固定パラメータのネットワークです。学習対象のメインネットワーク(オンラインネットワーク)とは別に、一定期間パラメータを固定したコピーを保持し、TDターゲット r + γ max_a' Q(s',a';θ⁻) の計算に使います。

表:ターゲットネットワークの要点まとめ
ひとことで言うと更新の目標値を計算する専用の、ゆっくり更新されるコピーのネットワーク。
なぜ必要か目標が毎回動くと学習が発散する。目標を一定期間固定して安定させる。
注意点更新間隔が長すぎると学習が遅く、短すぎると不安定になる。

なぜターゲットネットワークが必要か

ニューラルネットワークでQ値を近似する場合、更新のたびにTDターゲットも変動するため、学習が不安定になる「移動ターゲット問題」が発生します。ターゲットネットワークのパラメータを固定することで、TDターゲットを安定化させ、発散や振動を防ぎます。

図:ターゲットネットワークの役割
1本体ネットワーク毎ステップ更新
▶
2コピーを保持目標値計算用
▶
3目標は動かない一定期間固定
▶
4定期的に同期数千ステップごとにコピー
▶
5学習が安定発散を防げる

パラメータの更新方法

ターゲットネットワークのパラメータθ⁻はハード更新またはソフト更新で更新されます。ハード更新は一定ステップごとにメインネットワークのパラメータをそのままコピーします。ソフト更新(Polyak averaging)は θ⁻ ← τθ + (1-τ)θ⁻(τは小さな値、例えば0.005)で徐々に追随させます。

適用範囲

ターゲットネットワークはDQNで導入されましたが、DDPG、TD3、SACなど多くの深層強化学習アルゴリズムで使用されています。深層強化学習の学習安定性を確保するための標準的な技術となっています。