谷歌机器人团队等在机器人领域构建了一个多任务 transformer 模型,显著改进了对新任务、环境和对象的零样本泛化。
我们知道,机器学习(ML)多个子领域(如 NLP 和 CV)的最新重大进展通过一种共享的通用方法实现,该方法充分利用大规模、多样化数据集以及有效吸收所有数据的表达模型。尽管已经有各种尝试将这种方法应用于机器人技术,但机器人还没能利用到高性能模型。
构成挑战的因素有几个。首先缺乏大规模和多样化机器人数据,这限制了模型吸收广泛机器人经验的能力。数据收集对于机器人技术来说成本高昂且具有挑战性,这是因为数据集管理需要工程量大的自主操作或者使用人类远程操作收集的演示。其次缺乏可以从此类数据集中学习并有效泛化的高表达性、可扩展且速度足够快的实时推理模型。
为了解决这些挑战,谷歌机器人团队等提出了 Robotics Transformer 1 (RT-1)。这是一种多任务模型,可以 tokenize 机器人的输入和输出动作,从而在运行时实现高效推理,使实时控制成为可能。
RT-1 模型在包含 130k 个 episode 的大型真实机器人数据集上进行训练,该数据集涵盖了 700 多项任务,使用 Everyday Robots (EDR) 的 13 台机器人在 17 个月内收集而成。数据集中展示的一组高级技能包括拾取和放置物品、打开和关闭抽屉、将物品放入和取出抽屉、将细长的物品直立放置、敲倒物体、拉出餐巾纸和打开罐子。
RT-1: Robotics Transformer for Real-World Control at Scale
-
论文地址:https://robotics-transformer.github.io/assets/rt1.pdf
-
项目地址:https://github.com/google-research/robotics_transformer
该团队对模型和训练集中的许多设计选择进行了仔细评估和消融实验,分析了 tokenization、动作表示和数据集组合的影响。与现有技术相比,RT-1 可以显著改进对新任务、环境和对象的零样本泛化。RT-1 可以以 97% 的成功率执行 700 多个训练指令,并且可以泛化到新的任务、干扰因素和背景。
RT-1 吸收了大量数据,包括涉及多任务、对象和环境的机器人轨迹,实现了更好性能和泛化能力。
最后,该团队将 RT-1 代码开源,希望为未来扩大机器人学习的研究提供宝贵的资源。
RT-1 模型概览
RT-1 建立在一个 transformer 架构上,该架构从机器人相机中获取瞬时图像以及以自然语言表达的任务描述作为输入,并直接输出 tokenized 动作。RT-1 的架构类似于针对具有因果掩蔽的标准分类交叉熵目标训练的 decoder-only 序列模型。RT-1 的主要功能包括图像和动作 tokenization 以及 token 压缩。
图像 tokenization。该团队通过在 ImageNet 上预训练的 EfficientNet-B3 模型传递图像,然后将生成的 9×9×512 空间特征图展平为 81 个 tokens。图像 tokenizer 以自然语言任务指令为条件,并使用初始化为身份的 FiLM 层在早期提取与任务相关的图像特征。
动作 tokenization。机器人的动作维度包括手臂运动的 7 个变量(x、y、z、翻转、俯仰、摇摆、打开夹具)、3 个基本运动变量(x、y、摇摆)以及一个在控制臂、控制 base 或终止 episode 三种模式之间切换的额外具体变量。每个动作维度被离散化为 256 个 bins。
Token 压缩。RT-1 自适应地选择图像 tokens 的软组合,这些组合根据它们对使用元素级注意力模块 TokenLearner 学习的影响进行压缩,使推理速度提升 2.4 倍以上。
RT-1 架构、数据集和评估概览图。
实验和结果
为了更好地理解 RT-1 的泛化能力,该团队在三个基准上进行了实验:Gato、BC-Z(与 RT-1 参数量相同)和 BC-Z XL,并通过四个类别进行比较。
-
在所见到的任务上的表现;
-
在没见过任务上的表现:在训练集中,机器人的技能和对象是分开看到的,但以新颖的方式结合在一起;
-
鲁棒性:在有干扰(有 9 个干扰,此外还有遮挡情况)、改变背景(换个新厨房、光照不同等)上的任务表现;
-
长情景:在真实厨房中执行 SayCan 类型的自然语言指令。
RT-1 在四个类别的比较中都大大超过基线,表现出极强的泛化性和鲁棒性。
RT-1 与基线性能对比。
整合异构数据源
为了进一步挖掘 RT-1 的性能,该团队还将训练另一个机器人的数据用来训练 RT-1,目的有两个:(1) 测试模型在新数据上是否保持其在原始任务上的性能;(2) 观察模型在新的以及不同数据上泛化能力。
从多个机器人那里收集数据,用来训练 RT-1。
结果表明,RT-1 能够通过观察其他机器人的经验来获得新技能。特别是,当 RT-1 同时使用来自 Kuka bin-picking 数据和 EDR 数据进行训练时,准确率达到 39%。比仅使用 EDR 数据训练时的 22% 准确率提高了近 2 倍。
当 RT-1 仅在 Kuka bin-picking 数据上进行训练,然后在 EDR robot bin-picking 数据上评估时,准确率为 0。
SayCan 任务
RT-1 的高性能和泛化能力可以通过 SayCan 实现远距离、移动操作任务。SayCan 算法是谷歌在今年提出的,在这个算法中,谷歌让机器人充当语言模型的「手和眼睛」,而语言模型提供有关任务的高级语义知识。
该团队在两个真实的 Kitchen 中进行了评估,Kitchen2 构成了一个比 Kitchen1 更具挑战性的泛化场景。由结果可得,SayCan 与 RT-1 在 Kitchen1 中实现了 67% 的执行成功率,优于其他基线。在 Kitchen2 中,SayCan 与 Gato 以及 SayCan 与 BCZ 的性能下降,而 RT-1 没有出现明显的下降。