☰
VLA、WM、WAM:机器人行动模型架构深度解读
2026/10/17 10:01:54 网站建设 项目流程

1. 从"看得见"到"做得成":机器人模型正在经历一次认知升级

这几年做机器人智能体方向的研发,一个特别明显的感受是:我们不再纠结于"怎么让机械臂动起来"这种底层问题了,真正让人头疼的是另一件事——机器人到底靠什么来决定自己下一步该做什么。早期大家普遍用的是"感知-规划-控制"三段式流水线,每个模块各司其职,看起来没毛病,但跑起来就会发现一个尴尬的现实:感知模块识别出杯子,规划模块算出一条轨迹,控制模块执行到位——然后杯子换了个颜色,或者光照变了一下,整个链条就崩了。问题不是出在某个环节,而是环节和环节之间压根没有"共同语言"。

最近两年,三类架构频繁出现在各种论文和开源仓库里,分别是WM(World Model,世界模型)、WAM(World Action Model,世界动作模型)和VLA(Vision-Language-Action,视觉-语言-动作模型)。很多人第一次看到这三个缩写会有点懵,因为它们看起来像是在描述同一种东西——都是"给机器人一个视觉输入,然后输出动作",但实际设计哲学和适用场景差异非常大。简单说,VLA解决的是"从看直接到做"的直通问题,WM解决的是"预判世界接下来会怎样"的理解问题,而WAM是两者之间的一种混合折中,试图让机器人在"动手"之前先"想清楚"。

这篇文章我会把这三种模型从原理、训练数据、推理机制、部署成本几个维度彻底拆开聊一遍,也会结合我实际跑过的一些实验和踩过的坑,讲讲到底什么时候该用VLA、什么时候值得上WM、WAM又适合什么样的任务。内容比较长,建议先收藏再慢慢看。

适合的读者:正在做机器人操作、具身智能、仿真到真机迁移的工程师和研究者;对AI模型架构感兴趣、但还分不清这几个概念的初学者;以及想评估"要不要引入世界模型"但不知道从哪下手的团队。

2. 三类模型各自的"人设":WM负责想象,VLA负责执行,WAM负责边想边做

2.1 WM(World Model):机器人大脑里的"物理直觉"

很多人第一次听说World Model,都是因为在自动驾驶或者游戏AI里看到这个词。其实它的核心思想非常朴素:让模型学会描述"世界在下一秒会变成什么样子"。2018年David Ha和Jürgen Schmidhuber那篇经典的World Models论文,用的还是赛车游戏环境,模型分成Vision(压缩视觉信息)、Memory(记忆时序)、Controller(输出控制)三个组件,本质上就是让智能体在"内心"模拟出一个虚拟环境,然后在这个虚拟环境里试错、规划。

后来到了机器人领域,WM的定义逐渐演变成一种多模态预测器——给一段当前状态(视觉、本体感觉、指令),模型预测未来状态(下一帧画面、下一个关节力矩、下一个物体位姿)。听着很抽象,你可以把它理解成机器人的"物理直觉":一个见过大量真实交互数据的WM,看到杯子在桌沿,能"猜到"它可能会掉下去;看到门把手,能"猜到"往哪边转能打开。这种能力不是靠人写规则实现的,而是从海量视频和交互数据里自己长出来的。

我个人的看法是,WM真正的价值不在于"预测得准",而在于它给机器人提供了一种离线试错的空间。过去想验证一个操作方案能不能成,只能真机跑一遍,成本高、风险大;有了WM,机器人大脑里可以先"跑"几十遍虚拟轨迹,选一条最优的再真机执行。这也是为什么很多做强化学习的团队开始把WM当成环境模拟器的学习型替代品。

2.2 VLA(Vision-Language-Action):把"看懂指令"和"做出动作"焊在一起

VLA是2023年以来具身智能领域最火爆的方向之一,Google的RT-2、π系列、以及国内外的各种开源VLA如雨后春笋一样冒出来。它的设计初衷非常直接:以前要让机器人执行一句自然语言指令,要串联"视觉理解模型→任务规划模型→动作生成模型"三个独立网络,每个模型都有自己的一套特征空间,衔接处必然信息损耗。VLA干脆把V(视觉编码器)、L(语言模型)、A(动作头)统一塞进一个大模型里,输入是图像+文字,输出直接是动作token。

从架构上说,VLA本质上是一个"多模态大模型的特化版本"。它用预训练好的视觉编码器提取图像特征,用语言模型部分负责语义理解,然后在模型末尾加一个小型动作头(比如MLP或者离散化动作tokenizer),把"理解了"直接变成"关节角度序列"。

这里有个特别多人误解的点:VLA并不是"端到端"就代表优秀。恰恰相反,正是因为跳过了显式的中间表示,VLA非常依赖训练数据的质量和覆盖面。数据里没出现过的物体、没见过的场景布局、没听过的指令措辞,VLA很容易一本正经地做出错误动作——这在行业里叫"动作幻觉"。我后面会用专门的章节讲这个问题。

2.3 WAM(World Action Model):不满足于"能预测",还要"会决策"

WAM这个缩写目前在国内讨论还不算多,但概念上很有意思。从字面上看,WAM = World + Action,意思是一个同时建模"世界变化"和"动作输出"的联合模型。如果说WM只负责"想",VLA只负责"做",那WAM就是把"想"和"做"合在一个模型里,让模型在推理动作的时候,内部同时有一个"世界演化的隐式模拟"。

我用一个具体的例子来说明三者的区别。假设任务是"把红色积木放在蓝色积木上面":

  • WM的工作方式是:它接收当前画面和任务描述,内部预测"如果我这样移动机械臂,画面会变成什么样子",但它不直接输出关节角度,它输出的是未来状态的表征,动作还得靠另外一个规划器去解。
  • VLA的工作方式是:它直接看图、看指令,然后"啪"地一下输出一串动作token,中间没有任何显式的未来状态预测——全靠从数据里学到的"直觉"。
  • WAM的工作方式是:它既要预测未来画面/状态(像WM一样),又要基于预测结果输出动作(像VLA一样),两者在同一个模型里联合优化,训练时看的是"动作→未来状态→奖励"这样的完整因果链。

所以你会发现,WAM不是简简单单的"WM+VLA两个模型拼在一起",而是要解决一个更难的数学问题:如何让"动作生成"这个离散决策过程,和"未来状态预测"这个连续回归过程,在共享特征空间里互相促进。这个方向目前还没有统一范式,很多论文还在探索不同的损失函数组合和架构变体。

从产业链的角度看,NVIDIA的Alpamayo这类面向辅助驾驶场景的开源VLA推理模型,已经把VLA的应用从机械臂扩展到了更动态的驾驶场景。这类模型处理的是"视野里出现突发状况→需要立即决策"的任务,对"世界理解"的要求更高,单纯靠VLA的"视觉-语言-动作"直连不够稳,需要模型内部有更强的短期预测能力——这正是WAM想补上的短板。

3. 从「看」到「想」再到「做」:三者在一次真实任务里的协作关系

3.1 感知与语义理解:VLA的"眼睛"为什么和传统视觉模型不一样

要理解VLA的"看"到底是怎么工作的,得先搞清楚它用的视觉编码器和传统CNN/检测模型有什么本质区别。传统视觉模型输出的是"这里有个杯子、坐标是多少、类别是什么",这是一种离散的、符号化的描述;而VLA里的视觉编码器输出的是连续的特征向量,里面同时包含了空间位置、纹理、几何结构、甚至隐含的物理属性(比如它看起来重不重、会不会滚动),然后语言模型部分再去"解读"这些特征。

这种差异带来的好处是VLA对未知物体的泛化能力更强——它不需要检测器见过的严格类别列表,而是通过视觉特征和语言描述的语义对齐来推断"这大概是个能拿起来的东西"。但代价是解释性变差:你很难知道模型到底是看了哪个区域才决定抓取的。我跑RT-2系模型的时候,经常出现"模型盯着一把椅子却输出了抓取杯子的动作"的情况,事后分析特征图才发现,它把椅背的弧度误解成了杯柄。这就是视觉特征和语义对齐还不够精细导致的。

3.2 推理与预测:WM如何让机器人"多想一步"

纯VLA有个天生缺陷:它没有"预判"的能力。人类拿杯子之前,脑子里已经预演了一遍"伸手→握紧→抬起"的整个动作序列,如果杯子里有水,还会预判"抬快了会洒出来"。VLA没有这个预演过程,它只是从数据分布里采样了一个合理的动作序列,至于这个动作完不完成目标、会不会撞到旁边的障碍物,模型内部没有一个显式的机制去校验。

这就是WM的用武之地。WM在训练时看过大量"动作→结果"的配对数据,它学到的是环境对动作的响应规律。把它放在VLA前面或者旁边,就可以做一个"提出假设→仿真验证→选最优"的闭环。业界常见的做法是:先用VLA粗生成几个候选动作,然后喂给WM去想象每种动作执行后的未来N帧画面,再用一个奖励函数或者规则判断哪个结果最接近目标,最后挑那个最好的动作去执行。

这个过程有一点像下棋的时候在脑子里"算几步",把"只看眼前"变成了"往后多想几步"。当然,计算代价也成倍上升——WM每想象一步都要做一次前向推理,所以很多团队在做实时系统的时候,会限制想象深度,或者只在"动作切换点"才调用WM,而不是逐帧调用。

3.3 动作生成与闭环执行:从"想明白"到"做得成"的最后一道坎

就算模型在"看"和"想"这两个环节都做得很好,最后一步"做"依然有大量工程问题。VLA输出的动作token通常是离散化的,比如把连续关节角度映射到256个离散bin里,这会给执行带来不可避免的量化误差。在仿真环境里误差可能无所谓,但真机上差个几度,机械臂可能就抓空了。

我见过一个挺典型的案例:一个团队用VLA在MuJoCo里跑成功率95%,换到真机上直接掉到60%,查来查去发现是动作离散化精度不够——仿真里物体表面摩擦力是理想化的,小误差靠接触就自动修正了,真机上差1-2毫米就滑走了。他们最后把动作头改成混合输出(连续值+离散值),并且加了一个轻量的PID补偿层,才把真机成功率拉回85%。

所以我的一个强烈建议是:在评估任何VLA/YOLO系列/动作生成模型时,永远要把"部署环境的执行噪声"纳入考量,而不是只盯着仿真benchmark。这也是为什么现在很多团队开始把WM用于"仿真环境动态调整"——用WM预测真机执行后的实际状态,再反过来修正动作,比单纯开源模型直接跑要稳得多。

4. 深度拆解:三种模型各自的训练范式与实际瓶颈

4.1 VLA模型的数据配方:为什么"越大越好"不总是成立

VLA的训练数据和纯语言模型有共性——都遵循Scaling Law,但VLA多了两个变量:视觉-语言对齐质量和动作标注精度。先说视觉-语言对齐:目前主流做法是收集大量"图片+自然语言描述"数据做对比预训练,类似于CLIP那套范式,让视觉特征和文本特征在同一个向量空间里"对齐"。这块数据互联网上很多,难点不大。

真正的瓶颈是动作标注。要让VLA学会输出动作,必须有"当前状态+指令→标准动作"的配对数据。这种数据的获取成本极高:真人遥操作采集,一小时可能就几千条有效样本;自动生成又受限于仿真环境的物理真实性。所以很多VLA论文里的数据配方都是"预训练用互联网视频/图文对,微调用机器人操作数据"。

这里有一个实操中的坑:微调数据太少或太单一,VLA很容易退化成"背诵数据"而不是"学会任务"。举个例子,训练数据里机械臂永远从右侧接近物体,你以为它学到了"抓取物体"这个技能,实际上它只学会了"向右移动然后合拢夹爪"。换个方向它就完全傻了。解决方法是数据增强时对视角、位置、光照做充分的随机化,甚至在多个仿真环境里交叉采集,逼着模型学到不变量。

4.2 世界模型的自监督预训练:预测未来不等于理解世界

WM的训练主任务有两个流派:像素空间预测和隐空间预测。像素空间预测就是直接预测下一帧图像,VAE/扩散模型都干过这个活,优点是直观、可以可视化check模型学得好不好;缺点是计算量巨大——预测一张256×256的图像比预测一个512维特征向量贵两个数量级,而且大量像素其实是冗余的(墙壁纹路、背景光照根本不会变)。

隐空间预测是近两年的主流方案:先用一个预训练的编码器把图像压成紧凑特征向量(比如用VAE或者CLIP编码器),然后WM只预测这个特征向量的未来变化。它的缺点也很明显:隐空间的可解释性差,你很难知道模型"理解"了什么。我自己的经验是,实操中最好两种Loss都用:主Loss用隐空间预测保证训练稳定性,加一个轻量的解码器定期把隐空间预测结果"翻译"成图像,专门用来人工审查模型是否学到了正确的物理规律。

这个"人工审查"环节千万别省。有一次我们训练一个桌面操作场景的WM,指标看着很漂亮,隐空间预测误差一路下降,但把预测结果解码成图像一看——模型压根没在预测物体运动,它只是把所有动态区域的像素都"抹平"成模糊的,因为这样均方误差最小。这就是典型的"预测了但没理解"。没有人工审查,这个bug能让你白跑两周实验。

4.3 WAM的训练损失设计:怎么让"预测"和"决策"互相帮助而不互相干扰

WAM的难点在于,同一套参数既要会"预测未来状态"(回归任务),又要会"输出最优动作"(决策任务)。如果简单地把两个Loss加起来,很容易出现一种情况:预测分支学得很好,但决策分支一直上不去——因为两个任务对特征的要求不一样,预测需要保留丰富的环境细节,决策需要提取与动作强相关的稀疏信息,两者冲突。

目前论文里常见的解法有几种:

  • 分阶段训练:先用大量无标签视频数据训好世界模型部分(自监督),再冻结部分权重、用操作数据微调动作头。这样两个任务用两套训练阶段来解耦,工程上最简单,也是我推荐优先尝试的路线。
  • 多任务头:共享一个主干,但预测头和动作头各自独立参数,Loss加权系数动态调整。这方法的坑在于权重怎么调——权重调不好,弱的那个任务会被另一个"吃掉"。
  • 因果注意力掩码:让动作头只能看到"过去和现在的状态",而预测头只能看到"过去+当前动作"。这种设计强制模型内部形成"动作导致状态变化"的因果链。实现不复杂,但效果提升往往很显著。

我个人目前最青睐的是第三种思路,它解决了WAM最关键的"因果混淆"问题——很多模型看似在做预测和决策,其实只是把视觉特征和动作做了相关性匹配,并没有真正理解"动作导致变化"的因果关系。

5. 横向对比:数据需求、算力成本、实时性与部署难度

这几种模型的选型不能光看精度,还得看团队手里的资源。我整理了一个对比表格,都是基于我自己的项目经验和公开论文数据,供参考:

维度VLAWMWAM
核心输出动作序列未来状态表征动作序列+未来状态
典型数据量需10万级操作数据微调需百万级视频/交互数据预训练需大量未标注视频+操作数据
训练成本中高(大模型为主干)高(生成式训练,算力杀手)最高(两个任务联合训练)
推理时延低-中(单次前向出动作)中-高(需连续预测多步)高(预测+决策多次前向)
可解释性差中(可解码成图像检查)中-差
泛化到新场景依赖数据覆盖较强(见过更多环境动态)较强(有世界理解加持)
部署难点动作量化误差,语义幻觉隐空间预测质量不稳训练稳定性难调,结构复杂
适合团队有大量操作数据、想做垂直场景有海量视频数据和多卡集群研究型团队,愿意探索新架构

从这张表可以看得很清楚:没有绝对的"最优模型",只有"最匹配当前资源和任务"的模型。举个例子,如果你做一个固定工位、固定零件的上下料机器人,环境的物理规律基本不变,那VLA足够了,没必要上WM——世界模型在这种高度受限的场景里发挥不出优势,反而白白增加推理延迟和部署复杂度。

反过来,如果你的机器人在开放环境里工作,比如家庭服务、仓储拣选,环境里什么奇怪物体都有,那VLA的"直连"会频繁失效,这时候WM"预判物理变化"的能力就变得值钱起来——哪怕推理慢一点,也比"反应很快但经常做错"强。

WAM则更适合那些"任务种类多、每个任务数据都不够多"的场景。因为它可以用海量无标注视频做自监督预训练(学到世界运转的一般规律),然后只用少量操作数据学具体动作映射,数据效率理论上比纯VLA高很多。当然,"理论上高很多"意味着实现起来也会踩很多坑,这点我深有体会。

6. 从仿真到真机:选型、评估与部署的六个实战建议

6.1 先想清楚你的"动作空间"是什么

这是最容易忽略的问题。同样是VLA,输出关节角度、输出末端位姿、输出"拿起/放下/移动"这种高层动作原语,训练难度和部署方式天差地别。高层动作原语适合任务层面比较宏观的规划;低层关节控制适合精细化操作。如果你的任务需要精细力控,那VLA输出的粗粒度离散动作多半不够,下面必须挂一个高频控制层做平滑。

6.2 仿真数据要用"域随机化",别偷懒

很多团队觉得用仿真数据训练VLA是"退而求其次",其实仿真数据的价值非常大——前提是做好域随机化。把物体的纹理、颜色、形状做随机打乱,把相机位姿加随机扰动,把光照条件做随机切换,这些看起来不起眼的操作,能把模型在新场景上的成功率提升好几个档次。我看到太多项目死在"仿真表现完美、真机全崩"上,一半以上是因为数据太"干净"。

6.3 用WM做仿真到真机的"虚拟预演"

现在比较前沿的做法是:不直接把真机数据拿来微调VLA,而是先用真机跑少量轨迹(几十条),更新一个轻量的真机环境WM,然后用这个WM把仿真策略"翻译"到真机环境里做大规模验证。这样能极大减少真机调试时间——毕竟真机一小时的成本往往是仿真的一百倍。这个思路本质上是把WM当成了一个可学习的域适配器,我个人判断未来会成为仿真到真机迁移的标准组件。

6.4 评估时加一个"对抗探测器"专门测幻觉

如果你决定用VLA,我强烈建议在你的评估集里加一类"陷阱样本":比如桌面上同时有杯子和一个长得像杯子的圆柱体、但实际是胶带卷;指令里的物体和画面中的物体颜色不一致;以及"不存在目标"的情况——指令说"把红色方块拿过来",但画面里根本没有红色方块。这种对抗性评估能把VLA的"幻觉率"测出来,也会让你对模型的实际能力有一个清醒的认识。

6.5 别忽视推理延迟的累积效应

一个WM想象多步的推理可能耗时几百毫秒,单步看没什么,但如果你的任务规划器要在100步内完成一个操作序列,累积起来就是几十秒,这在真实场景里是不可接受的。我的优化思路是把"深度思考"和"快速反应"解耦:常规情况下用VLA做快速反射式动作;只有当VLA的输出置信度很低、或者检测到任务关键状态切换时,才调用WM做深度推演。这套"快思考+慢思考"的混合架构在实际部署中非常实用。

6.6 复现论文模型前,先跑一个小规模消融

现在很多开源VLA和WM模型动辄几十B参数,直接复现论文结果需要几卡甚至几十卡,大部分团队没有这个资源。我的建议是:先别急着上大模型。把模型替换成一个小规模版本(比如1B以内的backbone),在你的任务数据上从头训练一轮,跑通整个数据流程、训练代码、推理部署的闭环。等这个闭环稳定了,再考虑换成大模型做scaling。我自己吃过亏:一开始就冲大模型,结果数据处理流程里有个bug,白烧了几万块钱的算力才想起来先做小型验证。

7. 最后说说我对这三个方向未来走向的个人判断

做机器人AI这两年,一个越来越清晰的趋势是:"感知-规划-控制"这种分层架构正在被端到端多模态模型逐步侵蚀,但侵蚀的方式不是一夜之间替代,而是渐进式融合——VLA从"直接动作输出"向上侵蚀"任务规划",WM从"未来状态预测"向下侵蚀"动作生成",两个方向最终会在WAM这样的联合模型里交汇。现在NVIDIA的Alpamayo已经在辅助驾驶的开放场景里验证了VLA在实时动态任务上的潜力,虽然它处理的对象是车不是机械臂,但"视觉-语言-动作"在同一模型内闭环的可行性已经摆在那了。

从工程实践的角度,我给团队的选型建议永远是:先诊断你任务的瓶颈到底在哪一环。如果你现在的问题是"机器人能看懂但不会做",那就上VLA;如果是"会做但经常做错,因为对环境的理解太浅",那就考虑在VLA旁边加一个WM做预演;如果你有一个研究团队、愿意承担训练不稳定的风险、且手头有大量未标注视频数据,那WAM是目前最有学术价值、也最有远期回报的方向。

我自己的体会是,模型架构的演进看起来是技术在迭代,本质上是人们对"智能"的定义在不断加码。早期的机器人只要"能动"就算智能,后来要求"能感知",再后来要求"能听懂人话",现在则开始要求"行动之前先在心里演一遍"——每一次加码,都会催生一类新的模型架构,WM、WAM、VLA其实都是在给机器人补"常识"和"预见性"这两门课。至于哪条路线最终胜出,我不好说,但有一点我很确定:未来真正实用的机器人模型,一定不是单一架构的独角戏,而是一个让"看""想""做"无缝咬合的复合体系。至少从我这边的实验数据看,把VLA和WM以合适的节奏组合起来,效果比其中任何一个单独跑都要好一大截。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询