Double-DQN框架主要包括以下几部分:
构建eval神经网络和target神经网络模块
训练eval神经网络模块
更新target神经网络模块
根据eval值选择动作模块。
为了将动作选择和价值估计进行解耦,我们有了Double-DQN方法。在Double-DQN中,在计算Q实际值时,动作选择由eval-net得到,而价值估计由target-net得到。此时,损失函数变为:
DQN算法图如下:
这里存在两个Q值神经网络: predict神经网络和target神经网络。
1. target神经网络。作用:计算目标Q值。更新:间隔一段时间进行更新。目的:保持算法稳定性。
为了获得的Q值,Q值的更新依靠Reward和Q计算出来的目标Q值:
这里采用一个稳定的target神经网络进行Q值计算,也就是Q(s‘,a’,w)部分是target网络,从而保持算法的稳定性。