一种更有效的多功能机器人技术

假设你想训练一个机器人,让它能够理解如何使用工具,并能够迅速学会使用锤子、扳手和螺丝刀在你家里进行维修。为了做到这一点,你需要大量的数据来证明工具的使用。

现有的机器人数据集在模态上差异很大,有些包含彩色图像,而其他一些则由触觉印记组成。数据还可以在不同的领域,如模拟或人类演示中收集。每个数据集可能捕捉到一个独特的任务和环境。

在一个机器学习模型中高效地整合来自如此多来源的数据是困难的,因此许多方法只使用一种类型的数据来训练机器人。但是用这种方式训练的机器人,只有相对较少的任务特定数据,通常无法在陌生环境中执行新任务。

为了训练更好的多功能机器人,麻省理工学院的研究人员开发了一种技术,使用扩散模型这种生成式人工智能的方法,将跨领域、模态和任务的多个数据源进行组合。

他们训练一个单独的扩散模型,学习使用一个特定数据集完成一个任务的策略。然后,他们将扩散模型学习到的策略组合成一个通用策略,使机器人能够在不同的环境中执行多个任务。

在模拟和现实世界的实验中,这种训练方法使机器人能够执行多个工具使用任务,并适应在训练过程中没有见过的新任务。与基准技术相比,这种方法,即策略组合(PoCo),使任务性能提高了20%。

“解决机器人数据集的异质性就像是一个鸡生蛋的问题。如果我们想要使用大量数据来训练通用机器人策略,那么我们首先需要部署可用于获取所有这些数据的机器人。我认为,利用所有可用的异构数据,类似于研究人员在ChatGPT中所做的,对机器人领域来说是一个重要的步骤,”电气工程和计算机科学(EECS)研究生、PoCo论文的第一作者Lirui Wang说。

Wang的合著者包括机械工程研究生Jialiang Zhao、EECS研究生Yilun Du、脑与认知科学系视觉科学John和Dorothy Wilson教授以及计算机科学与人工智能实验室(CSAIL)成员Edward Adelson,以及CSAIL成员、EECS、航空航天学和机械工程的丰田教授Russ Tedrake。这项研究将在机器人科学与系统会议上进行展示。

组合不同的数据集

机器人策略是一种机器学习模型,它接收输入并使用它们执行动作。一个方法来思考策略是作为一种策略。对于机器人手臂来说,这个策略可能是一个轨迹,或者一系列的姿势,使手臂移动,以便它拿起锤子并用它敲钉子。

用于学习机器人策略的数据集通常很小,专注于特定的任务和环境,比如在仓库里将物品装箱。

“每个机器人仓库都会产生数千兆字节的数据,但它只属于那个特定的机器人安装在那些包裹上工作。如果你想要使用所有这些数据来训练一个通用机器,这是不理想的,”Wang说。

麻省理工学院的研究人员开发了一种技术,可以将一系列较小的数据集(如从许多机器人仓库收集的数据集)分别学习出不同的策略,并以一种方式将这些策略组合起来,使机器人能够推广到许多任务。

他们使用一种称为扩散模型的生成式人工智能模型来表示每个策略。扩散模型通常用于图像生成,通过迭代地改进其输出,学习创建类似于训练数据集中样本的新数据样本。

但是,研究人员并不是教授扩散模型生成图像,而是教它生成机器人的轨迹。他们通过向训练数据集中的轨迹添加噪声来实现这一点。扩散模型逐渐去除噪声,并将其输出改进为轨迹。

这种技术被称为扩散策略,之前由麻省理工学院、哥伦比亚大学和丰田研究所的研究人员介绍过。PoCo是在这项扩散策略工作的基础上发展起来的。

团队使用不同类型的数据集训练每个扩散模型,例如包含人类视频演示的数据集和从机器人手臂的远程操作中获得的数据集。

然后,研究人员对所有扩散模型学习到的单个策略进行加权组合,迭代地改进输出,使组合策略满足每个单独策略的目标。

大于其各部分之和

“这种方法的好处之一是我们可以组合策略,以获得两全其美的效果。例如,一个在真实世界数据上训练的策略可能能够实现更高的灵活性,而在模拟中训练的策略可能能够实现更高的泛化能力,”Wang说。

Animation of robot arm using a spatula to lift toy pancake
通过策略组合,研究人员能够将来自多个来源的数据集组合起来,以便教机器人有效地使用各种工具,如锤子、螺丝刀或这个铲子。

图片:研究人员提供

由于这些策略是分别训练的,可以混合和匹配扩散策略,以获得某个任务的更好结果。用户还可以通过使用该数据集训练额外的扩散策略,而不是从头开始整个过程,来添加新的模态或领域的数据。

Animation of robot arm using toy hammer as objects are being placed randomly next around it.
研究人员开发的策略组合技术可以有效地教机器人使用工具,即使周围放置了物体试图分散它的注意力,如图所示。

图片:研究人员提供

研究人员在模拟和真实的机器人手臂上测试了PoCo,这些机器人手臂执行了各种工具任务,如使用锤子敲钉子和用铲子翻转物体。与基准方法相比,PoCo使任务性能提高了20%。

“令人惊讶的是,当我们完成调整并可视化时,我们可以清楚地看到组合轨迹看起来比它们中的任何一个都要好得多,”Wang说。

未来,研究人员希望将这种技术应用于长期任务,其中机器人将拿起一种工具,使用它,然后切换到另一种工具。他们还希望整合更大的机器人数据集以提高性能。

“对于机器人来说,我们需要这三种类型的数据才能成功:互联网数据、模拟数据和真实机器人数据。如何有效地将它们组合起来将是一个百万美元的问题。PoCo是朝着正确方向迈出的坚实一步,”NVIDIA的高级研究科学家、AI Agents Initiative负责人Jim Fan说,他与这项工作无关。

这项研究部分由亚马逊、新加坡国防科技局、美国国家科学基金会和丰田研究所资助。