在前面的章节中咱们介绍了时序差分算法(TD)和Q-Learning,当状态和动做空间是离散且维数不高时可以使用Q-Table储存每一个状态动做对的Q值,而当状态和动做空间是高维连续时,使用Q-Table不动做空间和状态太大十分困难。因此论文Human-level control through deep reinforcement learning提出了用Deep Q Network(DQN)来拟合Q-Table,使得Q-Table的更新操做包在一个黑盒里面,使强化学习的过程更加的通用化,自动化。算法
咱们能够把DQN理解为在Q-Learning的总体框架大致不改的状况下,对于\((S,A)->R\)奖励的获取方式的一种改进。缓存
DQN有两个大的创新点:网络
使用DQN模型代替Q-Table会遇到两个问题框架
Replay Buffer结构图:机器学习
总的来讲,Replay Buffer含了收集样本和采样样本两个过程。函数
均匀采样的好处是什么呢?前面提到咱们交互获得的序列在时间维度上存在必定的相关性。咱们但愿学习获得的值函数可以表示在当前状态行动下的长期收益的指望,然而每一次交互获得的序列,只能表明当前状态一行动下的一次采样轨迹,并不能表明全部可能的轨迹。这样估计的结果就和指望的结果存在必定的差距。随着交互时间不断拉长,这个差距的累积会愈来愈大。若是彻底使用序列的估计值进行训练, 某一轮训练时模型会朝着一个序列的估计训练,另外一轮训练又会朝着另外一个序列的估计训练,那么模型很容易产生较大波动采用均匀采样后,每次训练的样本一般来自屡次交互序列,这样单一序列的波动就被减轻不少,训练效果也就稳定了不少。同时,一份样本也能够被屡次训练,提升了样本的利用。学习
模型不稳定的另一个缘由来自算法自己,Q-Learning的计算公式能够看出,算法能够分红以下两个步骤:spa
能够看出模型经过当前时刻的回报和下一时刻的价值估计进行更新,这里存在一些隐患,前面提到数据样本差别可能形成必定的波动,因为数据自己存在着不稳定性 每一轮轮迭代均可能产生一些波动,若是按照上面的计算公式,这些波动会马上反映到下一个迭代的计算中,这样咱们就很可贵到一个平稳的模型。为了减轻相关问题带来的影响,咱们要尽量地将两个部分解耦。因此引入了Target Network,而本来的模型被称为Behavior Network。blog
(欢迎转载,转载请注明出处。欢迎沟通交流: 339408769@qq.com)get