神经情景控制(Neural Episodic Control)On arXiv By DeepMind
来源:互联网 发布:医疗软件注册证 编辑:程序博客网 时间:2024/05/22 15:38
【声明:鄙人菜鸟一枚,写的都是入门级博客,如遇大神路过鄙地,请多赐教;内容有误,请批评指教,如有雷同,属我偷懒转运的,能给你带来收获就是我的博客价值所在。】
【声明】翻译:张永伟(系中国航天系统科学与工程研究院2016级研究生) 修订:博主
这期为大家推荐一篇2017年3月6日发表在 arXiv 上的文章,这篇文章介绍了一种”神经情景控制(Neural Episodic Control)“的新方法,有效提速深度强化学习。后面有时间会单独解析这篇文章,可预读一篇帖子:http://www.dataguru.cn/article-9784-1.html?utm_source=tuicool&utm_medium=referral。文章出来后不久【机器之心】就有人对这篇文章有简要的评论,可参见:https://www.jiqizhixin.com/articles/96e72c9b-6e49-4690-bcad-b902768d955c(虽然只是贴了几张图,翻译了几句话,基本没啥剖析,大家想看的就瞅两眼哈,别认真,主要还是细读原文,英语水平不错的,有耐心的建议读)。
原文来源:Pritzel A, Uria B, Srinivasan S, et al. Neural Episodic Control[J]. 2017. 文章地址:https://arxiv.org/abs/1703.01988
摘要:在诸多领域,深度强化学习的表现已经超越人类。但是这种学习方式效率非常低,与人类相比要达到满意表现所需的数据量要高好几个数量级。为此我们提出了神经情景控制:一种能够快速吸收新经验并依据新经验来采取行动的智能体。该智能体的价值函数采用半值方式表示:一种旧经验缓冲器,包括价值函数渐变状态表示和价值函数快速更新估计两部分。在大量场景下的研究表明,该智能体的学习速度明显快于目前最先进的通用深度强化学习智能体。
1 简介
基于深度强化学习的智能体在各类复杂环境下取得了最先进的成果(Mnih etal.2015;2016),而且其表现经常会超越人类(Silver etal.2016)。虽然这些智能体的最终表现令人印象深刻,但是通常为达到预期的性能水平,需要与环境进行的互动次数比人类要多几个数量级。例如在Atari 2600个环境集合(Bellemare etal., 2013)中,人类学习两个小时后的游戏水平,深度Q-网络(Mnih et al.,2016)需要200多个小时才能达到(Lake et al., 2016)。对于深度强化学习学习速度慢这一问题有些许合理的解释,我们主要集中于下几个方面的问题:
随机梯度下降优化需要较小的学习率。由于神经网络的全局逼近特性,高学习率会造成灾难性干扰(McCloskey & Cohen,1989)。学习率小意味着经验只能被缓慢地学习到神经网络中去。
由于极少数情况下奖励非零,在奖赏(reward)信号稀疏的环境中神经网络很难对环境进行建模。这可以看作是一种类别不均衡的表现,即低奖励采样以某未知数超过高奖励采样。因此,神经网络在预测更大奖励方面不成比例的表现不佳,造成智能体在最佳行动选择时的困难。
用价值引导技术进行奖励信号传播。如 Q-学习,这导致每与环境交互一次奖励(reward)信息就按先前存储器传播一步。当位置转移时,如果信息更新以相反的顺序发生可能会更加有效。然而,按照不相关最小批DQN-style原则,使用随机选则路径的方式对算法进行训练。并且,为了训练的稳定,需要使用缓慢更新目标网络的方式来进一步放慢奖励传播速度。
本次研究我们将集中精力解决上述三个问题。然而,我们必须指出的是最近在搜索广度(Osbandet al.,2016),分层强化学习(Vezhnevets et al.,2016)和迁移学习(Rusu et al.,2016;Fernando et al.,2017)等方面取得的新进展,同样在深度强化学习基线智能体数据处理效率方面做出了重要贡献。
本文提出的神经情景控制,是一种能够解决上述深度强化学习的缺陷并且能够在广泛环境情景中显著提高学习速度的方法。至关重要的是,我们的智能体能够根据经验快速选择高度成功的策略,而不是像DQN(Mnih etal.,2015)和A3C(Mnih etal.,2016)中需要经过许多优化步骤(例如,统计梯度下降)再做出选择。
这项工作的部分灵感来自于海马体在决策过程中的假设作用(Lengyel &Dayan, 2007; Blundell et al., 2016)和最近一次学习(Vinyals etal., 2016)与神经网络在少量事件存储器方面的研究(Kaiser et al.,2016)。我们的智能体使用半表格式的方式将环境处理的经验(如一些长期存储器,顺序性,前后关系查找的情景存储器)进行保存。半表格是一种只能增加存储器的表示方式,它将缓慢变化的键与价值快速更新结合在一起,使用上下关系搜索键来为在智能体行为选择时找到有用值。因此,智能体的存储器操作与传统的基于表格的RL方法(从状态和行为再到价值估计来建立地图)有非常多的相同之处。与其他强化学习中的神经存储器结构(第3部分详细说明)相比这种存储器方式的独特之处在于从存储器中取回的价值比剩下的深度神经网络要快。回想起在权重更新快速性的工作(Ba et al., 2016;Hinton & Plaut,1987),虽然我们提出的结构全然不同,但同样有助于改进应用于整个网络的随机梯度下降法典型的权重更新慢的问题。不同于其他存储器结构(例如,LSTM和DNC),我们的存储器结构在写入存储器的时候并没有尝试进行学习,这是另一个不同点。由于其他结构学习过慢并且要花费大量时间,我们则采用将所有经验写入存储器的方式,并且与现存的存储器结构(存储器在每个情景结束后扫描Ohet al.(2015);Graves et al. (2016))相比允许它变得非常大。从大量的存储器中读取信息的方式使得基于kd-tree的最近邻搜索变得更加有效(Bentley,1975)。
本文接下来的组织结构如下:在第2部分我们将对深度强化学习进行回顾;在第3部分将对神经情景控制的算法进行描述;在第4部分我们将给出在Atari学习环境下的实验结果;在第5部分我们将讨论其他将存储器用于强化学习的方法;在最后的第6部分,我们将列出以后的工作内容和对NEC算法主要优点的总结。
2 深度强化学习
强化学习智能体(Sutton &Barto, 1998)的行为价值函数的定义如下:
其中
深度
在DNQ中,行为价值函数
近几年也有一些用来改进DQN性能的方法相继被提出,双DQN模型 (Van Hasselt et al., 2016)能够减小在目标计算方面的偏差。通过优化回放策略,优先回放(Schaul et al.,2015b)进一步提高了双DQN模型的性能。一些作者还提出了通过合并在线策略(on-policy)奖励或者增加优化约束的方式提高反馈奖励传播的方法和
A3C (Mnih etal., 2016)是另一个众所周知但完全不同于DQN的深度强化学习算法,它是基于策略梯度的,且同时学习策略和与之相关的价值函数,这些完全从在线策略学习中获得(类似于中
3 神经情景控制
我们的智能体包含三个组成部分:一个用于处理二维图像
3.1 可微神经词典
对于每一个行动,NEC有一个简单的存储模块
其中代表的第i个元素,而
其中
当一个DND被查询后,一个新的键-值对将被写入到存储器中。写入的数值对应于刚才查询到的键。相关数值是有特殊用途的(之后我们确定NEC智能体的更新法则)。写入DND只能通过追加方式:通过在数组
需要指出的是,DND是(Blundell etal.2016)所述存储器模块的一个可微版本。它也是(Vinyals etal., 2016; Kaiser et al., 2016)提出的存储器和查询分类框架的一般化实现。
3.2 智能体架构
图2展示了DND作为NEC智能体的一部分,实现单一行为的过程,同时Algorithm1给出了NEC算法的大纲。通过一个卷积神经网络对状态像素
3.3 将(s,a) 添加到存储器
随着NEC智能体的移动,新的键-值对也不断地写入存储器。根据卷积神经网络编码的查询键
公式(3)的引导词,是通过对每个行为
当一个状态-行为值在DND中出现后(即完全相同的键
其中
3.4 学习
智能体的参数更新,是通过对给定行为的预测值
4 实验
在实际复杂环境中,我们调查了神经情景控制对于更大数据量是否能进行高效率学习。我们选择Atari学习环境(ALE;Bellemare et al., 2013)作为问题的研究范围,使用在Schaul et al.(2015a)中用到的 57个Atari游戏对神经情景控制进行了测试。这是一个有趣的任务集合,因为它们包含各种各样的挑战,例如稀少奖励和游戏得分大小不同。大多数一般的算法(像DQN和A3C的变种)应用于这些领域时会需要几千个小时的游戏时间,即这些算法数据效率低下。
我们选取了5个A3C和DQN的变种以及MFEC(Blundellet al., 2016) 作为基准。我们与A3C(Mnih etal., 2016)和 DQN(Mnih etal., 2015)的基础算法进行了比较。我们还与另外两种算法进行了比较,这两种包含返回值(Sutton, 1988)的算法通过加速信用分配传播的方式来获得更高的数据效率,这两种算法为
除了MEFC的折扣率为
根据直觉,当所有的邻居都距离较远的时候,我们并不希望把所有的重量都加到一个数据点上去。例如,高斯核函数能够按指数级速率抑制非最近邻个体。我们所选的核函数具有重尾的优点,这使得算法的鲁棒性增强,并且发现对核超参数问题的敏感度降低了。这里设置
为了协调剩余的超参数问题(SGD学习率、公式4中快速更新学习率、嵌入维度、公式3中的以及
数据效率的试验结果在表1中进行了总结。在小数据领域(少于2000万帧)NEC明显优于所有其他算法,从观测看少于500万帧数据时差异尤为明显。只有在4000万帧的时候,带优先回放 的DQN平均水平优于NEC,需注意的是这对应于185个小时的游戏时间。
为了更加细致的说明NEC的表现,图3至图7给出了智能体在6个游戏(Alien,Bowling, Boxing, Frostbite, HERO, Ms. Pac-Man,Pong)中的学习曲线,从中可以看到几个典型的NEC学习案例。所有学习曲线显示是,在5种不同的初始随机种子下的平均性能。对于MEFC和NEC两个算法,我们每20万帧进行一次评估,其他的算法则每百万步进行一次评估。
在大多数游戏中,初始阶段NEC的学习速度是极快的(见表1),只有同样使用Q函数的MFEC算法能与之比肩。
从平均水平来看(见表2),NEC还是优于MFEC的。与MFEC相反,NEC使用奖励信号来得到一个适用于插值的嵌入函数。在那些像素点较少的游戏中,这一差异的效果是极其显著的。MFEC的简单版本通过在像素空间随机投射的方法来近似
为了训练的稳定性1(Mnih etal.,2015),A3C,DQN以及其他相关算法需要将奖励限制在
Alien 和 Ms. Pac-Man这两个游戏都需要对一个角色进行控制,在此我们可以通过收集数量较大的细节来实现对小奖励的收集,同时要避免无敌对手的出现。另一方面,智能体可以拿起一个使敌人容易受伤的特殊物品,允许智能体攻击他们并且会获得比收集小奖励更大的回报。对于使用现有参数法训练的智能体在这方面兴趣不大,因为范围限制之后意味着大小奖励之间没有差别。因此,由于NEC不需要进行奖励限制,所以通过最大化非削减分数(真实分数)它能够大幅超越其他算法。这一点在智能体游戏的时候也能够看出来:参数法会趋向于收集小的奖励,而NEC会积极地尝试如何让对手易受伤害并攻击他们获得大的奖励。
在Pong和Boxing这两个原本奖励就在
图10给出了在57个1000万帧的Atari游戏中,人类与优先回放(Prioritised-Replay)和MFEC相比的归一化得分表。对于每个算法,我们将所有游戏进行了独立排名,表中y轴以十分位进行划分。
我们可以看到,NEC在1000万帧情况下有25%的游戏能够达到人类水平。而且NEC的表现超越了MFEC和Prioritised-Replay。
5 相关研究
近几年,许多学者在神经网络的记忆结构(LSTM;Hochreiter & Schmidhuber, 1997),DNC(Graves etal., 2016),记忆网络(Sukhbaatar etal., 2015; Miller et al., 2016)等方面做了大量研究。按时间进行的后向传播截断法训练的记忆复现神经网络(LSTMs andDNCs)与非复现神经网络同样受到学习速度的限制。其中一些模型已经被应用于强化学习智能体(LSTMs; Bakkeret al., 2003; Hausknecht & Stone,2015), DNCs (Graves et al., 2016), 存储网络 (Ohet al.,2016)。然而这些记忆方式在面对新的应用场景时,都需要重新进行设置。在部分可观或非马尔可夫环境中,当记忆的目的是根据对先前观察进行寻迹以获得最大收益时,这样做是合适的。因此,这些应用可以认为是一种工作记忆。
RNNs能够在记忆中快速描绘出高奖励状态,并且能够学习整个强化学习算法(Wang et al.,2016; Duan et al., 2016)。然而,这项工作需要花费的周期很长,学习时间与问题复杂度相当。
对于Oh et al.(2016)的工作,其想法简述于此。他们在
Kaiser et al.(2016)给出了一种可以加入到神经网络中的键-值对微分层。该层使用余弦相似度来计算k个最近似的记忆的价值的加权平均和。其使用的动态平均更新规则让人想起在第3部分介绍的那个方法。作者给出的结果都是一些基于有监督任务的,他们并没有去考虑在强化学习中的应用问题。其他强化学习算法也都是基于以往的历史经验。事实上,DQN本身就有一个基本的记忆形式:从回放缓冲器到稳定训练可以看作是一个记忆过程。因为这个过程通过不断重复来精炼DQN价值网中的内容。Kumaran et al.(2016)指出,利用DQN重演缓冲器的经验进行训练与动物在睡眠过程中对情景记忆的经验重演的过程是相似的。与其他大多数在深度强化学习记忆方面的研究相比,DQN重演缓冲器的不同指出在于其庞大的规模:保存上百万
6 讨论
我们提出了神经情景控制(NEC):一种深度强化学习智能体,对于Atari的2600个游戏中的绝大部分游戏,其学习速度显著快于其他基线智能体。NEC的核心是其存储结构:每个潜在行为对应一个可微神经词典(DND)。NEC将最近的状态表示与相应的价值函数插入到合适的DND中。
实验表明,之前提出的智能体(如Prioritised-Replay (Schaul et al., 2015b) 和
存储架构DND能够快速整合当前经验—状态表达和相应的价值估计—使得这些信息能够被快速应用于之后的行为。这种存储会跨过许多情景,于是我们使用一个快速估计最近邻算法
研究表明非参数方法对于深度加强学习工具箱来说是非常有前景的,尤其是在数据效率至关重要的地方。在实验中,我们发现在学习开始的时候,NEC在学习速度方面优于其他智能体;之后Prioritised-Replay在学习方面的表现比NEC要好。进一步改善NEC,使其长期结果显著优于参数智能体这项任务,将纳入到未来的工作中。另一个研究方向则是将本文所述方法应用到更加广泛的任务中去,例如视觉上更复杂的3D世界或真实世界的任务,由于获取数据的成本较高其数据效率非常重要。
声明
本文作者对Daniel Zoran,Dharshan Kumaran, Jane Wang, Dan Belov, Ruiqi Guo, Yori Zwols, Jack Rae,Andreas Kirsch, Peter Dayan, David Silver以及在DeepMind给出有见地的讨论和反馈的朋友表示衷心的感谢。同时感谢Georg Ostrovski,Tom Schaul和 Hubert Soyer提供的基线学习曲线。
参考文献 见原文。
- 神经情景控制(Neural Episodic Control)On arXiv By DeepMind
- NEC:Neural Episodic Control 阅读
- Neural Relation Extraction(神经关系抽取)的两篇文章
- 神经机器翻译(Neural Machine Translation)系列教程
- 神经机器翻译(Neural Machine Translation)系列教程
- 神经机器翻译(Neural Machine Translation)系列教程
- 神经机器翻译(Neural Machine Translation)系列教程
- 骁龙神经处理引擎(Snapdragon Neural Processing Engine)
- 神经机器翻译(Neural Machine Translation)系列教程
- 神经机器翻译(Neural Machine Translation)系列教程
- 神经机器翻译(Neural Machine Translation)系列教程
- 神经机器翻译(Neural Machine Translation)系列教程
- 神经机器翻译(Neural Machine Translation)系列教程
- [持续更新] 神经机器翻译论文汇总 Papers on Neural Machine Translation
- arxiv
- DCL(Data Control Language)语句&事务控制语句transaction on Oracle&三范式
- Hybrid computing using a neural network with dynamic external memory(可微神经计算机)阅读
- <模型汇总_4>神经翻译模型(NMT)新宠_Adversarial Neural Machine Translation_Adversarial-NMT
- supersocket第一篇
- 【C++】基础知识篇
- php+jquery/JAVASCRIPT判断用户名是否存在
- 树形关系记录遍历
- Pandas——ix vs loc vs iloc区别
- 神经情景控制(Neural Episodic Control)On arXiv By DeepMind
- unity3d工程Plugin文件夹笔记
- maven持续集成
- 如何获得树莓派CPU实时温度值
- 字符串匹配的Boyer-Moore算法 BM算法详解
- 集合
- 2017年6月19号YaXin公司Android面试总结
- RxJava系列教程之创建篇(二)
- 74_异常机制_try_catch_finally_return执行顺序