Q 目标、双 DQN 和决斗 DQN

固定 Q 目标、双 DQN、决斗 DQN、优先重放

来源:AI夏令营

大家好,

今天的主题是……嗯,和上一个一样。Q 学习和深度 Q 网络。上次,我们解释了什么是 Q 学习,以及如何使用贝尔曼方程来找到 Q 值,从而找到最佳策略。后来,我们介绍了深度 Q 网络,以及如何让深度神经网络学习近似它们,而不是计算 Q 表的所有值。

Q 学习

深度 Q 网络将环境状态作为输入,并为每个可能的操作输出一个 Q 值。最大 Q 值决定代理将执行哪个操作。代理的训练使用 TD 误差作为损失,TD 误差是下一个状态的最大可能值与 Q 值的当前预测之间的差值(正如贝尔曼方程所示)。因此,我们设法使用神经网络近似 Q 表。

TD 误差

到目前为止一切顺利。但当然,也会出现一些问题。这只是科学研究向前发展的方式。当然,我们已经想出了一些很好的解决方案。

移动 Q 目标

第一个问题是所谓的移动 Q 目标。正如我们所见,TD 误差(TD 代表时间差异)的第一个组成部分是 Q 目标,它被计算为即时奖励加上下一个状态的折扣最大 Q 值。当我们训练我们的代理时,我们会根据 TD 误差更新权重。但相同的权重适用于目标和预测值。你看到问题了吗?

Δw=α[(R+γmax⁡aQ^(s′,a,w))−Q^(s,a,w)]∇wQ^(s,a,w)\Delta w=\alpha\left[\left(R+\gamma \max _{a} \hat{Q}\left(s^{\prime}, a, w\right)\right)-\hat{Q}(s, a, w)\right] \nabla_{w} \hat{Q}(s, a, w)Δw=α[(R+γamax​Q^​(s′,a,w))−Q^​(s,a,w)]∇w​Q^​(s,a,w) Δw=α[(R+γmax⁡aQ^(s′,a,w))−Q^(s,a,w)]∇wQ^(s,a,w)\Delta w=\alpha\left[\left(R+\gamma \max _{a} \hat{Q}\left(s^{\prime}, a, w\right)\right)-\hat{Q}(s, a, w)\right] \nabla_{w} \hat{Q}(s, a, w)Δw=α[(R+γamax​Q^​(s′,a,w))−Q^​(s,a,w)]∇w​Q^​(s,a,w) Δw=α[(R+γmax⁡aQ^(s′,a,w))−Q^(s,a,w)]∇wQ^(s,a,w) Δ w = α [ ( R + γ max⁡a