若是要让机器人拥有人的学习能力,应该怎么作?伯克利 AI 研究院给出了一个很好的答案——元强化学习(meta-RL)。但这一次伯克利 AI 研究院不仅是使用了元强化学习,还考虑POMDP、异步策略梯度等等知识体系,最终获得了一个高样本效率、高探索效率的新算法「PEARL」。这一成果不只为解决 AI 的实际问题提供新的思考角度;同时也是实如今现实系统中规模化应用元强化学习的的第一步。伯克利 AI 研究院发布博文介绍了这一成果,编译以下。算法
背景网络
一个智能体若是要在不断变化的复杂环境中正常运行,那么它得到新技能的速度必须足够快。就像人类在这一方面表现出的非凡能力同样,好比:人类能够从某个示例中学习怎样辨别出一个全新的物体;在几分钟内适应不一样汽车的不一样驾驶方式;以及听过某个俚语后,就能在本身的词典中加上这个词,等等。app
所以,假设要使智能体来完成诸如人类这样的学习能力,元学习则是一种能够参考的方法。使用这一范式,智能体能够经过充分利用在执行相关任务中积累的丰富经验,以这些有限的数据为基础去适应新的任务。针对这类既须要采起行动又须要积累过往经验的智能体来讲,元强化学习能够帮助其快速适应新的场景。但美中不足的是,虽然训练后的策略能够帮助智能体快速适应新的任务,但元训练过程须要用到来自一系列训练任务的大量数据,这就加重了困恼强化学习算法的样本效率低下问题。所以,现有的元强化学习算法在很大程度上只能在模拟环境中正常运行。在本文中,咱们简要介绍了元强化学习的研究现状,而后提出了一种新算法—— 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 在学习异步策略上的能力是实如今现实系统中规模化应用元强化学习的的第一步。