【发布时间】:2020-05-07 22:53:07
【问题描述】:
为什么要使用 2 个网络,每集训练一次,每 N 集更新目标网络,当我们可以使用 1 个网络并每 N 集训练一次时!从字面上看没有区别!
【问题讨论】:
标签: reinforcement-learning dqn
为什么要使用 2 个网络,每集训练一次,每 N 集更新目标网络,当我们可以使用 1 个网络并每 N 集训练一次时!从字面上看没有区别!
【问题讨论】:
标签: reinforcement-learning dqn
您所描述的是不是 Double DQN。定期更新的目标网络是原始 DQN 算法(及其所有派生算法)的核心特征。 DeepMind's classic paper 解释了为什么拥有两个网络至关重要:
对在线 Q-learning 的第二次修改旨在进一步改进 我们的神经网络方法的稳定性是使用单独的网络在 Q-learning 更新中生成目标
y_j。更准确地说,每C更新我们 克隆网络Q获取目标网络Q^并使用Q^生成 Q-learning 目标y_j用于以下C更新为Q。与标准在线 Q-learning 相比,此修改使算法更稳定,其中更新 增加Q(s_t, a_t)通常也会增加Q(s_{t+1}, a)对于所有a并因此也增加目标y_j,可能导致政策的波动或分歧。 使用较旧的参数集生成目标会增加对Q的更新时间与更新影响目标y_j的时间之间的延迟,从而更不可能出现分歧或波动。
【讨论】: