谷歌提出基于世界模型的的大规模强化学习方法Dreamer
将门创投近年来随着强化学习的发展,使得智能体选择恰当行为以实现目标的能力得到迅速地提升。目前研究领域主要使用两种方法:一种是无模型(model-free)的强化学习方法,通过试错的方式来学习预测成功的行为,其中著名的方法包括用于完成雅达利游戏的DeepMind的DQN方法和在星际争霸二中与世界冠军同台竞技的AlphaStar,但这类方法需要与环境进行大量的交互限制了其在真实场景中的应用。
而基于模型(model-based)的强化学习方法则额外学习一个简化的环境模型,这一环境模型使得主体可以预测潜在行为序列的输出,使得它可以通过假设的场景来在新环境中作出明智的决策,减少了实现目标所需的试错。先前学习精确的世界模型并将其充分应用于行为学习中还面临一系列挑战,但随着近来像深度规划网络(DeepPlanningNetwork, PlaNet)的研究出现,极大地拓展了从图像中学习出精确世界模型的边界,但基于模型的方法却依然受到规划(planning)机制庞大计算消耗的约束,限制了其在解决复杂任务上的应用。
为了解决这些问题,来自谷歌和DeepMind的研究人员合作提出了一种基于图像学习出世界模型(world model)的强化学习方法Dreamer,并在此基础上学习出有远见的行为。Dreamer基于模型预测的反向传播来利用世界模型实现高效的行为学习。通过从原始图像输入中计算出紧致的模型状态,这种方法可以使得主体在单个GPU上并行地从上千个预测序列中进行高效的学习。通过20个基于原始图像输入的连续控制基准任务上测评表明,Dreamer在性能、数据效率和计算时间上都达到了先进水平。
Dreamer的基本架构
Dreamer和典型的基于模型方法一样包含三个过程:学习世界模型、基于世界模型的预测学习行为、在环境中执行学习到的行为来收集新的经验。为了学习行为,Dreamer中利用价值网络(valuenetwork )将规划视野外的奖励纳入考量,同时利用行为网络(actor network)来高效的计算行为。这三部分可以并行地执行,一直重复运行直到达成目标:
Dreamer主体的三个过程,世界模型基于过去经验学习、随后基于这一模型预测,主体通过价值网络来预测未来奖励、行为网络来选择行为。行为网络用于与环境交互。
学习世界模型
Dreamer采用了PlaNet的世界模型,通过一系列紧致的模型状态来预测输出,而这些模型状态则通过输入图像计算得到,而不是直接利用图像来进行处理。它将自动学习得出代表有益于预测未来输出概念的模型状态,例如目标类型、位置以及目标与周围环境的交互等等。给定数据集中一个过去的图像、行为和奖励序列,Dreamer按照下图的方式进行世界模型的学习:
Dreamer 从经验中学习世界模型,利用过去的图像(o1–o3)、行为(a1–a2),它将计算出紧致的模型状态(绿色圆),并可以基于这些状态重建出图像并预测出奖励。
利用PlaNet世界模型的优势在于利用紧致的模型状态代替了图像来进行预测,极大地提高了计算效率。这使得模型可以在单个GPU上预并行的预测上千个序列。这种方式同时可以提高模型的泛化性,进行精确的长时视频预测。为了更好地理解模型的工作原理,下图展示了将预测序列模型状态解码回图像的结果:
复杂环境下的长程预测结果,上图显示了两个主体未曾遇到过的序列,给定五张输入图像,模型对其进行重建并预测出了后续到50步的图像结果。
高效行为学习
先前基于模型的主体选择行为的方法分为两种,要么通过多个模型预测来进行规划、要么通过将世界模型代替模拟器来复用无模型方法的技术,但两种方法都需要庞大的计算需求,同时也未充分利用学习到的世界模型。此外及时强大的世界模型也会受制于精确预测的长度,很多先前基于模型的主体表现出短视的缺点。Dreamer通过世界模型的预测进行反向传播学习价值网络和行为网络来克服上述局限。
Dreamer通过预测的状态序列反向传播奖励来高效地学习行为网络用于预测正确的行为,这在无模型方法中是无法实现的。这将告诉Dreamer其多小的行为变化将会影响未来预测的奖励,使得它可以向最大化奖励的方向上优化行为网络。为了考虑预测范围外的奖励,价值网络将估计每一个模型状态未来的奖励和,奖励和价值将反向传播来优化行为网络去改善行为。
Dreamer通过模型状态预测序列来学习长程行为,首先学习每个状态的长程价值,而后通过反向传播到行为网络来预测能够得到高价值和奖励的行为。
Dreamer与PlaNet有诸多不同,在环境中的给定状态下,PlaNet在不同行为序列的多个预测中搜索最佳行为,而Dreamer则避开了这种计算消耗巨大的搜索方式,利用规划和行为解耦的方式来提高计算效率。一旦在预测序列上训练好了行为网络,它将计算与环境交互的行为而无需额外的搜索。此外Dreamer利用价值函数考虑到了规划以外的奖励并通过反向传播提高了规划的效率。
控制任务上的表现
为了测试Dreamer的性能,研究人员在20个不同的任务上对其进行了测评,包括平衡、控制、运动等多种复杂的强化学习任务。
多种复杂的任务,其输入为图像。包括了碰撞、稀疏奖励、混沌动力学和高自由度甚至三维视角等复杂情况。
研究人员将Dreamer与多个先进的模型进行了比较,包括先前最先进的基于模型的方法PlaNet、无模型方法A3C、结合多种先进手段的无模型方法D4PG。实验表明,基于模型的主体可以在五百万帧内完成高效学习,大概对应28小时的仿真,而无模型的方法则需要近100万帧的学习,大概对应23天的仿真训练。在20个任务的测评基准上,Dreamer领先于目前最先进的无模型方法D4PG(平均分823>786),同时其与环境的交互大概要少二十倍。此外它最终的结果在所有任务上也超过了先前最好的基于模型方法PlaNet,最终的结果如下图所示:
Dreamer的性能与其他方法的比较,其得分、数据效率和计算时间都比先前方法要好。
此外研究人员还在连续任务上进行了实验,以验证Dreamer面对复杂环境的能力。下面的任务需要不仅需要长程行为预测,同时还需要模型具有空间感知能力。实验表明Dreamer对于这些更具挑战的任务依然能够很好的进行处理:
Dreamer成功的在雅达利游戏和DeepMind环境中运行,这些离散的任务更具挑战性。
Dreamer不仅在性能上超越了原有基于模型的方法,同时在计算效率上也大幅提升。研究人员认为Dreamer将为强化学习提供更为坚实的发展根基,同时也将促进更好的表示学习、基于不确定性的方向探索、时域抽象和多任务学习的发展。