← 返回 PaperDaily 视觉与图像

Apple实测:世界模型多塞2.4亿参数,技能发现反而四连跌

在机器人学习圈子里,长期存在一个有点“程序员味”的执念:能不能别让模型把每个动作都当成一行新代码来背,而是像人写程序一样,先把“拿起”“放下”“对齐”这类子技能抽成函数库,遇到新任务直接调用?

Apple实测:世界模型多塞2.4亿参数,技能发现反而四连跌
原论文信息如下:
论文标题:
REFACTOR-VLA: Unsupervised Library Learning of Typed Motor Programs
发表日期:
2026年09月
发表单位:
Apple
原文链接:
https://arxiv.org/pdf/2609.01215

paperdaily_reaction_gif

在机器人学习圈子里,长期存在一个有点“程序员味”的执念:能不能别让模型把每个动作都当成一行新代码来背,而是像人写程序一样,先把“拿起”“放下”“对齐”这类子技能抽成函数库,遇到新任务直接调用?这个想法听起来很美,做起来却极难。难就难在一个让人头疼的问题上:什么样的两段机器人动作可以被当成“同一个技能”?是长得像就算,还是看它们造成的物理后果是否一致?
Apple 研究团队最近放出的这篇 REFACTOR-VLA,恰好就把矛头对准了这个等价性难题。更有意思的是,它顺手还讲了一个反直觉的故事:世界模型不是越大越好。把世界模型从 1.88 亿参数涨到 4.3 亿参数,居然在 4/4 个 LIBERO 子套件上全线变差;而改一改训练目标的形状,反而带来 NMI 平均 +0.184 的全面提升。这种“加参数不如加对目标”的结论,放在今天这个拼命堆算力的环境里,确实挺值得咂摸。

机器人技能库学习的新范式:从行为等价到类型化程序

先交代一下背景。VLA(Vision-Language-Action,视觉-语言-动作)模型是当前机器人操控领域的主流范式之一,OpenVLA、π0、RT-2、RDT-1B 这些名字,经常出现在各种机器人demo里。它们通常接收相机图像和语言指令,然后直接输出底层电机命令或者一小段动作序列。这类模型被论文称为“一体化”模型:所有行为知识都压在原始动作预测里,没有显式的、可复用的子技能边界。
一体化模型有两个典型毛病。一是长程任务特别容易崩:一个“把杯子放回托盘再走到另一边”的任务,需要模型在几十上百个时间步里一直保持意图一致,扁平动作预测很难做对时序上的信用分配。二是几乎不可解释:模型到底是学会了“抓握”这个泛化技能,还是死记了某个轨迹模板?中间状态完全是个黑箱。人类处理复杂任务时,会本能地把任务拆成子目标,再把这些子目标映射到已经掌握的运动技能上。REFACTOR-VLA 想做的,就是把这种“分层组织”塞进 VLA 里。
论文的名字 REFACTOR 取自软件开发里的“重构”。在写代码时,程序员经常把重复出现的代码片段抽取成函数或类,让整个工程更容易维护。REFACTOR-VLA 把这件事搬到机器人技能学习里:从大量演示轨迹中自动发现“可复用抽象”,再把这些抽象组织成一个类型化程序库,供高层策略调用。这里的程序不是 Python 或者 C++,而是一种带类型的 lambda 演算表达式——简单说,就是一种结构规整、可以被类型检查的小型“机器人动作程序”。它们由 Typed Program Emitter(TPE,类型化程序发射器)生成,并由 Library-Conditioned Action Decoder(LCAD,库条件动作解码器)真正解码成动作块。动作库中还有类似 Hindley-Milner 类型系统的约束,用来保证生成的程序在结构上是合法的。

wake/sleep架构如何实现无监督技能发现

这里不得不提 wake/sleep(唤醒/睡眠)架构。这个思路最早来自神经网络领域的一种无监督学习范式:系统交替进行“唤醒阶段”和“睡眠阶段”。唤醒阶段使用自底向上的识别连接,根据输入调整底层控制策略;睡眠阶段则用自顶向下的生成连接,产生一些“幻想”出来的表示,并对这些表示做压缩和整理。符号 AI 领域里,DreamCoder 就是靠这种模式不断“生长”程序库的。但机器人的动作是连续信号,直接套用符号程序学习的套路根本行不通。
REFACTOR-VLA 把 wake/sleep 细化为一个三阶段外循环。Phase A 是“世界模型热身”:先在 LIBERO 数据上预训练一个潜在世界模型 Mφ,让 Mφ 学会预测在给定动作序列后,机器人下一段状态表征会变成什么样。Phase B 是“唤醒阶段策略优化”:策略借助已有技能库来生成类型化程序,并用这些程序训练动作解码器,让它学会把高层程序转成连续的 16 步动作块。Phase C 是“睡眠阶段技能发现”:系统把演示轨迹切成一堆片段,用行为等价核判断哪些片段在动力学意义上是同一回事,然后把它们聚成簇;聚好类之后,再利用语法层反合一(anti-unification)从簇里抽取公共子结构,编译成可复用的 lambda 程序抽象。
不过,新抽象也不是随便就能入库存的。系统设了两道门禁:一道是 MDL(Minimum Description Length,最小描述长度)门禁,要求新抽象必须带来足够大的压缩收益,论文里阈值为 4 nats;另一道是“回报保持”门禁,要求在验证器 rollout 中,把原始轨迹替换成新抽象之后,期望回报损失不超过 ε=0.05。只有能通过这两道检查的抽象,才会被真正写入技能库。这种“先聚类、再反合一、再门控”的流程,让技能库的成长像一台不断给代码做重构的编译器。
图1:REFACTOR-VLA整体架构
图1:REFACTOR-VLA整体架构。潜在世界模型 Mφ 借助冻结的DINOv2编码器和DreamerV3风格的分层后验/先验,提供“真实动力学标准”;行为等价核(BEK)用价值差异加Wasserstein散度对轨迹片段聚类;Siamese摊销器 kχ 从 Mφ 蒸馏得到;类型化程序发射器(TPE)负责生成通过类型检查的lambda项;库条件动作解码器(LCAD)是整流流动作头。外层驱动每轮依次执行唤醒阶段、睡眠阶段和库重构阶段。
注意 Phase C 的聚类并不使用任务标签。它完全基于世界模型 Mφ 的动力学预测来进行,所以论文把这一整套流程叫做“无监督技能库学习”。至于这里为什么需要世界模型,就要说到行为等价核了。

行为等价核(BEK):连接世界模型与技能聚类的桥梁

要定义“行为等价”,最朴素的直觉是看两段轨迹放进同一个机器人状态里,滚出来的结果是否难以区分。如果两段动作从同一位置出发,最终都把机械臂送到差不多的位置、产生差不多的未来状态分布,那它们就是等价的;哪怕它们的关节角度轨迹长得完全不一样,也不影响这个结论。反之,两段看起来很像的动作,如果在动力学上会导致完全不同的后续状态,就不能算同一个技能。
论文的形式化工具叫 Behavioral-Equivalence Kernel(BEK,行为等价核)。假设两段轨迹片段分别是 τ 和 τ′,把它们插入到同一初始状态 s 上,用世界模型 Mφ 往后 rollout。BEK 的差异度量 Dφ(τ, τ′) 由两部分构成:第一部分比较在 rollout 中获得的期望价值差异,第二部分比较插入轨迹后 k 步潜在 rollout 状态分布的 Wasserstein-2 距离。两段轨迹带来的期望回报越接近、未来状态分布越接近,Dφ 就越小,也就越应该被聚进同一个技能类。
BEK定义公式
BEK定义公式。w_R 和 w_E 是回报项与动力学项的权重;Vφτ(s) 表示把片段 τ 插入状态 s 后世界模型给出的期望回报;W₂ 是二阶Wasserstein距离,可以粗略理解为“把一个概率分布搬到另一个概率分布的最小代价”,常被形象地叫做“推土机距离”。
直接用 BEK 给成千上万对轨迹片段做两两比较,计算量是 O(B²) 量级,也就是说每来一对候选轨迹都要跑一次 rollout,完全吃不消。论文因此引入了一个 240 万参数的 Siamese(孪生)网络 kχ 来“摊销”BEK 的计算:它把一条轨迹片段编码成一个归一化嵌入向量,训练时用世界模型 Mφ 的片段编码结果作为监督目标,让两个嵌入之间的余弦距离尽量逼近 BEK 的语义差异。蒸馏目标用的是简单的 MSE(均方误差),关键点是这个过程不碰任务标签——梯度完全来自世界模型学到的动态结构。
BEK蒸馏损失公式
BEK蒸馏损失公式:把 Siamese 网络的归一化输出与 Mφ 编码器给出的片段表征 z_T 做 MSE 对齐。冻结的 Mφ 负责提供“动力学等价”的知识,kχ 负责把这些知识压缩成可快速查询的嵌入。
得到嵌入之后,系统用固定簇数的 KMeans 做聚类,并用 NMI(Normalized Mutual Information,归一化互信息)来评估聚类结果与真实任务类别之间的一致性。NMI 接近 1,说明聚类几乎能完美还原出“每个片段属于哪个子任务”;接近 0,则说明聚类和真实任务结构基本没关系。这些设计细节虽然不太适合写进产品 PR 稿,但对理解后面那组“反直觉结果”非常关键。

训练目标形状vs模型容量:一个反直觉的双杠杆发现

这篇论文在实验上最有传播点的地方,在于它很直接地“打了容量假说一巴掌”。所谓容量假说,在这里指一种常见的潜意识预期:世界模型参数量越大,学到的潜在表示就越丰富,下游技能聚类应该也会更好。论文专门做了一个 4.3 亿参数的 Mφ 规模放大实验。为了排除“大模型没训练够”的干扰,他们还对 430M 模型重新调了学习率,让它在 Phase A 的最终损失上严格低于 188M 小模型。也就是说,大模型在训练损失这项指标上确实“学得更好了”。
但一到 Phase C 的技能聚类,事情就变得尴尬了:430M 模型在 libero_object 上 NMI 从 0.285 降到 0.245,libero_spatial 从 0.475 降到 0.329,libero_goal 从 0.493 降到 0.475,libero_10 从 0.736 降到 0.646。四个子套件,一个都没涨,最大跌幅达到 0.146。作者的猜测是:更大的世界模型编码了一种“不同但未必更好”的轨迹片段划分方式。换句话说,训练损失的下降并没有转化成行为等价的语义结构。
图4:Phase A世界模型在四个LIBERO套件上的最终损失
图4:Phase A 的 Mφ 最终损失对比。蓝色为188M基线;橙色为430M重新调学习率后的结果。430M在 libero_object 上损失为 0.3555,低于188M的 0.4176,说明大模型变差并不是因为欠训练。图中还能看到长程套件 libero_10 的损失明显高于短程套件。
那什么才是真正的“胜负手”?论文把目光转向了训练目标的形状。他们在 Phase A 世界模型热身阶段增加了一个辅助的 InfoNCE 损失(InfoNCE 全称 Information Noise-Contrastive Estimation,信息噪声对比估计)。InfoNCE 是对比学习里常用的损失函数:给定一批样本,模型要能从众多“干扰项”中正确找出与当前样本匹配的正样本。REFACTOR-VLA 的做法是在片段编码层上,让同一子任务内的片段作为正样本彼此靠近、不同子任务的片段互相推开。这里的监督信号来自任务编号 task_index,只作用在世界模型热身阶段;真正的 BEK 聚类蒸馏过程依然不接触标签。
表1:Phase C的BEK NMI结果
表1:Phase C 的 BEK NMI 结果(固定簇数KMeans,在1024个片段测试集上评估)。UB 是使用 task_index 监督得到的理论上限;第三列是不加 InfoNCE 的蒸馏结果;第四列是加入 InfoNCE 后、在 n=3 个随机种子下的均值±标准差。
对比表1里的“no-InfoNCE”和“+InfoNCE”两列,差距非常直观:不加 InfoNCE 时,四个套件平均 NMI 只有 0.493;加入之后平均 NMI 升到 0.749,绝对提升 0.252,相对提升约 50.7%。在 spatial 和 goal 两个套件上,NMI 分别达到 0.867 和 0.915,几乎追平了 task_index 监督上限;即便效果最弱的 object 套件,也从 0.285 涨到 0.462。三颗种子的标准差全部不超过 0.025,说明这个提升不是碰运气。
把两个实验放在一起看,就能拼出“双杠杆”的全貌:固定目标形状只加容量,4/4 个子套件全部下跌;固定容量只改目标形状,4/4 个子套件全部上涨。真正绑定技能发现质量的,不是参数量,而是世界模型被训练成什么样。论文里那张左右双面板图,把这种反差表现得相当直白。
图3:容量与目标形状的双杠杆对比
图3:容量与目标形状的双杠杆对比。左半部分是固定训练目标时把 Mφ 从188M扩到430M,Phase C的NMI在全部4个套件上下降(红色);右半部分是固定188M容量、在Phase A加入辅助InfoNCE损失后,NMI在全部4个套件上提升(绿色)。
meng.jpeg
龙哥看到“模型变大反而四连跌”这组结果时,第一反应确实是有点懵的。毕竟现在的主流叙事都倾向于“更大的世界模型=更强的世界模拟”,而这篇论文用一组控制得很干净的对比提醒我们:当评价指标不是下一步预测误差,而是“学到的结构是否语义可用”时,训练目标的形状比单纯堆参数更要紧。

LIBERO基准上的全面验证与未来展望

REFACTOR-VLA 的评测主战场是 LIBERO 基准套件。LIBERO 是机器人长期操作领域比较常用的仿真环境,包含 libero_object、libero_spatial、libero_goal 和 libero_10 四个子套件,分别考察物体操作、空间关系、目标泛化和长程任务。论文做实验也用了相当“重”的配置:所有阶段共用冻结的 DINOv2-base 视觉编码器,分布式数据并行训练 4000 步,BEK 部分有两套实现,默认的 legacy_cosine 模式能在不牺牲 NMI 的前提下省掉差不多一半墙钟时间。
为了验证 BEK 聚类的实际优势,论文拉来了四个已发表的技能发现基线:AtomicVLA、AtomSkill、BLADE 和 LRLL。这些基线各有各的“等价性判断”方案:AtomicVLA 用 Gumbel 门控的专家路由结果来划分技能,AtomSkill 靠 VLM(Vision-Language Model,视觉-语言模型)提名关键帧做语义对比聚类,BLADE 和 LRLL 则让大语言模型来判断轨迹是否等价。论文很直接地指出:这些方案都没有校准到机器人自身的动力学——用 LLM“感觉上的相似”来代替“动力学上的相似”,方向很容易跑偏。REFACTOR-VLA 则用世界模型 rollout 作为等价性的仲裁者,本质上更贴近机器人本身的行为后果。
表2:BEK+InfoNCE与最强发布基线的逐套件对比
表2:BEK+InfoNCE 与各套件最强发布基线的逐项对比。AtomSkill 在 object 和 spatial 上是强基线,AtomicVLA 在 goal 和 LIBERO-10 上更强。BEK+InfoNCE 在全部 4 个套件上胜出,平均 NMI 增益 Δ=+0.184。
表2 的结果有一个值得注意的细节:最强基线在每个套件上是不同的。这意味着没有任何一个已有方法能在全矩阵上保持领先,而 BEK+InfoNCE 能做到 4/4 全胜。结合 n=3 多随机种子统计,平均提升 Δ=+0.184。论文还把监督上限、无监督蒸馏、InfoNCE三种设置画成网格图,可以直观看到“有监督上限”与实际结果的差距在各套件上如何变化。
图2:四种监督模式在四个LIBERO套件上的NMI对比
图2:Phase C 在 4 个 LIBERO 套件 × 4 种监督模式下的 NMI 网格。最左侧深色柱是 task_index 监督上限;第二组柱是 Mφ 蒸馏结果;第三组柱是加入 InfoNCE 之后的结果,每个套件上都能恢复监督上限缺口的 26% 到 98.5%。
跨数据集泛化方面,论文做了一个“跨提供方”的种子收敛实验:把不同子集划分视为不同提供方,考察成对 NMI 的稳定性。n=12 对组合的 percentile bootstrap 95% 置信区间是 [0.683, 0.729],点估计 0.705。这个数字稍微越过论文预注册的 0.70 门槛,但置信区间下限还差 0.017 才到门槛,所以作者自己也承认结果“borderline”。这种不藏着掖着的做法,倒是值得很多论文学习。
图5:跨提供方种子收敛的森林图
图5:跨提供方种子收敛森林图,n=12 对组合的合并菱形为 0.705,95% 置信区间 [0.683, 0.729]。虚线圈出 0.70 严格门槛和 0.60 实质性效果下限。
技能库学习本身也产出了一个有意思的结果:在语言层(Lang slot)上,系统从 LIBERO_object 的 200 条演示中发现了 3 个可复用的类型化抽象,共压缩 1211 nats。其中最大的一个抽象是二元模板,可以理解成“拿起 X,放进篮子 Y”这种结构,贡献了 55% 的 MDL 增益;另外两个一元抽象负责处理单物体场景。唤醒阶段的解码器在实际使用时用到了 3 个抽象中的 2 个,并且能把采样的 256 条演示全部改写为库调用形式,改写前后速度误差只变化了 0.0059,说明库的介入没有显著改变原有动作分布。不过,在电机原语子空间上,系统在 5 种 MDL 阈值下都抽不出哪怕一个抽象,论文把这种连续动作层抽不动抽象的现象当作一个诚实的负面结果报告了出来,而不是想方设法粉饰过去。
未来工作方面,论文基本把方向说得比较清楚:一是把 BEK 技能库学习搬到真实机器人环境 RoboCasa 上做验证;二是扩大跨提供方评价的样本量,让 0.70 这个门槛的统计结论更扎实。对从业者而言,这篇论文最大的启示可能不是某个组件本身,而是提醒大家重新审视一下“评测损失降了,表示质量就一定涨吗”这个基础问题。REFACTOR-VLA 用 4/4 的负结果给出了一个明确回答:不一定。

龙迷三问

下面是龙哥对于大家可能的一些问题的解答:
这篇论文到底在解决什么问题?Apple提出REFACTOR-VLA,用wake/sleep式技能库学习取代单体VLA。基于行为等价核的聚类让动作片段按最终效果而非表面轨迹归组,并提炼为类型化程序。
这篇工作最值得看的点是什么?BEK+InfoNCE在4/4套件上优于最强基线(平均Δ=+0.184 NMI),430M参数在4/4套件上性能下降,验证了训练目标形状比模型容量更重要。
这篇工作的边界或风险在哪里?优点:提出BEK形式化行为等价,wake/sleep架构创新,MDL门控保证库质量,在LIBERO上全面验证。缺点:LIBERO无奖励列导致返回保持门无效,跨提供方0.70阈值仍处于边界,430M容量假说被否定但未深入分析原因。
如果你还有哪些想要了解的,欢迎在评论区留言或者讨论~

龙哥点评

论文创新性分数:★★★★☆

提出REFACTOR-VLA框架,采用wake/sleep架构,通过行为等价核(BEK)在潜在世界模型滚动中聚类轨迹片段,并利用类型化lambda演算程序库进行技能抽象与动作解码。

实验合理度:★★★★☆

归一化互信息(NMI),TPE准确率,LCAD速度误差,MDL增益

学术研究价值:★★★★☆

提出REFACTOR-VLA框架,采用wake/sleep架构,通过行为等价核(BEK)在潜在世界模型滚动中聚类轨迹片段,并利用类型化lambda演算程序库进行技能抽象与动作解码;更关键的是问题定义是否可复用到同类任务。

稳定性:★★★☆☆

现有材料未提供充分的极端条件、重复运行或扰动测试,稳定性暂按中性评价。

适应性以及泛化能力:★★★☆☆

现有材料未完整展示跨数据集、跨场景或分布外实验,泛化能力仍需进一步验证。

硬件需求及成本:★★★☆☆

188M参数世界模型(101.58M可训练),430M参数扩展版本;Siamese摊销器2.4M参数;LCAD约10.9M可训练参数;使用8块H100 GPU训练4000步。

复现难度:★★★☆☆

现有材料未确认完整代码、配置、数据处理脚本和权重是否齐备,复现难度暂按中性评价。

产品化成熟度:★★★☆☆

论文验证以研究实验为主,真实部署中的时延、成本、维护和异常场景仍需补充验证。

可能的问题:LIBERO无奖励列导致返回保持门无效,跨提供方0.70阈值仍处于边界,430M容量假说被否定但未深入分析原因。

主要参考文献

REFACTOR-VLA: Unsupervised Library Learning of Typed Motor Programs. Apple. arXiv:2609.01215.
论文地址:https://arxiv.org/pdf/2609.01215
文中涉及的对比系统:AtomicVLA、AtomSkill、BLADE、LRLL、OpenVLA、DreamCoder 等,均见原论文引用列表。


*本文仅代表个人理解及观点,不构成任何论文审核或者项目落地推荐意见,具体以相关组织评审结果为准。欢迎就论文内容交流探讨,理性发言哦~ 想了解更多原文细节的小伙伴,可以点击"阅读原文",查看更多原论文细节哦!       

转发文章 微博 X LinkedIn Facebook
龙哥读论文 · PaperDaily

本文基于龙哥读论文 PaperDaily 数据库整理,结合论文原文与工程视角进行解读。

LONGGE AI COMMUNITY

把每天读到的论文,变成长期积累

加入「龙哥读论文」知识星球,持续获取 AI 论文、资讯、开源项目、招聘与研究思路。

加入龙哥读论文微信群:添加微信 kangjinlonghelper,备注“研究方向 + 地点 + 学校/公司 + 昵称”。

龙哥读论文知识星球二维码 微信扫码加入知识星球