Action Priors:先「蒙眼学动」,再「睁眼学看」的 VLA 训练法
🎯 为什么重要:VLA 的「半边天」问题
2026 年的 VLA(Vision-Language-Action)模型,几乎都是「拿一个预训练 VLM(如 Qwen3-VL、PaliGemma)+ 接一个动作头」的结构。VLM 那半边继承了互联网级语义先验;但动作头通常是随机初始化或从不相干模态迁移,等于「老师配婴儿」。
① 连续动作分布本身(怎么动才合理);
② 把视觉-语言特征对齐到这个还在剧烈变化的动作空间。
结果:没训练好的动作头吐出的梯度 $\nabla_\theta \mathcal{L}_{BC}$ 极不稳定,反过来污染 VLM 那些本来很有用的表示,收敛慢、长尾任务学不到。跨 embodiment 场景更糟——不同机器人动作分布天差地别。
论文打个特别生动的比方(§I):这就像「蒙眼学徒先练基本动作」——不看东西、不听指令,先把身体的运动模式刻进肌肉记忆;之后再睁眼、听指令,学起来又快又稳。
💡 核心思想:Stage 1 学动作先验,Stage 2 三种方式复用
论文对「Action Prior」给了双重要求(§III-B):① 分布建模(拟合连续、可能多模态的动作分布)+ ② 结构抽象(把一段时间序列压缩成有意义的 latent)。他们用一个 Transformer encoder-decoder 同时满足这两点。
三个关键设计点
- Encoder 把整个 chunk 压成一个 token:用 cls token 聚合 $[s_t, a_t, s_{t+1}, a_{t+1}, \ldots]$,输出 $\ell_2$ 归一化的 z。论文强调「孤立的单步动作几乎没语义——意义来自时间上的组合(平移、旋转、抓取)」。
- 本体感觉 state 必须和 action 交错输入(Table IV 消融):只放 action 涨 0.8%,加上 state 涨 3.7%。同样的动作 delta 在不同姿态下物理含义不同,state 提供「身体坐标锚点」。
- 早期蒸馏 + 后期松绑(公式 9):$\lambda(k)$ 在前 5000 步线性衰减到 0。论文 §IV-E 测了 $N_{decay} \in \{0, 3k, 5k, 10k, \text{full}\}$——一直蒸馏反而掉到 63.1%(低于无先验),因为 VLM 最终要用图像/语言做端到端精修,被强制贴近纯动作 latent 会限制它。
🛠️ 实验设置:13 个跨 embodiment 任务
| 维度 | 设置(PDF 溯源) |
|---|---|
| 三个 benchmark | LIBERO(4 套 × 10 任务,UR5e 末端 7-DoF)+ RoboCasa GR1(5 任务,人形 29-DoF)+ 真机 Franka(4 任务,8-DoF 关节空间) |
| 统一动作空间 | 37 维(左臂/右臂/左手/右手/腰/关节+夹爪,按 embodiment 填槽,其余零填充) |
| 统一状态空间 | 74 维(末端读数 / 关节角 / 全身 sin-cos 展开) |
| 训练数据 | ~565k 状态-动作转移;真机仅 42,967 帧(7.6%)——天然长尾 |
| 训练成本(8×H200) | Stage 1:Qwen3-0.6B,5000 步,batch 2048,~2 小时;Stage 2:Qwen3-VL-2B,50000 步,batch 256,~20 小时 |
| chunk 设置 | H=15;推理时 LIBERO 执行前 5 步、RoboCasa 前 10 步、真机前 8 步 |
| 对照基线 | GR00T(diffusion transformer 头)、π0.5(mixture-of-transformers)、No Action Prior(同架构去先验)、Action-only Prior、Action-State Prior、+ History |
Stage 1 只过 state-action token,没有图像编码器、没有语言编码器,所以 batch 能开到 2048(VLA 阶段只能开 256),5000 步只要 2 小时。但它已经把「机器人一般怎么动」的分布拟合好了——Stage 2 接手时,动作头不是婴儿,而是「有肌肉记忆的学徒」,VLM 只要教它「看图听指令选哪个动作」,不用再教「动作本身长啥样」。
📊 关键结果(PDF Table III / Fig.5 / Fig.7)
主结果:13 任务平均成功率
| 方法 | 仿真平均(9 任务) | 真机平均(4 任务) | 总平均(13 任务) |
|---|---|---|---|
| GR00T | 60.2 | 22.5 | 48.6 |
| π0.5 | 66.1 | 26.3 | 53.8 |
| No Action Prior(同架构) | 64.3 | 35.0 | 55.3 |
| Action-State Prior | 66.5(+2.2) | 61.3(+26.3) | 64.9(+9.6) |
| Action-State Prior + History(full) | 68.8(+4.5) | 66.3(+31.3) | 68.0(+12.7) |
真机长尾任务(动作先验收益最大的地方)
| 真机任务 | No Action Prior | + Prior | + Prior + History |
|---|---|---|---|
| Grasp Middle Cup | 65 | 75 | 75 |
| Grasp Coke | 5 | 35 | 50 |
| Move Tide | 45 | 60 | 60 |
| Stack Cups | 25 | 75 | 80 |
训练动力学(Fig.5,前 3000 步)
| 指标 | No Action Prior | 有 Action Prior | 变化 |
|---|---|---|---|
| 初始预测 loss | ~7.1 | ~0.9 | 降 8× |
| 初始梯度范数 | ~1400 | ~90 | 降 16× |
| 验证 MAE 达 0.1 所需步数 | ~2100 步 | ~700 步 | 快 3× |
数据 scaling(Fig.7)
把 Stage 1 动作数据从 565k → 2.3M(4×)(加 LIBERO-90 + RoboCasa 完整 1000 demo),Stage 1 配置完全不变(同 5000 步、同 2 小时)。结果:
- 5k 步时:Action-State Prior 32.2% → More Prior 35.4%
- 15k 步时:More Prior 64.4%,几乎等于 No Prior 30k 步的结果
- 30k 步时:More Prior 68.8%,全程领先
这说明 「纯动作数据」是一条独立的 scaling 轴——不需要更多视觉-语言监督,喂更多动作轨迹就能让 VLA 更强。
🌐 在领域中的位置
Action Priors 是 2026 年「VLA 训练范式重构」的代表作之一。它和 LAPA、Moto、VLA-JEPA 等「latent action」路线的关键区别是:它直接用机器人自己的动作轨迹,不从视频猜——所以学到的就是动作分布本身,而不是「图像怎么变」。论文还埋了个 hook:Stage 1 数据可以独立 scale,暗示未来可能出现「动作基础模型」(action foundation model),就像 LLM 之于 VLA。
❓ 常见误区
Stage 1 不是另一次昂贵的 VLA 训练吧?
不是。Stage 1 只过 state-action token,不处理任何图像或语言,用更小的 Qwen3-0.6B、batch 2048(8× 大)、仅 5000 步,2 小时跑完,约相当于 Stage 2 的 10% wall-clock。
为什么不能整段训练都加上蒸馏约束?
试过(§IV-E)——full distillation 掉到 63.1%,比无先验还差。原因:encoder 只见过纯动作,没见过图像/语言;如果一直逼 VLM 贴近它的 latent 空间,会限制 VLM 用视觉信息做端到端精修的能力。「早期锚定 + 后期松绑」是关键。
「先学动作再学视觉」和 APT 等 VA-to-VLA 工作有何不同?
APT 也分两阶段,但它的 Stage 1 是视觉-动作专家(带图像),主要为改善指令跟随;Action Priors 的 Stage 1 完全无视觉无语言,目标是单独拟合动作分布,更轻、更通用、更易 scale。
历史压缩就是简单拼历史 token 吗?
不是。论文 §IV-E Table V 对比了「朴素 MLP 投影」——几乎没用(68.3 → 68.4)。用学过的 encoder 把历史压成一个 latent token 才有效(71.5)。因为 encoder 已经在 Stage 1 学过「怎么把时序动作序列组织成结构化 latent」,这个能力迁移到历史压缩上正好对味。
局限?
(1) Stage 1 仍是特定数据集混合上训的,没像 LLM 那样做到真正跨域通用;(2) flow-matching 推理有成本,实时性受 chunk 大小影响;(3) 真机评估仍只有 4 个任务、40 次试验,规模有限;(4) encoder 历史压缩对极长程任务(百步以上)是否够用未充分验证。