近日,Uber 发文介绍了一种开放式方法 POET(Paired Open-Ended Trailblazer),可自行开发难度递增的环境及其解决方案,还可以实现不同环境中的智能体迁移,促进进化。
Uber AI 实验室注重开放性(open-endedness),开放性为机器学习自行开发多样化和不断增加的「课程」提供可能。拥有海量数据通常能够助力机器学习取得成功,因此 Uber 正在努力设计能够无限量生成自己所需训练数据的算法。
在普通的机器学习实践中,研究人员确定一个特定问题(例如像 ImageNet 这样的分类问题或者像《蒙特祖玛的复仇》这样的电子游戏),然后重点寻找或设计一个可实现最佳性能的算法。然而,有时我们不仅仅想解决已知问题,未知问题也十分重要。这些可能是对暴露(和解决)问题至关重要的边缘案例(如安全应用),但也可能是重要的基石,其解决方案可能有助于在更具挑战性的问题上取得进展。因此,Uber 正在探索不断提出越来越复杂和多样化的问题及解决方案的算法。
要生成问题和解决方案的一个重要原因是,这是解决一系列极其困难的挑战的唯一现实方法。要了解其中原因,请类比课程在教育中的重要作用。为什么要设置课程呢?因为如果没有事先掌握基础技能,就很难学习高级技能或概念。这个原则不仅适用于课堂上的学生,也适用于学习算法:正如这个项目的结果所示(不久后会公开),如果将难以或不可能直接学习的任务分解成一个个「垫脚石」任务,那事情就变得简单多了,实际上这就是课程的作用。
然而,虽然原则上课程对某些任务来说必不可少,但在实践中我们面临的问题是,我们不知道适合给定任务的课程是什么,而且我们也不知道能够学习的任务范围,要是它们会在正确的时间和顺序受到攻击就好了。事实上,我们很快会发现,最好的课程往往是反直觉的,甚至是逆向的(即学习难的任务会为简单的任务找到更好的解决方案)。因此,虽然课程通常是手动设计的,但只有让在学习者学习课程的同时设计课程,才能揭示所有可能的课程内容。
开放性展示了自生成课程和许多其它课程的好处:在最好的情况下,它可以无限地生成新任务,智能体也能够解决日益多样化和复杂的挑战。
自然进化是研究开放性的最初灵感来源之一,其复杂性近乎永恒。进化实际上是一个无限的过程,它在这条不断向前的路上创造了地球上所有形式的生命,这个过程仍在继续。值得注意的是,人类智能的产生也来自这个过程。虽然进化计算领域受开放性的启发,但没有任何进化算法接近自然,它们更像收敛到全局最优的传统机器学习算法,而不是生成一个能遍历所有可能生命形式的生命之树(或者更抽象地说,是一系列挑战(比如够着高高树上的叶子)和解决方案(比如长颈鹿和毛毛虫))。
虽然关于开放性的以往研究主要集中在创造人工世界(通常与人造生命领域相关),例如 Tierra、Avida、Evosphere 和 Chromaria,但深度神经进化的最新进展使开放性变得实用,并可以与机器学习相结合。与传统的进化算法(如遗传算法、进化策略等)相比,这可以归类为黑箱优化,受开放性概念启发的现代神经进化算法更侧重于发散(divergence)和发现「踏脚石」,例如查新(novelty search)、局部竞争查新、MAP-Elites、最小标准协同进化(MCC)、创新引擎(Innovation Engines)和 CMOEA。有趣的是,Uber AI 实验室最近取得了一项名为 Go-Explore 的突破,它在《蒙特祖玛的复仇》和 Pitfall 中取得了破纪录的表现,这项突破也受到了这些想法的启发。最小标准协同进化(MCC)算法尤其值得注意,它突出了在协同进化动态中创建新环境的潜力,尽管它没有采取在其环境中明确优化解决方案的步骤。此外,创新引擎引入了在不同任务间切换目标的想法,即将智能体从一个环境迁移到另一个更优的环境,从而利用一组不断扩展的「踏脚石」来促进发展。
POET 概要
Uber 发布了 Paired Open-Ended Trailblazer (POET),它结合了这些想法,明确地将这一系列研究推向生成新的任务、优化解决方案,以及在任务间迁移智能体,以实现其它方案无法取得的进展。为了证明这一方法,Uber 研究人员将 POET 用于创建和解决两足步行环境(改编自 OpenAI Gym 中的 BipedalWalker 环境),其中每个环境 E_i 与一个神经网络控制的智能体 A_i 配对,该智能体 Ai 尝试学习如何在该环境行走。下图展示了示例环境和智能体:
图 1:两足步行环境示例。
图 2:POET 概览。
如图 2 所示,POET 开始于一个与随机初始化的智能体 A_0 配对的简易环境 E_0,然后不断增长,不过环境和智能体一直是一对一配对的。在整个过程中,POET 旨在实现两个目标:(1) 将环境向多样性和复杂性演化;(2) 优化智能体以求解其配对环境。在单次运行期间,POET 会产生一系列复杂的环境及其解决方案。下图展示了 POET 发现的一个有趣的环境和解决方案:
图 3:POET 发现的有趣环境和解决方案示例。
为了进化环境,POET 首先决定当前有哪些环境适合复现,判定标准是配对智能体必须满足的分数阈值。此要求可避免将计算资源浪费在当前过于困难的问题上。接下来,适当的环境突变(复制并稍微更改)以生成候选子环境,其配对智能体初始化为与母环境中相同的智能体。最后,POET 评估候选子环境,按最小标准筛选,根据新颖性排名,最后纳入排名最高的候选环境。在这项工作中,最小标准是配对智能体适应度分数的下限和上限,它过滤掉对于当前智能体群体而言过于简单或过于复杂的环境。新颖性为创造更多样化的环境(挑战)带来压力——这是对候选环境与先前环境异同的定量测量。鉴于计算资源受限,一旦环境数量达到上限,在接纳新环境前,POET 将删除最旧的环境。
在这些实验中,研究者使用最新的进化策略(ES)变体来优化智能体以获得最大的环境回报,但任何强化学习或黑箱优化算法都可以实现。大多数情况下,智能体都经过了优化,可以在与其配对的环境中进行改进。重要的是,POET 还会定期进行迁移实验,以验证在一个环境中优化的智能体是否可以作为在另一环境中获得更好性能的「跳板」。这样,通过迁移测试,POET 可以充分利用其多个智能体—环境对的多样性,即不会错过任何利用现有「跳板」的机会。存在两种类型的迁移(图 4):直接迁移,来自源环境的智能体在目标环境中直接进行评估,以及提议迁移(proposal transfer),智能体在目标环境中执行一个 ES 优化步骤(以防将有用的技能从源环境迁移到目标环境时需要一些优化)。如果迁移后的结果更好,则替换目标环境中的现有配对智能体。
图 4:POET 有两种类型的迁移:直接迁移和提议迁移。只有迁移在目标环境上的性能优于当前配对智能体时,迁移才会发生(由虚线表示)。
观察开放式发现
迁移可以产生意想不到的效果,这些效果都是产生重要进化的「跳板」。在一个示例中,原始环境是平坦的地面,其配对的智能体学习在没有完全站立的情况下向前移动。该步态表示局部最优,因为如果智能体直立,可以实现更有效的步态。在迭代 400 次后,该环境生成带有路障的子环境。最初的子智能体从母环境中继承了低膝行走步态,这样可以实现在恶劣的环境中移动,但是它经常会因为以前没有遇到过的障碍而出错。最终,子环境中的智能体学会站起来并跳过障碍。
然后,在一个证明迁移潜力的演示中,该技能在 1175 次迭代时被迁移回母环境。现在,原始平坦环境中的智能体是直立的智能体,这样搜索过程就脱离了低膝局部最优。这个新的直立策略专注于新的平坦环境,能产生更快的步态。在不允许迁移的情况下,我们在平坦环境中对原始的低膝步态进行了长时间的优化,从而确认了如果没有迁移就不会发现这种更有效的直立步态(即,搜索陷入局部最优)。
上面一部分形象地展示在原文图5中,读者可查阅原文。
通过改变旧环境创建新环境,POET 实际上是构建多个重叠的课程。从目前的「踏脚石」中合理地解决环境的最低标准意味着课程正逐渐建立,新颖性激发了各种挑战,而这些挑战都发生在同一个阶段。在一次运行中不断产生此类解决方案的能力本身就很有趣,但是如果所获得的技能不能直接从头开始学习,那么这种能力的重要性就凸显出来了。更有趣的是,这些高级技能的对应课程本身并不容易被人类事先构想出来。换句话说,如果我们逐步引导学习者完成针对最终目标环境的一系列人为设计的难度升级任务,仍然无法达到 POET 掌握的技能,该怎么办?这个假设意味着 POET 需要找到解决方案和引导它们的课程。
Uber 研究人员通过收集由 POET 生成和解决的困难环境来验证这一假设,然后设计简单的增量课程,以便从头开始重新实现相同端点。每个简单的课程都反映了这样一个事实:逐渐增加课程难度——无解!实际上,如图 6 所示,对 POET 以这种方式发现的在更具挑战性的环境中的行为进行的复现尝试都没有实现。
图 6 中的每个玫瑰图是一组实验,其中红色五边形表示 POET 创建和解决的环境。每个五边形的五个顶点表示粗糙度、间隙和障碍宽度的上下限。以红色五边形为目标,五个蓝色五边形表示五种独立运行的直接路径课程控制算法(使用相同的 ES 优化算法)能够解决的最接近目标的环境。课程从简单、平坦的环境开始,每当问题充分解决时(根据 POET 中的相同标准),环境会稍微改变,使其更接近目标环境(与 POST 相同的环境变化数量)。显然,控制算法不仅无法解决 POET 创建和解决的环境,而且可解决的环境范围比起 POET 的范围窄得多(这意味着 POET 智能体可以处理更广泛的多样性),这两者都证明了 POET 优于直接建立课程。
图 6:基于课程的学习(蓝色)无法在 POET 发明的各种挑战性环境中复盘 POET 的表现(红色)。请注意,每个蓝色五边形都是基于直接路径课程的控制的运行,始终未能达到红色目标的水平。
结论和未来的工作
由于其发散和对「垫脚石」的充分利用,POET 实现了广泛的技术应用,这可能是任何传统方式都无法实现的。此外,POET 能够自己创造挑战,而不是依赖人类创造。许多挑战和解决它们的技能集都是在一次运行中发现的,而不是依赖于不同运行的随机初始化和特性来产生兴趣多样性。原则上,通过对环境空间进行更复杂的编码,POET 可以长期持续甚至无限地创建新的挑战及其解决方案。开放性之所以吸引人,不仅因其在提供困难问题解决方案和所需技能方面有实际价值,还因为它令我们吃惊的创造力。由于有这种惊喜存在,POET 的输出通常很有趣,POET 也不依赖用于优化的学习算法,因此它可以与任何 RL(或其他)方法结合。
最终,Uber 设想将 POET 从这一概念初步证明中的 2D 障碍课程扩展到广泛的相关领域,以实现更多开放式发现。例如,虽然 parkour 已经在人类设计的障碍课程中进行 3D 探索,但 POET 可以同时为他们发明全新课程和解决方案。POET 同样可以生产吸引人的新型软体机器人,以应对只有软体机器人才能解决的独特挑战。在更实际的层面上,它可以生成自动驾驶的模拟测试课程,既可以展示边缘案例,也可以展示解决方案。甚至更奇特的应用,例如发明新的蛋白质或化学过程,以解决各种应用领域中的问题。任何问题空间都有可能产生不同的变化,POET 可以为它们开辟道路。
该研究的相关论文已发布,介绍了更多技术细节,源代码稍后也会发布。