Not All Features Are Created Equal: A Mechanistic Study of Vision-Language-Action Models¶
日期: 2026-03-19
arXiv: 2603.19233
代码: Action Atlas
领域: 机器人 / 多模态VLM
关键词: VLA, 可解释性, 稀疏自编码器, 激活注入, 机器人操作
一句话总结¶
对 6 种 VLA 模型(80M-7B)进行大规模机械可解释性研究(39.4万+ rollout),发现视觉通路主导动作生成、语言敏感性取决于任务结构而非模型设计、多通路架构呈现 expert 编码运动程序 / VLM 编码目标语义的一致性分工。
研究背景与动机¶
-
领域现状: Vision-Language-Action (VLA) 模型将视觉、语言和运动控制整合到统一架构中,实现端到端机器人策略。RT-2、OpenVLA、π0.5 等模型快速发展并被广泛采用。
-
现有痛点: VLA 模型是黑盒——当机器人出现异常行为时,无法诊断是视觉理解错误、语言指令被忽略还是运动执行失败。已有研究发现 VLA 在轻微扰动下崩塌(97%→0%),但缺少跨架构的系统性机械分析来解释为什么。
-
核心矛盾: VLA 号称融合了视觉、语言和动作,但实际是否真正使用了语言指令?还是只是在复现视觉-运动先验?
-
切入角度: 将 LLM 可解释性技术(激活注入、SAE、线性探针)迁移到 VLA 领域,在 6 个架构上进行大规模系统验证。
-
核心 idea: 通过激活注入和反事实提示实验,揭示 VLA 内部的因果关系——哪些通路真正驱动行为,语言何时有用何时被忽略。
方法详解¶
整体框架¶
四种分析技术统一应用于 6 个模型: 1. 激活注入: 记录成功 episode 的激活,注入到不同条件的 episode 中,观察行为变化 2. 反事实提示: 替换文本提示(空、否定、错误对象),观察任务成功率变化 3. 稀疏自编码器 (SAE): 将层激活分解为稀疏可解释特征,共训练 424 个 SAE 4. 线性探针: 测试动作信息是否可从中间层线性解码
关键设计¶
-
激活注入实验:
- 做什么:建立视觉通路 vs 语言通路的因果关系
- 核心思路:记录正常 episode 的层激活 \(\{\mathbf{H}^{A,(\ell)}\}\),在不同条件下替换 → 空提示注入(测试视觉主导性)、跨任务注入(测试运动程序绑定)、同场景注入(测试目标选择)
- 关键发现:在 π0.5 上,空提示 + 注入基线激活恢复 0.999 余弦相似度和 73-77% 成功率——视觉通路完全主导行为
-
逐 Token SAE 处理:
- 做什么:正确提取 VLA 中的可解释特征
- 核心思路:用 TopK 稀疏 SAE(k=64)在层激活上训练,但发现必须逐 token 处理——mean-pooling 在大多数架构上导致灾难性失败(π0.5: 96%→8%)
- 设计动机:VLA 的动作 token 序列包含接近、操作、终止等异质时间阶段,mean-pooling 破坏了这种时间结构。但 X-VLA 是例外——其 soft-prompted 动作 token 产生更均匀的表示,mean-pooling 反而更好
-
跨架构系统验证:
- 做什么:确认发现的普遍性而非架构特殊性
- 涵盖 6 个模型:π0.5 (3B, flow matching), OpenVLA-OFT (7B, L1 regression), X-VLA (1B), SmolVLA (450M), GR00T N1.5 (3B), ACT (80M, 无语言)
- 规模:394,000+ rollout episodes, 424 个 SAE, 82+ 操作概念
实验关键数据¶
发现 1: 视觉通路主导行为¶
| 模型 | 基线成功率 | 空提示无注入 | 空提示+视觉激活注入 |
|---|---|---|---|
| π0.5 | 77-92% | 0% | 73-77% (恢复) |
| OpenVLA-OFT | 90-100% | 14% | - |
| X-VLA | 90-100% | 0% (置零任一层) | - |
| GR00T | 83-93% | 0-3% (DiT 层) | - |
π0.5 仅注入第 0 层激活就恢复 0.997 余弦相似度——任务关键信息在第一层就已编码。
发现 2: 语言敏感性取决于任务结构¶
| 模型/任务套件 | 基线 | 空提示 | 错误对象 |
|---|---|---|---|
| OFT / libero_object | 100% | 100% | 100% |
| OFT / libero_goal | 100% | 10% | 10% |
| X-VLA / libero_object | 100% | 60% | 60-90% |
| X-VLA / libero_goal | 94% | 10% | 4-10% |
| GR00T / libero_goal | 97% | 0% | 0% |
规律:当视觉场景唯一确定任务(libero_object: 每个物体只有一种操作),语言被完全忽略;当多个目标共享场景(libero_goal),语言变得关键。这与模型架构无关,而是任务决定的。
发现 3: 跨任务注入揭示空间绑定的运动程序¶
| 模型 | 跨任务注入后成功率 | 位移偏向源任务 |
|---|---|---|
| π0.5 | 2.6% | 99.6% |
| X-VLA | 0% | 99.8% |
| OFT | ~50% | 77.9% |
| GR00T | 0% | 57.0% |
任务成功率崩塌,但机器人朝向源任务的物体位置移动——VLA 学到的是空间坐标绑定的运动程序,而非抽象的任务表示。
发现 4: 多通路架构的一致性分工¶
| 架构 | Expert 通路 | VLM 通路 |
|---|---|---|
| π0.5 | 编码运动程序(注入→主动错误行为) | 编码目标语义(注入→被动停滞) |
| SmolVLA | 2× 更大行为位移 (15.8% vs 9.0%) | 上下文提供 |
| GR00T | DiT 层最敏感(40-80% 成功率下降) | VL-SA 层最耐损 |
SAE 分析¶
| 模型 | Critical insight |
|---|---|
| π0.5 | Mean-pooling 毁灭:96%→8%,per-token 保持 94% |
| X-VLA | 例外:mean-pooling 反而更好(94-100% vs 92-98%) |
| 所有模型 | 82+ 操作概念可通过对比选择识别 |
| Kill-switch | 70% 编码对象概念(bowl, cabinet)而非运动原语 |
亮点与洞察¶
- "语言只是装饰"的震撼发现:在 π0.5 上 ANOVA 显示提示类别对行为无显著影响(p=0.247),但线性分类器能以 99.3% 准确率识别提示类别——提示被编码了但没被使用。这对 VLA 的实际部署有重大安全影响。
- 任务结构决定论:语言敏感性不是模型属性而是任务属性。这解释了为什么不同论文对 VLA 语言理解能力的评估结果大相径庭——用的任务不同。
- 空间绑定运动程序:VLA 不是学到"抓取杯子"的抽象概念,而是学到"移动到坐标 (x,y,z)"的空间程序。这解释了 VLA 在位置扰动下的脆弱性。
- 故障诊断框架:expert 通路注入产生主动错误 vs VLM 通路注入产生被动停滞——可以用来区分运动错误和目标识别错误。
局限性 / 可改进方向¶
- 仿真为主:394K episode 主要在 LIBERO/MetaWorld 仿真中,真实世界验证有限(仅 ACT 在 ALOHA 上测试)
- 因果推断的局限:激活注入是一种"暴力"干预,可能引入分布外状态,结论需谨慎解读
- 未涵盖最新模型:缺少 RT-2-X、Octo 等重要 VLA 的分析
- 建设性建议有限:深刻揭示了问题(视觉主导、语言被忽略),但未提出如何修复它——如何让 VLA 真正使用语言?
相关工作与启发¶
- vs Häon et al. (π0 SAE): 之前只在单个架构上做 SAE 分析,本文首次跨 6 个架构验证,发现这些现象是普遍的而非架构特殊的
- vs Fei et al. (VLA robustness): 他们发现 VLA 在扰动下崩塌(97%→0%),本文用跨任务注入实验揭示了崩塌的机制原因——空间绑定的运动程序
- 启发:对于当前 VLA 设计的反思——如果视觉已经主导一切,大量的语言预训练是否是浪费计算?
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 首个跨 6 种 VLA 架构的系统性机械可解释性研究,发现深刻且令人惊讶
- 实验充分度: ⭐⭐⭐⭐⭐ 394K+ episodes、424 SAEs、6 模型、4 基准,规模空前
- 写作质量: ⭐⭐⭐⭐ 结构清晰,但论文信息量极大,读起来需要耐心
- 价值: ⭐⭐⭐⭐⭐ 对 VLA 社区有重大警示意义——揭示了当前模型的根本问题