黄学雨, 郭勤
(江西理工大学信息工程学院,江西 赣州341000)
近年来,深度学习和强化学习在各自的领域中大放异彩,而随着计算机相关硬件性能的提升,深度学习和强化学习在一些领域更是取得了突破性的进展.如在2015年,微软公司构造了一个拥有152层的深度残差网络,在ImageNet平台上取得了历史最好成绩[1];同年谷歌公司的人工智能研究团队DeepMind在《Nature》发表文章[2]提出了深度Q网络(deep Q-network,DQN),在 Atari游戏平台上取得了巨大的成果:2016年DeepMind使用最新的计算机围棋程序[3]AlphaGo与职业九段棋手Lee Sedol对战,取得了4∶1的成绩;2017年DeepMind团队带着升级版的围棋程序与世界排名第一的棋手柯洁对弈,最终以3∶0取得胜利.
而将深度学习与强化学习结合起来形成的深度强化学习则是当前研究最火热的领域,它拥有深度学习的感知能力与强化学习的决策能力,在很多领域都有广泛的应用,如汽车自动驾驶[4]、自适应规划[5]、多 Agent协作[6]等.
针对深度强化学习在游戏中的应用,前人做了广泛的研究.DeepMind团队的Wang等提出“Dueling Network”,该网络分离了用于表示状态的值函数和与状态相关的动作的优势函数,可以减少对不同动作的估计偏差[7].Hausknecht等提出了基于递归神经网络的架构来处理游戏中的部分可观察性[8].Bowling等为扑克牌游戏提出了使用两个Regret反复自我对局的解决方案.也有一些学者正在研究如何使用一个网络来玩多个游戏[9-10].以上研究都是针对如何提高深度强化学习在游戏上的得分的,却忽略了训练时间过长的问题,因此需要找到一种方法来提高深度强化学习在游戏训练上的速度.
文中利用先前执行任务时获得的经验来建立的环境模型,让Agent首先从环境模型中学习,待Agent学习到一定经验后再与环境进行交互学习;通过该方法Agent可以少犯错误,从而加快Agent训练速度.
融合环境模型与深度强化学习的游戏算法首先让Agent从环境模型中学习,然后再与真实环境进行交互.在交互过程中首先使用深度卷积神经网络来处理游戏画面,经过处理后输出状态到强化学习中的Q函数,经过Q函数处理后输出可以得到最大奖赏的动作.经过不断地交互,Agent可以在有限的时间内学习到最优策略,过程如图1所示.
Sutton等提出的Dyna算法是基于环境模型的最具有代表性的强化学习算法之一[11].该算法考虑到以前Agent执行任务时得到的经验的重要性,将这些任务经验转化为环境模型,当Agent再次执行相关任务时候就可以直接从模型中学习,其结构如图2所示.
在Agent从模型中学习的过程中,假设Agent当前状态为,下一状态为(st,at),从当前状态到下一状态(st+1,at+1),如果这个状态经历过程是已经经历过的,那么它只是简单的返回已经储存的动作.该算法整个步骤如下:
图1 融合环境模型与深度强化学习的游戏算法结构
图2 Dyna算法结构
Step1:初始化 Q(s,a)和 Model(s,a);
Step2:初始化当前状态s1;
Step3:由状态s1,Q函数选取下一动作a2;
Step4:执行动作a2,得到状态s2以及奖赏r;
Step5:应用一次Q学习,得到一组状态-动作-奖赏对(s1,r1,a2),其中 Q 学习为:
Step6:将状态-动作-奖赏对(s1,r1,a1)输入到模型中;
Step7:重复上述步骤3到步骤6一定次数,得到环境模型;
Step8:将环境模型输入到Agent中;
其中st代表t时刻的状态,根据st,Q产生动作at,执行该动作并于环境交互,得到下一步的状态st+1以及奖赏r,根据以上参数应用一次Q-学习,并将得到的结果输入到环境模型中,重复上述过程一定次数后就可以得到相应的环境模型.
对于强化学习来说,直接从高维度的输入介质如视频、图像等学习控制策略是一项巨大的挑战.大多数的成功的强化学习应用都是依赖于线性值函数与手工制定的特征标签,但是这些应用的性能严重依赖于特征标签的质量.
近年来,深度学习在计算机视觉领域取得了较大的突破,这使得直接从原始高维度输入介质中学习到高级特征成为了可能.这些方法除了使用小波分解技术完成图像识别外[12],大都是使用神经网络完成的,如卷积神经网络、多层感知器、受限波尔曼机和递归神经网络.因为卷积神经网络在处理图像上的优势,所以文中使用该网络来感知Agent在游戏中的环境[13].该网络结构如图3所示.
该卷积神经网络由5层组成,第一层为输入层,输入介质为游戏画面;第二层为第一个隐藏层,由16个8×8的带有4个滑动窗口的过滤器组成;第三层为第二个隐藏层,由32个4×4的带有2个滑动窗口的过滤器组成;第四层为第一个全连接层组成,它带有256个矫正单元;第五层为输出层,该层为全连接线性层,用于输出Agent的有效的动作.
文中的实验在Atari游戏平台[14]上进行,该平台每帧画面具有210×160的宽高(像素),且每个画面有128中颜色,具有很高的维度,如果直接处理需要很大的计算量,所以采用将彩色转化为灰度,最终转化为84×84宽高的画面,输入到卷积神经网络中.
神经网络虽然可以感知环境,但是对于策略控制却无能为力,文中使用强化学习中的Q学习[15-16]来解决策略控制问题.
定义Agent所处环境为ε,在每一步中Agent选择的动作为 at,且 at∈A={1,2,…,k};在时刻 t,Agent环境为 xt,xt∈Rd;Agent与环境交互得到的奖赏为rt.因为Agent执行任务的环境是部分可观察的,所以定义一个动作-状态序列 st=x1,a1,x2,…,at-1用于储存Agent经历的状态与执行过的动作,Agent从这个序列中学习策略.又因为这个序列中的每一个动作-状态对都是明确的,所以就得到了一个数量大,但是有限的马尔科夫决策过程,对这个马尔科夫决策过程应用如下公式:
其中 Li(θi)为损失函数,yi为目标函数,在每一次迭代 i中,使用 Li(θi)来求得最优的动作-状态对;将得到的动作-状态对储存到经验回放序列中,使用Random Minibatch算法来优化经验回放序列中的样本.当Agent再与环境交互时候就可以从经验回放序列中取得相应的策略.
图3 卷积神经网络结构
环境模型是由Agent以前执行相关任务时获得的经验建立的,让Agent从环境模型中学习而不是从新开始,可以让Agent在与环境交互过程中少犯错误,从而加快学习速度.受环境模型的启发,文中提出了融合环境模型与深度强化学习的游戏算法.如图4所示,首先让Agent从环境模型中学习,等Agent学习到一定策略后,再与真实环境进行交互,使用卷积神经网络来感知周围环境,再通过Q学习求取最优策略.使用Avatar游戏平台的游戏验证算法的有效性.
图4 融合环境模型与深度强化学习的游戏算法流程
具体步骤如下:
Step1:初始化Agent
Step2:Agent从环境模型中学习
Step3:Agent与真实环境交互
Step4:使用卷积神经网络感知环境
Step5:使用Q学习求取策略
Step6:重复 step3到 step5
Step7:比较学习时间
为了验证文中提出的算法的有效性,采用The Arcade Environment(ALE)平台进行实验.在ALE平台上采用两款Atari 2600游戏,Atari 2600游戏是专门设计用来测试强化学习算法的性能的,它有两个特点:
1)Agent的输入为高维度的视频画面(210×160 RGB 60 Hz).
2)游戏中的任务设计对于人类玩家是具有难度的.
为了提高实验结果的准确性,每个游戏中的算法参数设置为相同值,如表1所示.
表1 游戏算法中参数设置
本次实验使用一款名为MsPacman(吃豆子女士)的Atari 2600游戏,该游戏的场景如图5所示.初始画面有一个吃豆子的Agent,它有3条命,在行走的路上吃豆子,一个豆子计分10分,大的豆子计分100分,开始时候会有2个骷颅人,随后会变化成4个,初始时候是蓝色,Agent碰到它们不会死亡,且它们会变成螃蟹,Agent如果吃到它们计分200分,如果Agent吃到樱桃计分100分,待骷颅人变成其他色后,Agent再与它们接触都会死亡,Agent继续使用下一条生命吃豆子,随后规则与上面一致.如果Agent吃完了所有豆子游戏结束,或者Agent用完了所有的生命游戏也结束.
图5 MsPacman游戏场景
在参数设置一致,游戏环境一致的条件下,使用原算法的Agent与改进后算法的Agent同时进行游戏交互,交互时间为2小时,得到实验结果如图6所示.
图6 不同算法在MsPacman游戏中结果
在2小时内Agent共进行了12500次的episode,以100为一组求取其得分总和的平均值,得到如图6所示结果,从实验结果可以看到在0到70阶段改进的算法Agent得分是比原算法Agent高的,这是因为改进的算法Agent从环境模型中提早学习到了策略;在80以后两者的得分是相近的,这是因为两者都已经学习到了相应的策略;还可以看到当x轴值为40到48之间的时候改进的算法Agent就已经呈现出稳定的状态,而原算法的Agent在72到80之间的时候才呈现出稳定的状态;由此实验结果可以说明改进后的算法可以有效提高Agent的训练速度.
本组实验使用一款名为Qbert(Q伯特)的Atari 2600游戏,该游戏的场景如图7所示,初始画面里有21个可供Qbert点亮的区域、Qbert是一个有着橘红色大鼻子的Agent,它每点亮一个区域就可以得到25分,还有两个踩上去可以提升Agent高度的格子,格子被踩过之后就会消失,还有一个Agent需要避免接触的坏人,Agent跳出界面或者与坏人接触就会损失掉一条命,它共有3条命,当它把区域都点亮后就会进入到下一轮游戏,如果3条生命都用完了,游戏结束.
在参数设置一致,游戏环境一致的条件下,使用原算法的Agent与改进后算法的Agent同时进行游戏交互,交互时间为2小时,得到实验结果如图8所示.
图7 Qbert游戏场景
图8 不同算法在Qbert游戏中结果
在2小时内Agent共进行了12500次的episode,以100为一组求取其得分总和的平均值,得到如图8所示的结果,从实验结果可以看到在0到90阶段改进的算法Agent得分是比原算法Agent高的,这是因为改进的算法Agent从环境模型中提早学习到了策略;在90以后两者的得分是相近的,这是因为两者都已经学习到了相应的策略;还可以看到当x轴值为24时候改进的算法Agent开始呈现出稳定的状态,x轴值为40到48之间的时候改进的算法Agent就已经呈现出稳定的状态,后面一直处于稳定的状态,而原算法的Agent在x轴值为90以后的时候才稳定;由此实验结果可以说明改进后的算法在这个游戏中可以有效提高Agent的训练速度.
文章通过在深度强化学习游戏算法的基础上加入环境模型来提高Agent的训练速度.其中环境模型是利用以前与环境进行交互得到的经验来建立的,两次实验的结果也证明了利用环境模型可以加速Agent学习速度.
环境模型可以加快学习速度,而完美的环境模型也可以使Agent学习到最优策略,但是如果过于依赖环境模型就会失去与环境进行交互,并通过不断试错来学习策略的意义了.在强化学习中蒙特卡罗方法与树搜索结合形成的蒙特卡罗树搜索 ,能够在执行一个策略的同时去评测另一个策略的好坏,对于提高游戏得分有一定的帮助,在今后的研究中,将会在该算法上做进一步的研究.
[1]He K M,Zhang X,Ren S,et al.Deep residual learning for image recognition[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.Las Vegas:IEEE,2016:770-778.
[2]Mnih V,Kavukcuoglu K,Silver D,et al.Human-level control through deep reinforcement learning[J].Nature,2015,518(7540):529-533.
[3]Silver D,Huang A,Maddison C,et al.Mastering the game of Go with deep neural networks and tree search[J].Nature,2016,529(7587):484-489.
[4]杨帆.无人驾驶汽车的发展现状和展望 [J].上海汽车,2014(3):35-40.
[5]苏世雄,齐金平.基于强化学习的自适应在线规划的应用研究[J].测控技术, 2016,35(7):124-127.
[6]张文旭,马磊,王晓东.基于事件驱动的多Agent强化学习研究[J].智能系统学报,2017,12(1):82-87.
[7]Wang Z Y,Schaul T,Hessel M,et al.Dueling network architectures for deep reinforcement learning[C]//Proceedings of the 32nd International Conference on Machine Learning.Lille,France:ICML,2016.
[8]Hausknecht M,Stone P.Deep recurrent q-learning for partially observable MDPS[C]//Proceedings of the 2015 AAAI Fall Symposium Series.The Westin Arlington Gateway,Arlington,Virginia:AIAA,2015.
[9]Rusu A A,Colmenarejo S G,Gulcehre C,et al.Policy distillation[C]//Proceedings of the 2016 International Conference on Learning Representations.Caribe Hilton,San Juan,Puerto Rico:ICLR,2016.
[10]Parisotto E,Ba J L,Salakhutdinov R.Actor-mimic:Deep multitask and transfer reinforcement learning[C]//Proceedings of the 2016 International Conference on Learning Representations.Caribe Hilton,San Juan,Puerto Rico:ICLR,2016.
[11]Lin L J.Self-improving reactive agents based on reinforcement learning,planning and teaching[J].Machine learning,1992,8(3/4):293-321.
[12]王俊岭,彭雯.基于Daubechies小波的人脸识别算法[J].江西理工大学学报,2017,38(3):81-85.
[13]Krizhevsky A,Sutskever I,Hinton G E.Image net classification with deep convolutional neural networks[C]//Advances in Neural Information Processing Systems.Lake Tahoe:MIT Press,2012:1097-1105.
[14]Bellemare M G,Naddaf Y,Veness J,et al.The arcade learning environment:An evaluation platform for general agents[J].J.Artif.Intell.Res.(JAIR),2013(47):253-279.
[15]Littman M L.Reinforcement learning improves behaviour from evaluative feedback[J].Nature,2015,521(7553):445-451.
[16]Bowling M,Burch N,Johanson M,et al.Heads-up limit hold'em poker is solved[J].Science,2015,347(6218):145-149.