基于神经网络的DQN方法

Deep Q Nework 方法:

训练数据采用随机经验回放。TD回退结合TargetQ网络预测预估出一个目标量,再用Q网络预测的现实值,目标量与现实值差值更新两个网络的参数集合。


基于神经网络的DQN方法

DeepQ Network算法的详细解释:

基于神经网络的DQN方法

需要明白两个概念,一个是Q网络,一个是targrtQ网络,Q网络是我们预测网络,targrt Q网络可以认为是我们的训练网络,训练的目标是找到目标Q值:,这里目标Q值的定义依据时间差分算法(n-step TD,一般采用单步时差更新,步数越长,参考的奖励值数量也越多,网络的远见能力越强,),认为目标Q值就是策略最佳状态,然后去依据梯度SGD去更新Q网络的参数,同时在更新Q网络的参数的同时,也要更新target Q网络的参数,这里体现了其off-policy的特性,离线学习的方式不需要实时学习,利用经验回放的方式,学习到的经验可以共享。

具体的算法主要涉及到Experience Replay,也就是经验池的技巧,就是如何存储样本及采样问题。

由于玩Atari采集的样本是一个时间序列,样本之间具有连续性,如果每次得到样本就更新Q值,受样本分布影响,效果会不好。因此,一个很直接的想法就是把样本先存起来,然后随机采样如何?这就是Experience Replay的意思。按照脑科学的观点,人的大脑也具有这样的机制,就是在回忆中学习。