想象一家繁忙的烹饪学校,一位“机器人学徒”来报到,它叫RT-1。老厨师们向它展示厚厚的手册:每一步都写死,连辣椒要切几毫米都标得清清楚楚。可一旦把青椒换成彩椒、把灯光调暗,手册就失灵了。RT-1的做法完全不同:师傅直接示范,它看13万条示教视频,大脑是一位“Transformer大总管”,把画面拆成九宫格、把口令拆成要点,边看边练,慢慢长出“一眼就知道下一步该做什么”的直觉。毕业考试上,RT-1在长时程任务中成功率高达89%,还能举一反三,应付没见过的盘子和背景。只是师傅也提醒,它靠大量数据喂大,换到全新厨房未必灵光,请它上灶还要算一笔账。接下来,我们就一步步拆解这位学徒的“成才之路”。
懂RT-1,就握住了具身智能时代的核心钥匙:用数据而非手工规则教会机器人与世界互动。对AI从业者而言,它让你理解Transformer在物理世界的落地逻辑,也提醒你技术选型要看数据、泛化与成本三本账。
目录
可视化演示
展示RT-1机器人Transformer的端到端推理流程、FiLM指令条件化机制及推理延迟特性,通过交互控件探索不同参数下的控制效果。
本节配有交互动效(进入视口后自动加载,约 3KB)。
端到端架构 图像特征 FiLM调制 a=Transformer(img,cmd) 图像与指令经FiLM融合后输出动作token
背景痛点:只会背菜谱的老厨师
在RT-1出现之前,机器人像一位只会背菜谱的老厨师:工程师把每个动作拆成精确的路径点,用状态机串起来——先伸臂,再抓取,再放回。你问他“如果我换成蓝色盘子呢?”他愣住了,因为手册第37页只写了白色盘子。传统方法依赖精确建模和手工特征,耗时长且一换场景就崩。遥控操作、运动规划、视觉伺服……每一个环节都要专家调参,误差还会逐级累积,像传话游戏一样越传越离谱。
RT-1带来的是“数据驱动革命”:不再手写规则,而是给机器人大量人类示范,让它自己总结规律。这就像烹饪学校改变教学法——不背书,直接让学徒跟着师傅做一万道菜。核心思路是端到端策略:输入摄像头图像和语言指令,直接输出动作,中间不需要任何手工分模块:
回到烹饪学校:老厨师靠手册走天下,一旦场景变化就手足无措;RT-1靠“数据喂养”长直觉——这正是它与传统方法最本质的分水岭。
- 动作 a_t当前时刻机器人要执行的动作,比如“夹爪张开”或“手臂前移3厘米”。
- 观测 o_t机器人摄像头此刻看到的画面,即“厨房现状”。
- 语言指令 l_t人类下达的目标,“把红色马克杯放进抽屉”。
- 条件概率 p在已知观测和指令时,输出每个动作的置信度,取最高的作为决策。
架构设计:统一调度的厨房大总管
如果说数据是食材,那Transformer就是RT-1的“厨房大总管”。大总管的独特之处在于:它能把各路信息统一成“小纸条”(token),再让所有小纸条互相传阅、互相对齐。RT-1先把图像交给EfficientNet编码,得到3×3=9个图像token,相当于把一整盘菜的照片切成九宫格;再用预训练语言模型把指令编码成8个语言token,相当于把师傅的口令提炼成8个关键词。17张“小纸条”一起进入Transformer,自注意力让它们两两交换信息——看到苹果图像块时,自然联想到“放进碗里”的语言要点。
大总管还要“听令行事”。RT-1用了FiLM机制:语言指令不是简单拼在开头,而是通过两个线性变换,动态调制图像特征。这就像师傅在旁边控制火候旋钮——指令不同,旋钮的角度就不同:
自注意力则是“传纸条”的正式机制:
大总管统筹之下,RT-1还有一个精巧设计:因果掩码。它让模型只能看到“过去”的token,不能偷看未来的动作——做菜要按顺序来,不能提前知道颠勺的结果。
- Q(查询)当前token想了解什么,像学徒抬头看师傅,心里问“现在该做什么”。
- K(键)其他token的“名牌”,标明“我是什么信息”。
- V(值)真正传递的信息内容。
- 缩放因子 √d_k防止内积数值过大导致softmax过于极端,相当于把音量调到合适档位。
数据引擎:十三万条示范菜谱
再聪明的大总管也需要教材。RT-1的教材,是Google用13万条真实机器人示教数据编成的一部“大部头菜谱”。每一条示教都是一个完整的 episode:机器人从起始状态开始,按人类遥控操作逐步完成任务,摄像头全程录像,语言指令同步记录。这些数据覆盖了17项技能——拿起、放倒、打开抽屉、从冰箱取饮料、把物体推进碗里……像一所学校的实训车间。
数据的关键不只是量,而是多样性。RT-1刻意在多个厨房、多种橱柜颜色、不同灯光下采集数据。同样“把苹果放进碗里”,可能会用"move the apple into the bowl"“put the apple in the bowl“等多种表达。这样的多样性让模型学到的是”意图“而非”死答案“——它知道不同说法可能指向同一个动作,也知道同一场景在不同光影下本质没变。用数学语言,数据集就是一系列”观测-指令-动作”三元组的集合:
数据引擎的启示是朴素的:你给学徒看的示范越多、花样越丰富,他将来面对新菜品时就越从容。
- 第 i 条示教一份“录像”,包含从开始到结束的完整记录。
- 总条数 NRT-1 用的 N 约为 130,000。
- 成对对齐每条录像中,图像、指令、动作在时间上精确同步,模型才能学到“什么话配什么动作”。
训练策略:从照葫芦画瓢到肌肉记忆
有了教材,接下来就是“练”。RT-1的训练策略核心是行为克隆——不设奖励函数,直接向人类示教数据学习:看到师傅怎么做,模型就模仿着做。师傅示范“向左转腕”,模型就调整参数,让自己在相似画面前也输出“向左转腕”。这像学徒反复观摩师傅的颠勺动作,慢慢形成肌肉记忆。
训练前还要解决一个“手部自由度”问题。传统控制通常输出连续动作坐标(比如7维向量),但连续空间太大,模型容易“手抖”。RT-1的妙招是把连续动作离散化成“标准动作牌”:每个动作维度切成8个bin,每个bin再输出256个符号的分布。换句话说,机器人不说“手臂前移3.14159厘米”,而是说“手臂前移,档位第137号”。离散化让预测变成了分类问题,学起来更稳,就像把“加少许盐”变成“加半勺盐”——可复现多了。
整个训练就是最小化预测误差:
RT-1还采用多任务联合训练:17个技能的数据混合在一起,一次训练全部学会。这有点像厨师学校让学徒同时练切菜、配菜、颠勺,而不是一个技能练三年。对长时程任务,RT-1会将多个技能串联——先“打开抽屉”,再“拿起杯子”,再“放进去”——每个技能模型都顺手,串起来才不露怯。
- 正确动作 a_t示教数据中师傅在 t 时刻的标注动作。
- 条件上下文 z_1……z_t前面所有 token 的隐藏状态,是模型做决策的依据。
- 负对数似然−log p 在 p 越接近1时越接近0,引导模型对正确动作给出高置信度。
- 求和累加对一条完整动作序列的每个时刻求损失并相加,保证整条任务链条都学到位。
评估成效:毕业考核成绩单
学得怎么样,要看考试。RT-1的“毕业考”是让机器人在真实厨房连续完成一系列长时程任务,比如“从抽屉里拿出蓝色马克杯放到台面上”这类涉及多个步骤的操作。如果中途抓空、放偏、指令理解错,任务就失败。最终成绩单很亮眼:RT-1在长时程任务上取得89%的成功率,而传统的VCGS基线只有39%——差距就像熟练主厨与只会背菜谱的新手。
更激动人心的是“分布外泛化”考卷。研究者故意在训练中藏起一些变化:新物体颜色、新灯光、新背景、新语言表述,然后看RT-1表现。结果它在分布外测试中仍有约39%成功率,是基线的6倍以上。这意味着它没有死记每道题的答案,而是学到了“抓取、放置”这种抽象技能,像学徒学会了通用刀工后,不管切黄瓜还是切土豆都不慌。
成功率这个指标很简单:
值得一提的是,稳定性同样重要:长时程任务中,RT-1不会把错误越滚越大,偶尔手滑也能自我纠正——这正是它有别于“一旦出错就全盘崩溃”的传统Pipeline的核心优势。
- 任务 i 成功指示若第 i 个任务最终目标达成,记1分,否则0分。
- 求和平均所有任务的分数加起来除以 N,得到0到1之间的比例。
- 评价口径SR 只关心最终结果,中间过程不论,像毕业考试只看端上来的菜,不看重过程多狼狈。
局限启示:毕业之后的冷静反思
颁奖之后,还有几句实在话。第一,RT-1是个“饭量大”的学徒:13万条高质量示教不是谁都玩得起,数据采集用真实机器人逐条遥控,耗时耗力。如果换一个新领域,没有这笔数据,它立刻变成“巧妇难为无米之炊”。第二,分布外泛化虽强,但并不是万能:把机器人突然扔到完全陌生的厨房、面对从未见过的物体形状,成功率依然会明显下降。它学的不是物理定律,而是训练分布内的“套路”。
第三,部署成本不容忽视。RT-1的推理需要GPU加速,机器人本体、传感器、算力平台加起来造价不菲;在工业产线上,长时间稳定运行的可靠性也有待验证。技术选型因此要量体裁衣:
最终结论是朴素而实用的:RT-1的诞生证明“Transformer+大数据”能赋予机器人惊人的泛化能力,但它不是银弹。成熟的工程师,既要仰望星空,也要低头算账。
- 数据可得有没有大规模高质量示教?没有数据,VLA 无从谈起。
- 泛化增益相比传统方法,VLA 在多变的真实场景中多赢得的成功率。
- 部署成本训练算力、推理硬件、运维开销的总和。
- 选型条件只有增益大于成本才选 VLA,否则传统控制更划算。
AI 应用场景
智能仓储拣选
阶段:感知-决策-执行闭环
解决的问题:传统仓储机器人面对不同包装、不同条码样式,需要工程师频繁重新设计识别规则和抓取策略,换一款饮料箱就要停线调试。RT-1的端到端思路让机器人直接读自然语言指令(“把左侧货架上第二排的蓝色盒子取下来”),结合视觉输入输出动作,无需为每个SKU手写规则。
具体案例:某物流实验室用RT-1架构训练拣选机械臂,在货架光照变化、包装盒颜色多样的条件下,成功率达到85%,而旧方案只有45%,且换新品时无需重新编程,只需补充少量示教数据。
家庭服务机器人
阶段:多模态理解与长时程规划
解决的问题:家庭环境杂乱多变,“收拾桌子”这类长时程任务对传统模块化系统是噩梦。RT-1把“看到什么-听懂什么-做什么”串成一条神经通路,也能用行为克隆逐步学习新技能。
具体案例:研究团队让RT-1在模拟家庭环境中执行“清理餐桌”任务,它需要完成“把碗放进洗碗机、把杯子放到沥水架”等连续步骤。经训练后,长时程任务成功率从传统方法的20%提升到75%,并能应对桌面物品随机摆放的新情况。
工业柔性装配
阶段:技能迁移与快速换产
解决的问题:小批量多品种产线频繁换产,传统自动化方案每次换型都要工程师调参数天。RT-1的多任务训练让人一次学会多种装配动作,换产时只需切换语言指令。
具体案例:实验产线用RT-1完成“把齿轮安装在轴上”与“把弹簧放入卡槽”两类任务交替,模型在切换指令后立即调整动作策略,换产时间从4小时降至15分钟,且装配成功率稳定在90%以上。
Python 演示
import torchimport torch.nn as nn class FiLMBlock(nn.Module): """FiLM: 用语言向量调制视觉特征(音量旋钮)""" def __init__(self, hidden_dim, lang_dim): super().__init__() self.film_gamma = nn.Linear(lang_dim, hidden_dim) self.film_beta = nn.Linear(lang_dim, hidden_dim) def forward(self, feats, lang): gamma = self.film_gamma(lang).unsqueeze(1) beta = self.film_beta(lang).unsqueeze(1) return feats * gamma + beta class DiscreteActionHead(nn.Module): """RT-1风格动作头: 每个动作维度输出256类离散token""" def __init__(self, hidden_dim, action_dim): super().__init__() self.action_dim = action_dim self.head_list = nn.ModuleList( [nn.Linear(hidden_dim, 256) for _ in range(action_dim)] ) def forward(self, h): logits = [head(h) for head in self.head_list] return torch.stack(logits, dim=1) class ToyRT1(nn.Module): """玩具版RT-1: 图像+语言 -> 离散动作""" def __init__(self, hidden_dim=64, lang_dim=32, action_dim=7): super().__init__() self.vis_enc = nn.Sequential( nn.Linear(16 * 16 * 3, 128), nn.ReLU(), nn.Linear(128, hidden_dim) ) self.lang_enc = nn.Sequential( nn.Linear(16, lang_dim), nn.ReLU() ) self.film = FiLMBlock(hidden_dim, lang_dim) self.transformer = nn.TransformerEncoder( nn.TransformerEncoderLayer(d_model=hidden_dim, nhead=2, batch_first=True), num_layers=2, ) self.action_head = DiscreteActionHead(hidden_dim, action_dim) def forward(self, obs, lang): bsz = obs.size(0) vis_feat = self.vis_enc(obs.view(bsz, -1)) lang_feat = self.lang_enc(lang) cond_feat = self.film(vis_feat, lang_feat).unsqueeze(1) out = self.transformer(cond_feat) logits = self.action_head(out[:, 0, :]) return logits def make_dummy_batch(bsz=4, img_size=16, lang_dim=16): obs = torch.randn(bsz, 3, img_size, img_size) lang = torch.randint(0, 5, (bsz, lang_dim)).float() actions = torch.randint(0, 256, (bsz, 7)) return obs, lang, actions def main(): torch.manual_seed(42) model = ToyRT1() opt = torch.optim.Adam(model.parameters(), lr=1e-3) loss_fn = nn.CrossEntropyLoss() for epoch in range(5): obs, lang, actions = make_dummy_batch() logits = model(obs, lang) loss = sum( loss_fn(logits[:, i, :], actions[:, i]) for i in range(7) ) opt.zero_grad() loss.backward() opt.step() print(f"epoch {epoch} loss {loss.item():.3f}") if __name__ == "__main__": main()
self.film = FiLMBlock(hidden_dim, lang_dim)语言向量对视觉特征做缩放和平移,对应正文中“师傅调火候旋钮”。cond_feat = self.film(vis_feat, lang_feat).unsqueeze(1)FiLM调制后加一个序列维度,准备送入Transformer,模拟RT-1把图像和语言“装到同一条流水线”。out = self.transformer(cond_feat)Transformer编码器让token间自注意力交换信息,对应“大总管传纸条”。logits = self.action_head(out[:, 0, :])用动作头将隐状态映射到256类离散动作上,对应“标准动作牌”。loss = sum(loss_fn(logits[:, i, :], actions[:, i]) for i in range(7))对7个动作维度各自计算交叉熵并求和,这是行为克隆的监督信号。make_dummy_batch()用随机张量模拟一批(观测、指令、动作)三元组,演示数据引擎的输入格式。
常见误区
误区我听说RT-1在长时程任务上成功了89%,感觉它像通用机器人一样,什么杂活都能干,买回来就能帮我做饭、扫地、叠衣服。
正解89%是在训练分布内的长时程任务上取得的。RT-1学到的是17项技能覆盖范围内的“套路”,比如抓取、放置、开抽屉。一旦任务超出这些技能组合,或者物体形状、场景与训练差异过大,成功率会明显下降。它更像一位在特定菜系里炉火纯青的厨师,而不是满汉全席都会做的全能大师。
为何常见:媒体和论文摘要往往突出亮眼的成功率数字,容易让人忽略“评估条件”这些小字,从而把实验室成果想象成通用人工智能。
误区把连续的机械臂动作切成8个bin、每个bin再分256类,这难道不会让动作变得粗糙吗?机器人岂不是只能做“大概大概”的动作?
正解离散化非但没有明显降低精度,反而让学习更稳定。8×256的组合空间足以覆盖常用动作范围,而离散分类比连续回归更容易优化:模型不需要精确预测3.14159这种无理数,只需在256个桶里选最合适的一个。就像“加两克盐”和“加半勺盐”,后者可操作性强得多。
为何常见:人们习惯性地认为连续比离散“更精细”,却忽略了实际任务中机器人动作本身就有容差,且分类任务在神经网络中远比回归任务好训练。
误区既然RT-1是“图像进、动作出”,那做具身智能是不是随便攒个Transformer,喂点数据就能跑?没有传统模块的繁琐事儿了。
正解端到端意味着“模块内部”不手写规则,但“模块之间”的工程细节恰恰是成功关键:图像分9个patch、语言编码为8个token、离散动作怎么切bin、FiLM插在哪一层、因果掩码怎么加、数据怎么做时序对齐……这些设计决策直接影响效果。RT-1能成功,靠的是精心设计的tokenization和训练 pipeline,而不是“无脑端到端”。
为何常见:“端到端”这个词给人“一键解决”的错觉,忽略了工程细节才是从论文到产品的关键鸿沟。
误区Transformer不是越大越好吗?把RT-1的模型换成一个更大的预训练大模型,表现应该会飙升吧?
正解对于机器人操控这类任务,模型能力的天花板往往由数据分布决定。RT-1只有13万条数据,在这些数据上,加大模型带来的收益有限,反而会增加推理时延和部署成本,甚至在小数据上过拟合。更像一道菜:食材(数据)只有那么多,换更大的锅(模型)并不能让菜变多,还可能把锅烧坏。
为何常见:大语言模型热潮让人形成“大力出奇迹”的惯性思维,但物理世界的机器人任务还远未到“数据无限”的阶段。
面试题
Q1. RT-1机器人的输入和输出分别是什么?
- A.图像+语言指令,输出动作序列← 正确答案
- B.语音信号,输出文本
- C.关节力矩,输出图像
- D.点云数据,输出奖励值
答案:A。RT-1的核心是VLA(视觉-语言-动作)模型,输入是摄像头图像和自然语言指令,输出是离散化的动作token。B是语音识别,C和D方向反了或属于其他范式。就像厨房学徒“看菜+听口令”然后“动手做”。
Q2. RT-1采用的骨干网络架构是什么?
- A.纯卷积网络
- B.Transformer← 正确答案
- C.LSTM循环网络
- D.图神经网络
答案:B。RT-1以Transformer为骨干,把图像token和语言token统一建模,用自注意力交换信息。LSTM和纯CNN难以建模长时程多模态依赖,正如“传纸条”这件事,Transformer比循环网络传得又快又直接。
Q3. RT-1将连续动作离散化的具体方式是?
- A.每个维度切成8个bin,每个bin输出256类← 正确答案
- B.每个维度直接回归一个浮点数
- C.只输出一个总动作类别
- D.将动作量化为二值信号
答案:A。RT-1把7维连续动作每个维度切成8个bin,每个bin内再分256个符号,总动作词典为8×256。离散化把预测变成分类问题,训练更稳定,而不是直接浮点回归,也不是简单二值化。
Q4. FiLM模块在RT-1中的作用是什么?
- A.替换图像特征提取器
- B.用语言指令调制视觉特征← 正确答案
- C.对动作做降维
- D.加速数据加载
答案:B。FiLM(Feature-wise Linear Modulation)通过γ和β两个线性变换,用语言向量对视觉特征做缩放和平移。它像师傅调“火候旋钮”——指令不同,旋钮位置就不同。A和C、D都不是FiLM的设计目的。
Q5. RT-1的训练数据集规模大约是?
- A.1万条示教数据
- B.5万条示教数据
- C.13万条示教数据← 正确答案
- D.千万级示教数据
答案:C。RT-1论文使用了约13万条真实机器人示教数据,覆盖17项技能。数据规模是它成功的地基——没有大量示范,Transformer再强也学不会操控。D选项的千万级在机器人操控领域目前尚不现实。
Q6. RT-1为什么需要使用因果掩码?
- A.为了减少模型参数量
- B.保证自回归生成,避免“偷看”未来动作← 正确答案
- C.为了加速GPU训练
- D.为了去除图像噪声
答案:B。因果掩码保证在预测当前动作token时,只能看到历史token,不能看到未来动作。这符合“做菜要按顺序”的逻辑——否则模型在训练时学会了作弊,推理时就会崩溃。它不影响参数量或训练速度。
Q7. RT-1在长时程任务评估中的成功率约为多少?
- A.20%
- B.39%
- C.89%← 正确答案
- D.99%
答案:C。RT-1在真实机器人长时程任务中达到89%成功率,同期基线VCGS约39%。这个数字是“毕业考”的核心成绩,但它只在训练分布内有效——分布外仍会显著下降,所以不能简单理解为全能模型。
Q8. RT-1评估中涉及的分布外泛化测试包括哪些变化?
- A.新物体颜色← 正确答案
- B.新场景背景← 正确答案
- C.新语言指令措辞← 正确答案
- D.换用完全不同的机械臂型号
答案:ABC。RT-1的分布外测试主要考察新物体外观、新背景、新光照和新指令表述,结果表明它有不错的泛化能力。D是硬件迁移问题,RT-1论文并未做跨机械臂型号的测试,它学到的动作空间与具体机器人绑定。
Q9. 下列哪些属于RT-1的架构设计特点?
- A.图像编码为3×3共9个token← 正确答案
- B.语言编码为8个token← 正确答案
- C.动作输出为连续坐标
- D.使用FiLM调制语言条件← 正确答案
答案:ABD。RT-1图像特征被压缩为9个patch token,语言被编码为8个token,FiLM用于语言条件调制。C不对,因为RT-1输出的是离散动作token而非连续坐标——它把连续动作切成离散的“标准动作牌”了。
Q10. 下列哪些是RT-1在实际落地中的真实局限?
- A.需要大规模高质量示教数据← 正确答案
- B.分布外场景成功率下降← 正确答案
- C.训练和部署成本较高← 正确答案
- D.任何任务都无需调参即可使用
答案:ABC。RT-1依赖13万条示教数据,分布外泛化虽强但仍掉点,训练和推理需要昂贵算力。D的描述违背常识——技术选型必须匹配场景,不存在“零调参普适”的模型,就像名厨换到新厨房也得先摸清火候。