详细内容或原文请订阅后点击阅览
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+γmaxaQ^(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+γamaxQ^(s′,a,w))−Q^(s,a,w)]∇wQ^(s,a,w) Δw=α[(R+γmaxaQ^(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+γamaxQ^(s′,a,w))−Q^(s,a,w)]∇wQ^(s,a,w)