构建全球通用机器人大脑的宏伟项目——34 个实验室携手共同解决机器人学习难题
生成式 AI 革命 的显著成果体现在 ChatGPT、Midjourney 等工具上。这一革命的核心,是基于这样一个简单的思路:使用一个庞大的神经网络,用互联网上海量的数据进行训练,然后用它来响应广泛的用户需求。大型语言模型(LLM)可以回答问题、编写代码、创作诗歌,而图像生成系统则能够创造出逼真的洞穴壁画或当代艺术作品。
那么,为什么这些令人惊叹的 AI 技术还没有转化为像科幻小说中那样有用且广泛应用的机器人?为什么还没有能够整理桌面、折叠衣服、做早餐的机器人呢?
遗憾的是,成功的生成式 AI 模式——即使用海量互联网数据训练的大型模型——并不容易应用到机器人学领域。互联网上的数据并不像文本和图像那样充满了机器人交互信息。机器人需要基于机器人数据来学习,而这些数据通常是实验室研究人员针对特定任务缓慢且费力地创造的。尽管机器人学习算法取得了巨大进步,但在缺乏充足数据的情况下,我们仍无法让机器人在实验室之外执行真实世界的任务(比如制作早餐)。目前最引人注目的成果,通常只限于在单个实验室、单一机器人上实现,且仅涉及几种行为。
如果每台机器人的能力都受限于手动教授它执行新任务所需的时间和努力,那么如果我们能将多个机器人的经验汇集在一起,让新机器人能够同时从所有机器人那里学习,会怎样呢?我们决定尝试这种方法。2023 年,我们在谷歌和加州大学伯克利分校的实验室联手北美、欧洲和亚洲的其他 32 个机器人学实验室共同启动了RT-X 项目,目标是汇集数据、资源和代码,努力实现通用机器人的梦想。
这是我们从这项努力的第一阶段中学到的经验。
如何打造一个全能型机器人相比之下,人类在这类学习上要更加擅长。我们的大脑只需少量练习,就能适应身体结构的变化,比如当我们使用工具、骑自行车或开车时。换句话说,虽然我们的身体结构发生变化,但大脑能迅速适应。RT-X 正在努力在机器人领域实现类似的目标:使得一个深度学习网络能够控制多种不同的机器人类型,这一能力被称为跨类型控制。关键问题是,一个接受了大量不同机器人数据训练的深度学习网络是否能够掌握“操作”所有这些机器人的技能,哪怕这些机器人在外观、物理特性和能力上有很大差异。如果可行,这种方法可能会大幅提升机器人学习领域对大数据的利用。
RT-X 项目的规模宏大,这是出于必要。该项目的数据集目前已包含近百万次的机器人测试,涵盖了 22 种类型的机器人,包括市场上一些最常用的机械臂。这些机器人能够执行包括拾取放置物体、组装及专门任务如电缆布线在内的多种行为。总共大约有 500 种不同的技能和成千上万种不同物体的交互。这是迄今为止最大的开源真实机器人行为数据集。
出乎意料的是,我们发现可以用相对简单的机器学习方法来处理这些多机器人数据,前提是我们使用了大型的神经网络模型和大规模的数据集。借鉴目前大型语言模型(例如 ChatGPT)所用的类似模型,我们成功训练出了一种机器人控制算法,这种算法不需要为实现跨类型控制而特别设计任何特性。就像人类可以用同一颗大脑驾驶汽车或骑自行车一样,一个在 RT-X 数据集上训练过的模型,能够简单地通过机器人自身相机的观察来识别它正在控制的机器人类型。比如,当模型通过相机看到一个 UR10 工业臂时,它会发送适合 UR10 的指令;而当看到一个成本较低的 WidowX 爱好者臂时,则会做出相应的操作。
为了验证我们模型的能力,参与 RT-X 项目合作的五个实验室各自使用我们的模型,与他们为各自机器人独立开发的最佳控制系统进行了对比测试。每个实验室的测试涉及其研究中使用的任务,例如拾取和移动物品、开门以及通过夹子布线等。令人称奇的是,这个统一的模型在各项任务上的表现都超过了各实验室自行开发的最佳方法,平均成功率高出约 50%。
尽管这个结果可能令人惊讶,但我们发现,RT-X 控制器可以利用其他机器人在不同环境下的丰富经验,来提高在各种设置中的鲁棒性。即使在同一个实验室内,每次机器人执行任务时,都会遇到略有不同的情况,因此借鉴其他机器人在不同情况下的经验,有助于 RT-X 控制器应对自然变化和边缘情况。以下是这些任务范围的几个示例:
打造能进行推理的机器人受到我们成功整合多种机器人类型数据的启发,我们进一步探索了如何把这些数据融入到具备更深层次推理能力的系统中。仅凭机器人数据来学习复杂的语义推理是非常困难的。尽管机器人数据能展现一系列物理能力,但更复杂的任务,比如“把苹果从罐子和橙子之间移开”,还需要理解图像中物体间的语义联系、基本常识,以及其他与机器人物理能力无直接关联的象征性知识。
因此,我们决定加入另一个庞大的数据源:互联网规模的图像和文本数据。我们使用了一种已经擅长理解自然语言与图像之间联系的任务的大型视觉语言模型。这种模型与 ChatGPT 或Bard等公众可用的模型相似。这些模型被训练用来对包含图像的提示做出文本回应,以解决视觉问答、图像标注等开放式视觉理解任务。我们发现,只需将这些模型训练为对机器人指令(如“把香蕉放在盘子上”)作出机器人动作的回应,就能轻松将它们适配到机器人控制中。我们将这种方法应用在了 RT-X 合作项目中的机器人数据上。
RT-X 模型利用特定机器人手臂执行不同任务的图像或文本描述,产生一系列具体动作,使任何机器人手臂都能够执行这些任务。我们收集了来自世界各地机器人实验室的众多机器人执行的各种任务数据,构建了一个开源数据集,目的是训练机器人执行通用而有用的任务。CHRIS PHILPOT
为了评估互联网获取的智能与多机器人数据的结合效果,我们使用谷歌的移动操纵机器人对 RT-X 模型进行了测试。我们对其进行了最具挑战性的泛化基准测试。机器人不仅要识别物体并成功操控它们,还要能够理解复杂的文本命令,并通过逻辑推断来响应,这要求综合文本和图像中的信息。这种综合能力是人类成为出色的通用解决者的关键之一。我们是否能赋予机器人至少一些这样的能力?
我们进行了两轮评估。首先,我们使用了一个基准模型,排除了所有不涉及谷歌机器人的泛化多机器人 RT-X 数据。谷歌机器人专用的数据集实际上是 RT-X 数据集中最大的部分,包含超过 100,000 个演示。因此,这些其他多机器人数据是否真的有助于本案例还是一个未知数。随后,我们包含所有这些多机器人数据再次进行了测试。
在最具挑战性的评估场景之一中,谷歌机器人需要完成一个涉及空间关系推理的任务(“把苹果移动到罐头和橙子之间”);在另一个任务中,它需要解决基本的数学问题(“把一个物体放在写有‘2+3’答案的纸上”)。这些挑战旨在测试机器人的推理能力和得出结论的关键技能。
在这个案例中,推理能力(比如理解“在……之间”和“在……上方”这样的概念)来源于视觉 - 语言模型训练时包含的大规模网络数据。而使得这些推理成果能够在机器人行为上得到应用——也就是发出正确的指令,驱动机器人手臂移动到指定方向——的能力,则是通过在 RT-X 的多机器人数据上训练得来的。例如,在下面的视频中,我们让机器人完成了一个它训练数据中没有包含的任务。