为什么要使用 2 个网络,每集训练一次,每N集更新目标网络,什么时候我们可以使用 1 个网络,每N集训练一次!从字面上看没有区别!
问问题
845 次
1 回答
4
您所描述的不是 Double DQN。定期更新的目标网络是原始 DQN 算法(及其所有派生算法)的核心特征。DeepMind 的经典论文解释了为什么拥有两个网络至关重要:
旨在进一步提高我们的神经网络方法稳定性的在线 Q 学习的第二个修改是使用单独的网络
y_j
在 Q 学习更新中生成目标。更准确地说,每次C
更新我们都会克隆网络Q
以获得一个目标网络Q^
,并Q^
用于生成 Q-learning 目标y_j
,以便C
对Q
. 与标准在线 Q 学习相比,这种修改使算法更稳定,其中增加的更新Q(s_t, a_t)
通常也会增加Q(s_{t+1}, a)
所有人a
,因此也会增加目标y_j
,可能导致策略的振荡或发散。Q
使用较旧的参数集生成目标会在更新时间和更新影响目标的时间之间增加延迟y_j
,从而更不可能出现分歧或振荡。
于 2020-01-22T22:44:34.513 回答