Answers:
我最好的猜测是这样做是为了减少计算时间,否则我们将不得不找出每个动作的q值,然后选择最佳动作。
除了稍微增加(由于两个网络使用了额外的内存)之外,它对计算时间没有真正的影响。您可以缓存目标网络的结果,但是对于大多数环境而言,这可能不值得,而且我还没有看到实现此目标的实现。
我想念什么吗?
使用函数逼近(即神经网络)时,这与Q学习算法的稳定性有关。使用一个单独的目标网络,每隔很多步就用最新的学习参数进行更新,这有助于防止自举的失控偏差在数值上占主导地位,从而导致估计的Q值发散。
想象一下(处的S, A, R, S'
)数据点导致当前差的高估Q(S', A')
而变得更糟。也许S', A'
还没有访问过,或者R
到目前为止,所看到的价值只是偶然地高于平均水平。如果(S,A)
多次回放经验样本,则每次更新都会变得更糟,因为对的更新Q(S,A)
基于R + max_a Q(S',a)
。固定目标网络可以限制这种高估所造成的损害,从而使学习网络有时间收敛并失去更多的初始偏差。
在这方面,使用单独的目标网络具有非常相似的体验重放的目的。它稳定了否则会出现问题的算法。
也可以将DQN与“双重学习”结合起来解决一个单独的问题:最大化偏差。在这种情况下,您可能会看到具有4个神经网络的DQN实现。