智能的组合性质
想象一下,每次想学习一个新的食谱时,你都必须重新学习如何切、削和搅拌。在许多机器学习系统中,当面临新的挑战时,代理通常必须从头开始学习。然而,很明显,人们的学习效率要比这高:他们可以结合先前学到的能力。就像有限的词典可以重新组合成近乎无限意义的句子一样,人们可以重新利用和组合他们已经拥有的技能来应对新的挑战。
在自然界中,学习是动物探索和与环境交互以获取食物和其他奖励的结果。这是强化学习(RL)所捕捉到的范式:与环境的交互根据所得到的奖励(或惩罚)加强或抑制特定的行为模式。近年来,将RL与深度学习相结合已经取得了令人印象深刻的成果,比如可以学会如何玩围棋和国际象棋等棋类游戏的代理,以及可以玩全系列的Atari游戏,还有像Dota和星际争霸II这样更现代、更困难的视频游戏。
RL的一个主要限制是当前的方法需要大量的训练经验。例如,为了学会玩一个Atari游戏,一个RL代理通常需要消耗相当于数周不间断游戏的数据量。麻省理工学院和哈佛大学的研究人员领导的一项研究表明,在某些情况下,人类只需要玩十五分钟就能达到相同的表现水平。
这种差异的一个可能原因是,与人类不同,RL代理通常会从零开始学习一个新任务。我们希望我们的代理能够利用在以前的任务中获得的知识,以更快地学习一个新任务,就像一个厨师在学习一个新的食谱时会比一个从未做过菜的人更容易。在最近发表于《美国国家科学院院刊》(PNAS)的一篇文章中,我们描述了一个旨在赋予我们的RL代理这种能力的框架。
世界的两种表示方式
为了说明我们的方法,我们将探讨一个(或者至少曾经是)日常例行事务的例子:上下班路上的通勤。想象以下情景:一个代理每天都必须从家里通勤到办公室,一路上总是要买杯咖啡。在代理的住所和办公室之间有两家咖啡馆:一家咖啡很好但路程较长,另一家咖啡还行但通勤时间较短(图1)。取决于代理在某一天对咖啡质量和赶时间的重视程度,它可能选择两条路线中的一条(图1地图上的黄色和蓝色路径)。

传统上,RL算法可以分为两大类:基于模型的代理和无模型的代理(图2和图3)。基于模型的代理(图2)构建了环境的许多方面的表示。这种类型的代理可能知道不同位置之间的连接方式、每个咖啡馆的咖啡质量以及其他任何被认为相关的事物。无模型的代理(图3)对其环境有一个更紧凑的表示。例如,一个基于值的无模型代理可能对每条离开它的家的路线有一个与之相关的单个数字;这是每条路线的预期“价值”,反映了咖啡质量与通勤时间的特定权衡。以图1中显示的蓝色路径为例。假设这条路径的长度为4,代理按照这条路径走会得到3颗星的咖啡评价。如果代理对通勤距离的重视程度比对咖啡质量的重视程度多50%,那么这条路径的价值将为(-1.5 x 4)+(1 x 3)= -3(我们使用与距离相关的负权重表示较长的通勤是不可取的)。

我们可以将咖啡质量与通勤距离的相对权重解释为代理的偏好。对于任何固定的偏好集合,无模型代理和基于模型的代理将选择相同的路线。那么,如果最终结果相同,为什么要使用一个更复杂的世界表示,比如基于模型的代理使用的表示方法?如果代理最终喝的是同样的咖啡,为什么要学习这么多关于环境的知识?
偏好可能会因天而异:代理可能会考虑自己有多饿,或者是否要迟到参加会议,来规划去办公室的路线。无模型代理处理这个问题的一种方式是学习与每种可能偏好集合相关联的最佳路线。这并不理想,因为学习每种可能的偏好组合将需要很长时间。如果有无限多种偏好,学习与每种可能偏好集合相关联的路线是不可能的。
相比之下,基于模型的代理可以适应任何偏好集合,无需学习,只需“想象”所有可能的路线,并询问它们在当前心态下是否能满足其需求。然而,这种方法也有缺点。首先,“心理”生成和评估所有可能的轨迹可能需要大量计算。其次,在复杂环境中建立整个世界的模型可能非常困难。
无模型代理学习速度更快,但对变化脆弱。基于模型的代理灵活,但学习速度较慢。是否存在一种中间解决方案?
继承特征:一个中间地带
行为科学和神经科学的最新研究表明,在某些情况下,人类和动物基于一种算法模型做出决策,这种模型是无模型和基于模型方法之间的折衷(这里和这里)。假设是,与无模型代理类似,人类也会计算以数字形式表示的替代策略的价值。但是,人类并不总结一个单一的数量,而是总结许多描述周围世界的不同数量,类似于基于模型的代理。
我们可以赋予RL代理相同的能力。在我们的示例中,这样的代理对于每条路线,会有一个表示咖啡期望质量的数字,以及一个表示到办公室的距离的数字。它还可以与代理并非有意优化但仍然可用于以后参考的事物相关联的数字(例如,每个咖啡馆的食物质量)。代理关心和追踪的世界的方面有时被称为“特征”。因此,这种世界表示被称为继承特征(在其原始形式中曾称为“继任者表示”)。
继承特征可以被看作是无模型和基于模型表示之间的折衷方案。与基于模型的代理类似,继承特征总结了许多不同的数量,捕捉了超越单一值的世界。然而,与无模型表示类似,代理追踪的数量是简单的统计数据,总结了其关心的特征。以这种方式,继承特征就像无模型代理的“展开”版本。图4说明了使用继承特征的代理如何看待我们的示例环境。
使用后继特征:从策略字典中组合新计划
后继特征是一种有用的表示,因为它们允许在不同的偏好集合下评估路径。让我们再次以图1中的蓝色路径为例。使用后继特征,代理将与该路径关联的三个数字:长度(4)、咖啡质量(3)和食物质量(5)。如果代理已经吃过早餐,它可能对食物不太关心;另外,如果时间很晚,它可能更关心通勤距离,而不是咖啡质量–比如说,多出50%的重要性,就像之前一样。在这种情况下,蓝色路径的价值将是 (-1.5 x 4) + (1 x 3) + (0 x 5) = -3,就像上面的例子一样。但是现在,在代理饿了的一天,它和对咖啡一样关心食物,它可以立即更新这条路径的价值为 (-1.5 x 4) + (1 x 3) + (1 x 5) = 2。使用相同的策略,代理可以根据任何偏好集合评估任何路径。
在我们的例子中,代理在选择路线之间进行选择。更一般地说,代理将在寻找策略:即在每种可能情况下要做的事情的规定。策略和路径密切相关:在我们的例子中,选择从家到咖啡店A,然后选择从咖啡店A到办公室的策略将穿过蓝色路径。因此,在这种情况下,我们可以互换地讨论策略和路径(如果环境中存在一些随机性,则这种情况将不成立,但我们将忽略这个细节)。我们讨论了后继特征如何使路径(或策略)能够在不同的偏好集合下进行评估。我们将这个过程称为广义策略评估,或GPE。
GPE有什么用呢?假设代理有一个策略字典(例如,通往办公室的已知路径)。给定一组偏好,代理可以使用GPE立即评估字典中每个策略在这些偏好下的表现如何。现在真正有趣的部分来了:基于对已知策略的快速评估,代理可以即时创建全新的策略。它的做法很简单:每当代理需要做出决策时,它会提出以下问题:“如果我要做出这个决策,然后按照此后具有最大价值的策略行动,哪个决策会导致最大的总体价值?”令人惊讶的是,如果代理在每个情况下选择导致最大总体价值的决策,它最终得到的策略往往比用于创建它的各个策略更好。
这个将一系列策略“拼接在一起”以创建更好策略的过程被称为广义策略改进,或GPI。图5演示了GPI如何使用我们的运行示例。
通过GPI创建的策略的性能将取决于代理知道多少策略。例如,在我们的运行示例中,只要代理知道蓝色和黄色路径,它将为任何对咖啡质量和通勤时间的偏好找到最佳路线。但是,GPI策略并不总是能找到最佳路线。在图1中,如果代理不知道将它们连接在一起的策略(如图中的橙色路径),它永远不会先访问咖啡厅A,然后再访问咖啡厅B。
一个简单的示例展示GPE和GPI的作用
为了说明GPE和GPI的好处,我们现在给出我们最近一篇论文的一个实验的一瞥(有关详细信息,请参阅论文)。该实验使用一个简单的环境,以抽象的方式表示我们的方法可能有用的问题类型。如图6所示,该环境是一个10×10的网格,其中分布着10个物体。只有当代理拾取一个物体时,它才能获得非零奖励,此时另一个物体会在随机位置出现。与物体相关的奖励取决于其类型。物体类型旨在表示具体或抽象的概念;为了与我们的运行示例连接,我们将认为每个物体要么是“咖啡”要么是“食物”(这些是代理跟踪的特征)。

显然,代理的最佳策略取决于其当前对咖啡或食物的偏好。例如,在图6中,只关心咖啡的代理可能会按照红色的路径行动,而只关注食物的代理将会按照蓝色的路径行动。我们还可以想象中间情况,代理想要具有不同权重的咖啡和食物,包括代理想要避免其中之一的情况。例如,如果代理想要咖啡但真的不想要食物,那么图6中的灰色路径可能是一个比红色路径更好的选择。
这个问题的挑战在于快速适应一组新的偏好(或“任务”)。在我们的实验中,我们展示了如何使用GPE和GPI来做到这一点。我们的代理学习了两个策略:一个寻找咖啡的策略和一个寻找食物的策略。然后,我们测试了GPE和GPI计算的策略在与不同偏好相关的任务上的表现。在图7中,我们将我们的方法与一个无模型的代理在寻找咖啡并避免食物的任务上进行了比较。请注意,即使它从未学习如何有意避开物体,使用GPE和GPI的代理立即合成了一个合理的策略。当然,通过学习,GPE和GPI计算的策略可以用作稍后进行精细调整的初始解决方案,这意味着它将与无模型代理的最终性能相匹配,但可能更快地达到该性能。

图7展示了GPE和GPI在一个特定任务上的性能。我们还对同一个代理在许多其他任务上进行了测试。图8展示了当我们改变咖啡和食物的相对重要性时,无模型和GPE-GPI代理的性能会发生什么。值得注意的是,虽然无模型代理必须单独学习每个任务,从头开始,但GPE-GPI代理只学习了两个策略,然后迅速适应了所有任务。

上述实验使用了一个简单的环境,旨在展示GPE和GPI所需的属性,避免了不必要的混淆因素。但GPE和GPI也已经在大规模应用。例如,在先前的论文(这里和这里)中,我们展示了当我们将网格世界替换为一个三维环境,并且代理以第一人称视角接收观察时,相同的策略也适用(见这里和这里的说明性视频)。我们还使用GPE和GPI让一个四足模拟机器人在只学习了沿三个方向导航后能够沿任意方向导航(见本文和视频)。
GPE和GPI的背景
GPE和GPI的研究处于与这些操作相关的两个独立研究分支的交叉点上。第一个与GPE相关的研究是继Dayan于1993年发表的具有开创性意义的论文后开始的继任者表示的研究工作。Dayan的论文开创了一个至今仍非常活跃的神经科学研究领域(参见进一步阅读:”神经科学中的继任者表示”)。最近,继任者表示在强化学习(链接在这里和这里)的上下文中重新出现,也被称为“继任者特征”,并成为了那里的一个活跃研究领域(参见进一步阅读:”GPE、继任者特征和相关方法”)。继任者特征也与一般值函数密切相关,这是基于Sutton等人的假设,即相关知识可以以世界的许多预测的形式表达(也在这里讨论)。继任者特征的定义在强化学习的其他上下文中也独立出现,并且与通常与深度强化学习相关的最新方法也有关系。
与GPE和GPI起源相关的第二个研究分支与组合行为以创建新行为有关。多次提出过分散控制器执行子控制器的想法(例如,Brooks,1986),使用值函数来实现这一想法可以追溯到至少1997年,Humphrys和Karlsson的博士学位论文中有相关内容。GPI也与分层强化学习密切相关,其基础可以追溯到20世纪90年代和21世纪初Dayan和Hinton、Parr和Russell、Sutton、Precup和Singh以及Dietterich的作品。组合行为和分层强化学习都是当今的研究热点领域(参见进一步阅读:”GPI、分层强化学习和相关方法”)。
Mehta等人可能是第一个共同使用GPE和GPI的人,尽管在他们考虑的场景中,GPI在一开始就缩减为一个单一选择(也就是说,没有”拼接”策略)。本博文中讨论的GPE和GPI版本最早是在2016年作为促进迁移学习的机制提出的。迁移学习在1992年的Singh的工作中就有了,并且最近在深度强化学习的背景下经历了复苏,仍然是一个活跃的研究领域(参见进一步阅读:”GPE + GPI、迁移学习和相关方法”)。
在下方可以查看更多关于这些作品的信息,我们还提供了进一步阅读建议的列表。
一个组合式强化学习方法
总的来说,无模型代理无法轻松适应新的情况,例如适应它之前没有经历过的偏好集合。有模型代理可以适应任何新的情况,但为了做到这一点,它首先必须学习整个世界的模型。基于GPE和GPI的代理提供了一种中间解决方案:虽然它学习的世界模型比有模型代理要小得多,但它可以快速适应某些情况,并且通常表现良好。
我们讨论了GPE和GPI的具体实例,但实际上它们是更一般的概念。在抽象层面上,使用GPE和GPI的代理按照两个步骤进行。首先,当面临一个新任务时,它会问:“已知任务的解决方案在这个新任务上表现如何?”这就是GPE。然后,根据这个评估,代理将之前的解决方案组合起来构建一个新任务的解决方案,也就是进行GPI。GPE和GPI背后的具体机制并不重要,重要的是这个原则本身,而找到执行这些操作的替代方法可能是一个令人激动的研究方向。有趣的是,行为科学中的一项新研究提供了初步证据,表明人类在多任务场景中做出决策时遵循的原则与GPE和GPI非常相似。
GPE和GPI提供的快速适应能力对于构建学习速度更快的强化学习代理非常有前景。更一般地说,它提供了一种学习问题灵活解决方案的新方法。代理可以将一个问题拆分成更小、更易管理的子任务,然后重用和重新组合子任务的解决方案来更快地解决整体任务。这导致了一种组合式的强化学习方法,可能会带来更具可扩展性的代理。至少,这些代理不会因为一杯咖啡而迟到。