枢纽
机器人Google Everyday Robots (Everyday robots)
数据集RT-1 dataset (~130k demos)
上真机
实时
输入模态vision,language

RT-1:给机器人装上一个「能听懂人话的 Transformer 大脑」

Anthony Brohan 等(Google Robotics + Everyday Robots + Google Brain,51 位作者)。arXiv:2212.06817,2022 年 12 月。 项目页 · imitationfoundation_models线索 T02

🧠 一句话心智模型:把「看图 + 听指令 → 输出机器人动作」整件事,当成一个序列建模问题丢给 Transformer——像 GPT 吃 token、吐 token 那样,吃图像 token + 指令 token,吐离散化的动作 token。再配合一个 13 台机器人 17 个月攒出来的 13 万条演示大数据集,第一次让「一个模型干 700+ 件事、还能泛化到没见过的指令」在真机上跑通。

🎯 为什么重要:机器人终于开始走 NLP/CV 走过的「大数据 + 大模型」路

NLP 和 CV 早就从「一个任务训一个模型」转向「一个超大模型预训练 + 下游微调」。但机器人一直卡在「小数据 + 单任务」的旧范式里——一台机器人、一个抓取任务、几小时数据,每次重头来。这篇论文要回答的核心问题是:

核心叩问:能不能像 GPT 那样,用一个大 Transformer 把所有机器人任务都「吸」进去?然后它不仅会做训练时见过的指令,还能泛化到没见过的指令、物体、场景

这事以前也有人试(Gato、BC-Z),但要么任务面太窄、要么泛化不行。RT-1 第一次在「700+ 真实指令 × 真实厨房 × 3000+ 真机试验」这个量级上给出了肯定答案,是机器人走向 generalist foundation model 的关键拐点。

💡 核心思想:一切皆 token,Transformer 通吃

RT-1 的「魔法」其实很朴素——把图像、指令、动作全统一成 token 序列,让 Transformer 端到端学这个映射。下图是它的数据流:

6 帧图像历史 每帧 300×300 自然语言指令 "pick apple from bowl" EfficientNet-B3 + FiLM 调制 (用指令嵌入 影响视觉特征) TokenLearner 81 → 8 tokens (每帧) Transformer decoder-only 8 层自注意力 48 tokens 输入 动作 token(11 维 × 256 bin 离散) arm: x,y,z,roll,pitch,yaw,gripper (7) + base: x,y,yaw (3) + mode (1) 例:"1 128 91 241 5 101 127 110 092 003 1"
图 1:RT-1 的数据流。一切皆 token:图像→视觉 token,指令→FiLM 调制参数,动作→离散 bin 序列。Transformer 在中间把它们映射起来。

整套网络只有 35M 参数——比 Gato 的 1.2B 小 30 倍,但能在真机上跑 3 Hz 闭环控制(推理 < 100ms),这是「能上真机」和「能做大」之间的精妙平衡。

🛠️ 让 Transformer 在真机上「跑得动又学得会」的 4 个关键设计

把 Transformer 搬到机器人不是「装个 PyTorch 模型」就完事——RT-1 工程上最值钱的几个决定:

设计心智模型为什么必要
① FiLM 早期融合指令把语言嵌入当作「调色板」,在 EfficientNet 内部就调制视觉特征,而不是事后再拼接「找苹果」和「找杯子」对同一张图关注的区域不同——早期融合让网络早早就知道在找什么,特征更任务对齐
② TokenLearner 压缩 token用注意力把每帧 81 个视觉 token 软选成 8 个,总共 6 帧 × 8 = 48 个 token 进 TransformerTransformer 的算力是 $O(N^2)$,token 数减 10 倍,推理快 2.4 倍。这是把 35M 模型压进 100ms 预算的关键
③ 动作离散化为 256 bin把每个连续动作维度切成 256 个 bin,动作变成分类任务(输出 token 就是 bin 索引)分类比回归更稳、更容易学到多模态动作分布;也方便直接套 Transformer 的交叉熵训练管线
④ 复用历史窗口特征滑动窗口重叠时,视觉 token 只算一次,下一帧复用再省 1.7× 推理时间。两个 trick 合起来让 3 Hz 真机控制可行
🔮 直觉:为什么「早期融合指令」比「事后拼接」更好?
想象你看一张厨房照片找苹果:你不是先无目的地"看完整张图",再拿「苹果」这个词去匹配——而是带着"苹果"的概念去看,红色、圆形的特征会被自动放大。FiLM 就是让网络具备这种「带任务的注意力」:语言嵌入通过仿射变换 $(1+\gamma)\cdot x + \beta$ 直接改写 EfficientNet 中间层,让视觉特征从一开始就为这个任务服务。论文还用了一个恒等初始化技巧($\gamma, \beta$ 初始为 0),保证预训练权重不被 FiLM 破坏。

📊 结果:97% 训练任务成功率,泛化甩开 baseline 一大截

用 13 台 Everyday Robots 移动操作机器人、在 2 个真实办公厨房 + 1 个训练用厨房做了 3000+ 次真机试验。核心数字(vs 同一数据上重训的 Gato、BC-Z、BC-Z XL):

评估维度GatoBC-ZBC-Z XLRT-1
训练任务(200+ 指令)65%72%56%97%
未见指令(21 个新组合)52%19%43%76%
抗干扰(distractors)43%47%23%83%
新背景(new kitchens)35%41%35%59%

RT-1 还展示了三个"超越单任务"的能力:

维度数字
真实长程任务和 SayCan 串起来,能跑 多达 50 步的长程任务(如"扔掉桌上所有垃圾")
吸收仿真数据混入仿真数据后,原任务不掉点(−2%),但仿真才见的物体上 +64%
吸收跨机器人数据混入 Kuka 的 QT-Opt 抓取数据,bin-picking 任务从 22% → 39%
数据规模~130k 演示、13 台机器人、17 个月、700+ 指令、744 个 skill 类别
关键洞察:RT-1 不只是"在某个指标上赢了",而是第一次在真机规模上验证了「数据规模 + 数据多样性 + 大模型容量」这条 CV/NLP 的成功公式同样适用于机器人。后续 RT-2、OpenX、OpenVLA 全部建立在它打下的范式上。

🌐 在领域中的位置

BC-Z(小 ResNet,100 任务) Gato(1.2B 但任务窄) RT-1(35M,700+ 任务,真机泛化)⭐ RT-2(接 VLM 大脑,引入语义推理) OpenX / OpenVLA(开源 + 跨机器人)

RT-1 是「Transformer for real-world robot control」这条主线的开端。它证明了架构 + 数据的双轮驱动可行,但模型本身还只是"看图听话出动作"——不具备互联网知识(不知道"泰勒·斯威夫特"是谁)。这个限制正是 RT-2 要补的拼图。关联线索:T06 基础模型谱系

❓ 常见误区

RT-1 是强化学习吗?

不是。它是行为克隆(模仿学习)——只用人类演示的 $(x, a)$ 对训练,标准交叉熵损失,没有 reward、没有试错。它学的是「演示分布」。

35M 参数为啥这么小?GPT-3 都 175B 了。

因为真机推理有时间预算:人手做这些任务要 2-4 秒,模型控制频率至少得 3 Hz,单步推理必须 < 100ms。35M 是「能学 700 任务」和「能上真机」之间精心选的平衡点。要做更大(如 RT-2 的 55B),就得用云端 TPU + 网络查询。

它和 SayCan 是什么关系?

SayCan 是高层规划器(用 LLM 把"做顿饭"拆成"先拿橙子→拿餐巾纸→..."),RT-1 是底层执行器(把每条原子指令执行出来)。两者组合才能跑 50 步的长程任务——RT-1 单独不解决"长程规划"。

为什么动作要离散化成 256 bin?连续输出不行吗?

可以连续(BC-Z 就是),但离散化有三个好处:① 把回归变成分类,训练更稳;② 适合 Transformer 的 token 范式;③ 自然支持多模态动作分布(同一观察下有多个合理动作)。代价是损失精度,但 256 bin 对 7-DoF 末端执行器足够细了。