新的基础智能体可以学习操作不同的机械臂,通过短短 100 次演示来解决任务,并通过自我生成的数据进行改进。
机器人正在迅速成为我们日常生活的一部分,但它们通常只能被编程来很好地执行特定任务。虽然利用人工智能的最新进展可能会带来可以在更多方面提供帮助的机器人,但构建通用机器人的进展较慢,部分原因是收集现实世界的训练数据需要时间。
我们最新的论文介绍了一种自我改进的机器人人工智能代理 RoboCat,它可以学习如何通过不同的手臂执行各种任务,然后自动生成新的训练数据来改进其技术。
先前的研究探索了如何开发能够大规模学习多任务的机器人,并将对语言模型的理解与辅助机器人的现实能力结合起来。RoboCat 是第一个能够解决和适应多个任务并在不同的真实机器人上执行此操作的代理。
RoboCat 的学习速度比其他最先进的模型快得多。它可以通过少至 100 个演示来完成一项新任务,因为它是从庞大且多样化的数据集中提取的。这种能力将有助于加速机器人研究,因为它减少了对人类监督训练的需求,并且是创建通用机器人的重要一步。
RoboCat 如何自我改进
RoboCat 基于我们的多模态模型Gato(西班牙语,意为“猫”),它可以在模拟和物理环境中处理语言、图像和动作。我们将 Gato 的架构与大量图像序列和各种机器人手臂动作的训练数据集相结合,解决了数百个不同的任务。
第一轮训练结束后,我们让 RoboCat 进入“自我完善”训练周期,其中包含一系列以前未见过的任务。每个新任务的学习都遵循五个步骤:
使用由人类控制的机械臂收集 100-1000 个新任务或机器人的演示。
在这个新任务/手臂上微调 RoboCat,创建一个专门的衍生代理。
衍生代理平均对这个新任务/手臂进行 10,000 次练习,生成更多训练数据。
将演示数据和自生成数据合并到 RoboCat 现有的训练数据集中。
在新的训练数据集上训练新版本的 RoboCat。
RoboCat 的训练周期,因其自主生成额外训练数据的能力而得到提升。
所有这些训练的结合意味着最新的 RoboCat 基于数百万条轨迹的数据集,来自真实和模拟的机械臂,包括自我生成的数据。我们使用四种不同类型的机器人和许多机械臂来收集基于视觉的数据,这些数据代表 RoboCat 将被训练执行的任务。
RoboCat 从各种训练数据类型和任务中学习:真实机械臂拾取齿轮的视频、模拟手臂堆砌积木的视频以及 RoboCat 使用机械臂拾取黄瓜的视频。
学习操作新的机械臂并解决更复杂的任务
经过多样化的训练,RoboCat在几个小时内就学会了操作不同的机械臂。虽然它是在带有双指夹具的手臂上进行训练的,但它能够适应带有三指夹具和两倍的可控输入的更复杂的手臂。
左: RoboCat 学会控制新机械臂
右: RoboCat 使用手臂拾取齿轮的视频
在观察了短短几个小时内收集到的 1000 次人类控制演示后,RoboCat 可以足够灵巧地指挥这只新手臂,在 86% 的情况下成功拾取齿轮。通过相同水平的演示,它可以适应解决结合精度和理解的任务,例如从碗中取出正确的水果并解决形状匹配的难题,这是更复杂的控制所必需的。
RoboCat 经过 500-1000 次演示后可以适应解决的任务示例。
自我完善的多面手
RoboCat 具有良性的训练循环:它学习的新任务越多,它学习更多新任务的能力就越好。在从每个任务 500 次演示中学习之后,RoboCat 的初始版本在之前未见过的任务上仅成功了 36%。但最新的 RoboCat 经过了更多样化任务的训练,在相同任务上的成功率提高了一倍多。
最初的 RoboCat(一轮训练)与最终版本(广泛且多样化的训练,包括自我改进)相比,两个版本都在 500 次以前未见过的任务演示中进行了微调,在性能上存在巨大差异。
这些改进归功于 RoboCat 不断增长的经验,类似于人们在加深特定领域的学习时如何发展更多样化的技能。RoboCat 独立学习技能和快速自我改进的能力,特别是当应用于不同的机器人设备时,将有助于为新一代更有用的通用机器人代理铺平道路。