近日,谷歌 AI 和 DeepMind 合作创建了深度规划网络(PlaNet)智能体,仅基于图像输入就能学习世界模型,并利用该模型规划未来。与谷歌一年前提出的世界模型相比,PlaNet 的运行不需要策略网络,它对动作的选择仅依靠规划。此外,它在多项任务上的性能可媲美无模型方法,但平均数据效率是后者的 50 倍。
关于人工智能体如何随时间推移提升自己决策的研究正借助强化学习(RL)取得快速进展。在这项技术中,智能体在选择动作(如运动指令)时观察一系列感官输入(如相片),有时会因为达到某个特定目标而得到奖励。RL 无模型方法旨在从感官观察结果中直接预测良好的动作,使得 DeepMind 的 DQN 可以玩 Atari 游戏、其它智能体能够控制机器人。然而,这种黑箱方法通常需要经过数周的模拟交互才能通过反复试验来学习,这限制了它在实践中的应用。
相比之下,基于模型的 RL 尝试让智能体学习世界的普遍规律。它没有将观察结果直接映射到动作上,而是允许智能体提前进行显式规划,从而通过「想象」其长期结果来更谨慎地选择动作。基于模型的方法已经取得了很大的成功,包括 AlphaGo。AlphaGo 根据已知的游戏规则,在虚拟的棋盘上想象出一系列动作。然而,为了在未知的环境中利用规划(如在仅给定像素作为输入的情况下控制智能体),智能体必须从经验中学习规则或动态变化情况。由于这种动态模型原则上允许更高的效率和自然的多任务学习,因此创建足够精确的模型以成功地进行规划是 RL 的长期目标。
为了推进这一研究挑战的进展,谷歌 AI 和 DeepMind 合作创建了深度规划网络(Deep Planning Network,PlaNet)智能体,该智能体仅从图像输入中学习世界模型并成功地利用该模型进行规划。PlaNet 解决了一系列基于图像的控制任务,在最终性能上可以媲美先进的无模型智能体,且平均数据效率是后者的 50 倍。PlaNet 的代码已开源。
代码地址:https://github.com/google-research/planet
PlaNet 智能体通过 2000 次尝试,从输入图像中学会解决多种连续控制任务。之前不学习环境模型的智能体通常需要上述数据 50 倍的尝试才能达到同样的性能。
PlaNet 工作原理
PlaNet 在给定图像输入的情况下学习动态模型,并利用该模型进行高效规划以收集新的经验。与之前在图片上进行规划的方法不同,谷歌依赖一个紧凑的隐藏或潜在状态序列。谷歌将其命名为潜在动态模型:他们预测未来的潜在状态,而不是直接从一个图像预测到下一个图像。接下来,从相应的潜在状态中生成每一步的图像和奖励。通过这样压缩图像,智能体能够自动学习更多的抽象表征,如目标的位置和速度,这样就可以更容易地预测下一步,而无需生成图像。
学习到的潜在动态模型:在潜在动态模型中,利用编码器网络(灰色梯形)将输入图像的信息整合到隐藏状态(绿色部分)中。然后将隐藏状态向前投影,以预测未来的图像(蓝色梯形)和奖励(蓝色矩形)。
为了学习准确的潜在动态模型,谷歌引入了:
循环状态空间模型:这是一个含有确定和随机成分的潜在动态模型,允许预测鲁棒规划所需的各种未来状态,同时记住多个时间步上的信息。实验表明,两种成分对于规划性能的高低都至关重要。
Latent Overshooting 目标:谷歌将标准训练目标泛化到潜在的动态模型,以通过强化潜在空间中一步和多步预测之间的一致性来训练多步预测。这产生了一个快速、有效的目标,提高了长期预测,并与任何潜在序列模型兼容。
虽然预测未来图像允许我们教模型学习,但编码和解码图像(上图梯形)需要大量计算,这拖慢了规划的速度。但是,在紧凑潜在状态空间中的规划速度很快,因为我们只需要预测未来奖励(而不是图像)来评估动作序列。例如,智能体可以在不看到场景的情况下,想象球的位置和球与目标的距离会因为某些动作如何变化。这允许研究人员在每次智能体选择一个动作时,对比 10000 个想象的动作序列和大批量。然后执行最优序列的第一个动作,再在下一步重新进行规划。
潜在空间中的规划:将之前的图像(灰色梯形)编码为当前隐藏状态(绿色)。之后高效预测多个动作序列的未来奖励。然后执行最优序列的第一个动作(红框)。
与谷歌之前的世界模型研究相比,PlaNet 的运行不需要策略网络——它对动作的选择仅依靠规划,因此可立即从模型改进中受益。技术细节参见相关论文《Learning Latent Dynamics for Planning from Pixels》。
PlaNet vs. 无模型方法
谷歌研究人员在连续控制任务上对 PlaNet 进行了评估。评估中只提供图像观察结果和奖励,评估包含以下不同任务:
cartpole 上翻任务:该任务使用固定摄像机,因此小车可能会超出视野。因此,智能体必须消化并记住多个帧上的信息。
手指转球任务:需要预测两个不同的物体以及二者之间的互动。
猎豹奔跑任务:包括与地面的接触(准确预测的难度很高),需要模型预测多个可能的未来状态。
cup 任务:仅在球被抓到的时候提供稀疏奖励信号。这要求对未来进行准确的预测,以规划精确的动作序列。
walker 任务:模拟机器人最初状态是躺在地上,因此在行走之前它必须学习站立。
PlaNet 智能体在多个基于图像的控制任务上进行训练。该动图展示的是智能体解决任务时的输入图像。这些任务的难度在于:部分可观测、接触地面、稀疏奖励、控制两足机器人。
该研究初步展示了:在基于图像的任务中,在学得模型上进行规划的方法优于无模型方法。下表对比了 PlaNet 与 A3C 智能体、D4PG 智能体(它们结合了无模型强化学习的近期进展)。这些基线数字来自于《DeepMind Control Suite》。我们可以明确看到,PlaNet 在所有任务上都优于 A3C,最终性能逼近 D4PG,而 PlaNet 与环境的平均互动数量只是这两个无模型智能体的 1/50。
一个智能体解决所有任务
谷歌研究人员训练了一个 PlaNet 智能体,可解决全部六项任务。该智能体在不了解任务的情况下被随机放置在不同的环境中,因此它需要根据图像观测结果来推断任务内容。无需改变任何超参数,该多任务智能体的性能与任务特定单个智能体的平均性能达到相同水平。尽管 PlaNet 智能体在 cartpole 任务中学习速度较慢,但它在需要探索的较难 walker 任务中学习速度很快,且达到了较高的最终性能。
在多个任务上训练的 PlaNet 智能体的视频预测结果。上面一行是智能体的 holdout episode,下面一行是开环智能体(open-loop agent)的幻觉。该智能体以观察到的前 5 帧作为背景,进而推断任务和状态,并基于动作序列准确预测接下来的 50 步。
结论
研究结果表明,学习动态模型对于构建自动强化学习智能体大有用处。谷歌研究人员希望有更多研究聚焦在更高难度的任务上学习准确的动态模型,如 3D 环境和现实世界机器人任务。可以使用 TPU 的算力来扩展这些研究。这打开了基于模型的强化学习的可能性,包括多任务学习、层级规划(hierarchical planning)等。
论文:Learning Latent Dynamics for Planning from Pixels
论文地址:https://planetrl.github.io/
摘要:规划在已知环境动态的控制任务中非常有用。要想在未知环境中利用规划技术,智能体需要从与世界的互动中学习环境动态。然而,学习足够准确的动态模型一直是一项难题,尤其是在基于图像的领域中。我们提出了深度规划网络(PlaNet),这是一个完全基于模型的智能体,它从图像中学习环境动态,并通过在潜在空间中进行快速在线规划来选择动作。为了获得高性能,动态模型必须准确预测未来多个时间步的奖励。我们使用具备确定转移(deterministic transition)和随机转移(stochastic transition)组件的潜在动态模型和多步变分推断目标函数 latent overshooting 来解决这个问题。在仅有像素观测结果的情况下,我们的智能体可解决具备接触动态、部分可观测性、稀疏奖励难题的连续控制任务,这些任务的难度超过使用学得模型进行规划的之前研究的任务难度。PlaNet 使用的训练 episode 远远少于无模型算法,但其最终性能接近甚至超过强大的无模型算法。
原文链接:https://ai.googleblog.com/2019/02/introducing-planet-deep-planning.html?m=1