欢迎访问一起赢论文辅导网
本站动态
联系我们
 
 
 
 
 
 
 
 
 
 
 
QQ:3949358033

工作时间:9:00-24:00
机械论文
当前位置:首页 > 机械论文
一种带探索噪音的深度循环Q网络
来源:一起赢论文网     日期:2020-05-23     浏览数:1599     【 字体:

 eep recurrent Q network requires a lot of training time,which increases the difficultyof the task.To solve these problems,the model of the deep recurrent Q network with exploratorynoise (EN-DRQN)is proposed.Different from the way of exploration in the action space,EN-DRQN injects noise directly into the network space,which changes the output of the network,and the agent adjusts its policy through this change.The exploration in the network space cancause complex changes in multiple time steps,and the agent can memory multistep changesthrough the recurrent neural network memory,making the decision more strategic.Taking theabove measures,the decision made by the agent is more strategic.EN-DRQN has the followingcharacteristics:first of all,exploratory noise is used to make up for the inefficiency of traditionalpolicy exploration.The noise comes from the noise distribution and the agent has ability toexplore through the variance.If the selected action is the optimal action,the agent will reduce thescale of the noise to reduce the variance of the network.If the selected action is not the optimalaction,increasing the variance of the network to improve the possibility of selecting the optimalaction.The variables that control the noise scale are trained by the gradient descent method alongwith other weight parameters in the network.The noise policy in the network space improves thepossibility of finding new states.Mining new state can provide more abundant samples for theagent at the learning stage and provide effective information for decision-making.Second of all,we use the improved double gated recurrent units to memorize the historical information of a longtime step.This operation enables the agent to make reasonable decisions in the case of delayedrewards.In the deep recurrent Q network,the ability of a single layer LSTM network to memoryhistory information is relatively limited,and it cannot achieve satisfactory performance in a fewstrategic environments.At the same time,the LSTM unit increases the demand for computingresources.Last but not least,we tested the effectiveness of EN-DRQN in eight games such asAirRaid,BeamRider,Centipede,Freeway and so on.It is worth mentioning that the eight gamesare all strategic and the rewards given by the environment are delayed.We compared the modelby evaluating the average score of each game.Compared with dithering policy in the action space,the experimental results show that EN-DRQN has achieved better performance in some strategygames and games with delayed rewards.Keywords  deep learning;reinforcement learning;recurrent neural network;convolution neuralnetwork;exploratory noise1 引 言DeepMind团队于2013年公布了基于 Atari 2600游戏平台的深度强化学习算法[1].这是一项令人瞩目的研究成果,与传统人工智能算法不同,它将具有感知能力的深度学习(Deep Learning,DL)和具有决策能力的强化学习(Reinforcement Learning,RL)相结合并在 Atari 2600游戏平台上做了大量实验,结果表明:在大部分游戏上,该算法可以取得超越人类玩家水平的成绩.其基本框架如图1所示.图 1 深度学习与强化学习的关系深度强化学习在模拟真实场景任务上的优异性能表现,使其成为人工智能领域一个新的研究热点.Mnih等人[2]结合卷积神经网络(ConvolutionalNeural Networks,CNNs)和 学习算法,提出一种7期 刘 全等:一种带探索噪音的深度循环 网络9851Deep Q-Network,DQN).DQN在众多基于视觉感知的控制任务中均取得了优异的性能表现,具有强大的通用性.Hasselt等人[3]针对Q 学习中存在的高估动作值问题,提出了一种深度双 (Deep Double Q-Network,DDQN),DDQN 能够很好地抑制高估所带来的误差.Schaul等人[4]在训练 DQN 时,采用一种优先级经验重放技术,该技术 本,使 Agent在部分 Atari游戏上取得了更高的得分.Fortunato等人[5]提出一种利用白噪音探索的机制,弥补了传统抖动策略的不足,并在深度 网络中验证了其猜想.Hausknecht等人[6]提出一种基于长短期记忆单元(Long-Short Term Memory,LSTM)的深度 网络(Deep Q-Network with Long-Short Term Memory,LSTM-DQN),并在 Atari 2600游戏平台上验证了其可行性与通用性.实验结果表明,LSTM-DQN 具有一定记忆历史信息的能力,在部分战略性任务上的表现可以超过 DQN.Lample等人[7]从任务的特征和动作的特性角度出发,提出一种分层的深度循环Q 网络(Hierarchical Deep Recurrent Q-Network,H-DRQN),在该网络中分别采用 LSTM 网络和全连接网络对接收到的特征进行分层处理,并在 FPS游戏上验证.翟 人[8]在 中引入注意力机制(Deep Recurrent Q-Network withVisual Attention Mechanism,VAM-DRQN)以聚焦图像中关键信息,并在 Atari 2600上进行实验,相比于深度循环 网络,取得了更优的表现.然而在深度循环 网络中,单层的循环网络记忆历史信息的能力相对有限,且 LSTM 单元运算速度较慢,在使用ε-greedy 抖动策略进行探索时,并不能有效地找到合理的行动,这些问题严重地影响 Agent的表现.本文的主要贡献如下:(1)提出一种带探索噪音的深度循环 Q 网络模型———EN-DRQN.该模型 既 保 留 状 态 序 列 之 间的相关性,又可以在状态序列之间维持高效的探索.噪音来源 于 噪 音 分 布 并 且 是 自 适 应 的,与 传 统 的ε-greedy 抖动策略相比,无需额外探索因子便可收敛至最优.EN-DRQN 在噪音帮助下可以有效地探索出新状态,同时还会在历史信息的指引下做出高效决策;(2)提出一种改进的简单循环单元以降低计算的复杂度.由于单层 LSTM 记忆历史信息能力相对有限,在一些连续性不强的环境中并不能取得满意的表现.同时使用 LSTM 单元增加了网络对计算资源的要求.针对此 问题,本文引入改 进的简单 循环单元(Simple Recurrent Unit,SRU).这种结构可以记忆多个时间步中的有效信息且进一步加快网络的运算.本文通过在战略性任务和稀疏性奖赏任务上进行评估以验证提出的猜想.实验结果表明,本文提出的 EN-DRQN 模型能高效探索,同时减少了训练时间.2 相关工作2.1 强化学习强化学习,又名激励学习,是学习从状态到行为的映射,以获取数值最大的奖励信号[9].强化学习中Agent与环境进行交互,其每一个时间步t,在状态st下根据策略π 从动作集合A 中执行某一动作at,接收 到 环 境 所 反 馈 的 下 一 状 态st+1和 标 量 奖 赏rt+1,该过程直到环境给出终止状态结束,其中策略π表示一个从状态st到动作at的映射.对于所有状态,如果策略π 的期望回报大于或等于所有其它策略的期望回报值,那么该策略π 就被称为最优策略,用π*表示.在强化学习中,从t时刻到T 时刻的累计奖赏定义为:Rt=∑Tt′=tγt′-trt′(1)其中,Rt称之为回报或者累计奖赏,γ∈(0,1]称之为折扣因子.Agent的目标是最大化每个状态st下的期望累计奖赏.状态动作值函数Qπ(s,a)是指 Agent在当前状态st下执行动作at,并一直遵循策略π 所获得的累计奖赏:Qπ(s,a)=E[Rt|st=s,at=a,π] (2)值得注意的是,最优策略并不唯一,但是最优的状态动作值唯一:Q*(s,a)=maxπE[Rt|st=s,at=a,π] (3)Q 学习是强化学习中应用最为广泛的学习方法之一.该方法定义了 Q 函数,将得到的数据代入到式(4)、(5),对Q 函数进行迭代更新,最后 Q 函数会收敛到最优状态动作值:δt=rt+1+γmaxa′Qt(st+1,a′)-Qt(st,at) (4)Qt+1(st,at)=Qt(st,at)+αtδt (5)其中t表示 时 刻,αt是 学 习 率,δt表 示 时 间 差 分(Temporal Difference,TD)误差,a′是下一状态st+10951 计  算  机  学  报 2019年使用 TD 误差进行迭代更新.可以证明,当满足所有的状态动作都能够被无限次地遍历并且满足∑∞t=0α2t<∞,∑∞t=0αt=∞时,在时间步t趋近于无穷下,可以得到最优控制策略[10-11].然而,在大规模问题中,用类似于上述的表格式方法是不可取的[12].在这类问题中,通常利用函数逼近器来近似求解Q 值:Q(s,a|θ)≈Q*(s,a).函数逼近器一般可以用线性函数或者非线性函数构造而成[13].2.2 深度Q网络深度强化学习中使用深度神经网络作为函数逼近器,但是使用非线性神经网络与强化学习结合时会导致学习不稳定[2],Mnih等人提出使用目标网络和经验重放机制来解决该问题.在 DQN 中使用两个独立网络模型来近似表示状态动作值函数[14],分别为当前网络和目标网络,其中参数θi用于表示当前网络输出Q(s,a|θi),θ-i用于表示目标网络输出Q(s,a|θ-i).在 DQN 中,通过损失函数来度量预测值和优化目标之间的差异:Li(θi)=E[(Yi-Q(s,a|θi))2] (6)一般用Yi=r+γmaxa′Q(s′,a′|θ-i)来近似表示值函数的优化目标,充当监督学习中的标签.DQN通过反向传播更新网络参数θ,更新的梯度由式(6)对参数θ求导得到:θiL(θi)=Es,a,r,s′[(Yi-Q(s,aθi))θiQ(s,aθi)](7)为防止梯度爆炸,需要将梯度裁剪至[-1,1]区间内,对于大于1的误差将其置为1,小于-1的将其置为-1.在 DQN 中,保证学习稳定的另一种做法是使用经验重放机制.Agent在每一个时间步t内存储在线得到的经验et=(st,at,rt,st+1),并将其放入经验池 D={e1,e2,…,eN}中.在训练网络阶段,每次从经验池中取出固定数量的样本,使用随机梯度下降(Stochastic Gradient Descent,SGD)进行更新.2.3 简单循环单元不同于传统全连接网络(Full Connection Net-works,FCNs),循 环 神 经 网 络 (Recurrent NeuralNetworks,RNNs)引入了定向循环,以解决输入数据之间前后关联性问题,即 RNNs可以用来处理序列相关性的数据.在传统 RNNs模型中,隐藏层接收来自输入层的序列(x1,x2,…,xt)以及上一时刻 RNNs的隐藏层输出(h1,h2,…,ht),根据以下公式,得到当前时刻输出(z1,z2,…,zt):ht=f(wxhxt+whhht-1) (8)zt=g(Wzhht) (9)其中,f和g都是非线性的激活函数,wij为不同层之间相连接的权重.传统 RNNs会随着时间步的增加而出现“梯度弥散”问题,严重影响 RNNs对长时历史信息的记忆能力.Hochreiter等人[15]提出使用 LSTM 替代传统的循环神经网络单元,其通过增加三种类型的门(Gate):输入门(Input Gate)、输出门(Output Gate)、遗忘门(Forget Gate),来达到有效记忆历史信息的目的.然而,在 LSTM 模型中,各种门的输出依赖于前一时刻的结果,这 严重限制了 网络的运 算,破坏网络的独立性和并行性,拖慢序列的处理速度.在EN-DRQN 模型中,RNNs部分采用一种简单循环单元的门机制变体[16],与 LSTM 单元相比,SRU 单元引入重置门(Reset Gate)平衡历史记忆和输入信息的关系,同时门控操作不再计算前一时刻网络权重与输入矩阵的乘积.SRU 单元计算过程如下:x-t=Wxxt (10)ft=σ(Wfxt+bf) (11)rt=σ(Wrxt+br) (12)ct=ft⊙ct-1+(1-ft)⊙x-t(13)ht=rt⊙g(ct)+(1-rt)⊙xt (14)其中x-t、ft、rt分别表示t时刻的输入门、遗忘门、重置门,ct表示t 时刻长期记忆的内容,ht表示t 时刻隐藏层单元输出,W、b 表示单元权重和偏置,⊙ 表示矩阵或 向量之间对 应元素的 相乘.完整 的 SRU结构如图2所示.图 2 简单循环单元计算过程图从式(10)~ (12)可 以 看 出 SRU 单 元 的 输 入门、遗忘门、重置门的计算已经不需要像 LSTM 门机制那样计算前一时刻的输出与参数矩阵的乘积,7期 刘 全等:一种带探索噪音的深度循环 Q 网络19512;在线出版日期:2019-03-11.本课题得到国家自然科学基金(61772355,61472262)、江苏省高等学校自然科学研究重大项目(18KJA520011,17KJA520004)、吉林大学符号计算与知识工程教育部重点实验室资助项目(93K172014K04,93K172017K18)、苏州市应用基础研究计划工业部分(SYG201422,SYG201804)、江苏省级重点实验室(苏州大学)项目(KJS1524)资助.刘 全,博士,教授,博士生导师,中国计算机学会(CCF)高级会员,主要研究领域为智能信息助理、自动推理和机器学习.E-mail:quanliu@suda.edu.cn.闫 岩,硕士研究生,主要研究方向为强化学习、深度学习、深度强化学习.朱 斐,博士,副教授,中国计算机学会(CCF)会员,主要研究方向为强化学习、文本挖掘、模式识别.吴 文,硕士研究生,主要研究方向为强化学习、深度学习、深度强化学习.张琳琳,硕士研究生,主要研究方向为强化学习、深度强化学习.一种带探索噪音的深度循环Q网络刘 全1),2),3),4) 闫 岩1) 朱 斐1),4) 吴 文1) 张琳琳1)1)(苏州大学计算机科学与技术学院 江苏 苏州 215006)2)(软件新技术与产业化协同创新中心 南京 210000)3)(吉林大学符号计算与知识工程教育部重点实验室 长春 130012)4)(苏州大学江苏省计算机信息处理技术重点实验室 江苏 苏州 215006)摘 要 结合深度神经网络和强化学习方法的深度 Q 网络在 Atari 2600游戏平台上取得了巨大成功.相较于深度Q 网络,深度循环 Q 网络具有记忆历史信息的能力,在部分游戏上显示出了更好的性能.然而在某些复杂的游戏环境中,一方面深度循环 Q 网络需要大量的训练时间,另一方面其在动作空间抖动的策略中不能做出合理决策.针对这些问题,本文 提 出 一 种 带 探 索 噪 音 的 深 度 循 环 Q 网 络 (Deep Recurrent Q-Networks with Exploratory Noise,EN-DRQN)模型.与在动作空间的探索方式不同,EN-DRQN 在网络空间注入噪音,引起网络输出变化,然后根据该变化选择动作.这种在网络空间的探索可以在未来多个时间步内造成复杂的改变,并通过循环神经网络记忆多步变化,使智能体(Agent)做出的决策更具有战略性.EN-DRQN 具有以下特点:一是利用带探索性的噪音进行深度探索以弥补传统策略探索的低效性.噪音来自于噪音分布,通过方差驱动探索,这使得 Agent可以发现大量新状态,提供更加丰富的样本,为决策提供有效信息;二是使用改进的双层门限循环单元来记忆较长时间步的历史信息,使 Agent能够在延迟奖赏的情况下做出合理的决策.实验结果表明,EN-DRQN 模型在 Atari 2600游戏平台上的部分战略性游戏以及具有延迟奖赏的游戏上,与动作空间的抖动策略相比,取得了更优的表现.关键词 深度学习;强化学习;循环神经网络;卷积神经网络;噪音探索中图法分类号 TP18   DOI号 10.11897/SP.J.1016.2019.01588A Deep Recurrent Q Network with Exploratory NoiseLIU Quan1),2),3),4) YAN Yan1) ZHU Fei 1),4) WU Wen1) ZHANG Lin-Lin1)1)(School of Computer Science and Technology,Soochow University,Suzhou,Jiangsu 215006)2)(Collaborative Innovation Center of Novel Software Technology and Industrialization,Nanjing 210000)3)(Key Laboratory of Symbolic Computation and Knowledge Engineering of Ministry of Education,Jilin University,Changchun 130012)4)(Provincial Key Laboratory for Computer Information Processing Technology,Soochow University,Suzhou,Jiangsu 215006)Abstract  The deep Q network,which combines the deep neural network and the reinforcementlearning method,has achieved great success in the Atari 2600game platform.Compared with thedeep Q network,the deep recurrent Q network has the ability of memorizing historical informationand shows better performance in some strategic tasks and games with delayed rewards.However,on the one hand,traditional dithering policy cannot make a reasonable decision;on the otherhand,in some complex game environments,because of the complex structure and activation性,有效地缓解了网络传播时间过长的问题.此外,SRU 单元比 LSTM 等单元有更少的网络参数,减少了网络运算所需的计算资源.3 噪音机制的深度循环Q网络本文提 出 的 EN-DRQN 是 基 于 文 献 [6]的 改进,在其网络结构中,从单一的视频画面映射到行动要经历以下阶段:(1)卷积神经网络.将接收到的序列化原始数据作为 CNNs输入,通过三层卷积操作提取视觉信号中有效特征信息.(2)循环神经网络.采用双层 SRU 单元结构,将 RNNs沿时间轴展开以接收经卷积网处理后的序列化特征,使网络在训练过程中高度关注序列的特征信息以及前后序列的相关性.(3)带探索噪音处理的全连接网络.在全连接网络中注入自适应噪音信息,噪音通过方差驱动探索,通过两层全连接网络映射到行动.本文以 Atari 2600游戏为例,介绍 EN-DRQN从接收原始视觉传感信息到做出行为决策的一系列流程,然后将详细阐述预处理、卷积神经网络、循环神经网络、带噪音的全连接网络等部分处理数据的流程及细节,并提出更为一般的带探索噪音的深度循环 Q 网络模型.3.1 预处理在训练 Atari 2600游戏时,需要预处理操作来剔除不重要的信息.对游戏进行预处理本质上是对每一帧画面进行处理.一方面预处理可以减少训练的计算量,另一方面增强了提取特征时的准确性.在Atari 2600游戏集中,原始传感输入是尺寸为210×160×3的图片.为了计算需要,可以对其进行裁剪.首先,将原始 RGB图像转换成210×160×1的灰度图,在游戏中使用灰度图像并不会影响 Agent的表现性能,并且可以减少存储资源、加快网络计算;其次,将210×160×1的图片进行降采样处理,本文采用双线性插值法对图像进行缩放,将图片大小缩减为110×84×1;对于降采样后得到的图片,仍存在部分无价值的信息且这种信息集中包含在游戏的边角区域,因此需要进一步裁剪没有价值的像素点以及边界;最终,可以被 观测的游戏 屏 幕区域大 小 为84×84×1,且被观测的画面足以提供有价值的信息.预处理操作仅需要对图像进行剪裁、降采样和简单的灰度转换,所以并不会影响 Agent训练游戏的效果,同时将处理后的图片放入 CNNs中可以大大减少 CNNs的 计 算,节 省 了 计 算 的 时 间 和 存 储 空间,使资源得到有效利用.在原始的 DQN 中 采 用 距 离 当 前 时 刻 最 近 的4幅经过 预 处 理 的 图 片 作 为 网 络 的 输 入.与 原 始DQN 不同,EN-DRQN 采用一张预处理的图片作为网络的输入,与 DQN 相比,同一个状态下的计算量缩减至1/4.3.2 CNNs卷积神经网络可以接收多张图片进行平行化处理[17],卷积处理过程如下:C=f∑D-1d=0Xd·Wd(+b)(15)其中 D 为图片的深度,Xd为输入的矩阵,Wd为卷积核,b 为 偏 置,C 为 卷 积 层 输 出 的 特 征 图 (FeatureMaps),f 为 激 活 函 数,本 文 采 用 线 性 整 流 单 元(Rectified Linear Unit,ReLU)作为激活函数.EN-DRQN 使用 CNNs进行图片特征提取.为增强特征提取的准确性,本文采取三层卷积网络,具体细节如表1所示.表 1 卷积网络前向传播细节网络层 输入 过滤器 步幅 过滤器个数 激活函数 输出Conv1  1×84×84  8×8  4×4  32 ReLU  20×20×32Conv2  20×20×32  4×4  2×2  64 ReLU  9×9×64Conv3  9×9×64  3×3  1×1  64 ReLU  7×7×64经过三层卷积和非线性变换,将原始的视觉感知输入编码成特征集合,并进行扁平化处理,以便于RNNs操作.值得注意的是,本文在卷积结束后并没有采取池化(Pooling)操作,这是由于池化操作具有平移不变性[18],即网络最终学习到的结果对图像中的物体位置不敏感.但是在许多游戏中,物体位置是十分关键的信息,这种信息可能对潜在奖励具有十分重要的影响,因此丢掉物体的位置信息并不合适.3.3 RNNs在 RNNs中,如果 N 个参数矩阵共用一份输入数据xt,那么可以将这些矩阵拼接成一个大矩阵以提高 GPU 的利用率.对于善于处理大矩阵计算的GPU 而言,把多个小矩阵相乘合并为大矩阵相乘要2951 计  算  机  学  报 2019年阵乘法快很多.在 SRU 单元中,输入门x-t、遗忘门ft和重置门rt共用一份输入数据xt,本文将这三种门的参数 Wx、Wf、Wr拼接成一个矩阵[Wx,Wf,Wr]T以提高计算的利用率.与 LSTM单元相比,在 SRU 单元的门控操作中,输入门x-t、遗忘门ft和重置门rt已经不再像 LSTM 单元那样计算前一时刻的输出与参数矩阵的乘积,时间相关性的历史记忆仅需要变量ct、ht存储,且ct、ht的计算采用矩阵之间元素的点乘操作,对于 GPU 而言,计算矩阵之间点乘的时间小于矩阵乘法,一定程度上降低了计算的复杂度.不同于 DQN 的 4 张 图 片 作 为 一 个 状 态,在EN-DRQN 中,以一帧视频信号作为状态.对于长度为 N 的情节,定义智能体的决策长度为L(LN),若对第i帧做决策,当i<L 时,Agent考虑之前的i帧做决策,当LiN 时,Agent会对前L 帧画面进行考虑,使决策更加具有战略性.图3展示了一个情节长度为 N,Agent的决策长度L=3时的决策图.图 3 EN-DRQN 决策示意图Donahue等人[19]的研究表明,使用双层记忆组件组成的 RNNs在记忆时序性信息上优于单层和四层的表现,考虑到网络开销和训练时间成本,本文采用双层SRU 单元所组成的 RNNs网络.在 DQN 中,将卷积层得到的特征图直接连接到包含512个隐藏单元的下一网络层中.在 EN-DRQN中,增加循环神经 网络部分以记忆 历史相关信息.循环层的输入由两个部分组成,一部分是上一时刻隐藏层激活值ht-1,另一部分是卷积层传来的特征序列.对于情节长度为 N 的特征序列,需要将 RNNs沿时间轴 展 开,把 特 征 序 列 输 入 到 RNNs的 输 入层.记输入序列为S={s1,s2,…,sN},其中si∈Rm,表示卷积层得到的特征,下面详细说明 EN-DRQN在 RNNs层处理数据的流程:(1)组合当前时刻的输入层序列特征st和上一时刻隐藏层的激活值ht-1,得到输入It={st,ht-1},并将It作为 RNNs中第一层的输入.(2)将It输入至第一层隐藏层细胞中,通过激活函数将激活信息输出.把第一层激活信息作为第二层输入层的输入信息.本文设置的隐藏层有512个SRU 单元,故激活信息可表示为ht={h1t,…,h512t},其中hit表示t时刻第i个SRU 组件的输出.(3)按照流程(2)相同的方法输出 RNNs的最终信息.此信息一方面记忆了t时刻之前数据的相关性,可以作为沿时间轴上t+1时刻的输入信息,另一方面当作 RNNs输出层的输出以作为下一个网络部分的输入.RNNs具有记忆历史信息的特性,然而记忆历史信息能力要依赖于合理的参数更新.本文采用自举的随机更新方法:采样情节随机从经验池中取出,在情节中随机选择一个时间步,根据 RNNs展开的长度从该点进行训练.例如:假设一 个情节长 度为N,规定输入训练序列长度为L(L<N),从情节中随机选择一个时间点 P(P+L<N),对于长度为 L的输入序列,RNNs展开的时间步长亦为L,故从 P点开始,把长度为 L 的序列输入网络进行训练.目标网络更新也是如此.通过大量反复实验,保证每个情节中的时间步样本均可被采样.由于在不同情节下,序列与序列之间并不存在相关性,所以只学习记忆序列内部时间步之间的联系,为此本文采用以下做法:每进行一次更新,RNNs的细胞初始化状态值为0,网络只记忆输入序列中时间步的相关性而不必记住序列之间的相关性.更一般地,如果序列之间存在关系且需要学习序列之间的相关性,可以将其输入至网络而不必在每次更新时清零.RNNs网络训练采用通过时间反向传播方法(Back PropagationThrough Time,BPTT).采用随机自举的更新更好地遵循经验随机采样的特性,增加了训练可靠性.3.4 探索噪音使用循环神经网络,让 Agent拥有一定记忆能力,但是仅考虑前 L 帧是不够的.行为策略的决策要考虑探索问题,探索可以为决策提供更多有价值的信息.“探索 -利用”的平衡一直是强化学习中研究的热点[20].传统的强化学习算法在动作空间采用ε-greedy进行决策:以ε的概率进行探索,以1-ε的概率利用.然而,这种抖动策略存在两方面的缺陷:(1)如何选择ε探索是具有挑战性的.DQN 的做法是将ε从1开始每隔50 000步呈指数级衰减,直到衰减至7期 刘 全等:一种带探索噪音的深度循环 Q 网络3951.但是这种做法不能保证一定学习到有效、合理的ε,以 达到探索的最 优;(2)仅根据状态值函数选择动作即仅在动作空间选择动作并不会引起策略的改变,不能达到深度探索的目的.本文考虑在网络中加入噪音驱动 Agent探索.在网络中加入噪音驱动探索的主要动机是在网络中微小的 变 化 会 在 未 来 多 个 时 间 步 内 造 成 持 续、内在、复杂的改变[21],这种改变导致模型输出的策略发生变化,从而可能使策略在下一阶段选择动作时发生很 大 变 化.在 一 个 情 节 的 每 个 时 间 步,EN-DRQN 模型均会从噪音分布中采样白噪音输入至网络.当Agent与环境交互过程中采样到一整条轨迹时,轨迹中每个时间步输出的 Q 值均受到噪音影响,导致每个时间步的网络输出发生变化,基于Q 值函数的策略从而也发生了变化.这种在网络空间注入的噪音影响到了整个情节中动作的选择,使探索具备了深度.而在 DQN 等模型中,没有在网络空间引入探索噪音,仅依靠较小的参数ε保持在动作空间抖动探索,每个情节的网络模型参数并没有发生改变.Salimans等人①研究表明,对神经网络再参数化 所 引 起 的 抖 动 对 动 作 选 择 是 有 意 义 的.然 而Salimans等人对网络的再参数化方法仅局限于进化方法,并 不 能 说 明 在 深 度 强 化 学 习 领 域 可 以 获得好的表现.受 Salimans等人启发,本文提出 EN-DRQN 模型,采用双层改进 SRU 单元结构,同时将探索机制引入至网络中,利用方差驱动网络输出变化以达到探索的目的.这些参数通过损失函数反馈至网络中,与网络中的其它参数一并学习,具体细节见3.4.1节及3.4.2节.3.4.1 动作空间噪音与网络空间噪音对神经网络的再参数化需要设计合理的抖动策略以保证 Agent能够有效探索.在学习 过程中,首先需要考虑探索和利用的问题.为增强探索,考 虑到两 种增加 探索的方法:在动作空间 和 网 络 参 数 空 间 注 入 噪 音.在 动 作 空 间加入噪音,得到 动 作at=πθ(st)+Nst(0,σ2),其中Nst(0,σ2)为人工选取的高斯噪音项.对于每一个状态st,即使策略给出最优动作a*t,由于噪音的存在,最优动作a*t不一定被选择.在深度学习中,深度神经网络陷入局部最优的概率难以被衡量,但如果陷入局部最优,策略在收敛的过程中,噪音项对最优动作的影响逐渐减小,动作空间中均值为0的噪音项所驱动的探索将意义甚微.同时由于噪音项依赖于当前状态,不会对后续状态产生影响,所以并不是一种有效的探索方式.相反,在网络参数中加入噪音可以引起网络抖动,使驱动策略做出不同的行为模式.根据抖动网络所学习到的当前策略π~θ,在状态st下所做出的最优动作a*=π~θ(st)一定被选择.加入至网络空间中的噪音是均值为 0,方差为σ 的高斯白噪音,其中σ≠0.由于网络参数的微小变化会影响至后续多个状态,这种白噪音所引起的微小抖动使探索具有了深度.探索可以通过白噪音的方差进行学习:Agent在策略的指导下,若选择的动作为当前策略下最优动作,Agent会减小方差规模以提高最优动作被选中的概率,由于方差不会为0,对于次优动作依然有被选中的可能性,以保证探索.若该动作不是最优动作,提高方差,加大最优动作被选择的可能性.故本文选择在网络中注入噪音机制.在网络参数中注入探索噪音需要控制合适的噪音规模.对于模型的全连接层部分,不同的网络层对噪音的敏感性可能不同,因此本文对每层均设置了控制噪音规模的参数因子σ,σ 负责对探索噪音值进行合理缩放以使网络的方差控制在 合理的范 围内.因子σ 在训练过程中通过反向传播算法自适应修正.在网络收敛阶段,σ 学习到了合适的值,此时加入的噪音并不影响最优动作的选择:与其它动作相比,最大的Q 值所对应的动作的相对性并没有发生改变.图4展示了在动作空间和网络空间中注入噪音的比较.图 4 在动作空间和 网 络 参 数 空 间 的 噪 音 (图 中实线圆形代 表 网 络 的 神 经 单 元,虚 线 圆 形代表注入噪 音 的 神 经 单 元,实 线 代 表 网 络的连接,虚线代表预处理操作)3.4.2 带有噪音的网络对于网络的全连接部分,DQN 中通过两层全连4951 计  算  机  学  报 2019年① http://arxiv.org/abs/1703.03864 EN-DRQN 中,本文对全连接层加入可学习的噪音以增强其探索性.噪音参数来自于噪音分布,这 些参数通过 梯度下降训练.具体的:可以把噪音神经网络抽象为y=fθ(x),对于输入向量x 和输出向量y,θ 表示已噪音化的网络参数:θ=μ+σ⊙ψ,其中规定ζ=(μ,σ)是一系列可学习的网络参数,ψ是一个均值为0的噪音向量,⊙表示向量中元素之间的乘法运算.训练网络就是优化可学习的参数ζ.对于有p个输入和q个输出的全连接层可以抽象表示为:y=W·x+b (16)其中x∈Rp表示输入向量,W ∈Rp×q表示隐藏层全连接的参数矩阵,b∈Rq表示偏置.为利用噪音以驱动探索,做出如下改进:将 W 替代为μw+σw⊙ψw,将b替代为μb+σb⊙ψb,其中μw∈Rp×q,μb∈Rq,σw∈Rp×q,σb∈Rq是 网 络 中 可 学 习 的 参 数,ψw∈Rp×q,ψb∈Rq是随机噪音,那么y可以表示成y=(μw+σw⊙ψw)x+μb+σw⊙ψb.随机噪音产生方式有如下两种选择:(1)独立的高斯噪音.权重和偏差的噪音是独立的.对于随机噪音矩阵ψw中的每一个元素ψwi,j都是从一个高斯分布中独立产生的,ψb亦是如此.那么,则带有噪音的全连接层有p×q+q个噪音变量.(2)可分解的高斯噪音.可分解的高斯噪音减少了噪音变量的个数.生成有p 个元素的噪音向量ψi,有q个元素的噪音向量ψj,并进行如下分解:ψwi,j=f(ψi)f(ψj) (17)ψbj=f(ψj) (18)其中ψwi,j表示两层全连接之间噪音权重矩阵的每个噪音值.ψbj表示输出层偏置矩阵的每个噪音值,f是一个分解函数,本文使用f=sgn(x)槡x .那么,网络有p个输入单元,q个输出单元,只需要p+q个噪音变量,大幅度减少了计算代价.网络每一次前向计算时,Agent从噪音分布中采样噪音,通过分布的方差进行探索.在优化之中,Agent根据当前固定的网络参数执行动作,保证 Agent可以根据当前噪音分布中采样的噪音做出决策.传统的 DQN 中,Agent根据ε-greedy 选择动作,本文做出如下改进:在 EN-DRQN 中,由于网络已经具有探索的能力,故不再使用ε-greedy 策略,而是使用 贪 婪 策 略;其 次 在 网 络 的 全 连 接 层 注 入噪音,通过方差驱动探索.本文采用可分解的高斯噪音以减小噪音参数,加快网络的 计算.由于高 频 的噪音采 样 会 导 致 较 大 的 方 差,本 文 从 目 标 网 络 中选取动作以 减 小 状 态 动 作 值 函 数 的 扰 动.完 整 的EN-DRQN 如图5所示.图 5 EN-DRQN 模型图(EN-DRQN 采用三层卷积网络、两层 SRU 单元的循环网络和两层带探索噪音的全连接神经网络.网络输入为一张图片,网络输出的单元数由任务定义的动作个数决定)3.5 广义的带探索噪音的深度循环探索Q网络对于更一般的任务,若任务的输入为原始的图片,可以先对图片进行裁剪、降采样等预处理操作.假设预处理完成后的图片大小为 M×N×C,其中M、N、C 分别为图片的长度、宽度以及通道数.可以通过设计卷积神经网络进一步提取有效特征,网络中卷积层个数为Lc,卷积核大小为 F×F×C,并根据实际需要决定是否设计池化操作;将卷积后得到的特征按照任务要求的序列组合输入至 SRU 循环网络,并设计循环网络的层数为Lr层,每层 SRU 单元数为 K;最后设计 Lf层全连接网络,并对其噪音化:噪音分布设计为高斯分布且设置均值为0,方差为var,噪音可以选择独立的高斯噪音或可分解的高斯噪音.7期 刘 全等:一种带探索噪音的深度循环 Q 网络5951在跳帧期间采取相同的动作,以4帧相同动作下的累积奖赏作为总奖赏,其中跳帧期间如果出现中止状态则结束游戏;其次,为提高算法的稳定性,防止出现大的波动而导致Q 值发散,将损失函数进行分段裁剪处理.如果损失的绝对值在[-1,1]之间,则采用式(6)所示的均方误差函数,否则使用绝对值函数;最后,由于游戏的奖赏区间范围波动较大,会导致不同游戏得分差异较大,实验时将所有正的奖赏设置为1,负的奖赏设置为-1,零奖赏保持不变,以方便各算法之间的比较.为进行有效对比,在不同模型中采用相同的参数集合,使用均方根随机梯度下降方法(Root MeanSquare Propagation,RMSProp)更新网络参数,动量系数设置为0.95,折扣因子γ 统一设置为0.99.经验重放的样本池大小设置为5 000 000.EN-DRQN 的决策长度为4.在训练初期,样本经验池中采样的数据达到50 000 才进行训练以防止样本太少导致学习效果较差.当前网络每隔10 000步将参数复制给目标网 络.在 经 验 重 放 时,从 样 本 池 D 中 随 机 抽 取Mini-Batch为 32 的样本数据.在 EN-DRQN 模型中,采样的噪音分布是均值为0,方差为1的高斯分布,全连接参数μ初始值在[-1/槡p,1/槡p]区间内采样,σ 初始值设置为0.4/槡p,其中 p 为输入层单元数.对于 LSTM-DQN 网络,本文采取三层卷积、两层 LSTM 网 络和两层全 连接网络.对 于 卷 积 层 部分,LSTM-DQN 网络的参数与 EN-DRQN 参数一致;LSTM 网络部分每层512个 LSTM 单元,全连接层部分隐藏层有512个神经元,输出单元的个数是游戏定义的动作个数.在 LSTM-DQN 中,所有的激活函数选用 Relu函数.4.3 实验评估与结果分析在 RL中,Agent在每个时间步t内根据策略π选择行动at并与环境交互获得奖赏rt+1,通过从情节开始到结束所获得的累计奖赏来评价学习过程的好坏.DL中,一般通过分阶段训练网络 模型,并在训练集和测试集验证模型的学习效果.在 DRL中结合两种评估方式,在训练集上,通过分阶段训练,比较每个阶段中平均每个情节的累计奖赏进行评估模型的好坏,在测试集上,通过测试每个情节的累计奖赏评估模型学习的效果.在实验中采用100个训练阶段(Epoch)作为训练周期,其中每个阶 段 200 000 步进行训练网络参数,在测试过程中取100个情节,每个情节10 000步,比较每局游戏的得分.本文首先比较 LSTM-DQN、EN-DRQN 2种循环网络训练表2中游戏时,使用 Ubuntu 16.04操作系统,在 NVIDIA Tesla P40GPU 上的计算时间,结果如表3所示.表 3 RNNs模型训练时间环境 模型每时间步耗费时间/s训练总时间/hAirRaidLSTM-DQN  0.00172  95.82EN-DRQN  0.00170  93.54BeamRiderLSTM-DQN  0.0141  78.4 EN-DRQN  0.0137  76.1 CarnivalLSTM-DQN  0.0315  174.87EN-DRQN  0.0285  158.34CentipedeLSTM-DQN  0.0245  130.2 EN-DRQN  0.0243  128.4 FreewayLSTM-DQN  0.0192  106.5 EN-DRQN  0.0174  96.7StarGunnerLSTM-DQN  0.0122  67.8 EN-DRQN  0.0121  67.3 TimePilotLSTM-DQN  0.0307  170.68EN-DRQN  0.0304  169.37MontezumaRevengeLSTM-DQN  0.0139  77.43EN-DRQN  0.0130  72.51表3展示各模型在玩不同游戏时,在GPU上的训练时间.其中,训练Carnival游戏时,二者之间的差异最明显,EN-DRQN 在训练总时间上比 LSTM-DQN减少了16.53个小时.虽然 LSTM、SRU 都是根据门控操作来处理状态之间存在的依赖关系,但是 LSTM 的门控机制以及循环结构较为复杂.基于LSTM 的深度 Q 网络在处理序列数据时,门机制以及记忆细胞ct依赖上一时刻运算结果ht-1、ct-1,导致网络训练较慢,而在基于 SRU 机制的深度循环 Q 网络中,门机制已经不再需要计算前一时刻的输出与参数矩阵的乘积,且长时刻的历史记忆通过矩阵元素之间的乘法操作计算,降低了循环单元的复杂度.表3充分说明新模型在训练时间上的优势.本文在接下来比较DQN、EN-DQN、LSTM-DQN、EN-DRQN 4种模型在表 2 描述的难度系数大的8款游戏上,各阶段平均每情节获得的奖赏.实验结果如图6所示.7期 刘 全等:一种带探索噪音的深度循环 Q 网络7951一 个 平 滑 的 模 型,其 三 大 模 块CNNs、RNNs、FCNs均是可微的.本文采用自适应学习率的随机梯度下降方法对网络参数进行更新.在 DQN 中 使 用 神 经 网 络 逼 近 状 态 动 作 值 函数,其中最优状态动作值函数通过最小化神经网络的参数θ而获得:Li(θi)=Es,a,r,s,[(yDQNi-Q(s,a;θi))2] (19)其中yDQNi为标签,可表示为yDQNi=(ri+γmaxa′Q(s′,a′,θ-)).Li(θi)为当前参数θi期望均方误差,θ-代表目标网络的参数,θi代表当前网络参数.每隔一定步数C,将当前网络参数复制给目标网络,引入目标网络可以使学习更加稳定,γ∈(0,1]表示折扣因子,Agent采用ε-greedy 选择动作,即以ε鼓励探索动作,以1-ε的概率选择贪心动作,式(19)的梯度如下:θiLi(θi)=Es,a,r,s′[(yDQNi-Q(s,a;θi))θiQ(s,a;θi)](20)在 DL 中要求训练数据必须是相互独立的,而RL与环境交互而产生的样本之间是高度相关的,为使 RL的方法可以在 DL 中成功实践,采用经验重放技术 以 打 破 序 列 样 本 的 相 关 性.在 经 验 重 放技术中使用样本池 D={e1,…,et}来存储经验,经验样本et=(st,at,rt,st+1)以先进先出(First In FirstOut,FIFO)的 形 式 加 以 存 储,每 次 更 新 随 机 取 出Mini-Batch数量进行随机梯度下降更新,一定程度上打破了样本之间的相关性.EN-DRQN 中,由于采用噪音机制,可学习的噪音用ζ表示,故损失函数可表示成在噪音之上的期望,其梯度可表示为:L-(ζ)=E[L(ζ)]=E[μ,ΣL(μ+Σ⊙ψ)](21)对于式(21),本文采用蒙特卡洛逼近的方法进行逼近以保证损失的无偏性,即:L-(ζ)≈μ,ΣL(μ+Σ⊙ψ) (22)具体细节如下:令yi=r+γmaxa′Q(s′,a′,ψ′;ζ-)得到:L-(θi)=Eζ[Es,a,r,s′[yi-Q(s,a,ψ;ζ)2]](23)其中外部期望针对的是 Q(s,a,ψ;ζ)和 Q(s′,a′,ψ′;ζ-)中的噪音向量ψ和ψ′的分布.4 实验及结果分析本节介绍了实验所使用的平台以及实验过程中使用的参数,随后对 Atari 2600游戏集中的部分战略性游戏以及带有稀疏奖赏的游戏进行了评估.评估时采 用 DQN、EN-DQN、LSTM-DQN、EN-DRQN4个模型进行比较,其中 DQN、LSTM-DQN使用在动作空间抖动的探索方式.与 DQN 相比,LSTM-DQN增加了 LSTM 门机制以记忆历史信息.EN-DQN 是在 DQN 基础上,在网络空间使用探索噪音的模型,EN-DRQN 是本文提出的基于简单循环单元的带探索噪音机制网络.不同模型在训练过程中使用相同的参数集合.4.1 实验平台描述本文采用 OpenAI Gym① 中 Atari 2600游戏环境作为实验环境.OpenAI Gym 是开发和对比强化学习算法的一个开源工具包,其提供了各种类型的Atari 2600游戏环境接口,涉及到体育竞技、桌游、射击以及战略性的策略游戏,为人工智能研究者提供了各种具有挑战性的任务.为了有效评估模型的表现,本文选择gym 平台中具有战略性和稀疏奖赏性的8个游戏进行实验.游戏的简要介绍已列于表 2,可以看出游戏的类型繁多,Agent也需要完成不同的目标任务,最终学习策略也不同.表 2 游戏的简要介绍英文名 中文名 游戏类型 游戏动作数 任务目标AirRaid 空袭 射击类 6 Agent避开敌人攻击并且适时击落目标BeamRider 波速骑手 射击类 9 Agent避开子弹并且要击中移动的敌人Carnival 狂欢 策略类 6 Agent在规定时间下躲避并击杀掉下的敌人Centipede 蜈蚣博弈 策略类 18 Agent避障且合理击打上方蜈蚣形状的敌人Freeway 过马路 策略类 3 Agent合理避开连续、移动的车辆StarGunner 星际炮手 射击类 18 Agent要做到避障和打掉敌人TimePilot 时空飞机 射击类 10 Agent驾驶飞机,避障同时攻击敌人MontezumaRevenge 蒙特祖玛的复仇 冒险类 18 Agent避开敌人以及机关获取宝藏4.2 实验参数设置本文采用一些方法以减小在训练过程中出现的不稳定现象.首先,Agent根据 评估的 Q 值选择 动作的时间大于网络传播的时间,所以采用跳帧技术来缓解二者之间的计算[22].本文选取跳帧参数为4,6951 计  算  机  学  报 2019年① https://github.com/openai/gym

[返回]
上一篇:宏内核下各种设备驱动程序的高性能安全盒
下一篇:基于约束的空间众包多阶段任务分配