机器人模仿学习中的决定性

1727419122177.jpg

尽管过去几年机器人学习取得了长足进步,但一些机器人代理策略在试图模仿精确或复杂的行为时,仍然难以果断地选择行动。考虑这样一个任务:机器人试图将一个木块滑过桌子,以将其精确地放入插槽中。解决这项任务的方法有很多种,每种方法都需要精确的移动和修正。机器人必须只选择其中一种选项,但也必须能够在木块每次滑动距离超过预期时改变计划。尽管人们可能认为这样的任务很容易,但对于现代基于学习的机器人来说,情况往往并非如此,它们经常学习专家观察者所描述的优柔寡断或不精确的行为。

基线显式行为克隆模型的示例,该模型在执行一项任务时遇到困难,即机器人需要将一个块在桌子上滑动,然后将其精确地插入到固定装置中。

为了让机器人更加果断,研究人员经常使用离散化的动作空间,迫使机器人选择选项 A 或选项 B,而不是在选项之间犹豫不决。例如,离散化是我们最近的Transporter Networks架构的一个关键元素,也是游戏代理的许多显著成就所固有的,例如AlphaGo、AlphaStar和 OpenAI 的Dota 机器人。但离散化也有其自身的局限性——对于在空间连续的现实世界中运行的机器人来说,离散化至少有两个缺点:(i) 它限制了精度,(ii) 它会触发维数灾难,因为考虑沿许多不同维度的离散化会显著增加内存和计算需求。与此相关,在 3D 计算机视觉领域,许多最近的进展都是由连续表示而不是离散表示推动的。

为了学习决定性策略而不受离散化弊端的影响,我们今天宣布了隐式行为克隆(Implicit BC)的开源实现,这是一种新的、简单的模仿学习方法,于上周在CoRL 2021上进行了展示。我们发现,隐式 BC 在模拟基准任务和需要精确和果断行为的现实世界机器人任务上都取得了强劲的效果。这包括在我们团队最近的离线强化学习基准D4RL中在人类专家任务上取得最先进 (SOTA) 的结果。在其中七项任务中的六项中,隐式 BC 的表现优于之前最好的离线 RL方法保守Q 学习。有趣的是,隐式 BC 不需要任何奖励信息就能实现这些结果,即它可以使用相对简单的监督学习,而不是更复杂的强化学习。

隐式行为克隆

我们的方法是一种行为克隆,可以说是机器人从演示中学习新技能最简单的方法。在行为克隆中,代理使用标准监督学习学习如何模仿专家的行为。传统上,行为克隆涉及训练显式神经网络(如下图左所示),该网络接收观察结果并输出专家操作。

隐式 BC 背后的关键思想是训练一个神经网络,使其同时接收观察结果和动作,并输出一个数字,该数字对于专家动作较低,对于非专家动作较高(下图右),将行为克隆转变为基于能量的建模问题。经过训练后,隐式 BC 策略通过查找给定观察结果中得分最低的动作输入来生成动作。

描述显式(左)和隐式(右)策略之间的差异。在隐式策略中,“argmin”表示与特定观察相结合时最小化能量函数值的动作。

为了训练隐式 BC 模型,我们使用InfoNCE 损失,它训练网络对数据集中的专家操作输出低能量,对所有其他操作输出高能量(见下文)。值得注意的是,这种使用同时考虑观察和操作的模型的想法在强化学习中很常见,但在监督策略学习中却并不常见。

隐式模型如何拟合不连续性的动画——在本例中,训练隐式模型以拟合阶跃(Heaviside)函数。左图:拟合黑色(X)训练点的 2D 图——颜色代表能量值(蓝色为低,棕色为高)。中间:训练期间能量模型的 3D 图。右图:训练损失曲线。

经过训练后,我们会发现隐式模型特别擅长精确地模拟不连续性(上图),而之前的显式模型却很难做到这一点(如本文第一张图所示),从而产生能够在不同行为之间果断切换的策略。

但为什么传统的显式模型会遇到困难?现代神经网络几乎总是使用连续激活函数——例如,Tensorflow、Jax和PyTorch都只附带连续激活函数。在尝试拟合不连续数据时,使用这些激活函数构建的显式网络无法表示不连续性,因此必须在数据点之间绘制连续曲线。隐式模型的一个关键方面是,它们能够表示尖锐的不连续性,即使网络本身仅由连续层组成。

我们还为这方面建立了理论基础,特别是通用近似 的概念。这证明了隐式神经网络可以表示的函数类,有助于证明和指导未来的研究。

拟合不连续函数的示例,隐式模型(顶部)与显式模型(底部)的比较。红色突出显示的插图表明隐式模型表示不连续性(a)和(b),而显式模型必须在不连续性之间绘制连续线(c)和(d)。

我们最初尝试这种方法时面临的一个挑战是“高动作维度”,这意味着机器人必须决定如何同时协调多个电机。为了扩展到高动作维度,我们使用自回归模型或朗之万动力学。

亮点

在我们的实验中,我们发现隐式 BC 在现实世界中表现特别出色,与基线显式 BC 模型相比,在 1 毫米精度滑动然后插入任务中表现好了一个数量级(10 倍)。在此任务中,隐式模型在将块滑入到位之前会进行几次连续的精确调整(如下)。此任务需要多种果断性元素:由于块的对称性和推动动作的任意顺序,存在许多不同的可能解决方案,并且机器人需要不连续地决定何时将块推得“足够远”,然后再切换到将其滑向不同的方向。这与连续控制机器人经常出现的优柔寡断形成了鲜明对比。

示例任务是将一个方块滑过桌子并精确地将其插入插槽。这些是我们的隐式 BC 策略的自主行为,仅使用图像(来自显示的相机)作为输入。

完成这项任务的多种不同策略。这些是来自我们的隐式 BC 策略的自主行为,仅使用图像作为输入。

在另一项具有挑战性的任务中,机器人需要按颜色对积木进行分类,由于排序的顺序是任意的,因此可能的解决方案有很多。在这项任务中,显式模型通常犹豫不决,而隐式模型的表现要好得多。

在具有挑战性的连续多项排序任务中, 隐式(左)和显式(右) BC 模型的比较。(速度为 4 倍)

在我们的测试中,隐式 BC 模型也能表现出强大的反应行为,即使我们试图干扰机器人,尽管模型从未见过人手。

尽管受到机器人的干扰,隐式 BC 模型仍具有稳健的行为。

总体而言,我们发现,与最先进的离线强化学习方法相比,隐式 BC 策略可以在多个不同的任务领域取得强劲成果。这些结果包括具有挑战性的任务,这些任务要么具有较少的演示次数(少至 19 次),要么具有基于图像的观察的高观察维度,和/或高达 30 的高动作维度——这对于机器人来说是一个很大的执行器数量。

隐式 BC 的策略学习结果与多个领域的基线进行了比较。

结论

尽管有局限性,但监督学习行为克隆仍然是机器人从人类行为示例中学习的最简单方法之一。正如我们在这里所展示的,在进行行为克隆时用隐式策略替换显式策略可以让机器人克服“果断性斗争”,使它们能够模仿更复杂、更精确的行为。虽然我们这里的结果重点是机器人学习,但隐式函数对尖锐不连续性和多模态标签进行建模的能力可能在机器学习的其他应用领域也具有更广泛的兴趣。

致谢

Pete 和 Corey 总结了与其他合著者共同进行的研究:Andy Zeng、Oscar Ramirez、Ayzaan Wahid、Laura Downs、Adrian Wong、Johnny Lee、Igor Mordatch 和 Jonathan Tompson。作者还要感谢 Vikas Sindwhani 提供的项目方向建议;感谢 Steve Xu、Robert Baruch、Arnab Bose 提供机器人软件基础设施;感谢 Jake Varley、Alexa Greenberg 提供机器学习基础设施;感谢 Kamyar Ghasemipour、Jon Barron、Eric Jang、Stephen Tu、Sumeet Singh、Jean-Jacques Slotine、Anirudha Majumdar、Vincent Vanhoucke 提供有益的反馈和讨论。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论