当前位置:首页阅读

(NLP&HCI)情景记忆深度Q学习

(NLP&HCI)情景记忆深度Q学习

NLP

(NLP&HCI)情景记忆深度Q学习

作者:Zichuan Li et al.

本文提出了一种可以显着提高深度Q学习和情景控制的样本效率的EMDQN。其未来工作包括:1)动态调整λ的值还需要做更多的研究。2)将我们的方法应用于随机环境;3)结合参数控制和非参数控制。

(一)摘要

近年来,DNN的发展使得RL算法取得了巨大进步。然而,Deep RL效率低下,通常需要与环境进行多轮交互才能获得令人满意的性能。近年来,基于情境Memory的RL由于能够迅速锁定良好的动作而备受关注。在本文中,提出了一种简单而有效的受生物学启发的RL算法,称为情景记忆DQN(EMDQN)。该算法在训练过程中利用情节记忆来监督代理。实验表明,所提出的方法可以提高采样效率,且有可能找到更好的策略。它仅需要DQN交互的1/5即可在Atari游戏中实现许多最新性能,大大优于常规DQN和其他基于情节记忆的RL算法。

(二)情境记忆DQN

通常而言,情景记忆用于直接控制,但在本文中使用它来加速DQN的学习。本文旨在从以下方面改善DQN:

(1)缓慢的奖励传播。价值引导的方法(如Q学习)仅提供单步奖励或接近的多步奖励(如TD),从而导致数据效率低下。通过引入蒙特卡洛(MC)返回作为学习目标可以改善这一点。但是MC奖励比TD目标具有更高的方差。因此,在不引入高方差的情况下如何充分利用MC回报来更好地传播reward是一个关键问题。

(2)单一学习模型。大部分RL算法都依赖于单个学习模型,可扩展的深度强化学习方法(如DQN、A3C)模拟人脑中的纹状体并学习神经决策系统,而基于表的方法(如MFEC、NEC)则模拟人脑中的海马体并将经验存储到记忆系统中并对其进行作用。在本文中认为应该在训练过程中同时考虑这两种方法,以更好地模仿人脑的工作机制。

(3)采样效率低下。与真实环境进行交互非常昂贵,DQN需要数百万次与仿真环境的交互才能收敛。尽管有时可以通过优先经验重放并在model-based RL中对环境建模,其他机制也可以通过更有效的方式利用样本来帮助指导学习。

EMDQN是基于表的情景记忆来加速Agent训练。这篇工作部分收到纹状体和海马体之间竞争与合作关系的启发,即利用了两个系统的优势。具体来说,它使用神经网络来估计动作值,并为agent提供两个学习系统和目标。其中,一个系统模拟纹状体,它提供了一个使用S表示的推断目标;另一个系统模拟海马体,它提供一个使用H表示的记忆目标。这里提出了一个新的损失函数,使用两个权重对这两个目标进行结合:

(NLP&HCI)情景记忆深度Q学习_WWW.XUNWANGBA.COM

其中的Q_theta是由theta参数化的值函数,它充当代理中的决策系统。由于我们期望Agent推断出目标S,因此单步引导目标可以是:

(NLP&HCI)情景记忆深度Q学习_WWW.XUNWANGBA.COM

将内存目标H定义为最佳记忆返回,如下:

(NLP&HCI)情景记忆深度Q学习_WWW.XUNWANGBA.COM

其中E代表agent已经经历过的episode的次数,Ri(s,a)表示第i次在状态s下选取动作a的未来回报。具体而言,H是一个增长表,是由状态-动作对来索引。每个episode中的转移对(s,a,r)都被缓存。在episode的结尾,使用转换元组以相反的顺序更新H。在上述方法在。H仅用于训练目的。对于动作的选择,仅考虑Q_theta并选择产生最高Q值的动作。

这里为每个动作维护一个状态缓冲区,并使用随即投影技术进行状态的紧凑表示。通过将高斯随机矩阵相乘,函数φ将状态投影到低维向量中。 根据Johnson-Lindenstrauss引理,随机投影近似保留了原始空间中的相对距离。与其使用像NEC和MFEC这样的k邻域(KNN)搜索中的随机投影矢量来进行值估计,这里仅将它们用于精确匹配搜索,这使我们可以将状态投影到低维矢量上以进行快速表查找。[注:就是这里采用到了两种方法的结合] 对于新颖的状态动作对,我们将相应的键值添加到内存表中。 对于现有的状态-动作对,我们使用较大的现有值和当前情节中的未来收益来更新其值。 正式地,更新内存表表示如下:

(NLP&HCI)情景记忆深度Q学习_WWW.XUNWANGBA.COM

其中R(st, at)是当前Episode的蒙特卡洛回归。将λ=β/α定义为S和H的相对权重。因此,新的目标函数是:

(NLP&HCI)情景记忆深度Q学习_WWW.XUNWANGBA.COM

其中D表示mini-batch经验。

上述公式中存在一个问题就是并非总是能够在情景记忆表中找到H(s,a)的值,因为他们可能还没有被加入到H中。为了解决这个问题,当找不到H(s,a)时就直接简单忽略了内存目标。这符合我们的直觉,因为人们永远不会对未发生的事情具有情景记忆。

(三)更快的奖励传播

EMDQN使用情节记忆的最大回报来传播奖励,从而弥补了单步奖励更新导致学习缓慢的缺点。 对于接近确定性的环境,情节记忆中包含的每个奖励到目前为止都是最佳的。 因此,使用记忆目标H,可以将最佳轨迹中的奖励传播到Qθ(s,a)的参数。

该算法既保留了自举的TD目标,又保留了完整的MC返回,而不是组合λ返回以形成新目标。 通过从两个目标中学习,它可以快速传播无偏MC回报,并利用与TD目标的低方差。 值得注意的是,情节记忆不仅仅是无偏的MC返回。 由于情节记忆记录了历史上最佳的MC回报,它提供了比vanilla MC回报更集中的学习信号和更低的方差目标。

(四)两种学习模型的结合

这里使用DQN和情景记忆来更好地模拟人脑的学习过程。通过调节λ的值来权衡这两种学习模型:当λ的值很小时,它类似于常规DQN,当给出较大的值时它更接近EC。因此这里灵活地使用了两种方法。当需要存储模块时,可以适当的调高λ,需要通用决策系统时,可以将其调低。和使用单一模型的方法相比,这种方式更接近人脑的学习过程。值得注意的是,EMDQN通过将状态特征吸收到神经网络中从而解决data-efficient NEC的泛化问题;而NEC则查找表中许多冗余状态的表示形式来寻找最近的邻居。

(五)高样本率

EMDQN引入了一种捕获更多样本信息的机制。 在训练过程中,它从情景记忆中提取出最佳回报,并将知识整合到神经网络中,从而更有效地利用样本。 在现有的RL算法中,无论奖励如何,所有样本都被均匀采样,这导致训练性能不佳,因为很少出现非零奖励。 通过在每个训练步骤中提取样本的最佳回报,该方法可以对非零奖励样本进行更多更新。 请注意,该方法与优先体验重播不同[Schaul等,2016]。 优先DQN更改会更新训练样本的优先级。 相反,该算法会更改每个样本的更新目标。 这不能通过对DQN优先级中的转换重新加权来模拟。 例如,一个状态可能出现在多个高奖励跟踪中,从而在优先DQN中获得不同的目标,而在我们的方法中,此状态在H中只有一个条目。

(六)EMDQN架构

其中s由四个历史帧通过卷积神经网络处理,并且由两个完全连接的层正向传播来计算Q(s,a)。整体网络架构与原始DQN相同。将状态s与从高斯分布得出的随机矩阵相乘并投影到向量h中[问题1:这一步的作用是?],但后传递到内存表中寻找对应的值H(s,a),然后使用H(s,a)来正则化Q(s,a)。为了高效的查找表,使用kd-tree来构造内存表。沿着每个episode轨迹,所有的 (φ(s), a, r) 经验元组被记录。更新表时,以相反的顺序重播每个片段轨迹。

(NLP&HCI)情景记忆深度Q学习_WWW.XUNWANGBA.COM

(七)个人总结与问题

文章提到当H(s,a)不存在的时候就直接忽略内存目标,这里有没有办法利用别的经验来估算一下这个值呢。第(四)节中提到的λ值的选取,它是一个静态的调整过程吗,是不是可以改善为动态的过程。第(五)节提到的更改目标问题在对话里面是什么样子的,换句话说就是在不同user-goal下,相同的(s,a)是不是会具有不同的reward。(噢但其实user_goal不一样的话s本来就会不一样吧)。另外需要注意的一个点就是,如果在对话里面考虑其他的信息,那可能需要修改内存目标H的定义。

以上就是((NLP&HCI)情景记忆深度Q学习)全部内容,收藏起来下次访问不迷路!