Google团队在CoRL2021上提出了一种隐式行为克隆(ImplicitBC)算法,该方法在7个测试任务中测试优于之前最好的离线强化学习方法(ConservativeQLearning)6项。隐式BC在现实世界中也表现得非常好,比基线显式行为克隆(显式BC)模型好10倍。尽管过去几年机器人学习取得了长足进步,但机器人代理的一些策略仍然难以选择动作果断地模仿精确或复杂的行为。让机器人精确地将桌子上的小滑块滑入槽中。有很多方法可以解决这个任务,每一种方法都需要精确的移动和修正。机器人只能采用这些策略选项之一,并且每次滑块移动超过预期时都必须更改策略。人类可能认为这样的任务很容易,但机器人通常并非如此,它们经常学习人类专家认为“优柔寡断”或“不精确”的行为。机器人需要在桌子上滑动滑块并将其精确地插入夹具中,而显式行为克隆模型会犹豫不决。为了让机器人更加果断,研究人员经常利用离散化的动作空间,迫使机器人做出明确的“两种选择”。一,”而不是在选项之间摇摆不定。例如,离散化是近年来许多知名游戏代理模型的固有特征,如AlphaGo、AlphaStar和OpenAI打Dota的AI代理。但离散化有其自身的局限性——对于在空间连续的现实世界中运行的机器人,离散化至少有两个缺点:精度有限。由于计算维度的成本过高,因此离散化许多不同的维度会显着增加内存和计算要求。在3D计算机视觉任务中,许多最近的重要模型是由连续而非离散表示驱动的。为了在没有离散化特征缺陷的情况下学习确定性策略,谷歌团队提出了一种用于隐式行为克隆(ImplicitBC)的开源算法,这是一种新的简单的模仿学习方法,已在CoRL2021上提出。该方法实现了有希望的模拟基准任务和需要精确和果断行为的真实世界机器人任务的结果。ImplicitBC在7个测试任务中的6个上优于之前最好的离线强化学习方法(ConservativeQLearning)。有趣的是,隐式BC无需任何奖励信息即可实现这些结果,即可以使用相对简单的监督学习代替更复杂的强化学习。隐式行为克隆(ImplicitBC)这种方法是一种行为克隆,可以说是机器人从演示中学习新技能的最简单方法。在行为克隆中,代理学习如何通过标准的监督学习来模仿专家的行为。传统的行为克隆一般训练一个显式神经网络(如下图左侧所示),接受观察并输出专家动作。而隐式行为克隆背后的关键思想是训练一个神经网络来进行观察和行动,并输出一个低数字表示专家行为,高数字表示非专家行为,将行为克隆变成一个基于能量的建模问题。显式(左)和隐式(右)策略之间差异的描述。在隐式策略中,“argmin”表示在与特定观察配对时最小化能量函数值的动作。训练后,隐式行为克隆策略为给定观察找到具有最低能量函数值的动作输入以生成动作。为了训练隐式BC模型,研究人员使用InfoNCE损失,它让网络为数据集中的专家动作输出低能量,为所有其他动作输出高能量。有趣的是,这种使用同时接受观察和行动的模型的想法在强化学习中很常见,但在监督策略学习中并不常见。上图显示了隐式模型如何拟合不连续性的动画——在这种情况下,隐式模型被训练来拟合一个步长(Heaviside)函数。左图:拟合黑色训练点的二维图,颜色代表能量值(蓝色代表低,棕色代表高)。中间:训练期间能量模型的3D图。右图:训练损失曲线。经过训练后,GoogleAI发现隐式模型特别擅长准确建模以前显式模型难以解决的不连续性,从而产生可以在不同行为之间果断切换的新策略。为什么传统的显式模型在这个问题上表现不佳?现代神经网络几乎总是使用连续激活函数——例如,Tensorflow、Jax和PyTorch都只提供连续激活函数。使用这些激活函数构建的显式网络在尝试拟合不连续数据时无法准确表示,因此必须在数据点之间绘制连续曲线。隐式模型的一个关键优势是它们能够表示尖锐的不连续性,即使网络本身仅由连续层组成也是如此。与显式模型(底部)相比,隐式模型(顶部)拟合不连续函数的示例。以红色突出显示的插图表明,隐式模型表示不连续性(a)和(b),而显式模型必须在不连续性(c)和(d)之间绘制连续线谷歌AI在这方面的理论基础建立,提出了通用逼近的概念,证明了隐式神经网络可以表示的函数类,这将有助于证明和指导未来的研究。谷歌人工智能在首次尝试这种方法时面临的一个挑战是“高运动维度”,这意味着机器人必须决定如何同时协调多个电机。为了扩展到高动作维度,GoogleAI使用自回归模型或Langevin动力学。在新的SOTA实验中,谷歌AI发现ImplicitBC在现实世界中表现特别出色,在毫米级滑块滑动和插槽任务上比基线显式行为克隆(explicitBC)模型好10倍。在此任务中,隐式模型会在将滑块滑动到位之前进行多次连续的微调。将滑块精确插入插槽的示例任务。这些是具有隐式策略的自主行为,仅使用图像(来自指定相机)作为输入。这个任务有多个决定因素:由于块的对称性和推动动作的任意顺序,有许多不同的可能解决方案。机器人需要决定滑块何时被推得足够远,然后需要切换到不同的方向滑动。这个过程是不连续的,所以一个连续控制的机器人在这个任务中会非常优柔寡断。完成这项任务的不同策略。这些是来自仅使用图像作为输入的隐式策略的自主行为。在另一个具有挑战性的任务中,机器人需要按颜色对滑块进行排序。由于拾取顺序是任意的,这会产生大量可能的解决方案。显式BC模型在具有挑战性的连续筛选任务(4倍速度)中的表现。在这个任务中,显式模型(explicitmodel)的表现仍然很不确定,而隐式模型(implicitmodel)的表现更好。ImplicitBCmodelperformance(4xspeed)在具有挑战性的连续筛选任务和GoogleAI测试中,ImplicitBC仍然可以在面对干扰时表现出强大的性能,尽管该模型从未见过人手的适应性。机器人受到干扰时隐式BC模型的稳健行为一般来说,谷歌AI发现隐式BC策略在几个不同的任务领域取得了比最先进的离线强化学习方法更好的结果。ImplicitBC可以完成很多具有挑战性的任务,比如演示次数少(少至19次),基于图像的观察具有很高的观察维度,以及高达30维的高动作维度,这就需要机器人做出充分利用自身的大量执行器。将隐式策略学习结果与跨多个领域的基线进行比较。尽管隐式BC目前存在局限性,但使用监督学习进行行为克隆仍然是机器人从人类行为示例中学习的最简单方法之一。这项工作表明,将显式策略替换为隐式策略可以让机器人在执行行为克隆时克服“犹豫”,从而使它们能够模仿更复杂和精确的行为。虽然隐式BC取得的实验结果来自机器人学习问题,但隐式函数对尖锐不连续性和多模态标签进行建模的能力可能在机器学习的其他领域也有更广泛的应用。
