在 DQN 中,每 N 步更新目标网络还是每一步缓慢更新更好?

人工智能 强化学习 dqn 深度学习
2021-11-18 12:35:20

目标网络的使用是为了减少使用半梯度目标训练的非策略样本可能发生的价值分歧的机会。在 Deep Q 网络中,使用了半梯度 TD,随着经验回放,训练可能会出现分歧。

目标网络是一个缓慢变化的网络,旨在缓慢跟踪主要价值网络。Mnih 2013中,它被设计为匹配主网络每个ñ脚步。还有另一种方法可以在每一步缓慢更新方向上的权重以匹配主网络。对某人来说,后者称为Polyak 更新

我做了一些非常有限的实验,并且看到了相同的更新率,例如ñ=10, Polyak 更新将以 0.1 的速率更新,我通常看到 Polyak 更新以提供更平滑的进度和更快的收敛。我的实验绝不是结论性的。

因此,我会问是否知道在更广泛的任务和设置中,哪一个表现更好、收敛更快或进展更顺利?

1个回答

大多数论文和我的经验都支持硬更新,每 N 步一次。N 通常是非常错误的,范围在 10^4 到 10^6 之间。DQN 训练很慢。但这取决于问题。如果你 DQN 与权重 ~.1 (N~10) 的软更新收敛,你的问题可能非常简单。