文 | 谷歌 AI
译 | 丛末
去年,谷歌、DeepMind联手推出基于模型的强化学习智能体PlaNet,能解决各种基于图像的控制任务,性能可媲美当时最先进的无模型智能体,并且在数据效率上提升50倍,为强化学习带来了新的突破。
然而,该智能体依旧受到无效或计算成本高昂的规划机制的局限性。
现在,谷歌、DeepMind再度强强联手推出了同为基于模型的强化学习智能体Dreamer,在“前辈”PlaNet 的基础上,将性能、数据效率、计算成时间都提升到了一个新的层次,能够很好地克服 PlaNet 所面临的局限性。强化学习再度迎来突破。
该智能体已开源,开源代码:https://github.com/google-research/dreamer
1 提出背景
关于人工智能体如何选择行为以实现目标的研究,很大程度上得益于应用强化学习(RL)所取得的进展。
学习通过试错来预测成功动作的无模型(Model-free )强化学习方法,使得DeepMind的 DQN算法可以玩Atari游戏,也让 AlphaStar可以在《星际争霸II》上击败人类世界冠军,不过这种方法需要大量的环境交互,如此一来就限制了它们对于真实场景的实用性。
相比之下,基于模型(Model-based)的强化学习方法还可以学习环境的简化模型。该“世界模型”(world model )允许智能体预测潜在动作序列的结果,让它通过假设的场景在新的情况下做出明智的决策,从而减少实现目标所需的试错。
在过去,学习精确的世界模型并利用它们来学习成功的行为,具有较大的挑战性。虽然最近的研究通过从图像中学习精确的世界模型取得了一些突破,例如谷歌去年提出的深度规划网络(PlaNet),但是基于模型的方法仍然受到无效或计算成本高昂的规划机制的阻碍,限制了它们解决困难较大的任务的能力。
对此,谷歌与 DeepMind 携手推出了一个能够从图像中学习世界模型,并使用该世界模型来学习长远行为的强化学习智能体——Dreamer。它能够使用世界模型,通过模型预测的反向传播来高效地学习行为。
该智能体通过学习从原始图像中计算密集的模型状态,只需1个GPU 就能够高效、并行地学习数千个预测序列。
在给定原始图像输入的有20个连续控制任务的基准上,Dreamer无论在性能上,还是在数据效率和计算时间上,都达到了最佳水平。
该智能体已开源,开源代码:https://github.com/google-research/dreamer
2 Dreamer 的工作原理如何?
Dreamer 由基于模型的方法的三个经典步骤组成:学习世界模型;从世界模型做出的预测中学习行为;在环境中执行学习到的行为来积累新的经验。
在学习行为这一步骤中,Dreamer 使用价值网络(value network)来将超出规划范畴以外的奖励也考虑在内,并使用行为者网络(actor network)来高效地计算行为。
这三个步骤可以并行执行,并且在智能体实现目标前一直重复执行。
Dreamer 工作的三个步骤。智能体从过去的经验中学到世界模型;然后根据该模型的预测,学习价值网络来预测未来的奖励,并学习一个行为者网络来选择行为。其中,行为者网络用于与环境交互。
3 学习世界模型
Dreamer 使用的是PlaNet 世界模型,该模型基于从输入图像计算而来的一系列密集的模型状态来预测结果,而不是直接从某个图像预测下一个图像。
该智能体自动学习生成表征有助于预测未来结果的概念的模型状态,例如目标类型、目标位置和目标与周围环境的交互等。根据智能体由过去的经验而组成的数据集中的一系列图像、行为和奖励,Dreamer可以学习如下所示的世界模型:
Dreamer 从经验中学习世界模型。它使用过去的图像(o1-o3)和行为(a1-a2),计算一系列密集的模型状态(绿色圆圈),从中重建图像(ô1–ô3)并预测奖励(r̂1-r̂3)。
使用 PlaNet世界模型的一大优势在于,使用密集的模型状态而不是图像来做提前预测,会大大提高计算效率。这使得该模型能够在单个GPU上并行预测数千个序列。此外,该方法还有助于实现泛化,实现准确的长期视频预测。
为了深入了解该模型的工作原理,我们可以通过将密集的模型状态解码回图像,来可视化预测序列,如下所示(下图中执行了两个任务,一个任务在 DeepMind 的强化学习环境 Control Suite 中执行,另一个在 AI 训练平台 DeepMind Lab 环境中执行 ):
使用密集的模型状态进行提前预测能够实现在复杂环境中进行长期预测。这里显示的是智能体以前从未遇到过的两个序列。给定五个输入图像,该模型重建了这些图像并预测了时间步长为50的未来图像。
4 高效的行为学习
此前开发的基于模型的智能体通常通过贯穿多个模型预测的规划或使用世界模型代替模拟器以重用现有的无模型方法,来选择行为。
这两种设计都有计算要求,并且无法充分利用智能体所学到的世界模型。此外,即使是强大的世界模型,其准确预测的能力也有限,这使得许多此前开发的基于模型的智能体“目光短浅”。
Dreamer 能够通过使用世界模型预测的反向传播,来学习价值网络和行为者网络,从而克服了这些限制。
Dreamer 通过预测的状态序列向后传播奖励梯度,高效地学习行为者网络来预测成功的行为,这对于无模型方法是不可能实现的。这让 Dreamer 知道,其行为的微小变化如何影响未来预测的奖励,从而使它能够在不断增加奖励(直到达到最高)的轨迹上完善行为者网络。
为了考虑超出预测范围的奖励,价值网络评估每个模型状态的未来奖励之和。然后,模型反向传播奖励和价值,以优化行为者网络,从而选择改进的行为:
Dreamer 从预测的模型状态序列中学习长期行为。它首先学习每个状态的长期值(v̂2–v̂3),然后预测通过状态序列将奖励和价值反向传播给行为者网络,从而预测高奖励和高价值的行为(â1–â2)。
Dreamer 在多个方面都与 PlaNet 不同。对于环境中给定的情况,PlaNet 会在对不同行为序列的众多预测中寻找最佳动作。相比之下,Dreamer 一方通过分离规划和行为,来实现这一成本昂贵的搜索。一旦它的行为者网络在预测序列上经过训练,它就可以计算与环境交互的动作,而无需额外的搜索。此外,Dreamer使用价值函数考虑超出规划范围的奖励,并利用反向传播进行高效的规划。
5 执行控制任务
谷歌研究者在有20个不同任务的标准基准上对 Dreamer 进行了评估,包括连续的动作和图像输入。任务包括平衡和捕捉物体,以及各种模拟机器人的运动。
这些任务旨在对强化学习智能体提出各种挑战,包括难以预测碰撞、稀疏奖励、混沌动力学、小但相关的目标、高自由度和3D透视图:
Dreamer 学习解决20个具有挑战性的连续控制任务与图像输入,上图展示了其中 5个任务。可视化显示的图像与智能体从环境接收的64x64图像相同。
他们将Dreamer的性能与此前性能最佳的基于模型的智能体PlaNet、常用的无模型智能体 A3C以及融汇了无模型强化学习的一些进展、当前在此基准上性能最佳的无模型智能体 D4PG 进行了对比。
其中基于模型的智能体可以实现500万帧以下的高效学习,对应的模拟时间为28小时。无模型智能体的学习速度更慢,需要1亿帧,对应的模拟时间为23天。
在 20 个任务的基准上,Dreamer的平均得分为823分,高于最佳无模型智能体(D4PG)的786分,同时还能从小20倍的环境交互中学习。而且,它在几乎所有任务上的性能都超过了此前最佳的基于模型的智能体(PlaNet)。在计算时间上,相比于其他方法所需的24个小时,训练 Dreamer 仅需16个小时。
四个智能体的最终性能如下图所示:
在有20个任务的基准上,无论是最终的性能,还是数据效率和计算时间,Dreamer都超越了最佳无模型智能体(D4PG)、基于模型的智能体(PlaNet)。
除了在连续控制任务上的主实验外,谷歌研究者还将Dreamer应用于具有离散动作的任务上,以证明其通用性。
为此,他们选择了Atari游戏和DeepMind Lab级别的任务,后者要求兼具反应性行为和长远行为、空间意识和对视觉上更加多样化场景的理解。
产生行为如下所示,表明了 Dreamer也能高效地学习解决这些更具挑战性的任务:
Dreamer在Atari游戏和DeepMind Lab级别任务上学习成功的行为,DeepMind Lab级别的任务具有离散的动作和视觉上更加多样化的场景,包括具有多个目标的3D环境。
6 结语
这项工作表明,仅从世界模型预测的序列中学习行为就可以解决来自图像输入的具有挑战性的视觉控制任务,并且在性能上超越了此前的无模型方法。
此外,Dreamer证明了通过反向传播贯穿预测的密集模型状态序列的价值梯度的学习行为,是成功的且鲁棒的,从而解决了一系列多样的连续和离散控制任务。
谷歌表示,他们相信,Dreamer 将为进一步突破强化学习的限制提供坚实的基础,包括更好的表征学习、定向探索与不确定性估计、时间抽象和多任务学习。
via https://ai.googleblog.com/2020/03/introducing-dreamer-scalable.html