从像素到动作:迈向原生的视觉-语言-动作策略
主流 VLA 把视觉压成一个固定终点,被压掉的正是操作依赖的空间细节
NEO-VLA 这篇 2026 年 11 月的 arXiv 预印本给出了一个很直接的结果:拿掉独立视觉编码器,让像素直接进入 40 层、2B 参数的原生视觉语言骨干,再用一个窄的流匹配动作专家沿骨干深度读取缓存,冻结骨干时在 LIBERO 上平均 90.9%,全量微调后 95.3%。更值得记住的是它的归因:收益并不来自「直接读取编码器的中间特征」,而来自原生视觉语言预训练如何塑造这些表征。这个区分把讨论从「哪种模型更强」拉回到「视觉信息应该在何处、以何种形式交给动作策略」。
VLA(视觉-语言-动作模型)是把图像观测和语言指令直接映射成机器人动作序列的模型。OpenVLA 是这一范式最容易指认的公开实例:DINOv2 与 SigLIP 两个视觉编码器分别处理同一批图像 patch,把特征逐通道拼接,再经一个两层 MLP projector 送进 Llama 2 7B,最后输出 7 维动作的离散 token。关键在于,图像 patch 在进入语言骨干之前已经被压成一段固定长度的特征序列,骨干内部不再有图像 token。视觉只有编码器输出这一处入口,之后动作策略只能在已经压好的特征上继续计算,回不到编码器内部更细的中间状态。OpenVLA
论文要动的正是这个入口。操作任务依赖局部几何、物体边界、深度层次和细微的状态变化,这些信息恰好最容易在编码器的层层压缩中被抹平。OpenVLA 自己的消融也提供了一个侧面信号:冻结视觉编码器时平均成功率 46.7%,解冻后 80.0%,作者把差距归因于预训练视觉骨干缺少精确控制所需的细粒度空间细节。OpenVLA
把三种设计并排放在一起,改动落在哪一格就很清楚。

图注:三个并排框图。(a) 灰色 Visual Encoder 是唯一视觉出口,动作以离散 token 输出。(b) 同一编码器接口改接 Action Head 输出连续动作。(c) 紫框内编码器消失,像素与文本直接进入骨干,动作专家经 k,v 从骨干取缓存。图内没有分数。NEO-VLA
这张图还说明论文改的是两条正交轴上的一个格子:视觉前端有编码器或无编码器,动作表示是离散 token 或连续动作。按常见的 VLA 组件划分,这条链路可以拆成感知前端、语言骨干和动作端三部分,而 NEO-VLA 换的是视觉前端的形态,以及视觉表征交给动作专家的方式,没有把整个模型换成另一个更大的网络。VLA Anatomy 论文说的 native 只取结构义:没有独立训练的视觉模块、图像码本或自编码器。它不等于「不用任何预训练视觉先验」,因为那个骨干本身就是原生视觉语言模型的预训练权重。换句话说,NEO-VLA 拆掉的是一个单独的视觉编码器,不是拆掉视觉预训练。NEO-VLA
NEO-VLA 把视觉通路从一次性交出终点,改成沿深度持续可读
NEO-VLA 的结构可以拆成三块:像素如何进入骨干,骨干如何处理多模态前缀,以及动作专家从哪些层读取缓存。前两块沿用了已有的原生视觉语言结构,第三块把「读取深度」从写死的末端变成一个可枚举的配置。
视觉前端是两阶段卷积 patch 分词。第一层卷积步长 16,第二层步长 2,总步长 32,因此每个 32×32 的图像区域对应一个视觉 token。NEO 这个 embedder 在所有相机视角和时间步之间共享,图像保持原始长宽比,在每个视角固定的 token 预算下动态切块。相机几何与机器人状态各由一个轻量 MLP 编码,状态被编成 6 个本体感觉 token。它们再和一段结构化 prompt 拼在一起,prompt 写明控制频率、本体、夹爪、动作参考系与任务指令。NEO-VLA
论文的架构图把这三块分开画。

图注:左半是跨时间与视角共享的 patch embedder、相机几何 MLP、结构化 prompt 与 6 个状态 token。中间是 40 层 2B 骨干。右半是窄动作专家,经 Per-layer K,V 读取骨干缓存并输出速度场。图中未标层索引与分数。NEO-VLA
中间是 40 层、2B 参数的原生视觉语言骨干,位置编码把时间、高度、宽度三个坐标分开处理,视觉 token 在视觉块内双向交互,文本走因果注意力。图像 token 和文本 token 从第一层起就在同一个骨干里联合计算,视觉表征随深度持续演化,而不是在某一层被冻结后交给另一个网络。 右侧的动作专家是一个独立的、随机初始化的窄网络,和骨干不是同一套权重。它接收带噪动作和流匹配时间 τ,训练时回归条件速度场,推理时用 10 步 Euler 积分从噪声走到动作。它一次输出 30 步的动作块,双臂各 26 维,躯干 8 维。这个形态和 π0 的标准接线几乎一样。π0 用较大的预训练视觉语言骨干,加一个约 300M 的窄动作专家,一次预测一整块动作,推理时缓存 prefix 的 K/V。π0Flow Matching
差别在读取位置能不能显式配置。π0 的动作 token 是注意力序列的最后一块,专家与骨干只在 self-attention 层交互,论文没有把「从骨干第几层读」做成显式可配置项,这是由其注意力分块结构推出的判断。NEO-VLA 把读取位置写成一个层映射 $\mathcal{M}=(m_1,\dots,m_d)$,动作专家第 $j$ 层去读骨干第 $m_j$ 层缓存的 K/V。主流接口像一条视觉支线只在末端设一个交接口,编码器内部发生过什么,动作策略看不到。NEO-VLA 把交接口沿骨干深度开了多个,取哪几个由这张列表决定。取货口就是各层缓存的 K/V,成品就是编码器最后一层特征,区别在于动作策略能不能读到还没被压成最终语义表征的中间状态。
这个改动在工程上很轻。官方实现里 layer_map 就是一个普通的 YAML 列表,专家深度等于列表长度,骨干层数被断言为最高挂载点加 1。论文里的 skip-28 在代码里对应 skip28.yaml,层列表是 0 到 39 之间均匀取的 28 层。其余几组配置没有现成的 YAML,但机制上完全可以改列表搭出来。VLAKit
受控对比显示收益来自原生预训练塑造的表征,而不是「能读到早层」
这组受控对比的结论很明确:收益来自原生预训练塑造的表征,而不是「能读到更早的层」。所有模型用同一套动作专家设计、同一批机器人训练语料,先在 Open X-Embodiment 上预训练 75k 次迭代,取 30k 步的检查点,在 LIBERO 四个套件上各跑 500 回合,合计 2000 回合。这样剩下的主要变量就是骨干的身份和视觉通路的形态。
| 骨干 | 适配方式 | LIBERO 平均 |
|---|---|---|
| Qwen3-VL-2B | 冻结 | 79.5 |
| Qwen3-VL-2B | 全量微调 | 90.8 |
| Qwen3-VL-2B | 仅解冻编码器 | 89.2 |
| Gemma-3-4B | 冻结 | 84.5 |
| Gemma-3-4B | 全量微调 | 91.0 |
| NEO-VLA-2B | 冻结 | 90.9 |
| NEO-VLA-2B | 全量微调 | 95.3 |
这张表最该读出的不是 95.3 这个排名,而是冻结与全量微调之间的关系。NEO-VLA 只训动作专家就达到 90.9%,已经能对上 Qwen3-VL 全量微调的 90.8% 和 Gemma-3 全量微调的 91.0%。在 LIBERO-Long 上,冻结的 NEO-VLA 是 85.4%,高于 Qwen3-VL 全量微调的 78.6% 和 Gemma-3 全量微调的 82.8%。这说明原生骨干在冻结状态下已经把动作专家需要的东西暴露得足够好,动作专家本身不需要把骨干整个改写一遍。NEO-VLA
但「原生骨干更好」还不是完整解释。一个很顺手的猜测是:NEO-VLA 的动作专家能读到更早的层,所以拿到了编码器末端丢掉的空间细节。论文自己做了反例。它在 Qwen3-VL 上把 13 个专家层直接接到视觉编码器的中间特征,不增加任何参数。结果冻结骨干时,平均分从 79.5% 掉到 64.9%。全量微调下,两种接口几乎一样,90.8% 对 90.9%。NEO-VLA 这个反例很关键。它说明「能访问编码器中间层」本身不产生收益,在冻结骨干时甚至会让结果更差。真正起作用的不是接口能不能往前挪,而是原生预训练把哪些信息塑造进了这些表征,以及这些表征在骨干里如何暴露给动作策略。论文同时承认,预训练数据与模型容量的差异使收益无法完全归因于去掉编码器,这个免责声明必须和数字一起读。
这条证据链可以压成一张图。
图注:受控对比与反例构成的证据链。同设置下 NEO-VLA 冻结骨干 90.9,高于 Qwen3-VL 的 79.5 与 Gemma-3-4B 的 84.5。给 Qwen3-VL 接上视觉塔中间特征后,冻结骨干降到 64.9,早层访问本身没有带来收益。
这张图也标出了归因的边界。另一篇工作 VLM4VLA 换了 9 个 VLM 骨干,适配流程固定,新增可训练参数低于 1%,但所有变体都保留 VLM 自带的视觉编码器。它证明的是「换 VLM 身份」这个变量可以被受控测量,不能被引成「去掉编码器更好」的证据。换 VLM 初始化和换视觉通路形态是两个不同的实验变量。VLM4VLA
动作相关信息分布在整个深度上,但只把读出位置往前挪还不够
层映射消融的结论是:动作相关信息分布在整个深度上,读出位置会影响结果,但「读得早」本身不是收益的全部来源。在冻结骨干的设置里,skip-28 是 90.9%,end-28 是 86.7%,两者都是 40 层骨干加 28 层专家,只有读出位置不同,这是唯一深度匹配的干净对照。把读出位置整体前移,确实比只读末端更好。但 first-28 的冻结均分是 94.9%,比 skip-28 还高,看起来更反直觉。
| 层映射 | 读取层 | 骨干深度 | 冻结均分 | 全量微调均分 |
|---|---|---|---|---|
first-28 | 0 到 27 | 28 | 94.9 | 94.6 |
skip-28 | 40 层中均匀取 28 层 | 40 | 90.9 | 95.3 |
end-28 | 12 到 39 | 40 | 86.7 | 92.5 |
first-14 | 0 到 13 | 14 | 93.6 | 未报告 |
last-14 | 26 到 39 | 40 | 89.6 | 未报告 |
first-28 的数字不能当成「越早越好」的证据。它同时把骨干本身建成 28 层,深度和算力都变了,不再是单纯的读出位置对照。first-14 也一样。论文把这一点写得很明确,full-40 则只定义了配置,表里没有报告数值。真正能支撑「读出位置有影响」的,只有 skip-28 对 end-28 这一组。NEO-VLA
另一条证据来自挂载点干预,它把「信息在哪里」变成了可以测量的量。

图注:A 面板把某层读到的 prefix K/V 换成另一观测的 K/V,0 到 10 层平移误差增幅最大,幅度匹配的噪声几乎无影响。B 面板遮蔽腕部图像时响应峰值在 6 到 10 层,遮蔽指令时峰值在第 0 层。C 面板的 1.53 对 0.021 说明这类干预有任务依赖性。NEO-VLA
A 面板排除了「扰动幅度大所以误差大」这个解释。把某一层读到的 K/V 换成另一个观测与任务的 K/V,0 到 10 层的平移误差增幅最大。加入与残差变化幅度匹配的噪声,影响不超过 0.004 厘米。起作用的是被替换的内容,不是扰动本身。B 面板显示腕部图像的响应峰值落在 6 到 10 层,指令敏感性峰值在第 0 层,另在第 17 层附近有一个小峰。C 面板则提醒,这类干预有任务依赖性:同一个腕部位姿遮蔽,在机器人系模型里第 0 层几乎没有响应,在腕部系模型里第 0 层却有 1.53 对 0.021 的强响应。这些干预不是训练线性探针,而是直接改一个挂载点看输出怎么变。两条证据都说明动作相关信息分布在整个深度上,但都不回答「哪一层最好」。
挂载点还不只是「读哪一层」。同一批骨干参数下,怎么把特征接进来同样会改变结果。

图注:左半是 stop-gradient 抽头、多尺度融合与 bridge 回写的接线。右半是 2×2 四格接线,蓝色为零初始化桥,红色为随机初始化桥。图内没有成功率数字。Wiring Matters
Wiring Matters 在 Qwen3-VL-2B 加流匹配动作专家的设置里做了 2×2 消融。梯度隔离(stop-gradient)是前置条件:一旦让辅助头的梯度直接回传骨干,平均分反而会掉到完全不加辅助头的基线之下,论文表注说明这一行来自同流水线的初步配置,不是与主协议完全同配置。桥的初始化比拓扑更主导,随机初始化的残差桥配到 96.2%,零初始化的桥则容易停在惰性状态。Wiring Matters 这三件事在 NEO-VLA 里并没有被逐一展开。它让动作专家直接读骨干多层缓存的 K/V,和自己的动作 token 一起做注意力,没有额外的 bridge,也没有残差重注入。所以 Wiring Matters 的结论只能说明「挂载点还有别的变量」,不能反过来当成对 NEO-VLA 层映射设计的支持或否定。它研究的是辅助头,骨干、训练预算和评测协议都不同,两边的成功率不能直接比较。VLAKit
感知变化更稳、空间与目标变化仍弱:收益来自接口,代价也来自接口
NEO-VLA 在分布偏移上的表现是明显不对称的。场景外观、光照、相机和传感器噪声变化时,它比较稳。机器人初始状态、物体布局和任务目标变化时,它没有明显优势。这个不对称比总分更能说明这套接口的适用范围。
扰动被拆成七个轴和 21 个子维度。

图注:内环是七个扰动维度,外环是 21 个子维度,各扇区标有任务数。七个维度的任务数并不相等。图内环 Layout 标 1599,附录表为 1525,以后者为准。LIBERO-Plus
LIBERO-Plus 把分布偏移拆成物体布局、相机视角、机器人初始状态、语言指令、光照、背景纹理、传感器噪声七个轴,下面再分 21 个子维度,最终得到 10,030 个只用于测试的实例。各维度的任务数并不相等,所以 Total 是按任务数加权的平均,不是七个轴的算术平均。图里内环把 Layout 标成 1599,附录表给的是 1525,复算总分要用 1525。不先讲这一句,89.7 很容易被当成七轴均值去核对。LIBERO-Plus 在这个口径下,NEO-VLA 的七个轴是 Camera 94.5、Robot 72.6、Language 91.7、Light 96.2、Background 96.6、Noise 96.9、Layout 82.4,Total 89.7。Camera、Language、Light、Background、Noise 都在 91 以上,Robot 只有 72.6,Layout 是 82.4。在 LIBERO-Pro 上,语义变化一轴达到 98.0,是表里最高,位置变化只有 3.0,任务目标变化只有 6.3。这组数字把论文自己的判断落到了实处:外观或观测变了很稳,空间配置或任务目标变了仍然很难。NEO-VLA
代价出现在后训练。动作单独微调后,模型无法输出合法文本,RoboTwin 2.0 的 C2R 只有 10.7%。混入理解语料共训,理解分守在 baseline 1.5 分以内,C2R 到 69.4%。这说明动作能力和语言理解不是两个可以随便拆开的能力,至少在这个训练配方里不是。BlindVLA 提供了机理侧的解释:在 OpenVLA-7B 加 LoRA 的设置里,朴素动作微调会让注意力图变散、表征簇重叠,ImageNet-100 线性探针从预训练的 79.88 降到 77.48。这个证据覆盖的是 OpenVLA 路线,不覆盖流匹配动作头和无编码器架构,只能当方向性机理来读。NEO-VLABlindVLA
真机证据的规模同样有限。每个任务只用 50 条演示微调,评测 20 次,其中 10 次域内、10 次域外,三个任务的结果是 12/20、17/20、13/20。这个样本量能说明方法在真机上跑得起来,不足以支撑跨机器人的泛化结论。复现边界同样清楚:层映射是配置值,改列表就能搭出不同读出位置。阶段 1 的动作预训练需要 128 张卡和约 9.28 亿行语料,原始骨干 NEOpp-2B-SFT 没有发布,数据集在 2026-11-05 抓取时仍在增量上传。机制可以复算,完整预训练不可复现。论文里那些跨论文的 LIBERO 分数,作者自己标成 benchmark context,不能拿来和受控对比混在一起排名。VLAKit
这篇论文的价值不在于宣布编码器可以退休,而在于把「视觉信息在什么深度、以什么形式交给动作策略」变成一个可以逐项做实验的设计变量。它给出的答案有边界:原生接口在感知变化下更稳,在空间配置与任务目标变化下仍弱,完整预训练也很难复制。但问题本身已经被拆得足够清楚,后面的工作可以接着改接口,而不是只换更大的模型。
想深入可以读原文:From Pixels to Actions — Towards Native Vision-Language-Action Policies,arXiv:2611.06918
参考文献
- From Pixels to Actions — Towards Native Vision-Language-Action Policies (NEO-VLA). https://arxiv.org/abs/2611.06918
- From Pixels to Words — Towards Native Vision-Language Primitives at Scale (NEO). https://arxiv.org/abs/2510.14979
- OpenVLA: An Open-Source Vision-Language-Action Model. https://arxiv.org/abs/2406.09246
- π0: A Vision-Language-Action Flow Model for General Robot Control. https://arxiv.org/abs/2410.24164
- Flow Matching for Generative Modeling. https://arxiv.org/abs/2210.02747
- LIBERO-Plus: In-depth Robustness Analysis of Vision-Language-Action Models. https://arxiv.org/abs/2510.13626
- VLM4VLA: Revisiting Vision-Language-Models in Vision-Language-Action Models. https://arxiv.org/abs/2601.03309
- Wiring Matters: Injection Topology and Initialization of Affordance Heads in Vision-Language-Action Policies. https://arxiv.org/abs/2610.06318
- Don't Blind Your VLA: Aligning Visual Representations for OOD Generalization. https://arxiv.org/abs/2510.25616
- An Anatomy of Vision-Language-Action Models: From Modules to Milestones and Challenges. https://arxiv.org/abs/2512.11362
- NEO-VLA 官方实现 VLAKit. https://github.com/EvolvingLMMs-Lab/NEO/tree/main/VLAKit