【深度学习】DQN的经验回放(Experience Reply)和目标网络(Target Network)

前言

对于Q-learning算法,有两点不足之处:

  1. 维度灾难;这是由于查找表存储和更新Q值时需要在离散状态空间开始强化学习,当状态的数量增大,这一问题将愈发难解;
  2. 有关状态空间离散化的粒度;较低的粒度将使得Q-learning泛化能力较弱,高粒度又将可能导致状态数量呈指数增长。

DQN应运而生,采用深度神经网络为非线性函数逼近,以表示高维连续状态空间中的Q值函数。, θ即参数化的神经网络。loss function可表示为“mean-squared TD error”:

并以P概念选择动作action,,P服从Boltzmann分布。其中,β_{t}\beta _{t}越高越接近于等概率,越低越接近于贪心策略,即选择Q(s,a)中对于值最大的动作a。   一般,会在初始时设置较大的\beta _{t},然后逐渐减小。 

为了提高DQN的学习能力,在其迭代过程中加入了两种技术,即下述的经验回放和目标网络。


经验回放

其将系统探索环境得到的数据储存起来,然后随机采样样本更新深度神经网络的参数。

由于agent与环境交互得到的训练样本并不是独立同分布的,为了解决这一问题DQN引入了经验回放机制。利用一个回放以往经验信息的buffer,将过去的experience和目前的experience混合,降低了数据相关性。并且,经验回放还使得样本可重用,从而提高学习效率。


目标网络

在RL中,当采用非线性函数逼近Q值函数时,Q值的更新容易发生震荡,呈现出不稳定的学习行为。为此引入目标网络。

因为online network  Q(s_{t},a_{t}|\theta )的更新是基于对的计算。

目标网络相当于是 Q(s_{t},a_{t}|\theta )的copy,但在目标网络中,参数将在每隔X步都独立于online network进行更新。这就使得在训练过程中暂时固定Q值,从而学习过程更加稳定。


当采用以上两种机制后,DQN的Loss function可表示为:

发布了83 篇原创文章 · 获赞 14 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_38121168/article/details/103046979