新基金代理学习操作不同的机械臂,从仅有100个演示中解决任务,并通过自动生成的数据进行改进。
机器人正在迅速成为我们日常生活的一部分,但它们通常只被编程来执行特定的任务。尽管利用最近在人工智能领域的进展可能会导致机器人在更多方面提供帮助,但由于收集现实世界的训练数据需要时间,构建通用机器人的进展较慢。
我们最新的论文介绍了一种自我改进的机器人AI代理程序RoboCat,它学会在不同的机械臂上执行各种任务,然后自动生成新的训练数据以改进自己的技巧。
以往的研究已经探索了如何开发能够大规模学习多任务并将语言模型的理解与助手机器人的现实能力相结合的机器人。RoboCat是第一个能够解决和适应多个任务,并在不同的真实机器人上实现的代理程序。
RoboCat学习的速度比其他最先进的模型快得多。它可以通过仅有100个演示来学会新的任务,因为它依靠一个庞大而多样的数据集。这种能力将有助于加速机器人研究,因为它减少了对人工监督训练的需求,是创建通用机器人的重要一步。
RoboCat如何改进自己
RoboCat基于我们的多模态模型Gato(西班牙语的“猫”),它可以在模拟和物理环境中处理语言、图像和动作。我们将Gato的架构与一个大型训练数据集相结合,该数据集包含了各种机器人臂解决数百个不同任务的图像和动作序列。
在第一轮训练之后,我们将RoboCat投入到“自我改进”训练周期中,其中包含一组之前未见过的任务。每个新任务的学习经历了以下五个步骤:
- 使用由人类控制的机械臂,收集100-1000个新任务或机器人的演示。
- 在这个新任务/机械臂上对RoboCat进行微调,创建一个专门的分支代理程序。
- 分支代理程序平均进行10000次新任务/机械臂的实践,生成更多的训练数据。
- 将演示数据和自动生成的数据合并到RoboCat现有的训练数据集中。
- 在新的训练数据集上训练一个新版本的RoboCat。

所有这些训练的组合意味着最新的RoboCat基于一个包含来自真实和模拟机械臂的数百万个轨迹的数据集,包括自动生成的数据。我们使用了四种不同类型的机器人和许多机械臂来收集以视觉为基础的数据,代表了RoboCat将要进行训练的任务。

学习操作新的机械臂并解决更复杂的任务
通过RoboCat的多样化训练,它学会在几小时内操作不同的机械臂。虽然它曾经被训练过具有两叉夹具的机械臂,但它能够适应一个更复杂的机械臂,该机械臂具有三指夹具和两倍于可控输入。

在观察了1000个人类控制的示范后,仅仅在几个小时内收集到的,RoboCat能够熟练地操纵这个新的机械臂,成功地捡起齿轮的概率达到86%。在相同数量的示范下,它能够适应解决结合了精度和理解的任务,例如从碗中取出正确的水果和解决形状匹配的拼图,这对于更复杂的控制是必要的。

自我改进的通用型机器人
RoboCat具有一个良性循环的训练方式:它学习了越多的新任务,它在学习额外的新任务时就变得越好。初始版本的RoboCat在之前未见过的任务上成功率仅为36%,每个任务训练了500次示范。但是最新的RoboCat在相同任务上的成功率超过了这个数字,因为它在更多不同的任务上进行了训练。

这些改进是由于RoboCat的经验广度的增加,类似于人们在某一领域的学习中,他们会培养出更多种类的技能。RoboCat独立学习技能和快速自我改进的能力,特别是当应用于不同的机械设备时,将有助于铺平通向新一代更有帮助的通用型机器人的道路。
阅读我们的论文:https://arxiv.org/abs/2306.11706