- 工业科技与智能制造新闻站点

VLA模型是什么?工作原理、训练方式与机器人应用

机器人 13℃ 0

VLA是Vision-Language-Action的缩写,中文通常称为视觉-语言-动作模型。它根据摄像头看到的场景、人的语言指令,以及部分模型使用的机器人状态,预测机器人接下来应执行的动作。比如,听到“把蓝色方块放进盒子”后,模型需要输出机械臂移动和夹爪开合所需的动作表示,才能让任务真正发生。

VLA是具身智能的一类模型路线,并不专指人形机器人。理解它,可以从三个问题入手:模型看到了什么、输出的动作究竟是什么、机器人执行后怎样继续判断。

机械臂在桌面操作区观察物体并执行取放任务的概念场景
机械臂取放是理解VLA的直观场景:语言描述目标,视觉提供现场信息,动作通过机器人控制系统执行。

V、L、A分别指什么?

V是视觉,提供当前环境的观察。在取放任务中,图像包含方块、盒子、夹爪及其相对位置,也可能包含遮挡、光照变化和其他物体。视觉输入可以来自一个或多个相机;模型是否使用连续图像、深度或其他信息,要看具体设计,不能由“VLA”三个字母推定。

L是语言,用来指定任务。同一张桌面图像,指令是“拿起蓝色方块”还是“把红色方块移开”,对应的动作应不同。语言给出目标和约束,并不天然包含每个关节的运动轨迹。“盒子”这样的描述,还需要与当前场景中的对象对应起来。

A是动作,是模型输出与物理执行相接的部分。它可以表示夹爪末端的位置和姿态变化、关节目标或夹爪开合等。输出的具体含义必须与训练数据和控制接口一致;不能把一组数值交给任意机器人,就期待它做出同样的运动。

机器人状态是另一类重要信息,例如关节角度和夹爪位置,但并非所有VLA都把它作为输入。2024年原版OpenVLA论文使用单张图像和语言指令;原版π0论文的输入则包括多张图像、语言及关节状态。两者都属于VLA,输入配置并不相同。

图像和语言输入VLA,动作表示经控制器执行,再由观测反馈到模型的概念关系
以一段目标位姿序列为例的VLA执行链路示意。机器人状态是否输入、动作如何编码及控制器接口,都随模型和系统而变。

VLA与LLM、VLM的区别在哪里?

区分这些模型,重点是它们学会了怎样的输入输出关系。下面用同一个取放任务说明常见分工,而不是给所有模型划定互不相交的能力范围。

模型类型在取放任务中的典型输出
LLM:大语言模型根据文字描述解释步骤,例如先抓取方块,再移动到盒子。文字计划本身还不是机械臂控制动作。
VLM:视觉语言模型结合图像回答“蓝色方块在哪里”或描述场景。通常还需其他模块把回答转成可执行动作。
VLA:视觉语言动作模型结合观察和指令预测机器人动作表示,使输出能够接入执行系统。

VLA可以使用VLM作为基础,也可能同时保留文字回答或规划能力。它的关键变化是学习了观察、指令与机器人动作之间的对应关系。让语言模型调用一个现成的“抓取”程序,同样能组成机器人系统,但这与模型直接学习预测动作的VLA路线有区别:前者的抓取技能仍由被调用的程序或策略提供。

相同图像和指令下,VLM输出描述或回答,VLA输出可接入控制器的动作表示
图中比较的是典型输出。VLA不只是多回答一句操作建议;动作表示还需要解码和控制接口才能执行。

模型输出的“动作”,怎样变成机械臂运动?

动作可以编码成token,也可以生成连续值

一种方法是先把连续动作数值划分到有限的区间,再用离散token表示区间。token可以理解为模型处理的符号单元,此时它代表动作数值,而非普通词语。推理后,系统将这些符号解码为控制接口所需的数值。例如,RT-2官方技术说明展示的动作表示包含末端位置变化、旋转变化、夹爪状态和任务终止信号。

另一种方法是生成连续动作。π0采用流匹配方法生成动作片段,可以通俗理解为:模型根据当前观察和指令,将初始噪声逐步变换为有意义的一组动作数值。这不是先写一段自然语言,再让机器人猜测怎样照做。

还要区分两个维度:离散token或连续值,描述的是动作如何表示;单步动作或动作片段,描述的是一次预测覆盖多长时间。它们不是三个互斥的模型类别。

控制器负责把动作目标落实到硬件

假设模型输出的是“夹爪末端向某个方向移动一小段,同时保持张开”,系统首先要按约定解释坐标系、长度单位、姿态表示和夹爪数值。随后,运动控制系统将目标落实为关节运动,并通过底层反馈跟踪目标。若模型直接输出关节目标,后续接口又会不同。

因此,VLA中的“端到端”通常强调从观察、指令到动作预测的学习关系,并不意味着取消运动控制器、限位或急停。模型更新动作的频率也不等于电机伺服控制频率。

用一次机械臂取放理解闭环执行

设想一个教学场景:桌上有红、蓝两个方块和一个盒子,机械臂配置相机与夹爪,任务指令为“把蓝色方块放进盒子”。下面是机制解释,不对应某家企业的实际项目,也不规定每个VLA内部都按这些独立模块运行。

  1. 先把指令与当前观察对应起来。模型接收场景图像和指令;若设计支持,还接收关节或夹爪状态。这里需要区分目标方块与其他物体,并结合机械臂当前状态预测合适的接近动作。
  2. 输出接近目标的动作。动作可能是一组末端位姿变化,也可能是一小段关节目标。控制器执行后,夹爪和物体的相对位置发生变化,后续决策应使用更新后的观察。
  3. 在合适位置夹取并检查结果。发出关闭夹爪的动作,不代表已经抓稳。系统需要通过可获得的视觉、夹爪状态或其他传感信息判断实际结果;没有力觉输入时,不能声称模型直接测到了夹持力。
  4. 移动、放置,再确认任务状态。机械臂抬起方块,移至盒子处并释放。后续观察要区分“发出了松开动作”和“方块确实留在盒子内”。若中途方块滑落,继续执行原来的搬运步骤就可能失效。

这就是闭环的意义:执行改变现场,新的观察再影响后续动作。它不等于每个伺服周期都重新运行大模型,也不等于模型在运行时自动更新权重。能否识别抓取失败、如何恢复,仍取决于传感信息、训练经历及系统设计。

为什么有些VLA一次生成一段动作?

获取图像、完成模型推理、传输指令都需要时间。如果动作到达时物体已经移动,模型使用的观察就可能过时。动作分块,也称action chunking,是一次预测多个未来时刻的动作,以便连续执行,减少每个动作都单独调用模型的开销。

动作片段并不意味着一次规划完整个任务后就不再观察。原版π0论文附录D说明,其执行方式是在完成动作片段中的一部分后再次推理;片段内部并非每一步都以新图像重算。因此,要同时看模型一次预测多少步、实际执行多少步后更新,以及底层控制器怎样跟踪。

较长的连续执行区间可以减少等待,却也会拉长模型对突发变化的反应间隔。缩短区间则更依赖及时的计算和通信。动作分块能够缓解某些执行问题,但不能单独消除延迟,也不能保证抓取途中发生的变化都被及时纠正。

VLA怎样从数据中学会动作?

机器人演示记录的是连续过程

以取放演示为例,一条有用的轨迹需要把一段时间内的观察、任务和动作对应起来。常见数据包括各时刻的图像、描述任务的语言、可获得的机器人状态,以及当时执行的动作;具体模型会选择其中适用的输入。语言可能描述整段任务,不一定每一帧都重新写一句指令。

训练时,模型学习的是“在这样的场景和指令下,下一步或下一段动作应该是什么”。它不只是记住方块沿某条固定路线移动:同一任务的不同位置、抓取姿态和初始状态,应对应不同动作。只有操作视频、没有与机器人接口对应的动作记录,不能直接等同于这种带动作监督的演示轨迹。

数据整理也影响学到的关系。如果相机画面与动作时间错位,模型可能把抓取后的图像误配给抓取前的动作;如果不同机器人的坐标、动作幅度和夹爪约定混在一起,数值相似也可能代表不同操作。数据量之外,还需要一致的字段含义、时间关系和适当的动作处理。

图文知识与机器人经验承担不同作用

一种典型路线是先使用已经学过大量图文知识的模型,再通过机器人演示学习动作,并按任务或机器人配置继续适配。图文知识有助于把“蓝色”“盒子”等概念与图像联系起来;机器人经验则提供怎样接近、抓取和移动的实际动作对应关系。

这不是所有VLA必须遵循的固定两阶段流程。RT-2论文采用机器人轨迹与网页视觉语言任务共同微调;OpenVLA将预训练VLM适配为动作预测模型;π0官方介绍则区分广泛机器人数据训练与面向任务的后训练。这些例子说明的是知识和动作经验如何结合,而非某一种统一训练配方。

图文预训练基础与包含图像语言状态动作的机器人演示,共同支持动作学习和任务适配
典型训练思路示意。演示字段、数据混合方式和训练阶段因模型而异,并非所有VLA都使用同一固定流程。

演示是否覆盖失败后的状态同样重要。只看过抓取成功的过程,模型未必知道方块滑落后应怎样重新接近。增加恢复演示、调整数据分布或重新训练,可以成为改进途径,但“训练过很多任务”本身不能证明遇到任何异常都能恢复。

VLA已经能做什么,又有哪些能力边界?

公开研究已经展示并评估了物体取放、按指令整理、开关抽屉等操作;π0项目介绍还展示了衣物折叠、物品装袋等更复杂的任务。单臂、双臂或带移动底座的机器人都可以成为这类研究的载体。这里的“能做”对应论文中的特定训练和评测设置,不能直接外推为任意现场的稳定能力。

理解新指令,不等于获得新的运动技能

模型可能理解一个训练时没有出现过的物体名称,并将已有抓取技能用于该物体。但抓起一个轻方块与稳定夹持易滑、易变形的工件,涉及的接触条件不同。看懂名称和用途,并不能替代对摩擦、重量分布、变形或接触力的处理。

RT-2论文的局限性部分明确指出,网页知识带来的语义和视觉泛化没有自动赋予机器人新的运动技能,物理技能仍受机器人训练数据限制。因而,谈论“泛化”时要说明究竟换了什么:新词语、新物体、新摆放位置、新背景,还是不同机器人和新的操作技能。前几项表现改善,不能自动证明后几项也成立。

任务成功需要看完整过程和评测条件

一个成功片段能说明动作曾经发生,却不足以说明长期可靠性。评估取放时,应明确成功是“接触到方块”“抬起方块”,还是“放入指定盒子并保持稳定”;同时说明测试次数、是否有人协助、失败后是否重置,以及任务和场景是否出现在训练数据中。

复杂任务还可能采用阶段得分,例如完成几个子步骤得到多少分。阶段得分与完整任务成功率不能直接互换。观看演示也应区分实际速度和加速播放,避免把剪辑效果当成作业节拍。

回到“把蓝色方块放进盒子”:只有识别、接近、抓稳、搬运、释放和结果确认都持续衔接,任务才算完成。VLA把视觉、语言与动作学习连接起来,但最终表现仍由模型、数据、传感、控制和现场条件共同决定;某次实验成功不能作为长时间无人干预运行的保证。

参考资料

  • Brohan等:《RT-2: Vision-Language-Action Models Transfer Web Knowledge to Robotic Control》,2023年;重点参照动作微调、实时推理与局限性部分。
  • Google DeepMind:RT-2官方技术介绍,2023年7月28日。
  • Kim等:《OpenVLA: An Open-Source Vision-Language-Action Model》,2024年;本文所述输入配置对应原版论文,不代表后续改进版本。
  • Physical Intelligence:《π0: A Vision-Language-Action Flow Model for General Robot Control》,2024年;重点参照模型、训练、执行与评测部分。
  • Physical Intelligence:π0官方项目介绍,2024年10月31日。

评论留言

暂时没有留言!

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。