视频介绍:机器人模仿学习的果断
尽管过去几年机器人学习取得了相当大的进步,但在试图模仿精确或复杂的行为时,机器人代理的一些策略仍然难以果断地选择动作。考虑一项任务,其中机器人试图在桌子上滑动块以将其精确定位到插槽中。有许多可能的方法来解决这个任务,每一个都需要精确的移动和修正。机器人必须只承诺这些选项中的一个,但还必须能够在每次滑块滑得比预期的更远时改变计划。虽然人们可能认为这样的任务很容易,但对于现代基于学习的机器人来说,情况往往并非如此,它们经常学习被专家观察者描述为优柔寡断或不精确的行为。
为了鼓励机器人更加果断,研究人员经常利用离散化的动作空间,迫使机器人选择选项 A 或选项 B,而不会在选项之间摇摆不定。例如,离散化是我们最近的Transporter Networks架构的一个关键元素,也是游戏代理的许多显着成就所固有的,例如AlphaGo、AlphaStar和 OpenAI 的Dota 机器人。但是离散化有其自身的局限性——对于在空间连续的现实世界中运行的机器人来说,离散化至少有两个缺点:(i)它限制了精度,以及(ii)它引发了维度灾难,因为考虑沿许多不同维度的离散化可以显着增加内存和计算要求。与此相关的是,在 3D 计算机视觉中,最近的许多进展都是由连续的而非离散的表示驱动的。
随着学习决定性的政策没有离散化的缺点的目标,今天我们宣布我们的开放源代码实现的隐性行为克隆(隐BC),这是一种新的,简单的方法来模仿学习,并在上周提出CoRL 2021。我们发现 Implicit BC 在模拟基准任务和需要精确和果断行为的现实世界机器人任务上都取得了很好的结果。这包括从我们团队最近的离线强化学习基准D4RL 中获得人类专家任务的最先进 (SOTA) 结果。在其中七项任务中的六项中,隐式 BC 优于离线 RL的最佳先前方法,保守的 Q 学习。有趣的是,隐式 BC 在不需要任何奖励信息的情况下实现了这些结果,即它可以使用相对简单的监督学习而不是更复杂的强化学习。
我们的方法是一种行为克隆,可以说是机器人从演示中学习新技能的最简单方法。在行为克隆中,代理学习如何使用标准的监督学习来模仿专家的行为。传统上,行为克隆涉及训练一个显式神经网络(如下图左所示),该网络接受观察并输出专家动作。
背后隐BC的关键思想是,而不是训练神经网络采取两个观察和操作,并输出一个数字是低专家动作和高对于非专家的动作(下面,右),转向行为克隆成基于能量的建模问题。训练后,隐式 BC 策略通过查找对给定观察具有最低分数的动作输入来生成动作。
为了训练隐式 BC 模型,我们使用了InfoNCE loss,它训练网络为数据集中的专家动作输出低能量,为所有其他动作输出高能量(见下文)。有趣的是,这种使用同时接受观察和行动的模型的想法在强化学习中很常见,但在有监督的策略学习中并不常见。
一旦经过训练,我们发现隐式模型特别擅长精确建模先前显式模型在其上挣扎的不连续性(上图)(如本文的第一个图所示),从而产生能够在不同行为之间果断切换的新策略。
但是为什么传统的显式模型会挣扎呢?现代神经网络几乎总是使用连续激活函数——例如,Tensorflow、Jax和PyTorch都只附带连续激活函数。在尝试拟合不连续数据时,使用这些激活函数构建的显式网络无法表示不连续性,因此必须在数据点之间绘制连续曲线。隐式模型的一个关键方面是它们能够表示尖锐的不连续性,即使网络本身仅由连续层组成。
我们还为这方面建立了理论基础,特别是通用逼近的概念。这证明了隐式神经网络可以表示的函数类别,这有助于证明和指导未来的研究。
拟合不连续函数的示例,隐式模型(顶部)与显式模型(底部)相比。红色突出显示的插图显示隐式模型表示不连续性 (a) 和 (b),而显式模型必须在不连续性之间绘制连续线 © 和 (d)。 我们最初尝试这种方法时面临的一个挑战是“高动作维度”,这意味着机器人必须决定如何同时协调多个电机。为了扩展到高动作维度,我们使用自回归模型或朗之万动力学。
在我们的实验中,我们发现隐式 BC 在现实世界中表现得特别好,与基线显式 BC 模型相比,在 1 毫米精度的滑动然后插入任务中表现更好(10 倍)。在此任务中,隐式模型在将块滑动到位之前会进行几次连续的精确调整(如下)。这项任务需要多个决定性因素:由于块的对称性和推动动作的任意顺序,有许多不同的可能解决方案,并且机器人需要在切换到滑动之前不连续地决定块何时被推得“足够”它在不同的方向。这与通常与连续控制机器人相关的优柔寡断形成对比。
在另一项具有挑战性的任务中,机器人需要按颜色对块进行排序,由于排序的任意顺序,这提出了大量可能的解决方案。在这项任务中,显式模型通常是优柔寡断的,而隐式模型的表现要好得多。
在我们的测试中,隐式 BC 模型也可以表现出稳健的反应行为,即使我们试图干扰机器人,尽管模型从未见过人类的手。
总体而言,我们发现,与跨多个不同任务域的最先进的离线强化学习方法相比,隐式 BC 策略可以获得更好的结果。这些结果包括具有挑战性的任务,这些任务要么具有较少的演示(少至 19 个),具有基于图像的观察的高观察维数,和/或高达 30 的高动作维数——这是大量的执行器在机器人上。
尽管存在局限性,但监督学习的行为克隆仍然是机器人从人类行为示例中学习的最简单方法之一。正如我们在这里展示的那样,在进行行为克隆时用隐式策略替换显式策略可以让机器人克服“决定性的斗争”,使它们能够模仿更复杂和精确的行为。虽然我们这里结果的重点是机器人学习,但隐函数对尖锐不连续性和多模态标签建模的能力可能对机器学习的其他应用领域也有更广泛的兴趣。
联系客服