Playing Atari with Deep Reinforcement Learning论文解读

本知识库内容包括61分钟讲解视频及讲解文档

论文解读完整文档(PDF版)及ppt可在张量无限官网下载:www.tensorinfinity.com

 

        本文第一次提出了通过强化学习的手段使用深度神经网络直接从高维场景数据中学习得到控制策略的方法,是深度强化学习真正意义上的开山之作。这种方法是卷积神经网络与Q学习算法的合体,Q学习用于计算神经网络的训练目标,而神经网络则负责近似最优Q函数值。神经网络的输入是原始的游戏画面像素值,输出值为在这些画面下执行各种游戏动作的预期最大回报,即Q函数的极大值。文章对Atari中的7种游戏进行了测试,使用相同的算法,没有做网络结构和学习算法的调整。最后取得的结果是在6个游戏中超越了之前最好的算法,并且在3个游戏上的表现超越了人类专家。

 

简介

对于强化学习来说,很多实际应用问题的输入数据是高维的,如图像,声音,算法要根据它们来选择一个动作执行以达到某一预期的目标。比如,对于自动驾驶算法,要根据当前的画面决定汽车的行驶方向和速度。经典的强化学习算法如Q学习需要列举出所有可能的情况(称为状态,这是对当前所处环境的抽象),然后进行迭代。Q学习的经典实现是列举出所有的状态和动作,构建Q函数表,这是一个二维的表,然后迭代计算各种状态下执行各种动作的预期回报的最大值。对于高维的输入数据,显然是不现实的,因为如果直接以原始数据作为状态,维数太高,而且状态数量太多。


一种解决方案是从高维数据中抽象出特征,作为状态,然后用强化学习建模,但这种做法很大程度上依赖于人工特征的设计。如从画面中提取出目标的位置、速度等信息,也非常困难,这也是一个难题。


近年来,深度学习取得了成功,在计算机视觉,语音识别领域,深度神经网络可以直接从场景数据如图像、声音中提取出高层特征,实现端到端的学习,而无需再人工设计特征。一个很自然的想法是能否用深度学习来为强化学习的输入原始数据进行建模。如果用神经王来近似Q函数,则网络的输入值为状态数据,如原始的游戏画面,输出值为在当前状态下执行各种动作所得到的最大预期回报。训练样本为状态,目标Q函数值对。但是将深度学习用于强化学习将面临几个挑战:


首先,深度学习需要大量的有标签的训练样本,而在强化学习中,算法要根据标量回报值进行学习,这个回报值往往是稀疏的,即不是执行每个动作都立刻能得到回报。例如对于打乒乓球这样的游戏,只有当自己或者对手失球时得分才会变化,此时才有回报,其他时刻没有回报。回报值带有噪声,另外还具有延迟,当前时刻的动作所得到的回报在未来才能得到体现。例如,在下棋时,当前所走的一步的结果会延迟一段时间后才能得到体现。


2个问题是有监督学习一般要求训练样本之间是相互独立的,在强化学习中,经常遇到的是前后高度相关的状态序列。在某个状态下执行一个动作之后进入下一个状态,前后两个状态之间存在着明显的概率关系,不是独立的。


3个问题是在强化学习中,随着学习到新的动作,样本数据的概率分布会发生变化,而在深度学习中,要求训练样本的概率分布是固定的。 


本文提出的方法可以有效的克服上面的几个问题,卷积神经网络以原始的游戏画面作为输入,预测出一个要执行的控制策略。神经网络用Q学习算法的变种进行训练,采用随机梯度下降法更新网络的参数。为了克服训练样本相关性以及概率分布不固定的问题,采用了一种称为经验回放的机制。具体做法是将之前执行动作后的状态转换数据记下来,然后从中随机抽样,构造训练样本。


本文提出的方法用Atari 2600游戏进行了测试。这个游戏很有挑战性,是测试强化学习算法的一个重要标准。游戏的画面为210x160分辨率的RGB图像,频率为60hz。文章提出的方法可以用一个神经网络直接从游戏画面预测出执行每个动作的回报,不需要任何人工设定的与游戏有关的知识、以及人工设计的特征。与人一样,算法直接从游戏的视频、游戏的得分、游戏终止信号进行学习,不需要其他任何知识。需要强调的是,对所有游戏,神经网络的结构、训练时的超参数都是相同的,因此这种算法具有很要的通用性。



Playing Atari with Deep Reinforcement Learning解读.pdf

购买观看完整解读及视频