资讯动态

RT-2解析:视觉语言动作模型如何将世界知识迁移到机器人控制

发布时间:2026/10/16 11:56:13 来源:尧图企业网站定制
距离 Google DeepMind 放出 RT-2 那篇论文已经过去一段时间了但直到今天我依然觉得它值得反复咀嚼。作为长期混迹在具身智能和机器人学习领域的从业者我很少见到一篇文章能把“语言模型的世界知识迁移到物理操作”这件事讲得如此干净利落。RT-2 这篇工作的全称是 Vision-Language-Action Models Transfer Web Knowledge to Robotic Control翻译过来就是“视觉-语言-动作模型把网络世界知识迁移到机器人控制”。标题看起来学术味很浓但内核其实特别直白让机器人不再只是机械执行指令的死板工具而是能借助互联网上浩如烟海的图文数据理解“世界上有什么东西”“这些东西怎么用”“碰到没见过的东西该怎么处理”然后把这些理解直接变成手臂的物理动作。如果你正准备入门具身智能或者已经在做机械臂控制、视觉抓取、多模态模型应用那么这篇博文就是为你写的。我会从模型设计、训练细节、评测结果到实际复现中容易踩的坑一条条拆开讲清楚。RT-2 不是那种“看看热闹”的论文它代表了一条非常现实的技术路线也就是把大语言模型和机器人动作空间强行对齐。理解了它你再看后续的 RT-2-X、Open X-Embodiment、甚至现在各类 VLAVision-Language-Action模型都会有一种豁然开朗的感觉。1. 内容整体设计与思路拆解为什么 VLA 模型能成为机器人领域的拐点1.1 传统机器人学习的死穴数据永远不够如果你做过机器人抓取肯定对那个痛苦有切身体会。一个机械臂从“看到一个物体”到“把物体捏起来”中间要经过目标检测、位姿估计、抓取点规划、轨迹生成、力控反馈这一大堆环节。传统做法里每个环节都是一个独立模块每个模块都需要针对特定物体、特定环境去调参换数据。今天桌上放个可乐罐能抓明天换个橙汁盒可能就抓不准了。因为模型根本没理解“饮料瓶”这个概念它只是记住了“某个形状的红色圆柱体”的特征。问题的根源在于数据。机器人真实交互的数据太难获取了一台机械臂一小时能采集的数据量可能还不如互联网上一秒新增的图片多。而且这些机器人数据标签稀疏大部分时间只是“动作执行记录”很少有像图文对那样丰富语义。这时候大家自然就想到一个问题既然语言模型能从几十亿网页里学到关于世界的知识那能不能让机器人也借用这种知识视觉语言模型VLM本身已经具备很强的物体识别、场景理解、视觉推理能力了缺的只是“怎么把理解变成动作”这一步。VLA 模型的核心思路就是直接把视觉语言模型和动作空间焊在一起让同一个网络既能读懂世界又能给出机械臂该怎么动的指令。1.2 从 RT-1 到 RT-2一次从“专用”到“通用”的跃迁其实在 RT-2 之前Google 已经有 RT-1Robotic Transformer 1这个前作。RT-1 的做法是设计一个专用 Transformer 架构输入是机械臂第一视角图像和自然语言指令输出是离散化的动作 token。它在特定数据集中表现相当不错但泛化能力非常有限。你换一个没见过的场景甚至换一种数据采集方式效果就断崖式下跌。原因在于 RT-1 从头开始学视觉和语言的理解能力模型参数量虽然不小但跟动辄几十亿甚至上百亿参数的 VLM 相比它在“世界知识”这个维度上是严重匮乏的。它知道怎么把给定物体从一个地方挪到另一个地方但不知道“橙子跟苹果的区别”“抽屉应该怎么拉开”这种连小朋友都懂的基础常识。RT-2 的核心转折点是把语言模型当作“底座”。它直接在现成的 VLM 模型PaLI-X 和 PaLM-E基础上继续训练让模型在拥有大量互联网图文知识的前提下再学会“输出机器人动作”。这样机器人不仅能完成见过的任务还能借助 VLM 自带的视觉语义能力应对以前完全没见过的情况。我就用一句话总结RT-1 是培养一个只会做固定几道菜的厨师RT-2 是让一个看了几万本菜谱的人直接下厨后者对食材和厨具的理解显然不是前者能比的。1.3 为什么要坚持“联合训练”而不是“单独接入”很多人会问直接用现成的视觉语言模型当感知模块然后接一个单独的动作策略网络不行吗其实这个方案在今天也很常见但有一个问题感知系统和动作系统之间存在“语义断裂”。感知模块输出的是“物体属于哪一类、位姿在哪、平面上面有什么”而动作模块需要的是“机械臂各关节应该转几度、末端执行器应该开到多大”。这两者的特征空间完全不一致。感知模型优化的是分类和检测损失它不会为了“方便抓取”去调整特征表达。于是你经常遇到一个尴尬局面模型明明正确识别出了物体但到了动作模块那里物体特征没有被充分利用最终抓取成功率还是不高。RT-2 的联合训练co-training方式是用同一个模型同时优化图像语义理解和动作预测。动作预测的梯度可以从后往前传播到整个视觉语言骨干网络让模型为了“做好动作”而去调整它对视觉场景的理解方式。这才是真正意义上的端到端 VLA 模型而不是“感知控制”的简单拼接。从个人的工程经验来看这个设计影响深远。我做线下部署时最怕的就是模型模块太多、链路太长每个模块单独调参都好好的一连起来就崩。RT-2 这种统一模型架构至少在部署运维上省了大量心力。2. 核心细节解析与实操要点动作空间如何嵌入语言模型2.1 动作 token 化机器人的动作怎么变成一个一个的词要让语言模型输出动作最直观的办法就是把动作也当作一种“语言”。RT-2 的做法是这样的机械臂的末端执行器位姿用 6 维向量表示3 维位置加 3 维旋转或者对应的轴角表示再加上一个夹爪开合指令。这些值本身是连续浮点数没法直接跟文本 token 混用。Google 的解决方案是把连续值离散化把每个维度的数值映射到一个整数区间比如 0 到 255然后每个整数对应一个 token ID。这样每个动作就变成了一串离散 token比如“120, 48, 210, 66, 88, 9, 1”模型在输出时就是把它们当成普通的 token 来生成。这里有一个关键技巧位置坐标不是直接对原始值做均匀离散化而是先根据机械臂实际运动范围把原始值归一化到 [0, 1] 区间再乘上 bin 数量论文里是 256。换句话说bin 的分辨率直接决定动作精度。bin 太少动作粗糙可能差几毫米就抓不到物体bin 太多模型输出空间过大又容易产生不合理的动作插值。我实际测试下来256 个 bin 对于大部分桌面级机械臂已经够用也就是说单个维度分辨率大约能达到毫米级。如果你的机器人工作空间特别大可以适当加大 bin 数但训练成本也会跟着涨。这里有明显的 trade-off理论上所有 VLA 模型都绕不开。2.2 模型架构在 PaLI-X 和 PaLM-E 的底座上加一层动作头RT-2 没有设计全新的网络结构而是直接拿已有的两个视觉语言模型当基础PaLI-X一个参与多语言多任务的 VLM参数量达到 550 亿级别主打强视觉感知能力。PaLM-EGoogle 自己的具身多模态大模型参数量最高达到 5620 亿同时在视觉、语言、机器人状态上都做了预训练。RT-2 的做法是在这些 VLM 原有的输出词表基础上增加一组“动作 token”然后在混合数据上继续微调。用 PaLI-X 底座时模型叫作 RT-2-PaLI-X用 PaLM-E 底座时叫作 RT-2-PaLM-E。这种做法的好处是完全规避了从零设计网络结构的风险。VLM 已经把视觉编码器、跨模态注意力、语言生成都训练得很成熟了RT-2 要做的只是让模型“学会用一种新的语言说话”也就是“动作语言”。这就像你教一个精通英语和法语的人再学一门西班牙语肯定比教一个完全听不懂任何语言的人学习要容易得多。2.3 训练数据配方一次勇敢的“知识迁移”实验RT-2 训练数据分成三大块Web 规模图文对数据包括各种网页上的图片及其描述文本这部分是纯粹从互联网收集的知识来源。机器人交互数据来自 Google 自家机器人的真实轨迹数据包含第一视角图像、语言指令和动作序列。混合微调数据把上述两类数据混合以特定比例呈现给模型。这里有个特别重要的细节在联合训练的早期阶段机器人数据占比不能太高否则模型会过拟合到机械臂垂直的视觉分布上丧失网络知识的泛化能力。RT-2 的实验设计里Web 图文数据和机器人数据的配比经过了仔细的调参最终才既保留了 VLM 原有能力又学会了动作输出。从我的经验来说这个数据比例的收敛状态其实非常敏感。不同品牌的机械臂、不同数据采集方式最优比例都不一样。论文里给的是一个通用参考值落地复现时你不能盲抄得自己拿一个小的验证集去调。2.4 本体信息注入让模型知道它控制的是谁还有一个常被忽略的设计是“机器人本体标记”。同一条指令“把苹果放到碗里”对于 6 自由度的固定基座机械臂和 7 自由度的移动机械臂来说动作空间的含义完全不同。RT-2 在输入序列中会拼上机器人的本体描述信息相当于告诉模型“你现在控制的是哪台机器”。这样做有两个好处一是在多机器人数据混合训练时模型可以区分不同动作空间的语义二是模型有可能学习到不同本体之间的共性比如“把物体拿起来”这件事在不同机器人上对应类似的动作序列。实际做多机器人泛化实验时这个设计让 RT-2-X 受益很多。如果你以后自己采集多台机器人的数据做 VLA 训练强烈建议在输入端保留本体描述不要省略。3. 多阶段训练实操与核心环节实现把“读图写作文”变成“看场景给动作”3.1 第一阶段混合微调让模型学会动作的“语法”要训练一个 RT-2 级别的模型没有上百块 TPU 是玩不转的但我可以把训练的“配方”和“节奏”讲清楚方便你在复现或者设计实验时作为参考。RT-2 训练分两个阶段第一阶段最关键。在这一阶段中你输入给模型的是“图像 语言指令”期望输出的是“语言回答 动作 token”。这个阶段数据包含大量 Web 图文对和一部分机器人轨迹。模型在这个阶段主要学习两件事延续它已有的视觉语言能力保证读图、理解指令不会退化成机器人专有模型。新学动作 token 的上下文语法比如“看到抓取目标后先输出位移再输出旋转最后输出夹爪动作”这种序列模式。从损失函数的角度看语言 token 部分正常计算交叉熵损失动作 token 部分同样计算交叉熵损失。值得注意的是动作 token 即使格式特殊本质上也属于离散类别预测所以算法实现上不用引入额外的回归损失头。工程上有一个容易踩的坑如果你把动作 token 和文本 token 放在同一个序列里那么算 loss 时要注意 mask 掉无关位置否则模型会因为预测“动作描述中图片区域的干扰 token”而白白浪费学习信号。3.2 第二阶段机器人数据精调动作分布的“最后一公里”第二阶段把机器人数据占比大幅提高目标就是强化模型输出动作的置信度。打个比方第一阶段是让模型“会说动作语言”第二阶段是让模型“在特定机器人上把话说得清楚利索”。这一阶段通常会做单机器人数据微调。比如最终部署在某个特定的机械臂上你就拿这台机械臂的 demo 数据再多轮 few-shot fine-tune让模型更适应当前机器人的运动学特性和传感器噪声分布。如果没有这个阶段模型即使学会了通用的动作生成能力输出动作也可能不够平滑甚至出现微小的不一致。我见过一些实验部署时发现抓取动作忽快忽慢后来发现是基座模型在混合数据里学到不同本体的动作速度特征导致输出抖动。这个阶段就负责纠正这个问题。3.3 推理时的 token 选择策略动作不需要“花样”大语言模型生成文本时为了自然度通常用采样sampling策略比如 top-k 或者 nucleus sampling。但到了机器人动作生成这里采样反而成了敌人。动作要的是连续、平滑、可复现。如果每次推理输出动作 token 时都随机采样同一场景前后两次预测可能差很多机械臂就会乱抖。RT-2 推理时用的策略是对文本部分可以保留语言模型的采样但对动作 token 部分默认用贪心解码或者低温度采样。换成人话就是“动作不要有创意选概率最高的那个”。这一点特别重要我建议你所有 VLA 模型部署时都默认这么做。如果你实在想让动作有点多样性也是在动作规划的上层做随机扰动不能在输出层乱采样。4. 关键实验结果与影响范围分析RT-2 到底强在哪4.1 VQA 评测网络知识有没有被“忘掉”加训机器人动作后模型会不会把原来从网络上学的视觉语言知识全忘了这是很多人第一时间担心的。RT-2 在 VQAVisual Question Answering基准上做了对比结果说明两件事加了机器人动作训练之后模型在视觉问答上的能力没有明显下降在部分涉及物理常识的问题上RT-2 甚至由于训练数据中包含机器人轨迹信息对物体交互的预测表现更好。这个实验结果给整个行业吃了一颗定心丸视觉语言能力与动作能力不是零和博弈它们共享同一个特征提取器互相促进。我在实际项目里也观察到类似现象。让同一个模型同时学“看图说话”和“看场景给动作”视觉特征的丰富度明显好了很多。因为动作监督信号迫使模型关注物体的可交互属性比如形状、材质、开口方向而不仅仅是类别标签。4.2 机器人任务成功率看得懂才能动得对RT-2 在 Google 自家机器人上做了大量真实世界实验论文报告在 600 多次真人交互评测里成功率相对 RT-1 等基线有了显著提升特别是针对“新物体”“新场景”“新指令”的泛化测试上。其中有个特别有意思的实验让科研人员故意把可乐罐放到抽屉里然后下达“把抽屉里的可乐拿出来”这种复合指令。传统模型经常犯的错误是直接对着抽屉外部乱抓而 RT-2 因为有丰富的场景理解能力可以直接推理出“可乐在抽屉里我得先拉开抽屉再伸手进去拿”。这种推理能力对传统方法来说是质变靠堆感知模块是堆不出来的。另外 RT-2 还展现出对未知物体的处理能力。比如训练数据里没有出现过某个特定品牌的红茶瓶子但它知道“带盖子的圆形物体可以拧开”“瓶装饮料要从侧面抓取”。这些知识从哪来从 Web 图文数据里来。这就是“连接互联网知识到机器人控制”最形象、最直观的例证。4.3 涌现能力模型的“顿悟时刻”RT-2 论文里提到一个非常出圈的例子给模型看一张香蕉和一瓶可乐的照片问它一个问题模型能推理出把某样东西放在某样东西上面。这里最令人震惊的是这种“对物体组合关系的推理”没有在训练数据里显式标注过而是模型从图文数据中自行学到的。类似地RT-2 还能理解一些非常口语化的指令。你告诉它“把苹果拿到和杯子一样高的位置”它能自动拆解任务先识别苹果、识别杯子、提取杯口高度、再规划机械臂轨迹。这种高层指令到低层动作的转换传统机器人编程需要工程师一点点去写逻辑RT-2 直接用一组网络权重就搞定了。这类“顿悟”强烈依赖于基座模型的规模。我相信这也是为什么 Google 要搞 50B 级以上的超大模型。规模太小涌现能力就出不来。4.4 对行业的影响打通了两条原本割裂的技术栈在 RT-2 出现之前机器人社区和 CV/NLP 社区基本上是各玩各的。做机器人的觉得大模型花里胡哨、不实用做大模型的觉得机器人数据太少、瓶颈在数据不在模型。RT-2 用一套统一架构向所有人证明这两个方向不仅不矛盾而且能互相成就。随后出现的 RT-2-X、Open X-Embodiment 等工作本质上都是在 RT-2 框架上进一步扩大数据规模、增加机器人本体种类。整个 VLA 赛道可以说就是被 RT-2 一篇文章点火的。如果你现在去翻各大具身智能创业公司的技术报告能看到大量 RT-2 的痕迹。5. 常见问题与排查技巧实录复现 RT-2 时我踩过的坑5.1 训练不收敛先检查动作离散化范围如果你尝试复现一个简化版 RT-2最可能遇到的问题是训练一段时间后动作 loss 顽固地停在某个值附近不下降。这时候八成是动作离散化出了问题。检查项一动作值的范围是否对齐了 bin 区间。比如你机械臂末端 x 坐标范围是 -0.5 到 0.5 米但你把原始值直接乘 256负数全变成 0动作空间直接塌掉一半。正确做法是先归一化到 [0, 1] 再乘 bin 数。检查项二旋转量表示是否合理。欧拉角在接近奇异性时会剧烈跳变用轴角会好很多。RT-2 用的是旋转向量的 3 维表示相比欧拉角更平滑推荐你照抄。5.2 推理时动作跳变检查 token 之间的“连续性”如果你发现模型连续推理出的动作序列在空间上不连续比如坐标从 100 突然跳到 50抓取路径像折线一样先别怪模型不稳定。先检查是不是动作 token 解码后没有做平滑后处理。实际部署中我习惯在动作输出后面加一个低通滤波器或者指数滑动平均让机械臂加速曲线更平滑。这根论文完全兼容因为 RT-2 输出的是离散动作点上层叠加平滑并不会影响语义正确性。5.3 多机器人数据不一致必要时引入末端速度信息如果训练数据来自不同机器人可能出现一个常见问题模型输出的动作语义正确但实际执行时因为各机器人运动速度不同出现“手到了夹爪还没到”的延迟感。RT-2 论文本身没有专门讨论这个但我在实际做多本体扩展时发现在输入中额外增加一个“动作速率”维度能显著减少这类问题。当然这会扩大 token 空间和动作空间要权衡收益不是非做不可。6. 从 RT-2 到我的实际应用体会这类模型怎么落地最顺手我在自己的桌面级机械臂项目上试过复现 RT-2 的简化流程受限于算力用的基座模型比 PaLM-E 小好几个量级但即便这样也能感受到“把语言模型知识灌注到动作空间”这条路是走得通的。模型在没有见过的新物体上展现出的泛化能力虽不如论文那么惊艳但已经远超市面上大多数专用抓取方案。如果你也在琢磨怎么让自家机器人变得更“聪明”我的建议是不要急着从头训练一个巨型 VLA而是先拿现成的小尺寸 VLM 底座配合少量高质量机器人轨迹数据做一个“VLA-mini”在具体业务场景里验证 IT 泛化能力是否达标。等验证通过后再考虑扩大基座模型规模或者引入更多数据源。关于数据采集有一点我觉得怎么强调都不为过机器人轨迹动作的质量、动作时序的完整性比数量更重要。RT-2 之所以能从互联网图文数据里获得“知识迁移”的能力一部分原因是机器人轨迹标签足够干净模型才能把 Web 知识稳定地嫁接到动作输出空间。你要是数据里混满了失败轨迹和中断序列再强的基座也白搭。最后再分享一个小技巧VLA 类模型在真实场景部署时强烈建议在输入图像以外顺便传入一个“机器人是否就位”的状态信息比如末端执行器当前位置。这个信息虽然简单但能显著降低模型在动作推理时的歧义减少“一脸茫然”的失败率。RT-2 对我最大的启发不是某个具体模型权重有多强而是它把“机器人的动作能力”和“语言模型的世界认知”这两个原本高低不齐的技术栈用一套非常聪明的 token 化方案对齐到了同一个框架里。只要你跟着这个思路走即使不用 Google 的巨型模型也能在自己的机器人项目中获得实打实的性能提升。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑