双臂机器人打螺丝项目 前期调研(一):世界模型与机器人控制
文章目录
前言
本系列文章是作者在实际项目中的学习实记与经验总结,一方面是为了将来能够有效的快速复习,另一方面也希望能供广大网友参考。
目前处于项目初期,主要对基础知识进行补全,本文主要总结B站“可lip”制作的《一口气看懂世界模型!》,链接: https://www.bilibili.com/video/BV1ZdpM6jEi7/?share_source=copy_web&vd_source=07b7523e89f1df1419fecae12abf4ce5
一、世界模型发展历史
1.世界模型的诞生
2018年的代表性工作World Models中的世界模型结构图如下。

其中外部输入是游戏当前帧画面,经过VAE编码成隐空间Z。
世界模型通过接受
{
隐含在Z空间中的当前帧信息
M存储在h中的信息
\text{世界模型通过接受} \begin{cases} \text{隐含在Z空间中的当前帧信息} \\ \text{M存储在h中的信息} \end{cases}
世界模型通过接受{隐含在Z空间中的当前帧信息M存储在h中的信息
在学习中M被迫学会结合观测表示、动作和历史状态预测下一潜在状态。而控制器C做出选择。
而后论文中尝试通过世界模型的预测直接在梦中完成训练,也就是直接将世界模型的预测回滚,重新输入给模型进行下一步预测。(需要注意的是该模型回滚时并不直接输出预测画面,只输出潜在表示和记忆状态。)
在实际测试中发现,当预测出现偏差时而导致结果更好时,模型可能会错误的一直停留在偏差处。
例如实验中测试环境是一个怪物喷火球的躲避游戏,而模型在某个角落的预测结果是错误的,模型预测在该角落怪物会停止喷火球,从而完成作弊。
2.真实世界数据纠偏:DREAMER
该论文于2019.12发表,文中提出将梦中训练与真实环境采样相结合,从而避免模型作弊或误差累积。当预测模型出错后,在每隔一段时间的现实模型测试会纠正该错误并降低其策略分数,从而避免模型在梦中陷入误区。其后续版本DreamerV3完成了在我的世界中从零挖去钻石,同时其在消融实验中发现世界模型的性能主要来自于无监督的重建损失。
因此世界模型最重要的在于对世界的认识,而不是某个特定任务的训练。
3.另一条路线:JEPA
主要贡献:预测下一帧真实画面的过程中,过多不必要画面细节占用了神经网络的性能。另外未来不唯一也导致预测的画面趋向于多种可能性的平均。

在JEPA中世界模型只预测一个关于未来的摘要。同时对未来的真实帧通过编码器也输出一个摘要,两者对比计算损失。
这样做的好处,在于同一个摘要可以对应多个未来,同时省略了不重要的细节。
这样做也带来了坏处,导致模型出现了新的作弊路径,由于对比的两个摘要分别由两个编码器输出,如果模型学会让编码器输出常数,就会很容易的完美预测。
因此其工作主要在于如何避免模式坍缩,方法如下
如何避免模型坍缩
{
预测摘要尽可能携带预测帧信息
真实摘要尽可能携带真实帧信息
真实摘要可以被预测摘要预测
Z携带信息尽可能少,防止携带答案作弊
\text{如何避免模型坍缩} \begin{cases} \text{预测摘要尽可能携带预测帧信息} \\ \text{真实摘要尽可能携带真实帧信息} \\ \text{真实摘要可以被预测摘要预测} \\ \text{Z携带信息尽可能少,防止携带答案作弊} \end{cases}
如何避免模型坍缩⎩
⎨
⎧预测摘要尽可能携带预测帧信息真实摘要尽可能携带真实帧信息真实摘要可以被预测摘要预测Z携带信息尽可能少,防止携带答案作弊
4.图像与视频特征预测:I-JEPA、V-JEPA
这两个模型分别完成了对图像和视频特征的预测,在实际训练过程中采用了预测完整的挖空图片、视频特征的方法。

之所以使用挖空预测的方式,是实际测试中发现通过历史帧预测未来帧的效果并不如整段挖空再补全的效果好。(原因可能受限于当时条件)此时Z只携带需要预测的时空位置。
5.从挖空预测再到完整帧预测:DINO-WM
2024.11DINO-WM通过冻结编码器,把z换成真实动作。

训练过程中,DINO-WM冻结预训练的DINOv2编码器,从而避免了模型坍缩(作弊)的问题。模型中使用CEM,从高斯分布中采样多组未来动作序列。再根据历史图像与动作,对未来图像进行滚动预测。选择预测终点与目标特征距离最小的候选序列,用他们更新采样分布和协方差,再次采样并重复若干轮。
执行时只使用优化后动作序列的开头,当获取到新的真实观测再进行下一轮规划。
二、世界模型进入机器人控制的关键节点:V-JEPA2
2025.06 META FAIR·ASSRAN,BATDES,FAN,GARRIDO等发布了V-JEPA2.

V-JEPA2是过往工作的合体,整体架构分为两部分。

1.第一阶段:视觉编码器预训练
V-JEPA2使用了10亿参数大小的纯视觉编码器,结构和V-JEPA一致,仅提高了参数规模。
模型中的Encoder负责将被Mask遮盖的高维像素图片压缩成低维向量,并提供给Predictor进行预测,与完整图像摘要对比后反向传播更新梯度。而EMA Encoder则通过EMA(编码器权重的指数移动平均)更新,目的是让两侧编码器更新非对称从而避免坍缩。
训练中使用了超过100w小时的互联网视频和一百万张图片对编码器进行训练。训练完成后只保留训练好的Encoder编码器。
2.第二阶段:预测未来帧训练
第一阶段主要是为了让Encoder拥有正确提取信息的能力,而第二阶段则是训练模型能够预测出未来帧。
第一阶段训练中的Predictor是在无具体任务的情况下,对挖空部分的预测。而第二阶段则需要重新训练出一个能够针对具体任务,预测其未来潜在状态的Predictor。
训练使用62h时长、23000条轨迹的数据集,具体流程如下:
1、通过当前七维机械臂末端状态与下一帧状态,可以计算出对应Action。
2、用冻结的Encoder将当前帧编码为一个当前潜在向量。
3、Predictor接收当前帧+动作序列预测下一帧,并通过自回归滚动预测(将预测帧作为当前帧,加上对应Action预测下一帧,目的是为了让Predictor学会滚动预测)。
4、对比预测帧与实际帧的差距,计算损失并反向传播。
3.第三阶段:实际推理
1、给定目标帧,先用Encoder将其编码为一个目标潜在向量(例如目标是夹住苹果,那么需要给出一张夹住苹果的图像作为目标帧)。
2、在当前状态下从高斯分布采样大量动作序列,每个序列代表一种可能的轨迹。
3、通过Predictor,反复对当前帧+动作序列预测下一帧,也就是自回归滚动预测,快速推演出每个动作序列可能导致的未来潜在向量。
4、计算各候选动作序列所预测的最终潜在表示与目标表示之间的 L1 距离(隐空间距离),筛选出距离最小的前 k 条动作序列。根据这些优选序列,重新计算各时间步、各动作维度的均值和方差,用来更新高斯采样分布。
5、从更新后的分布中重新采样动作序列,再次进行未来预测、距离评估和优选筛选。重复这一过程若干轮,使采样分布逐渐集中到更有希望达到目标的动作序列附近。这一优化过程称为交叉熵方法(Cross-Entropy Method,CEM)。
6、优化结束后,将最终高斯分布的均值作为选定的动作序列,只执行其中的第一个动作;随后获取新的真实观测,重新进行上述规划。
4.局限性
1、该方法对相机位置敏感,试验中相机位置是手动测试出来的,当相机角度从35°趋向85°时误差随着角度线性增长。因为模型的坐标没有标点,因此相机位置一旦变化很容易导致坐标混乱。
2、该方法在长程规划中表现不足,面临误差累计与搜索空间指数增长的问题,因此抓放必须人工给予目标子图。
3、无法接收语言信息。
5.总结
JEPA最重要的是第一阶段中的训练出了一个好的编码器。后续许多工作采用其编码器作为组件。

三、世界模型在机器人控制的更多进展
1.逆动力学:UNIPI
由于不同环境的状态和动作空间都不同,为解决该问题UNIPI提出一个通用世界模型。直接使用图像作为统一状态,文本作为统一任务。
也就是所有的规划都通过图像生成,而控制则通过对图像翻译为机器人动作,也就是逆动力学。

其中一个关键设计在于将起始帧复制为很多段作为condition指导生成。
2.精炼动作的方法:Genie
Genie中使用了一种巧妙的方式从两个帧之间提取动作。

在Latent action model中存在两个组件。
LAM Encoder负责读取历史帧与未来的一帧。但它只能向后传递一个极其简略的动作token,而LAM Decoder则需要根据该动作token与当前帧来预测下一帧。
这样的设计结构就迫使LAM Encoder必须选择输出最精炼的动作token,才能让LAM Decoder能够更好的预测未来。

对机器人领域的重要意义:Latent action可以作为无标注视频与机器人策略之间的接口。
3.先成为通才,再成为专才:Cosmos 1
Cosmos1建立了一个世界基础模型平台。它并不是一个通用的视频模型,而是一个带传感器和执行器的AI。因此其所需要的数据必须是观测-动作、观测-动作这样的交替序列。模型从中学到某些真实世界的物理规律,以过去的观测和当前的扰动去预测未来。

Cosmos 1中最值得注意的是其清洗数据的过程。原始数据是约2000w小时的原始视频,并对视频做了以下操作:
1、切分
训练一个神经网络以找到镜头切换到位置(转场),将所有视频切分为没有转场的干净片段,将所有视频切分为2s到60s的片段。
2、过滤
去掉静止片段、混乱画面打上相机运动状态标签,例如平移、缩放等。
剔除画质最差的15%的视频以及游戏、动画等非真实物理场景画面。
3、标注
为每一段视频标注标签。
4、去重
分类后相似度高的片段只保留分辨率更高者(此步骤剔除约30%的视频)
5、分片
按照分辨率、宽高比、长度等打包成webdataset对应训练课程。
最终产出约1亿预训练片段和约1000万微调片段(其中没有动作标签,只有文本标签)。
但此时模型只是一个视频生成模型,因此需要后训练从而完成控制。COSMOS 1使用了一个bridge约2万段的数据集。使用一个MLP动作嵌入器将7维动作向量投影到高维,再通过交叉注意力注入到模型中区,让模型在生成每一帧的时候都能读取到当前动作信息。
3.Cosmos Policy
英伟达和斯坦福在26年1月发表在ICLR上的文章。其主要工作是将Cosmos模型正式应用在具身智能上。主要思路是将所有的模态转化为潜在帧,混入视频序列,从而后续推理中生成对应的图片再逆转化成对应模态。

如图所示动作块包含从1到k步的7维参数,而后将每一个维度归一化到[-1,1],在按行拉平。得到k*d_act个数,最后向下复制填充至维度与大小和所需图像匹配。
在预训练阶段,与COSMOS 1没有区别,同样是使用了海量的视频模型训练。
在后训练阶段则分为了三个任务,如图所示。

其中百分之50的数据用于训练:[状态+当前帧]——预测——[动作+未来状态+未来帧+Value]
其中百分之25的数据用于训练:[状态+当前帧+动作]——预测——[未来状态+未来帧+Value]
其中百分之25的数据用于训练:[状态+当前帧+动作+未来状态+未来帧]——预测——[Value]
第一个任务是训练世界模型直接规划动作并执行的能力。第二个任务是用于确保世界模型能够很好的预测未来。第三个任务是用于推测预期分数(Value)。
推理模式也分为两种。
策略模式:
直接用训练中第一个任务的推理模式,直接通过当前状态和图像生成未来动作和图像,生成未来动作而后循环。
规划模式:
首先使用训练中第二个任务的推理模式,先通过八组噪声分别去噪10步得到八个候选动作块。
而后每个动作块用推理模式生成三种未来+Value。
最后对每个未来进行打分投票,并执行得分最高的Action。规划模式以牺牲速度的代价取得了性能上较大的提升。
训练结果对比中大部分任务都优于π0.5。并且值得注意的是π0.5在训练的过程中使用了大量的遥操作数据,而Cosmos Policy是用海量的互联网视频。说明模型在预训练过程中,Cosmos Policy对互联网视频数据的消费能力很高,可以和遥操作数据训练的模型相媲美。
四、全模态世界模型:COSMOS 3
COSMOS 3可以输入语言、图像、视频、音频、动作。并且支持多种用法,可以输出多种模态。
1.双塔模型

左塔是语言塔:
千问3的backbone,将Vision和Language输入拼接为token,输入给transformer。
右塔是生成塔:
将Vision、Audio和Action拼接成token,送入transformer并生成结果。
训练的时候左塔中只完成VLM的任务,因此对右塔注意力完全屏蔽,而右塔则是可以注意到全部信息,方便其更好的预测未来信息。

在使用不同任务时,COSMOS 3有对应的模态输入输出。其中最重要的就是Policy模式。(只有在VLM模式中左塔才接受Vision,其他情况下Vision均在右塔输入)。
2.动作表示
COSMOS 3还有一个区别与所有前作的地方,那就是他的动作是由两帧之间的位置相对变换表示的。

如图所示,所有可能的模态都被列举,使用时选取需要的维度,以两帧之间维度的差别作为动作指令。
3.训练方法
语言塔初始化:
以一个VLM模型作为起点(文中使用了千问3-VL),训练分为两部分。
预训练先使用2200万个样本,再使用220万个Physical AI样本(智能驾驶、智能基础设施等)进行SFT(监督微调)。训练时为防止遗忘通用能力,将经过筛选的高质量预训练数据以1:4的比例和Physical AI数据的混回训练。
生成塔初始化:
以语言塔模型作为起点,训练分为两三部分。
预训练(通才训练)先使用7.6亿张图片与3.48亿段视频训练(其中1.39亿带音频数据),对不同的生成模式进行训练(文生图、文生视频、图生图等)。
mid-training(动作训练)为模型加入了带动作数据,其中动作占25%,数据总计6.13万小时。
post-training(专才训练)根据不同的任务需求,针对性的做出训练。

总结:世界模型具有较好的可解释性,但因为存在隐像素空间的对比,所以速度相对VLA可能更慢。但是世界模型输出的预测帧模态对于VLA是非常好的输入,π0.7的工作证明了这一点。
五、世界动作模型的发展:World Action Model(WAM)
世界模型WM:
以当前动作和观测预测未来观测
部署时需要额外的动作搜索或规划
VLA:
以语言指令和当前观测判断当前动作
部署时直接产生动作
世界动作模型:
以语言指令和当前观测判断当前动作与运动后未来观测
部署时直接产生动作

1.推理速度的优化与泛化性证明:DreamZero
DreamZero的工作中第一次提出来世界动作模型(WAM)这个概念。并且文中批判了VLA模型,因为VLA模型是从语言模型初始化来的,因此其对新物品的泛化性可能更好,但对新动作的泛化性很差,需要很多训练才能成功。
DreamZero的骨干使用的Wan2.1模型,并新增了一个Action Encoder和State/Text Encoder。DreamZero利用视频模型天然对动作和物理学的理解,生成动作和画面。

然而世界模型存在推理速度过慢的通病,因此DreamZero做了大量的优化工作,令模型能够在预热的GB200上,于0.6s内完成下一步推理,而每一步时长1.6s。因此模型在执行上一步的过程中,就可以完成下一步的推理。而这种方式又使得模型能够以当前真实画面完成推理,大幅度减小了模型推理过程中的累计误差。(此处的真实画面并非真正意义上的起始画面,而是模型在当前动作块运动过程中采集到的画面,模型直接通过这个中间画面推测下一步动作。)
其中值得注意的一种优化方式是,在flash版中,为了进一步提高推理速度,模式生成的视频会相对模糊。所以在训练的时候也要增加视频的噪声,让模型适应从模糊视频中提取信息。
在训练结果上看,DreamZero的泛化性非常好,和π0.5相比在全新的环境与任务中可以做到。而这种泛化性并不只体现在任务执行上,还体现在训练中对数据的要求上。
然而DreamZero在记忆上只保存6.6s的记忆,存满以后就需要清空。

从图中可以看到只使用视频损失的情况下,人类视角视频带来了16个百分点的提升,几乎与机器人视频带来的提升相同。这意味着DreamZero在预训练过程中可以有效消耗大量的非遥操数据。
2.世界动作模型LingBot-VA
LingBot-VA从另一个角度批判了VLA,文中对VLA的表征纠缠问题提出质疑,认为VLA同时需要读懂自然语言指令、看懂场景、理解物理动力学等等。
LingBot-VA使用的方法也是先预测下一帧,而后通过画面反推动作。而为了防止同一个模型承担了过多任务而导致,LingBot-VA选择了和COSMOS 3类似的双流结构,双流在中间通过交叉注意力沟通。

同时在注意力中,使用块内双向并行,块间严格因果。
也就是当前动作和视频可查看:历史的动作和视频。而待预测的加噪视频可查看:历史视频、历史动作(防止当前视频查看当前动作从而作弊)。
而待预测的加噪动作可查看:当前和历史视频、历史动作。
同时模型保留历史的动作和视频作为记忆,后续的动作和视频直接接在尾部。同时模型支持同步或异步推理。同步时机器人需要等待,而异步时则分朴素异步与两种推理方式。朴素异步是通过输出的帧进行自回归预测。前向动力学接地的异步方式是使用最新真观测当场重新计算。
记忆对长序列任务有明显的提升,文中提出“擦盘子并必须擦六下”的任务,证明长序列能够记住擦了几次盘子,从而更好的完成长序列任务。
2.LingBot-VA的后续模型:VA 2.0
2026年7月发布的VA 2.0批判了前作,并提出了一套新的结构。

首先模型中的Planner模块接收自然语言指令和近期视觉,而后提供成Task Instructions(子任务指令)。而SemVAE负责接受机器人或人类指导视频(支持将人类示范视频作为任务上下文)。

SemVAE首先训练视觉编码器与解码器,也就是图中蓝色的Encoder与Decoder模块。右边的绿色模块是在训练过程中,要求Latent Action Tokenizer根据两帧,输出一个维度远低于图像隐空间的潜在动作Z,并让其根据潜在动作Z和当前帧预测下一帧。这种结构强迫模型读取两帧中的动作信息,从而便于预测的时候还原。这里的思想很类似Genie中的做法。
同时论文还加入了一个MCP模块,主要目的是在训练的过程中增加模型对较远未来的预测能力。文中提到,如果只训练模型预测未来一帧,模型追求的就只是短期的视觉连续性,而并非动力学知识。
在训练数据上,VA 2.0分为了三个阶段。阶段一是训练模式文生图能力,阶段二是训练模型通用文生视频的能力。
而第三阶段则采用了三种数据:
1、机器人数据,几乎保留了1.0版本的融合和内部演示数据。
2、人类演示数据,数千小时六百操作者的人类操作视频。
3、In-context数据(合成ICL配对数据),将机器人数据的首帧改为人类操作视频,模型生成一段人类操作视频。最后按照任务语义保持和物理合理打分。合理的与原机器人轨迹配对。保证机器人对人类操作数据的消化能力。(此处对人手动作进行标注,保留了双手的6自由度位姿态,而22个手指关节角则压缩为左右各一个标量夹爪开合度。)
同时对所有数据进行细粒度标记,长轨迹动作切割成原子动作片段,每段用Qwen3.5- 397B配上语言提示和一个全局任务指令。

MCP模块内部,是从Transformer中的提取四层特征通过MLP融合,再提供给MCP Module1。MCP Module1做出当前时间以后一步的预测,MCP Module2接收MCP Module1的中间特征并完成当前时刻以后第二步的预测。MCP Module3再接收MCP Module2的中间特征并完成当前时刻以后第三步的预测。最终通过这些预测反向传播计算梯度并更新模型参数。
推理的时候也分为了两种模式,第一种是在推理时完全丢弃MCP模块,也得到了较好的效果。另一种是保留MCP模块,在运算时将下一个视觉块计算出来,可以用于隐藏延迟。

在推理过程中,先由High-Level Planner产生一个子任务指导,而后VA层通过子任务指导与Robot State输出机器人动作。机器人获得动作,运动后产生新的观测,输出给Planner后继续下一轮循环。
在试验结果上看,对比VA 1.0和π0.5,成功率有了很大的提升。

3.推理时想象画面的重要性:FAST-WAM
文中为了研究模型是否想象画面对推理是否重要做了消融试验。如图所示在推理时不想象画面时,性能并没有大幅度跌落,反而大大降低了推理延迟。而在去掉训练时的视频目标时,性能有了较大跌落。不过需要注意的是文中只做了分布内的试验,并没有研究想象画面对泛化性的影响。

包括在之前提到的LingBot-VA中,也通过减弱推理画面质量从而提升延迟,而这个操作对域内性能并没有很大影响。
五、总结世界模型
(以下是作者自己的理解,仅供参考)
世界模型的发展方向,主要集中在以下几个方向:
1.多源数据利用与表征对齐
世界模型正在探索联合利用语言、视觉、动作和人类示范等信息。输入与数据来源的扩展提供了更多学习机会。但具体收益还取决于数据质量、表征设计
跨模态对齐等。
2.模块分工与信息共享
动作专家、双流结构和高层规划器等设计,为不同学习目标、生成方式及计算频率提供了专用路径。不能将所有任务丢给同一片神经网络,期待他在迭代中自动学会过于复杂的任务。换句话说,学会将纠缠的表征分开并运用与不同的任务,本事也会消耗神经网络的能力。
3.训练目标与信息约束
重建、语义对齐、未来表征预测、动作监督和多跨度预测,会引导模型保留不同信息。损失函数需要与注意力掩码、目标网络更新和输入条件共同设计,以减少表征坍缩、信息泄漏及捷径学习。例如强迫模型根据两帧输出一个小维度的信息块,再让模型根据该信息块与前一帧推测后一帧,就是一种非常巧妙的训练方法。
4.训练监督、推理计算与执行效率
训练时的视频预测监督和推理时显式生成未来画面,可以发挥不同作用。Fast-WAM表明,在其评测设置中,保留视频共训练、部署时省去显式未来生成,可以取得较好的性能与效率权衡。其他加速方法还包括减少去噪步骤、蒸馏、缓存、稀疏计算和异步执行等。
4.误差累积问题
自回归滚动预测容易随预测跨度增加而累积误差,因此需要利用真实观测校正预测状态。但提高观测处理与重规划频率,也可能增加计算开销;同步执行还可能使机器人等待推理完成。如何协调预测跨度、反馈频率和推理开销,并通过异步执行兼顾响应速度与闭环控制效果,是值得进一步研究的问题。
以后作者将继续学习或者研究世界模型在双臂机器人领域的应用,并最终完成让机器人打螺丝的艰巨任务!
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐




所有评论(0)