RT-1:Robotics Transformer for Real-world Control at Scale

Date:2022-12-14

论文链接:https://arxiv.org/abs/2212.06817

原文代码仓库:google-research/robotics_transformer

模型使用数据集:gresearch – 存储桶详情 – Cloud Storage – Google Cloud Console

提出具有高容量结构(with high-capacity architectures)的Vision-Language-Action(VLA)多模态大模型Robotics Transformer,结合真实机器人执行实际任务时所收集到的大规模数据(all of the diverse, robotic data:图像/视觉-语音/语言-行为),进行开放式的任务无偏训练(open-ended task-agnostic training),从而提高模型的可扩展性,但模型充分利用大规模数据集的能力仍然有限。

intro

Background

  • 在计算机视觉(CV)、自然语言处理(NLP)或语音识别等下游任务中,通过在多样化且任务无偏的大型数据集上进行预训练,现代机器学习模型已经可以在零样本(Zero-Shot)学习与在特定任务的小数据集上进行微调(迁移学习)中有良好的表现;
  • 这种技术在机器人中仍未得到广泛运用,同时由于真实世界中的机器人数据难以收集,需要对其可行性进行验证,重点需要关注模型的泛化与微调能力。

Model

工作平台:移动机械手 from Everyday Robots——7自由度手臂+两指夹持器+移动基座

机械臂

工作模式:接收图像短序列和自然语言指令->输出离散化的基底和手臂动作供机器人在每个时间步执行(闭环控制),直到产生终止动作或用完预设时间步数

动作包括手臂运动的七个维度(x、y、z、roll、pitch、yaw、抓持器打开)、底座运动的三个维度(x、y、yaw)和一个额外的离散维度,用于在三种模式之间切换:控制手臂、控制基座或终止。

参数规模:35M

处理频率:3Hz——100ms推理时间 + 280ms执行延迟

基本架构:

基于Transformer——将高维输入和输出(包括相机图像、文本指令和电机命令)编码成紧凑的token表示供Transformer使用,以高效推理与实时控制

模型架构

  • 图像和指令(文本)的处理(tokenization):

    • 总体上采用基于 ImageNet 数据集预训练的卷积神经网络 EfficientNet-B3 作为基本框架,在此基础上嵌入预训练的语言编码器进行条件化,以提取与任务指令相关的图像特征
    • 参数规模:16M
    • 架构:26层【MBConv模块+FiLM层】
    • 文本:文本输入Universal Sentence Encoder->嵌入EfficientNet中添加的FiLM层(将产生FiLM仿射变换的密集层(fc和hC)的权重初始化为零,允许FiLM层最初作为恒等映射并保留预训练权重的功能,防止破坏中间激活)
    • 图像:输入6张300 * 300的3通道图像->经由CNN输入9 * 9 * 512空间特征图(每张图像)->展平为81个视觉标记
  • Token Learner 模块:

    • 为加速推理,设计该元素注意力模块用于压缩所需注意的tokens数量(81->8)
    • 允许基于指令信息软选择图像tokens,只传递重要的token组合给后续的Transformer层
    • 参数规模:34k
  • Transformer :

    • 仅有解码器的序列模型
    • 参数规模:19M
    • 架构:8个自注意力层
    • 输入:每张图像8tokens * 6张输入图像->48个总tokens(添加位置编码)
    • 输出:动作tokens(7-dim arm movement + 3-dim base movement + 1-dim 状态切换,共11个维度;对于每个维度,在其变量范围内均匀离散化为256个bin)
  • 损失函数:标准分类交叉熵熵目标与因果掩码

模型架构

Data

数据规模:用时17个月,通过13个机器人采集了130k+ episodes ,包含700+指令

工作场景:办公室厨房场景(2个真实办公室厨房场景Kitchen1、Kitchen2+1个根据真实场景Kitchen1建模的训练环境)

场景

物品环境

技能:包括挑选、放置、打开和关闭抽屉、将物品放入和取出抽屉、将细长的物品直立放置、将直立放置的细长物品撞倒、拉餐巾纸和打开罐子

指令:包含一个动词和一个或多个描述目标对象的名词;为组合这些指令,将它们分割成一些技能(如动词“pick”、“open”或“place upright”)和对象Object(如名词“可乐罐”、“苹果”或“抽屉”);添加新指令时不对特定技能做出任何假设以提高其扩展性。

任务与指令

训练集和评测实例

Experiments

对比的Baseline:Gato和BC-Z(基于相同的训练数据集)

Gato:只计算单张图像标记,无语言嵌入,且无推理时间优化(TokenLearner与删除自动回归动作);为保证实时性,将模型参数规模限制在37M

BC-Z:作为前馈模型不使用先前时间步,且使用连续动作标记;原模型参数量小于RT-1, 因此额外对比了一个参数规模和RT-1类似的BC-Z模型BC-ZXL

主要关注如下问题:

  1. 已见任务的执行性能:

    从训练集中随机抽样出部分指令进行测试(仅指令已见,物品位置、时间、机器人初始位置等因素随机):测试任务200+(36个抓取物体的任务,35个推倒物体的任务,35个将物体竖直放置的任务,48个移动物体的任务,18个打开和关闭不同抽屉的任务,以及36个从抽屉中取出和放入物体的任务)

  2. 未知任务的泛化性能:能否学习执行大量指令,并零样本泛化到新任务、对象和环境中?

    指令:测试了21个新的未见指令——确保每条指令中涉及的对象与技能中的一部分在训练集中存在,但排列方式不同

    未见指令list

    根据背景/物体的改变程度分成L1/L2/L3三个任务难度等级:

    • L1:只改变环境光照与台面布局

    • L2:改变环境光照与台面布局+加入放置未见物体

    • L3:改变环境光照与台面布局+加入放置未见物体+改变物体位置

      泛化性能测试环境

  3. 鲁棒性:

    • 干扰因素:对30个真实世界任务进行测试

    • 环境背景变化:对22个真实世界任务进行测试,改变照明、视觉背景效果、台面背景(桌布等)

      鲁棒性测试环境

      环境改变

  4. 长时序跨度场景:各种方法在长时间跨度的机器人场景中泛化程度如何?

    执行一系列技能,并结合多种泛化维度(技能/物体/环境)进行测试

    测试了15个长时序指令,每个指令由10个左右的不同技能指令序列组成

测试结果:

测试结果:已见、未见、干扰鲁棒性、背景鲁棒性

测试结果:泛化能力

测试结果:长时序跨度场景中的泛化能力——计划成功率与执行成功率

其他问题:

  1. 通过合并异构数据源(如模拟数据或不同机器人的数据),我们能否进一步提升所得到的模型?

    • 合并模拟数据

      测试结果:合并模拟数据

    • 合并不同机器人数据

      合并不同机器人数据

      测试结果:合并不同机器人数据

  2. 随着数据量和数据多样性的变化,泛化指标如何改变?

    数据多样性比数据量更为重要

    测试结果:泛化指标随数据量/数据多样性的变化

环境搭建与测试

  1. 代码仓库克隆
1
git clone https://github.com/google-research/robotics_transformer.git
  1. python环境配置
1
pip install -r robotics_transformer/requirements.txt

注意到requirements.txt中包含

1
git+https://github.com/google-research/tensor2robot#tensor2robot

由于该git仓库无法作为pip包直接安装,还需要克隆该仓库:

1
git clone https://github.com/google-research/tensor2robot

克隆完成后输入如下命令运行测试程序(这里原作github仓库中有误,将action_tokenizer.test改为action_tokenizer_test):

1
python -m robotics_transformer.tokenizers.action_tokenizer_test

无法正常运行,需要根据报错进行对应库版本的修正,同时根据tensor2robot仓库中的说明,使用protoc工具通过proto文件生成对应的py代码文件,具体不详细展开。

环境配置完成后,出现如下输出,说明测试程序运行成功。

result

RT-1:Robotics Transformer for Real-world Control at Scale

http://asgard-tim.github.io/2025/04/06/RT-1/

作者

Tim

发布于

2025-04-06

更新于

2025-04-30

许可协议

评论