乐趣区

让机器像人类一样学习伯克利-AI-研究院提出新的元强化学习算法

如果要让机器人拥有人的学习能力,应该怎么做?伯克利 AI 研究院给出了一个很好的答案——元强化学习(meta-RL)。但这一次伯克利 AI 研究院不只是使用了元强化学习,还考虑 POMDP、异步策略梯度等等知识体系,最终得到了一个高样本效率、高探索效率的新算法「PEARL」。这一成果不仅为解决 AI 的实际问题提供新的思考角度;同时也是实现在现实系统中规模化应用元强化学习的的第一步。伯克利 AI 研究院发布博文介绍了这一成果,编译如下。

背景

一个智能体如果要在不断变化的复杂环境中正常运行,那么它获得新技能的速度必须足够快。就像人类在这一方面表现出的非凡能力一样,比如:人类可以从某个示例中学习怎样辨别出一个全新的物体;在几分钟内适应不同汽车的不同驾驶方式;以及听过某个俚语后,就能在自己的词典中加上这个词,等等。

因此,假设要使智能体来完成诸如人类这样的学习能力,元学习则是一种可以参考的方法。使用这一范式,智能体可以通过充分利用在执行相关任务中积累的丰富经验,以这些有限的数据为基础去适应新的任务。针对这类既需要采取行动又需要积累过往经验的智能体来说,元强化学习可以帮助其快速适应新的场景。但美中不足的是,虽然训练后的策略可以帮助智能体快速适应新的任务,但元训练过程需要用到来自一系列训练任务的大量数据,这就加剧了困恼强化学习算法的样本效率低下问题。因此,现有的元强化学习算法在很大程度上只能在模拟环境中正常运行。在本文中,我们简要介绍了元强化学习的研究现状,然后提出了一种新算法—— PEARL,该算法使得样本效率得到数量级的大幅度提升。

前期回顾:元强化学习的研究进展

两年前,伯克利博客发布了一篇叫做《Learning to Learn》(文章查阅地址:https://bair.berkeley.edu/blog/2017/07/18/learning-to-learn/)的文章。这篇文章除了提出新的算法外,还对当时人们对元学习的兴趣激增做了调查统计,结果表明无论是当时还是现在,元学习的关键思路就是把复杂的问题简化成我们已经知道如何解决的问题。在传统的机器学习中,研究者会给定一组数据点用来匹配模型;而在元学习中,则用一组数据集来替换这些数据点,其中每个数据集都对应一个学习问题。只要学习这些问题的过程(所谓的「适应」)是可区分的,就可以像往常一样,在具有梯度下降的外循环(元训练)中对其进行优化。一旦经过训练,适应程序就可以迅速从少量数据中解决新的相关任务。

最近的元强化学习进展(从左到右依次为:通过元学习对观察到人类行为实现单样本模仿 https://arxiv.org/abs/1802.01557、以元强化学习模型为基础的断腿适应 https://arxiv.org/abs/1803.11347、用演变的策略梯度来推断超越训练任务分布的情况 https://arxiv.org/abs/1802.04821)

当时,大多数元学习工作都集中在小样本图像分类上。在此后的几年里,元学习应用到了更广泛的问题上,如视觉导航、机器翻译和语音识别等等。所以,将强化学习运用到元学习方法内是一个具有挑战性但又振奋人心的任务,因为这样的结合将有望使智能体能够更快速地学习新的任务,这个能力对于部署在复杂和不断变化的世界中的智能体来说是至关重要的。

因为元学习本身的样本复杂性问题和深度强化学习紧密相关,因此元学习可以通过与深度强化学习相结合来解决这个问题。两年前一些关于元学习的论文(RL2 https://arxiv.org/abs/1611.02779,Wang et al. https://arxiv.org/abs/1611.05763, 和 MAML https://arxiv.org/abs/1703.03400),介绍了在策略梯度(policygradient)和密集奖励(denserewards)的有限环境中将元学习应用于强化学习的初步结果。此后,很多学者对这个方法产生了浓厚的兴趣,也有更多论文展示了将元学习理念应用到更广泛的环境中,比如:从人类演示中学习(https://arxiv.org/abs/1802.01557)、模仿学习(https://arxiv.org/abs/1810.03237)以及基于模型的强化学习(https://arxiv.org/abs/1803.11347)。除了元学习模型参数外,我们还考虑了超参数和损失函数。为了解决稀疏奖励设置问题,于是有了一种利用元学习来探索策略的方法。

尽管取得了这些进展,样本效率仍然是一项挑战。当考虑将 meta-RL 应用于实际中更复杂的任务时,快速适应这些任务则需要更有效的探索策略,因此在实际学习任务中,需要考虑如何解决元训练样本效率低下的问题。因此,伯克利 AI 研究院基于这些问题进行了深入研究,并开发了一种旨在解决这两个问题的算法。

异步策略元强化学习的优势

尽管策略梯度强化学习算法可以在复杂的高维控制任务(如控制拟人机器人的运行)上实现高性能,但它们的样本效率仍然很低。比如,最先进的策略梯度法(PPO https://arxiv.org/abs/1707.06347)需要一亿个样本来学习一个良好的类人策略,如果我们在一个真实的机器人上运行这个算法,并用一个 20 赫兹控制器使其连续运行,在不计算重置时间的情况下,需要耗费近两个月的时间来学习。其效率低下的主要原因是形成策略梯度更新的数据必须从现行策略中取样,而不是在训练期间重复使用以前收集的数据。最近的异步策略(off-policy)算法(TD3 https://arxiv.org/abs/1802.09477,SAC https://arxiv.org/abs/1801.01290)与策略梯度算法的性能不相上下,然而需要的样本数量却减少了 100 倍。如果研究者能够利用这种算法进行元强化学习,数周的数据收集时间可减少至半天,这就使元学习更高效。异步策略学习在从零开始进行训练时,除了大大提高了样本效率外,还有进一步的功能优化——它不光可以利用以前收集的静态数据集,还可以利用其他机器人在其他场景中的数据。

非策略强化学习(SAC)比策略梯度(PPO)更有效

探索问题

在监督元学习中,用于适应新任务的数据是给定的。例如,在小样本图像分类中,我们会为元学习智能体提供针对我们希望标注的新的类的图像和标注。在强化学习中,智能体负责探索和收集自身的数据,因此适应程序必须包括有效的探索策略。“黑盒子”元学习智能体(RL2,and SNAIL https://arxiv.org/abs/1707.03141)可以学习这些探索策略,因为在递归优化中,整个适应过程被视为一个长序列。类似地,基于梯度的元强化学习方法可以通过将信用分配给更新前策略收集到的轨迹和更新后策略获得的回报来学习探索策略。虽然理论上是可行的,但实际上这些方法并没有学习临时延伸的探索策略。

为了解决这个问题,MAESN(https://arxiv.org/abs/1802.07245)以决定策略和通过梯度下降来适应新任务的概率性潜在变量的方式,增加了结构化的随机性。该模型经过训练,使先前的样本对探索轨迹进行编码,而来自适应变量的样本则得到最优的适应轨迹。总的来讲,所有这些方案都适用于同步策略(on-policy)强化学习算法,因为它们依赖于从同一现行策略中取样的探索和适应轨迹,因此需要同步策略采样。为了构建同步策略元强化学习算法,我们将采用不同的方法来探索。

通过元学习后验采样法探索

在全新的场景中进行探索,一个非常简单的方法是假装它是你已经见过的东西。例如,如果你第一次看到火龙果并想去吃它,你会将它类比成芒果而按照吃芒果的方式用刀来切开它。这是一种很好的探索策略,它能够让你吃到里面美味的果肉。而当你发现火龙果的果肉更像猕猴桃后,你可能又会切换到吃猕猴桃的策略,使用勺子挖出果肉吃。

在强化学习的相关文献中,这样的探索方法叫做后验采样(或 Thompson sampling)。智能体在 MDPs 上有个数据集分布,然后从该分布中迭代采样新的 MDP,并根据它来决定最佳的操作方式,同时使用收集到的数据来完成分布的更新。随着收集的数据越来越多,后验分布缩小,使探索和迭代之间实现稳定的过渡。这一策略看似有限,因为它去掉了采取无目的探索性行为的可能性;然而此前的一项工作“(More) Efficient Reinforcement Learning via Posterior Sampling”表明,通过后验采样确保最坏情况下累积的遗憾值(regret)接近于当前最佳的探索策略。

通过后验采样法吃一个奇怪的新水果

在实际问题中,我们如何在 Mdps 上表示这种分布?一种可能是保持过渡和奖励功能的分布。为了根据采样模型进行操作,我们可以使用任何基于模型的强化学习算法。Bootstrapped DQN 将这一想法应用于无模型的深度强化学习中,并在 Q 函数上维持近似后验。我们认为可以通过学习不同任务在 Q 函数上的分布来将这一想法扩展到多任务环境中,并且这种分布对于新的相关任务中的探索非常有效。

为了在元强化学习中引入后验采样法,我们先在 Mdps 上对基于 Q 函数的分布进行建模,通过实例化潜在变量 z,并根据经验(或语境)来推断出模型会将 Q 函数作为输入来调整其预测。在元训练过程中,学习 z 此前所有的变量来表示元训练任务的分布。面对测试时的新任务,智能体从之前的假设中取样,然后根据选出的这一假设决定在环境中采取什么样的行动,之后再通过新的证明来对后验分布进行更新。当智能体收集轨迹时,后验分布缩小,同时该智能体也会生成对当前任务更好的预测。

将元强化学习视为 POMDP

运用在元强化学习上的贝叶斯后验观点,揭示了元强化学习与 partially observed MDPs(部分可观察的马尔可夫决策过程)(POMDPs)之间的关系。当建模环境中当前观察到的事情无法告知你当前环境中的所有事情时(即只能部分观察当前状态),POMDPs 对于这种建模环境来说非常有用。就好比说,当你在一栋楼附近行走,灯光突然全部熄灭,此时你无法从黑暗中立即观察到你在什么位置,但你仍然会对自己的位置有一个预估,因为你可以凭借记忆在灯光熄灭前所看到的场景来预估。而求解 POMDPs 就是相似的原理,它涉及到对观测历史信息的集成,从而达到准确地估计当前状态的目标。

POMDP 的图像模型

元强化学习则可以被看作是具有特殊结构的 POMDP,它的任务就是当前状态中唯一未观察到的部分。在我们的示例中,任务可能就是找到一个你从未去过的办公室。在标准的 POMDP 中,智能体每进行下一步时都必须对状态进行重新估计,这样就能够不断地更新对建筑物中位置的估计。而在元强化学习示例中,任务在各个探索轨迹上不会一直变化,即在现实世界中,办公室的位置不会在寻找过程中改变。这也表示该方法可以保持对办公室位置的估计,而无需担心潜在的系统动态在每个步骤中改变它的实际位置。将元强化学习算法转换为 POMDPs 的说法,即智能体要维持任务的信念状态(belief state)——当在多个探索轨上收集信息时,任务会进行更新。

贝壳中的 PEARL

如何把任务上的信念状态与现有的异步策略强化学习算法结合起来呢?首先,我们可以通过使用以上下文(经验)为输入的编码器网络 q(z|c) 推断出后验信念的变分近似。为了保持可操作性,我们将后验部分表示为一个高斯函数(Gaussian)。对于强化学习算法的智能体,我们选择在 Soft Actor-Critic(SAC)的基础上建模,因为它具有当前最佳的性能和样本效率。信念状态中的样本传递给 actor、critic,以便他们能够根据样本任务进行预测。然后元训练过程包括学习推导给定上下文的后验 q(z|c),并根据给定的 z 优化训练 actor 和 critic。编码器则是使用 critic 的梯度渐变优化(因此 q(z|c) 表示 Q 函数上的分布),以及信息瓶颈也是如此。出现这种瓶颈是派生出变分下界的结果,但这也可以直观地将其解释为上下文和 z 之间信息的最小化,这样 z 就包含了预测状态 - 动作值所需的最小化的信息。

关于这个方案需要注意的一点是,为训练 actor 和 critic 而取样的一批数据与上下文的一批数据会分离。直观而言,这是有用的:通过明确表示任务的信念状态,智能体将任务推断与控制分离,并且可以使用完全不同的数据源来学习每个任务。这与 MAML 和 RL2 等方法形成了鲜明对比,它们将任务推理和控制结合在一起,因此必须同时使用一批数据。

而事实也证明这种分离对于异步策略元训练很重要。究其原因,我们可以想到,目前的元学习预测基于的假设是:训练和测试阶段应保持一致。例如,在测试时进行新动物物种分类任务的元学习智能体,应该接受在包括动物在内的类分布上进行训练。而强化学习中与此类似的是,如果在测试时智能体通过收集同步策略数据来进行调整,那么它也应该使用策略上的数据进行训练。因此,在训练期间使用异步策略数据则会给分布带来变化,从而破坏了这一基本假设。在 PEARL 中,我们可以通过对同步策略数据进行上下文采样,同时将异步策略数据用于 actor-critic 的训练,来减小这一分布的变化,并大规模使用异步策略数据。

彼时,该算法的一部分仍然是抽象的编码器体系结构。回顾下,这个编码器的工作是在上下文中(由状态、动作、奖励和下一个状态组成的一组转换)进行,并在潜在的上下文变量上生成高斯后验参数。虽然递归神经网络在这里看似是一个明智的选择,但我们注意到,Markov 的属性意味着可以在不考虑它们在轨迹中顺序的情况下对这些转换进行编码。基于这一观察,我们采用了一个具有排列不变性、可以独立地预测每个转换的高斯因子的编码器,并让这些因子相乘构成后验采样。与 RNN 相比,该体系结构在优化方面更快、更稳定,并且可以适应更大规模的上下文。

准备充分后,PEARL 怎么工作?

我们使用 MuJoCo 模拟器在六个基准连续控制域上对 PEARL 进行了测试,该模拟器在不同任务之间有不同的奖励或动态功能。例如,对于 Ant 智能体,不同的任务对应着在 2D 平面上为不同目标位置导航;而对于 Walker 智能体来说,任务对应于其关节的不同参数和其他物理参数。

我们将 PEARL 与三种最先进的元强化学习算法进行了比较,即 ProMP、MAML 和 RL2。结果如下图所示,其中蓝色曲线代表 PEARL 的结果。需要注意的是,x 轴的单位(呈对数比例)。该方法通过在元训练过程中利用异步策略数据,将样本效率全面提高了 20-100 倍,并且它的最终表现往往也优于基线。

在稀疏的奖励域,有效的探索尤其重要。试想一个点机器人,它必须对半圆上的不同目标位置导航,并且只有定位到目标位置的小半径范围内(可在蓝色区域观察到)才会获得奖励。通过对目标位置的不同假设进行采样并随后更新其信念状态,智能体可以进行有效地探索,直到找到目标位置。我们通过对 PEARL 与 MAESN 进行比较,MAESN 就是我们前面讨论到的通过潜在变量生成的元学习探索策略,最终发现 PEARL 不仅在元训练中具有更高的采样效率,还能更有效地进行探索。

点机器人利用后验采样来探索和找到稀疏奖励设置中的目标

未来发展方向

虽然元学习为智能体如何快速适应新的场景提供了一个可能的解决方案,但它同时也产生了更多的问题!例如,元训练任务从何而来?它们必须手动设计,还是可以自动生成的?虽然元学习从本质上来说是偶然的,但现实世界是一个持续不断的、永无止境的变化流程——智能体如何处理一直随时间变化的任务?设计奖励函数非常困难——相反地,我们能否在元强化学习算法中同时利用二进制反馈、偏好和演示?我们认为 PEARL 中贝叶斯推理方面的研究能够为解决其中一些问题带来一个新的视角;同时我们也相信,PEARL 在学习异步策略上的能力是实现在现实系统中规模化应用元强化学习的的第一步。

退出移动版