MA-VLA:面向多臂协作与组合泛化的视觉-语言-动作模型 MA-VLA: Multi-Arm Vision-Language-Action Model for Collaboration and Compositional Generalization
把指令拆成原子动作分给各臂,用臂洗牌训练实现未见协作模式的组合泛化
前置知识
视觉-语言-动作模型(VLA)
VLA 是接收视觉观察(如多视角 RGB-D 图像)、本体感受状态(关节角、夹爪开合)和自然语言指令,直接输出机器人控制动作的端到端神经网络。代表工作有 RT-2、OpenVLA、pi0 等,通常以视觉-语言模型为骨干,再接动作生成头,通过大规模多模态数据训练获得跨任务的操作能力。
MA-VLA 的执行器就是在 pi0 基础上改造的多臂 VLA,理解 VLA 的输入输出范式是读懂其架构设计的前提。
行为克隆(Behavior Cloning)
最常用的机器人模仿学习方法:把策略学习当作监督学习,用专家演示中的$(o_t, l, a_t)$三元组训练,最小化动作级损失 $\mathcal{L}_{BC}(\theta)=\mathbb{E}[\ell(\pi_\theta(o_t,l),a_t)]$,其中 $\ell$ 可以是 MSE 或交叉熵。它无需在线探索,但性能依赖演示数据的质量与覆盖面。
MA-VLA 与所有基线(ACT、DP、DP3、Pi0-FAST)都用行为克隆目标训练,且 Arm Shuffle 和 View Dropout 都是在不改变该损失的前提下做的数据级扰动。
流匹配(Flow Matching)
一种生成式建模方法,训练网络预测一个去噪向量场,把高斯噪声样本 $x_t^\tau$ 沿学到的流场积分到目标数据分布。pi0 用它生成连续控制动作序列,比离散 token 化动作更平滑、物理一致性更好,特别适合高频精细操作。
MA-VLA 执行器的动作头采用 pi0 风格的流匹配,并通过多头投影层把共享 latent 分解为各臂独立的动作输出。
组合泛化(Compositional Generalization)
指系统把训练中见过的基本元素(词汇、技能、子任务)重新组合,去解决训练中从未出现过的组合方式的能力。例如学过「抓取-抬起-放置」和多种堆叠顺序后,能执行一个新的堆叠顺序。它考察的是结构化表征而非记忆。
本文的核心贡献就是把组合泛化引入多臂协作:原子动作保持在分布内,但协作结构(角色分配、时序、同步)在测试时是全新的。
多臂协作与分工
多臂机器人系统通过并行执行和协调控制完成单臂无法完成的任务,如双手递接、多人堆叠。人类团队的高效合作依赖分工:把复杂目标拆成中粒度职责,再由个体执行原子动作组合成连贯计划。如何显式表达「谁在哪一步做什么」是多臂学习的核心难点。
MA-VLA 的整个方法设计就是把这种分工显式写进语言接口,理解协作任务的结构才能理解为什么要做原子提示分配和臂洗牌。
研究动机
多臂协作正成为具身操作的核心能力,但现有方案存在一个结构性缺陷:无论是行为克隆、扩散策略(DP)还是主流 VLA 模型(Pi0、Pi0-FAST),都把语言当作单一全局指令直接映射到控制,没有显式的任务分解与跨臂子任务分配机制。分工只能从数据中隐式推断,导致策略严重过拟合训练时见过的一小撮协作模式。后果在数据中非常直观:RoboFactory 基准上 3-4 臂任务里 DP 平均成功率仅 15.3%,Pi0-FAST 仅 11.8%;一旦测试时的协作结构是训练中没见过的(例如把蓝-绿-红堆叠顺序换成绿-蓝-红),Pi0、DP、Pi0-FAST 的成功率全部跌到 0%;真实双臂 SO101 上把堆叠/放置/传递顺序反转后,Pi0 四个任务全部 0/20。也就是说,这些系统学到了「这组臂在这个布局下怎么做」,而不是「协作本身该怎么做」,角色互换或重新编排就会彻底失效。
本文的目标是本文要构建一个统一的视觉-语言-动作框架,使多臂系统能够把高层指令显式分解为可解释的中粒度原子动作,并明确分配给每一只机械臂;同时通过训练策略切断「行为-臂身份」的绑定,让模型在测试时能把训练中见过的原子动作重新组合,解决从未见过的协作模式——作者称之为多臂组合泛化(multi-arm compositional generalization):原子动作库 $\mathcal{U}$ 保持不变,但测试组合满足 $\mathcal{P}_{test}\not\subset\mathcal{P}_{train}$。目标是在 in-domain 性能不倒退的同时,把 OOD 组合泛化从全基线的 0% 提升到非平凡水平,并在仿真(2-4 臂)和真实双臂平台上同时验证。
与已有工作不同的是,现有多臂工作分两条路:模仿/扩散方法(如 RoboFactory 用 DP)专注双臂或少数学过固定角色;RoboBallet 用强化学习协调 3 臂以上,但多臂 VLA 几乎空白。泛化研究则集中在物体外观、光照等视觉扰动上,无人系统研究协作结构的组合泛化。本文的独特切入是把人类团队协作中的「分工」直接编码进语言接口:不是把指令当作静态命令,而是当作主动协调信道——由 VLM 规划器输出每臂每阶段的原子提示,并首创 Arm Shuffle 训练时随机置换各臂的输入输出配对,强制模型语义化地解释指令而非依赖臂的索引或空间位置。这同时解决了表达(显式分工)和泛化(角色无关)两个问题。
核心方法
直觉上,MA-VLA 模仿人类团队:先分派任务,再各自执行。技术上由两个组件构成。第一是 VLM 规划器(GPT-4.1,不微调):输入高层指令 $\mathbf{l}$ 与规划图像 $\mathcal{I}$,一次前向即把指令分解为 $T$ 个阶段的原子提示 $(\mathbf{p}_1,\dots,\mathbf{p}_T)$,其中 $\mathbf{p}_t=(p_t^1,\dots,p_t^N)$,$p_t^i\in\mathcal{A}$ 表示第 $i$ 臂第 $t$ 阶段的原子指令(如抓取、扶碗、放置),$\mathcal{A}$ 是人工策划的有限模板集,VLM 输出会被规范化为合法模板以保证动作词表可复现。第二是 VLA 执行器(pi0_base 初始化):把各臂提示拼接为统一指令串,与全局加腕部多视角图像、各臂本体状态一起输入,单次前向联合输出全部 $N$ 臂的动作,多头投影层分离各臂动作头,流匹配保证轨迹平滑;训练时叠加 Arm Shuffle 与 View Dropout 两个数据级扰动,在不改变损失的前提下提升鲁棒性与泛化。
核心创新有两点,本质都指向「解除行为与臂身份的绑定」。其一是原子动作分配:与已有 VLA 把整句指令压成一个全局向量不同,语言在这里变成结构化的协调信道,分工被显式写出(谁、在哪一阶段、做什么),这使技能可以跨任务复用与重组。其二是 Arm Shuffle:每个训练迭代以概率 $p_{shuffle}$ 对所有臂做随机置换 $\sigma\in S_N$,把 $(\mathbf{s}_t^i,\mathbf{v}_t^i,\mathbf{p}_t^i,\mathbf{a}_t^i)$ 整体替换为第 $\sigma(i)$ 臂的对应量。注意置换是「打包」进行的——每臂的状态、视角、提示、动作作为一致的四元组整体换位,所以监督信号仍然正确,但模型无法再通过臂的索引或固定空间位置预测行为,只能语义地读指令。这与简单的角色互换或独立训练每臂有本质区别:它让单个统一模型学会排列不变的协作推理。配套的 View Dropout 以 $p_{drop}$ 概率把部分相机视角置零,迫使模型利用冗余空间线索。
方法步骤详情
流程四步。第一步数据准备:每个仿真任务采集 150 条专家演示,用任务特定规则解析器把轨迹转成帧级原子提示元组 $(O_t,l_t,A_t)$;真实 SO101 每任务用 LeRobot 采 50 条遥操作演示。第二步规划:GPT-4.1 依据指令与图像从模板集选择并规范化出各臂原子提示序列,各阶段执行至终止条件。第三步执行器训练:2 张 A800、批 32,RoboFactory 二臂 10000 步、3-4 臂 15000 步,RoboTwin Hard 30000 步,horizon 50;以概率 $p_{shuffle}$ 施加 Arm Shuffle(各臂状态、视角、提示、动作四元组按 $\sigma\in S_N$ 整体置换),以 $p_{drop}$ 做 View Dropout(部分视角置零),统一损失 $\mathcal{L}=\mathbb{E}\big[\sum_i\ell(\pi_\theta(\tilde{I}_t,s_t^i,p_t^i),a_t^i)\big]$,OOD 超参逐任务手调。第四步推理:规划器一次生成提示序列,执行器每步积分流场输出各臂动作。
技术新颖性
技术新颖性体现在四个层面。第一,问题定义新:本文首次形式化「多臂组合泛化」——原子动作在分布内($\mathcal{U}_{test}=\mathcal{U}_{train}$)而协作结构在分布外,并配了对应的训练/测试切分基准,此前多臂工作要么不做泛化切分,只测视觉扰动。第二,接口设计新:中粒度原子提示作为统一模型内的显式分工接口,既保留端到端推理(执行器不做符号规划),又获得可解释性——每臂行为可以直接读出来。第三,训练策略新:Arm Shuffle 是对「观测-状态-提示-动作」四元组的联合置换增强,作用等价于把协作策略约束到近似置换不变等价类上,无需修改损失函数或架构;消融显示它 alone 把 OOD 从 0% 拉到 7.3%,是泛化突破的关键。第四,架构对比结论新:与「每臂一个独立 VLA」的朴素方案(Separate Pi0)对照实验证明,统一模型虽 in-domain 略低(53% vs 61%),但只有它能捕获臂间依赖并实现 OOD 15.3% 的泛化,且模型数量不随臂数线性增长。
实验结果
论文在仿真与真实平台评估 in-domain 与 OOD(每配置 100 rollouts,真实每任务 20 回合)。一、RoboFactory 域内(Table 1):二臂平均 83.5%,超 Pi0 80.3%、DP 27.5%;3-4 臂 83.3% 对 Pi0 76.5%,四臂交付 97% 对 82%,臂数越多优势越大。二、RoboTwin 2.0 Hard(Table 2):49.0%,超 Pi0 41.1%、DP3 28.6%、ACT 12.3%。三、OOD 组合泛化(Table 3):五种未见协作配置平均 13.0%(GBR 28%),全部基线 0%。四、真实 SO101(Table 4):域内 Stack Bowls 12/20 对 9/20;OOD 达 10/20、8/20、2/20、2/20,Pi0 全 0。五、消融(Table 5/6):原子动作使域内 48%→58%;加 Shuffle 后 OOD 0→7.3%;加 View Dropout 达 15.3%(域内 53%);shuffle 率 80% 时 OOD 最高;独立三模型域内 61%、OOD 0%。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| RoboFactory 二臂协作(Lift/Place/Stack2/Pass) | 平均成功率(100 rollouts) | 83.5% | Pi0 80.3%;Pi0-FAST 57.5%;DP 27.5% | 较最强基线 Pi0 +3.2 个百分点 |
| RoboFactory 三/四臂协作(Stack3/Align/Deliver/Photo) | 平均成功率(100 rollouts) | 83.3% | Pi0 76.5%;DP 15.3%;Pi0-FAST 11.8% | 较最强基线 Pi0 +6.8 个百分点,臂数越多增益越大 |
| RoboTwin 2.0 Hard(7 项双臂任务) | 平均成功率(100 rollouts) | 49.0% | Pi0 41.1%;DP3 28.6%;Pi0-FAST 27.0%;DP 18.9%;ACT 12.3% | 较最强基线 Pi0 +7.9 个百分点 |
| 未见协作模式 OOD(3 种堆叠顺序+2 项任务) | 平均成功率 | 13.0%(GBR 28% 为最高单项) | Pi0、Pi0-FAST、DP 全部 0.0% | +13 个百分点,所有基线完全失败而本方法非零 |
| 真实双臂 SO101 域内(4 任务) | 成功率(20 episodes) | 12/20、15/20、6/20、8/20 | Pi0 为 9/20、12/20、3/20、5/20 | 四项任务全部一致提升 2-3 个成功回合 |
| 真实双臂 SO101 角色反转 OOD(4 任务) | 成功率(20 episodes) | 10/20、8/20、2/20、2/20 | Pi0 四项全部 0/20 | 从完全失败到非零成功,验证角色无关迁移 |
| 组件消融(Three Robots Stack Cube 未见顺序) | OOD / 域内成功率 | Atom+Shuffle+ViewDropout:15.3% / 53.0% | 无组件 Pi0:0.0% / 48.0% | OOD 从 0 到 15.3%,代价是域内 48→53(相对纯 Atom 的 58 略降) |
局限与改进
作者承认的局限:一是 OOD 绝对成功率仍低(仿真平均 13%,最低单项 9%;真实最低 2/20),距可靠部署很远,且 RGB/BRG 顺序(9%)明显差于 GBR(28%),提示残留训练顺序偏差;二是 View Dropout 带来域内退化(消融中从纯原子动作的 58% 降到 53%),鲁棒性与域内精度存在权衡。我的补充观察:其一,OOD 超参逐任务手工设定($p_{shuffle}$ 0.6-1.0、$p_{drop}$ 0.2-0.4),新任务缺乏选择准则;其二,规划器开环工作,一次生成全部阶段提示后不依执行反馈修正,一臂抓取失败则后续分工全错,且 GPT-4.1 的规划错误没有任何学习信号可纠正;其三,原子提示标签依赖任务特定规则解析器与人工词表 $\mathcal{A}$,扩展新任务族成本高;其四,实验最多 4 臂,未验证更大规模、异构机器人或动态障碍;其五,规划器不理解执行器的运动学能力边界,可能生成不可执行的分工。
独立分析的弱点
第一个弱点是 OOD 绝对水平:平均 13% 约每七次才成功一次,工业场景不可用。改进:用课程学习逐步提高协作组合复杂度,或程序化生成合成协作模式(随机角色、时序、布局)做增强,把组合空间本身变成训练分布。第二个弱点是开环规划:无执行监控与重规划,长时程任务一步失败即全线崩溃。改进:让 VLM 周期性观察执行状态修订剩余计划,或训练轻量成功检测器触发重规划。第三个弱点是超参敏感:Fig. 5 显示 80% shuffle 率最优而 100% 反而回落,说明存在精细平衡。改进:把 shuffle 率做成随训练退火的可学习调度,或在小型验证集上自动搜索。第四个弱点是闭源依赖:GPT-4.1 带来延迟、费用与不可复现性。改进:用开源 VLM 微调专用规划器,有限模板词表其实很适合小模型。第五个弱点是原子体系人工成本:词表与规则解析器均任务特定。改进:对无标注轨迹做分段聚类自动发现原子技能,或用 VLM 自动生成状态谓词。
未来方向
作者在结论中把方向指向可扩展的多臂指令跟随。基于本文成果可延伸:第一,规模扩展——把臂数从 2-4 推到更多臂乃至异构平台,Arm Shuffle 的排列不变性天然支持变臂数训练,值得验证 $N$ 可变时的表现;第二,原子动作库的自动学习与层级化——用技能发现算法自动构建词表并支持子程序嵌套,让原子可组合成更高层宏动作;第三,闭环规划与联合训练——把规划误差经执行反馈回传,用强化学习或偏好优化微调 VLM 规划器,使分工决策感知各臂能力与失败风险;第四,语义维度的组合泛化——本文只测协作结构 OOD,用学过的原子动作完成全新任务描述与新物体是下一层次;第五,置换增强的推广——把 shuffle 从臂维度扩展到物体、视角等维度,得到更广的对象无关协作表征;第六,理论分析——为置换不变策略在 $\mathcal{P}_{test}\not\subset\mathcal{P}_{train}$ 切分下的泛化误差建立界。
复现评估
复现条件总体良好。开源:代码、模型、数据在 GitHub(github.com/zhangzaibin/future-robots)公开;执行器从官方 pi0_base 初始化;RoboFactory 与 RoboTwin 2.0 均为公开基准。数据:每个仿真任务 150 条专家演示,原子标签由规则解析器自动生成(模板与解析器见补充材料),真实 SO101 每任务仅 50 条 LeRobot 遥操作演示,门槛低。算力:2 张 A800、批 32、最多 30000 步,单机双卡日级完成,学术实验室可负担;SO101 是低成本双臂平台。风险点:其一,规划器依赖 GPT-4.1,API 版本更新可能导致规划行为漂移,复现时需固定模型版本与解码设置;其二,OOD 的 $p_{shuffle}$/$p_{drop}$ 逐任务手调(论文只给三个任务的值),其余任务需自行摸索;其三,真实实验每任务仅 20 回合,2/20 对 0/20 这类差异统计功效有限。综合评估复现难度中等:主干流程文档齐全,精确复现 OOD 数字需细致控制超参与随机种子。
论文图表
对比图:上方展示先前 VLA 系统把单一高层指令直接映射为控制的方式,下方展示 MA-VLA 将指令分解为一段可解释的中粒度原子动作序列并逐臂分配,从而能重组出训练中未见过的协作模式。
这是全文的问题陈述与方法直觉的总览,一图说清 MA-VLA 与既有 VLA 在语言接口设计上的本质差异,是理解论文动机的最佳入口。
示意多臂组合泛化的定义:训练覆盖的组合为 $\mathcal{P}_{train}$,测试要求新的臂数角色分配、空间状态与原子动作的组合 $\mathcal{P}_{test}\not\subset\mathcal{P}_{train}$,但原子动作本身保持在分布内。
精确界定了本文研究的泛化类型——协作结构 OOD 而非视觉 OOD,是理解实验切分设计与 Table 3 的关键。