Łukasz Kaiser 等作者

仅需2小时学习,基于模型的强化学习方法可以在Atari上实现人类水平

无模型强化学习方法能够用来学习复杂任务(如雅达利游戏)的有效策略,但通常却需要大量的交互,这也意味着更多的时间和更大的成本。本文尝试用基于模型的强化学习方法让智能体在雅达利游戏上达到相似的效果,并比较了几种模型架构。实验结果表明,仅需 10 万次智能体和环境之间的交互(约 2 小时的实时学习),基于模型的方法就能实现有竞争力的结果。

无模型强化学习(RL)能够用于学习复杂任务(如雅达利游戏)的有效策略。但这通常需要非常大量的交互——事实上,比人类掌握相同游戏需要的尝试多多了。为什么人类可以学习如此之快?部分原因可能是,人类能够学习游戏原理,并预测出哪个动作会带来想要的结果。在本文中,研究人员探索了如何基于视频预测模型让智能体在雅达利游戏上达到类似的效果,同时所需的交互比无模型方法要少?

研究人员讨论了模拟策略学习(Simulated Policy Learning,SimPLe)——一个基于视频预测模型的完全无模型深度强化学习算法,并比较了几种模型架构,包括在本文设定下产生最优结果的一种全新架构。研究人员在一系列雅达利游戏上测试评估了 SimPLe,结果显示,仅仅通过 10 万次智能体和环境之间的交互(40 万帧),SimPLe 就可得到有竞争力的结果。

基于模型的学习算法

在本文的方法中,智能体利用由预测模型生成的想象经验完成学习。为此,至关重要的一点是,收集到的关于环境的数据必须足够多样化,以确保习得模型能够在所有关键场景下正确复现出环境的动态。在绝大多数雅达利游戏中,随机探索(exploration)并不足以实现此目标。为了以更直接的方式进行探索,研究人员使用了迭代过程,由以下阶段交替组成:数据收集、模型训练、策略训练,借此,随着策略变得更优,所收集到的数据也具有更多意义,因此可以学习逐渐变好的模型。策略训练使用的是 PPO 算法。

图 1:SimPLe 的主要循环过程。1)智能体开始根据最新策略(随机初始化)与真实环境进行交互。2)收集到的观测结果被用来训练当前及更新的世界模型(world model)。3)智能体通过在世界模型中采取行动来更新策略。评估新策略以衡量智能体的表现和收集更多数据(回到第 1 步)。注意,世界模型训练对观测到的状态进行自监督,对奖励进行监督。

随机离散模型

本文的智能体从视频预测模型所生成的原始像素观测结果中学习。研究人员试验了几种架构,效果最好的模型是前馈卷积神经网络。它利用一组卷积对一系列输入帧进行编码,并给定智能体采取的行动,然后利用一组解卷积对下一帧进行解码。奖励是基于瓶颈表征(bottleneck representation)预测的。

研究人员发现,将随机性引入模型会带来不错的效果,可以让策略在训练阶段尝试更多不同的场景。为此,研究人员添加了一个隐变量,而来自隐变量的样本被添加至瓶颈表征。在离散变量该设定下效果最优,被编码为比特序列。模型的整体架构类似于变分自编码器,其中隐变量上的后验是基于整个序列(输入帧+目标帧)近似得到,从该后验中抽取一个值,并将该值与输入帧和行动一起用于预测下一帧。在推断阶段,潜代码(latent code)由自回归 LSTM 网络生成。

图 2:带有离散隐变量的随机模型架构。模型输入是 4 个堆叠的帧(以及智能体选择的策略),输出则是预测的下一帧及预期奖励。利用全连接层嵌入输入像素和行动,在输出中有像素级的 softmax(256 色)函数。该模型有两个主要组成部分。首先,网络底部由带有残差连接的卷积编码器和解码器组成。为了根据智能体的行动调节输出,解码器中每一层的输出都乘以(习得的)嵌入行动。模型的第二部分是卷积推断网络,类似于 Babaeizadeh 等人 (2017) 的观点,它在给定下一帧的条件下近似估计后验。在训练阶段,从近似后验抽样得到的隐变量值将离散化为比特。为使模型可微,反向传播根据 Kaiser & Bengio (2018) 的方法避开离散化,并训练第三个基于 LSTM 的网络,以在给定先前比特时近似估计当前比特。在推断阶段,利用该网络自回归地预测隐比特。确定性模型(deterministic model)与上图架构相同,但不包含推断网络。

结果

本文的主要目的是利用无模型方法实现当前最佳的样本效率。这引出了以下问题:在适度的 10 万次交互(2 小时的实时学习)中,可以获得怎样的分数?

研究人员对本文方法与 Rainbow(在雅达利游戏上当前表现最佳的无模型算法)进行了比较,然后根据该方法与环境的一百万次交互重新调整,以获得最优结果。并与训练中使用的 PPO 实现进行了对比。结果如下所示,说明了为获得与本文方法相同的分数,无模型算法所需要的交互次数。红线表示本文方法所使用的交互次数。不难看出,使用该方法可以将大多数游戏上的样本效率提升两倍不止。


图 3:本文方法与 Rainbow 的对比。每个长条说明:为达到和本文方法(SimPLe)相同的分数,Rainbow 所需与环境进行交互的次数。红线表示 10 万次交互的阈值,是 SimPLe 所使用的次数。

图 4:本文方法与 PPO 的对比。每个长条表示:为达到和本文方法(SimPLe)相同的分数,PPO 所需与环境进行交互的次数。红线表示 10 万次交互的阈值,为 SimPLe 所使用的次数。

通关游戏

另人惊喜的是,在 pong 和 Freeway 两款游戏上,本文完全在模拟环境下训练的智能体在真实游戏中表现突出:分别获得了最高分。需要强调的是,没有为每个游戏单独调整方法和超参数

Pong 的首秀见视频:https://drive.google.com/file/d/1BZG1DpatPAzlHnoRGjc9QtMzfQl6li2d/view,本文方法习得的策略获得了 21 分的满分。

Freeway 也是一个非常有趣的游戏。虽然简单,但却是一个巨大的探索挑战。由智能体操控的鸡,在进行随机探索时上升速度很慢,因为它总是会被汽车撞到。这使得它完全通过马路并获得非零奖励几乎是不可能的。然而,SimPLe 能够捕获这种罕见的事件,并将其转化为预测模型,进而成功习得获胜策略(见视频:https://drive.google.com/file/d/1NpDipoDGe2vZlkzv9vibj7yzhUZcANlT/view

论文:Model Based Reinforcement Learning for Atari

论文地址:https://arxiv.org/pdf/1903.00374.pdf

摘要:无模型强化学习能够用于在复杂任务(如雅达利游戏,甚至基于图像观测)中学习非常有效的策略。但是,这通常需要非常大量的交互——事实上,比人类掌握相同游戏需要的次数更多。为什么人类可以学习如此之快?部分原因可能是,人类能够学习游戏原理,并预测出哪个动作会带来想要的结果。在本文中,我们探索了如何基于视频预测模型来达到类似效果,让智能体能够通过更少的交互(相较于无模型方法而言,次数降低了几个数量级),通过雅达利游戏。本文讨论了模拟策略学习(SimPLe),一个基于视频预测模型的完全基于模型的深度强化学习算法,并比较了几种模型架构,包括一个在本文设定下得出最优结果的全新架构。我们在一系列雅达利游戏上测试评估了 SimPLe,实验结果显示,仅通过 10 万次智能体和环境之间的交互(40 万帧),约 2 小时的实时学习,SimPLe 就可获得有竞争力的结果。

理论游戏AI游戏强化学习
4
相关数据
深度强化学习技术

强化学习(Reinforcement Learning)是主体(agent)通过与周围环境的交互来进行学习。强化学习主体(RL agent)每采取一次动作(action)就会得到一个相应的数值奖励(numerical reward),这个奖励表示此次动作的好坏。通过与环境的交互,综合考虑过去的经验(exploitation)和未知的探索(exploration),强化学习主体通过试错的方式(trial and error)学会如何采取下一步的动作,而无需人类显性地告诉它该采取哪个动作。强化学习主体的目标是学习通过执行一系列的动作来最大化累积的奖励(accumulated reward)。 一般来说,真实世界中的强化学习问题包括巨大的状态空间(state spaces)和动作空间(action spaces),传统的强化学习方法会受限于维数灾难(curse of dimensionality)。借助于深度学习中的神经网络,强化学习主体可以直接从原始输入数据(如游戏图像)中提取和学习特征知识,然后根据提取出的特征信息再利用传统的强化学习算法(如TD Learning,SARSA,Q-Learnin)学习控制策略(如游戏策略),而无需人工提取或启发式学习特征。这种结合了深度学习的强化学习方法称为深度强化学习。

变分自编码器技术

变分自编码器可用于对先验数据分布进行建模。从名字上就可以看出,它包括两部分:编码器和解码器。编码器将数据分布的高级特征映射到数据的低级表征,低级表征叫作本征向量(latent vector)。解码器吸收数据的低级表征,然后输出同样数据的高级表征。变分编码器是自动编码器的升级版本,其结构跟自动编码器是类似的,也由编码器和解码器构成。在自动编码器中,需要输入一张图片,然后将一张图片编码之后得到一个隐含向量,这比原始方法的随机取一个随机噪声更好,因为这包含着原图片的信息,然后隐含向量解码得到与原图片对应的照片。但是这样其实并不能任意生成图片,因为没有办法自己去构造隐藏向量,所以它需要通过一张图片输入编码才知道得到的隐含向量是什么,这时就可以通过变分自动编码器来解决这个问题。解决办法就是在编码过程给它增加一些限制,迫使其生成的隐含向量能够粗略的遵循一个标准正态分布,这就是其与一般的自动编码器最大的不同。这样生成一张新图片就比较容易,只需要给它一个标准正态分布的随机隐含向量,这样通过解码器就能够生成想要的图片,而不需要给它一张原始图片先编码。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

隐变量技术

在统计学中,隐变量或潜变量指的是不可观测的随机变量。隐变量可以通过使用数学模型依据观测得的数据被推断出来。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

堆叠技术

堆叠泛化是一种用于最小化一个或多个泛化器的泛化误差率的方法。它通过推导泛化器相对于所提供的学习集的偏差来发挥其作用。这个推导的过程包括:在第二层中将第一层的原始泛化器对部分学习集的猜测进行泛化,以及尝试对学习集的剩余部分进行猜测,并且输出正确的结果。当与多个泛化器一起使用时,堆叠泛化可以被看作是一个交叉验证的复杂版本,利用比交叉验证更为复杂的策略来组合各个泛化器。当与单个泛化器一起使用时,堆叠泛化是一种用于估计(然后纠正)泛化器的错误的方法,该泛化器已经在特定学习集上进行了训练并被询问了特定问题。

推荐文章
暂无评论
暂无评论~