微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 机器人学会"看视频"就能干活:NAVA-WAM如何让动作策略直接从视频里长出来

机器人学会"看视频"就能干活:NAVA-WAM如何让动作策略直接从视频里长出来

2026-10-30 09:21
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2026-10-30 09:21 • 科技行者

你有没有想过一个问题:教小孩学做饭,最有效的方式是什么?

是让他先死记硬背一本《中式烹饪原理》,还是直接把他丢到厨房里跟着大人边看边学?大多数人会选后者。看得多了,看得久了,他自己就会在脑子里形成一种"做菜的感觉",知道什么时候该翻炒,什么时候该收汁,不需要别人把每个动作都用文字标注清楚。

机器人学习领域,长期以来走的却是前一条路。

要让机器人学会拧瓶盖、叠衣服、把积木叠成塔,研究者们通常得先雇人用遥控器一遍遍操作机械臂,把每一步的关节角度、力矩都记录下来,打上"动作标签"。这种数据贵得吓人,而且每换一种机械臂,这套标签可能就得重新来一遍。与此同时,YouTube上有无数人类做家务、组装东西的视频,这些视频里藏着极其丰富的"物理世界怎么运作"的信息,却因为没有动作标签,长期被当成"看不懂的噪音"晾在一边。

这就是Meta AI和哥本哈根大学等机构的研究者们在这篇论文里想解决的核心矛盾:海量的"无标签视频"和稀缺的"有标签机器人数据"之间,到底该怎么打通?

两条老路,都绕了弯子

在NAVA-WAM出现之前,业界主要有两种办法利用这些无标签视频。

第一种叫视觉表征学习。做法是先用视频训练一个"视觉大脑",让它学会理解画面里发生了什么,然后再拿少量带标签的机器人数据,在这个视觉大脑上面接一个动作模块去训练。

这就像先让一个人把全世界的食谱图片都看一遍,记住什么菜长什么样,但从来没让他真正拿过锅铲。等真正要做饭的时候,才临时现场教他怎么下刀、怎么翻锅。视觉理解和动手操作之间隔着一层,这层叫做"表征到控制的转移"。

表征到控制的转移*:指模型先从视频中学到的是视觉层面的理解(比如认识物体、理解场景),而这种理解和具体怎么操控机械臂之间,需要靠额外的机器人训练数据去建立联系,这个建立联系的过程就是一种间接转移。

第二种叫潜动作学习。这个思路更聪明一点,它试图从两帧视频的变化里反推出"这中间大概发生了什么动作",把这个推测出来的"隐藏动作"当成一个中间监督信号,再拿去指导后续的策略训练。

这就好比看两张照片,一张是厨房台面干净,另一张是台面上多了切好的葱花,你猜中间大概有人拿刀切了葱。这个"猜出来的切葱动作"听起来很有用,但问题是,这个猜测本身是个单独的模型,它很容易学歪,比如它可能发现最简单的办法就是直接把第二张照片的像素信息悄悄塞进这个"猜测"里,而不是真的去学习"切"这个动作的本质。研究者们把这叫做捷径解,为了防止模型抄这种近路,就得加各种复杂的架构约束和优化技巧,这反而让整个潜动作空间变得束手束脚,能传递给下游策略的信息也打了折扣。

两条路走到最后,都隔着一层东西,前者隔着视觉表征,后者隔着一个额外建模的潜动作空间。

第三条路:让视频预测直接给动作模型"上课"

NAVA-WAM给出的答案很直接:为什么不让动作策略自己去看视频,自己从视觉变化里长出对动作的理解,而不借助任何中间翻译层?

这个思路被称为原生动作先验学习。

原生动作先验学习*:指不通过视觉表征或潜动作这类中间接口,而是直接用观察性视频的未来预测任务来优化动作策略本身,让动作相关的先验知识直接在策略网络内部形成。

要理解这怎么实现,得先说说这个模型的骨架长什么样。NAVA-WAM用的是一种叫做混合专家Transformer的架构,里面有两个"专家":一个叫Video-DiT,专门负责理解和预测视觉画面的变化;另一个叫Action-DiT,专门负责生成机器人的动作指令。这两个专家各自保留自己的参数,但通过联合注意力机制互相"交流信息"。

混合专家Transformer*:一种架构设计,把不同模态(这里是视觉和动作)分别交给专门的子网络处理,各自保留独立参数,同时通过注意力机制让它们彼此交换信息,兼顾专业分工和信息互通。

联合注意力*:Transformer里的一种机制,让两个不同模态的信息流在计算时互相"看一眼"对方的内容,从而建立跨模态的联系。

关键的设计在预训练阶段。这时候手头只有无标签视频,没有真实的机器人动作可以用来监督Action-DiT。研究者的做法是:冻住Video-DiT不让它变,只让未来视频预测这一个任务的误差信号,通过联合注意力这条通路,反向传播去更新Action-DiT的参数。

换句话说,Action-DiT从头到尾都没见过一个真实的机器人动作标签,它完全是靠"努力帮助预测下一帧视频会是什么样"这件事,被动地学会了和动作相关的知识。

这里有个精巧的设计叫做转移结构化联合注意力。研究者把视频里相邻两帧定义为一次"转移":前一帧是干净的、没被污染的状态,后一帧被加了噪声,而Action-DiT对应的一组token被夹在中间。干净的前一帧只能看自己,而被加噪的后一帧和Action-DiT的token,可以同时看到前一帧、加噪后一帧和彼此。

转移结构化联合注意力*:一种注意力掩码设计,把视频中每一次状态转移(前一帧到后一帧)单独打包成一个信息隔离的小段落,段落内部的不同token之间按照规则互相可见或不可见,从而引导模型隐式学习"动力学"而不是靠死记硬背。

这套设计模仿的是经典的逆向-正向动力学建模思想:逆向动力学从两个相邻状态里提取出"发生了什么样的转移",正向动力学则拿着这个转移信息加上前一个状态,去预测下一个状态会是什么样。NAVA-WAM没有专门造两个独立的模型来做这两件事,而是让这套逆向正向的信息流隐式地发生在Action-DiT和Video-DiT的注意力交互里面。

这里最巧妙也最容易被忽略的一点是:为什么要故意给未来那一帧加噪声,而不是让Action-DiT直接看到干净的未来画面?

答案藏在论文的理论分析部分。如果Action-DiT能直接看到干净的目标画面,那它完全可以耍一个小聪明:直接把这帧画面原封不动地"抄"过来当作自己的输出,这样误差永远是零,但模型根本没有学到任何关于"转移"本身的有用信息。这就好比考试时把答案抄在手心上,分数满分,但脑子里什么都没留下。给未来帧加上高斯噪声之后,这条抄近路就被堵死了,论文用数学证明:只要噪声水平不为零,干净的未来状态就不可能被完美无损地通过这个转移表示传递出去,模型被迫去真正捕捉状态变化背后的规律,而不是简单地复制粘贴。

如果不这样设计会怎样?论文的理论推导给出了明确答案:条件协方差会严格大于零,意味着预测误差永远有一个不可逾越的下限,模型无法靠作弊拿到完美分数,只能老老实实学习真实的转移规律。

这套机制让人联想到学开车的教练方式。有的教练喜欢把目的地的照片直接给学员看,说"照着这个场景开过去就行",结果学员记住的是那张照片,换个路口就懵了。聪明的教练反而会故意模糊远处的路况,只让学员看清眼前这一段,逼着他真正理解方向盘打多少度对应车往哪偏,而不是死记硬背一条特定路线。被加了噪声的未来帧,起到的正是这个"故意模糊远处"的作用。

从预训练到真正上手:动作标签怎么接进来

光靠看视频学出来的先验知识,还不能直接变成机器人能执行的具体动作。接下来需要有标签的机器人演示数据,把这些先验落地到真实的连续控制上。

这一步,论文做了一个关键的架构调整,叫做非对称转移注意力。

非对称转移注意力*:在后训练阶段,让Video-DiT的查询只能看到视觉流自己的信息,不再被Action-DiT的信息干扰,而Action-DiT依然可以同时看视觉流和动作流。这种不对称设计让视觉表征可以被缓存复用。

为什么要在这个阶段切换成不对称?因为预训练阶段的目的是让视频预测的误差信号能流进Action-DiT,所以视频token需要能看到动作token。但到了后训练阶段,动作标签已经有了,Action-DiT可以直接被真实动作数据监督,不再需要依赖视频预测这条间接通路。这时候让视觉流保持独立,反而带来一个巨大的好处:推理时可以把视觉部分的计算结果缓存起来,反复复用,不用每次去噪动作时都重新跑一遍完整的视频生成。

这就好比一个厨师在后厨准备好了所有食材和调料,摆在固定的位置,之后不管来多少桌客人点菜,他都不需要重新去买菜、重新切配,只需要根据订单从已经准备好的食材里快速组合。如果不做这个缓存设计,每次预测一个新的动作,模型都得重新完整地想象一遍未来的画面,那推理速度会被活生生拖慢好几倍,机器人根本做不到实时反应。

论文里给出的数据很直观:NAVA-WAM的推理计算量是4.30 TFLOPs,和专门为效率优化的Fast-WAM的3.56 TFLOPs、Image-WAM的4.09 TFLOPs处在同一档位,远低于另一个对比方法HALO的67.69 TFLOPs,但在分布外场景下的成功率却是73.6%,比HALO的26.4%高出接近50个百分点。效率没有被牺牲,性能反而大幅提升。

成绩单:在模拟器和真机器人上到底表现如何

说了这么多设计思路,最终还是要看数据说话。

论文在两个主流的模拟基准上做了测试。LIBERO和它的扩展版LIBERO-Plus主要考察单臂机器人在不同任务、不同干扰条件下的表现;RoboTwin 2.0则是双臂机器人操作基准,专门设计了"干净环境"和"随机干扰环境"两套测试条件。

LIBERO-Plus*:在原版LIBERO基础上,系统性地引入七种扰动因素,包括相机视角变化、机器人初始状态变化、语言指令变化、光照变化、背景变化、传感器噪声和物体布局变化,用来检验模型面对分布外场景时还能不能干活。

RoboTwin 2.0*:一个强调双臂协作和高强度域随机化的模拟基准,覆盖物体干扰、背景、光照、桌面高度、语言指令五个维度的随机扰动。

在LIBERO上,NAVA-WAM拿到了99.0%的成功率,在扩展版LIBERO-Plus上是83.5%,都是所有对比方法里的最高分之一。在RoboTwin 2.0上,表现差距拉得更明显:干净环境下88.5%,随机干扰环境下73.6%,相比表现最强的对比方法MV-WAM,分别高出3.5和17.9个百分点。

| 方法 | LIBERO | LIBERO-Plus | RoboTwin干净 | RoboTwin随机 |

|---|---|---|---|---|

| π0.5 | 96.9 | 77.4 | — | — |

| Image-WAM | 98.4 | 83.1 | 85.0 | 37.6 |

| MV-WAM | — | — | 84.0 | 55.7 |

| **NAVA-WAM** | **99.0** | **83.5** | **88.5** | **73.6** |

这组数字里最值得咀嚼的其实不是干净环境下的分数,而是从"干净"到"随机"这个跌幅。MV-WAM从84.0掉到55.7,跌了28.3个百分点;而NAVA-WAM只从88.5掉到73.6,跌了14.9个百分点,跌幅几乎是前者的一半。这说明原生动作先验学习带来的不只是绝对数值上的领先,更是一种对未知环境变化更强的适应力,这种适应力恰恰是从海量观察性视频中学来的,因为视频里的场景本身就千变万化,模型被迫提前见识过各种各样的视觉条件。

真实机器人实验上,研究团队把NAVA-WAM部署在一台Franka FR3机械臂上,三个桌面操作任务各跑五次,总共15次试验,成功了14次,成功率93.3%。作为对比,DreamZero成功10次,成功率66.7%,π0.5成功8次,成功率53.3%。

最有意思的差距出现在一个叫"把方块放到碗左边"的任务上。这个任务要求机器人理解"左边"这个空间方位词并执行对应动作。NAVA-WAM五次里成功四次,而两个基线方法在这个任务上五次全部失败。论文里仔细分析了失败原因:并不是机械臂没抓到方块,所有十次基线试验里方块都被成功抓起来了,问题出在最后的摆放环节,DreamZero直接把方块放进碗里或者悬在碗上方不动,π0.5则把方块放在了碗的右边或者碗里。这说明问题不在底层的抓取控制,而在对"左边"这个空间关系的语言理解和执行层面上出了偏差,而NAVA-WAM在这个维度上明显更准。

消融实验揭开的更深问题:学到的到底是不是"真东西"

成绩好看是一方面,研究者还想回答一个更本质的问题:Action-DiT到底有没有真的学到和动作相关的信息,还是只是碰巧蒙对了?

他们做了一个巧妙的探针实验。拿训练好的不同方法得到的表征,用一个简单的岭回归模型去预测真实的机器人动作,看看预测准确度有多高,用R?这个统计量衡量。

R?*:统计学中衡量一个模型解释数据变异程度的指标,数值越接近1,说明这个表征包含的信息越能直接预测目标变量,这里用来检验学到的表征里到底藏了多少"动作相关"的信息。

结果显示,在使用全部探针数据的情况下,NAVA-WAM的表征达到0.329的R?,而视觉表征学习方法只有0.153,两种潜动作学习基线分别是0.203和0.154。差距超过一倍。这说明Action-DiT在没有见过任何真实动作标签的情况下,单靠看视频预测未来,就已经在内部悄悄编码进了大量真正和动作相关的信息,而不是什么泛泛的视觉特征。

论文还做了注意力可视化,直接把Action-DiT在看一段新视频时关注的区域画出来,叠加在原始画面上。结果显示NAVA-WAM的注意力会精准地聚焦在机械手和被操作物体上,而对比的潜动作基线方法CoMo的注意力则比较分散,常常落在画面里静止不变的背景区域。这个可视化结果直观地印证了前面的数字:一个真正理解了"动作"概念的模型,天然会盯着那些正在发生变化、正在被操作的东西看,而不是盯着没动静的墙角。

还有一组更有意思的实验叫做运动迁移。研究者从一段"源视频转移"里提取出Action-DiT的内部激活,然后把这组激活硬生生套用到一个完全不同的目标场景上,看模型能不能预测出目标场景里对应的"下一步应该变成什么样"。结果在模拟环境、真实环境,甚至模拟到真实的跨域场景下,被迁移过去的运动轨迹都能正确地跟随源视频里的动作方向,尽管目标场景的外观、布局、视角和源视频完全不同。

这就好比把一个人挥高尔夫球杆的"手感"提取出来,套用到另一个完全不同的球场、不同的球杆上,这个挥杆的轨迹依然能大致保持原来的动作模式。这说明Action-DiT学到的不是某个具体场景里死记硬背的像素对应关系,而是一种能跨越视觉外观变化、相对通用的动作规律。

标签效率:少量数据也能打出好成绩

对现实世界的机器人部署来说,数据标注的成本永远是最头疼的问题。NAVA-WAM在这方面交出的成绩单格外值得关注。

论文在RoboTwin 2.0上对比了不同预训练方式在不同动作标签数量下的表现。在只有10条、25条、50条标签演示的条件下,NAVA-WAM分别达到66.5%、72.0%、73.6%的成功率,全面超过不做预训练、视觉表征预训练、潜动作预训练这三种对照组。

最值得拎出来说的一个数字是:NAVA-WAM只用25条演示就能达到72.0%,这个分数已经超过了所有基线方法用满50条演示跑出来的最好成绩。换句话说,同样的任务,NAVA-WAM用一半的标注数据,就打败了别人用全量数据的表现。

对于真实世界里采集机器人演示数据极其昂贵这件事来说,这个结果的意义不言自明。如果一个任务原本需要雇人花一整天采集50条演示才能训出可用的策略,现在用NAVA-WAM的预训练先验,可能只需要半天甚至更短的时间采集25条就够了。

研究团队还进一步验证了预训练用的视频数据量和最终效果的关系,发现随着用来预训练的观察性视频语料规模从0扩大到100%,不管是10条还是50条动作标签的设置下,随机干扰环境的成功率都持续上升,没有出现饱和。这意味着这条路线还有继续扩展的空间,视频数据喂得越多,学到的先验就越扎实。

写在后面

读完这篇论文,印象最深的其实不是那些成功率数字,而是那个"故意给未来帧加噪声"的小设计。

一开始看到这个设计时,我的第一反应是:"这不就是在人为增加难度吗?为什么要故意让模型看不清楚?"后来理解了背后的逻辑才意识到,这恰恰是整篇论文最关键的防作弊机制。如果没有这层噪声,整套"用视频预测来训练动作模型"的思路会立刻崩塌,因为模型会找到那条最省事的近路,直接把答案抄过去,完全不需要理解任何关于物理世界运作规律的东西。这让我想到,很多机器学习里真正精巧的设计,往往不是在教模型"多学点什么",而是在堵住它"少学点什么"的捷径,逼着它走一条看起来更难、但实际上更扎实的路。

另一个值得单独说一说的细节,是那个"左边的方块"实验。论文特意去分析了为什么DreamZero和π0.5在这个任务上全部失败,发现问题根本不在抓取环节,纯粹出在空间语言理解和最终摆放的衔接上。这提醒我们,评估一个机器人策略好不好,光看"成功率"这个总分远远不够,得去拆解失败到底发生在流程的哪一步,是感知问题、理解问题、还是执行问题。一个任务的失败往往不是单点故障,而是多个环节里某一个环节悄悄出了偏差。

论文最后也诚实地写了两个还没解决的问题:精细化的、接触密集的操作依然容易出错,而且模型目前完全没有"发现自己做错了并且重新尝试"的能力。Move Can Pot这个任务里,机械臂碰倒了罐子却继续用空夹爪执行后续的搬运动作,直到步数用完才结束,这个场景读起来有点让人哭笑不得,也挺真实地暴露出当前这类系统还缺一个"自我纠错"的反馈回路。

如果机器人能从看视频中学会动作的"感觉",那它能不能也从看视频中学会"发现自己错了"这件事?这个问题,这篇论文没有回答。

Q&A

Q1:NAVA-WAM是什么?

A:NAVA-WAM是Meta AI等机构提出的一种世界动作模型,核心创新是让动作策略能直接从无标签的观察性视频中学习动作相关的先验知识,不需要借助额外的视觉表征层或潜动作建模层,训练出的策略可以直接用于机器人控制。

Q2:NAVA-WAM和之前的方法相比有什么优势?

A:NAVA-WAM在LIBERO、LIBERO-Plus、RoboTwin 2.0等基准上成功率全面领先,尤其在分布外场景下优势明显,比如RoboTwin随机干扰环境成功率73.6%,超过此前最强方法近18个百分点,同时只需一半的动作标签数据就能超过基线方法用全量数据的表现,推理效率也没有被牺牲。

Q3:NAVA-WAM在真实机器人上表现怎么样?

A:研究团队把NAVA-WAM部署到Franka FR3机械臂上,三个任务共15次试验成功14次,成功率93.3%,明显高于DreamZero的66.7%和π0.5的53.3%,在需要理解空间方位词的任务上优势尤其明显,且没有做任何针对测试场景的专门微调。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-