PAPER DEEP DIVE
面向稳健机器人部署的自适应视觉语言动作模型
提出部署后训练方法,把硬件偏移下的自身轨迹压缩为上下文令牌,经轻量编码器和自适应层归一化迭代校正视觉语言动作策略,在四类操作任务中恢复逾 80% 的基础性能。
论文元信息
标题:Self-Adaptive VLA for Robust Robot Deployment。
作者:Hongxin Zhang、Chunru Lin、Tsun-Hsuan Wang、Zhenjia Xu、Chuang Gan。
来源:arXiv:2609.30092v1,2026 年 9 月 24 日,主分类为机器人学,交叉分类为计算机视觉。全文见 https://arxiv.org/abs/2609.30092 ,项目展示页见 https://icefoxzhx.github.io/self-adaptive-vla 。
代码状态:论文给出了官方 GitHub 仓库 https://github.com/Icefoxzhx/self-adaptive-vla ,但当前仓库仅承载项目主页、样式、图片与演示视频,没有训练或推理源码、配置文件、检查点、数据发布或 Release。因此,本文未提供可复现实验的公开实现代码;页面中的方法与数字均来自 arXiv 全文。
一句话总结
Self-Adaptive VLA 把机器人在部署现场的失败轨迹压缩成一个可累加的上下文向量,再用它调制原本无记忆的流匹配 VLA。仅需把执行器偏置或关节编码器偏移注入专家数据做动作预补偿,模型便能在多个失败试次后逐步逼近正确补偿;四次精密双臂与灵巧手任务平均恢复率从单试次的 46%–49% 提升到六个试次以内的 80%–84%。
图 1:方法总览(论文图 2)。左侧把基础专家数据与硬件偏移下的失败轨迹配成上下文样本,右侧把上下文词元与扩散时间步条件相加,经 AdaLN 调制冻结的 VLM 策略。
研究背景与动机
视觉语言动作模型通常把语言指令、当前图像和机器人本体状态映射为一个动作块。这个接口在训练分布内表现很好,却默认部署硬件的关节零位、执行器响应和相机姿态与训练时一致。真实机器人在运输、装配和长期运行后会出现制造公差、磨损、碰撞或重新标定误差。于是同一个语言指令和几乎相同的画面,可能对应完全不同的实际动作结果。
传统处理方式是上线前做精细标定,或者在现场重新采数据微调。前者难以覆盖每台机器人和每次机械状态变化,后者需要专家遥操作、训练设施和停机时间。对于一个希望部署到很多工作站的基础模型,这两种成本都会随节点数量增加而放大。更棘手的是,偏移往往不会让机器人立即出现明显故障,而是让抓取晚一点、夹爪高一点、插入偏一点,最终表现为重复性的精细操作失败。
现有 VLA 多数只读取当前帧或很短的历史,因此看得见一次失败,却无法把“我刚才为什么总是偏”保留到下一次尝试。通用记忆策略可以记住长视频,但其目标是短期回忆,而不是从自身失败中辨识硬件偏移。快速自适应研究又常依赖仿真中的历史本体感觉、人工语言纠正或额外在线梯度,未必适合已经部署的 VLA。
本文改变的是训练目标和上下文的含义。失败轨迹不再只是负样本,也不是需要在线模仿的行为;它被当作一条诊断线索。上下文编码器从视觉、动作和本体状态中提取偏移的低维表示,策略则学会根据这个表示修正专家动作。上下文只在一次试次结束后计算,控制循环内部仍是原来的 VLA 前向,因此不需要在每次动作去噪时重新编码历史。
问题定义:两类硬件偏移
设机器人有 $n$ 个受控自由度,$a_t\in\mathbb{R}^{n}$ 是策略输出的绝对目标关节位置,$\hat q_t$ 是实际物理状态,$q_t$ 是策略能读到的编码器值。每个评估回合先抽取一个未知偏移 $\delta\in\mathbb{R}^{n}$,它在整回合的所有试次中保持固定,并采用与动作相同的单位。这样,每个回合对应一台未经重新标定的部署硬件,试次之间的恢复必须依赖已收集的上下文。
第一类是执行器偏置。底层控制器存在常值偏差,或者力矩传感器存在零点漂移,会使实际关节运动朝某个方向多走一段,但编码器仍准确反映物理状态。在理想低层跟踪假设下,其离散关系可写为:
$$\hat q_{t+1}\approx a_t+\delta,\qquad q_t=\hat q_t.\tag{1}$$
第二类是关节编码器偏移。编码器零点错位会同时影响被执行的动作和策略读到的状态,但两者之间的差值模式与训练环境相似。其关系为:
$$\hat q_{t+1}\approx a_t+\delta,\qquad q_t=\hat q_t-\delta.\tag{2}$$
这两个模型看起来只差一项,诊断难度却不同。执行器偏置会同时改变物理运动与本体感觉,数值差异直接暴露偏移;关节编码器偏移会“自洽”地平移动作和读数,单看本体状态时很难发现问题,策略必须更多依赖视频中物体与夹爪的相对位置变化。作者的消融也显示,去掉本体感觉对两类偏移都造成下降,但对执行器偏置尤其严重。
基础策略与流匹配
基础策略接收语言 $l$、当前图像 $o_t$ 和本体状态 $q_t$,由视觉语言模型产生观测条件,再由扩散 Transformer 去噪动作块。记 VLM 输出的观测条件为 $c_t^o$,可以将基础策略写成:
$$c_t^o=\mathrm{VLM}(l,o_t,q_t),\qquad \pi(A_t\mid l,o_t,q_t)=v_\theta(A_t^\tau,\tau\mid c_t^o).\tag{3}$$
动作块 $A_t$ 包含未来 $h$ 个连续动作。训练时,专家动作块与高斯噪声沿直线插值:
$$A_t^\tau=\tau A_t+(1-\tau)\epsilon,\qquad \epsilon\sim\mathcal{N}(0,I),\qquad \tau\sim\mathcal{U}[0,1].\tag{4}$$
插值路径具有常速度 $A_t-\epsilon$,动作去噪器 $v_\theta$ 用条件流匹配损失回归该速度:
$$\mathcal{L}(\theta)=\mathbb{E}\left[\left\|v_\theta(A_t^\tau,\tau\mid c_t^o)-(A_t-\epsilon)\right\|_2^2\right].\tag{5}$$
推理时从噪声动作块开始,用若干欧拉步沿预测速度积分得到干净动作。本文实例使用 Qwen-3.5-0.8B 作为 VLM 编码器,并配一个 8 层、约 3.4 亿参数的 DiT 动作去噪器。这个基础策略只把当前观测作为条件;即使连续失败十次,失败历史也不会进入下一步决策,这正是部署期偏移会造成重复错误的结构性原因。
上下文专家数据如何构造
作者没有让机器人直接模仿失败轨迹,而是在训练场主动注入随机偏移 $\delta$,用冻结的基础策略执行任务,得到包含图像、本体状态和动作的失败轨迹 $\xi^s$。这些轨迹表达的是“在这套偏置下,策略会怎样持续犯错”。它们与对应偏移一起组成偏移数据,为上下文编码器提供诊断证据。
随后,作者从原始人类专家数据中采样一条高质量轨迹,对专家动作做与已知 $\delta$ 相反的预补偿。如果偏移还影响传感器,本体状态也按同一硬件模型变换。每条训练样本最终写成“失败上下文、语言、原始或补偿后的本体状态、补偿后的专家动作”。关键点是补偿目标始终来自人类专家数据,不来自失败轨迹本身。因此上下文只负责说明硬件怎么了,动作监督仍然保持专家质量。
这一流程不需要额外人工遥操作,但也不是完全无模型的数据增强。它假设硬件偏移可以参数化为配置空间中的常值向量,且用于训练的偏移分布覆盖部署时需要辨识的范围。论文主要验证执行器偏置与编码器偏置两个轴,这正是后文泛化边界的重要来源。
上下文编码器
上下文编码器的输入是长度约 15 秒的部署试次,包含自我视角、左腕和右腕三路视频,以及高频本体状态和已执行动作。视频按时间间隔降采样,每一帧由一个预训练 DINOv3 视觉主干提取为紧凑的 CLS 词元;每个时间区间内的本体状态和动作则通过共享多层感知机投影成状态词元与动作词元。
三路相机、状态和动作使用不同的可学习类型嵌入,避免网络把腕部夹爪画面和全局视角混为一类。多个模态词元经过两个带一维旋转位置编码的自注意力块融合,以保留相机之间和时间之间的对应关系。最后,一个可学习查询向量做多头注意力池化,把整条轨迹压缩为单个上下文词元 $c^s$。
$$c^s=\mathrm{ContextEnc}(\{I_t^{ego},I_t^{left},I_t^{right},q_t,a_t\}_{t=1}^{T}).\tag{6}$$
该词元维度与 DiT 的时间步条件一致。策略的条件向量由扩散时间步嵌入和上下文相加得到:
$$c_t^{cond}=c^\tau+c^s.\tag{7}$$
相加后的向量进入每个 DiT 块的 AdaLN-Zero,网络据此生成逐维缩放、平移和门控参数。这里没有修改 VLM 的输入序列,也没有把长视频塞进每次动作推理。训练时 VLM 保持冻结,只训练上下文编码器以及与基础策略相连的调制路径,目标仍是同一个条件流匹配损失。
这种解耦带来一个很实际的部署性质:失败试次结束后计算一次 $c^s$,之后每次控制前向只多做一次条件向量加法。上下文编码器本身的推理成本仍然存在,但它不进入 30 Hz 左右的高频闭环控制周期,因此作者称闭环控制没有额外计算开销。这个表述应理解为“每试次一次编码”,不是整个系统完全免费。
图 2:上下文编码器(论文图 3)。三路视频每帧编码为 CLS 词元,状态和动作由 MLP 投影;类型嵌入、时序自注意力与可学习查询池化最终得到一个上下文词元。
迭代自适应:上下文词元的线性叠加
一次失败轨迹不总能唯一确定偏移。例如多个关节同时偏置时,某一个大误差可能遮住另一个较小误差;第一次补偿后,系统才暴露出剩余问题。本文不重新训练策略,也不把多次长视频拼成越来越大的上下文,而是把每个试次独立编码,再把词元直接相加:
$$\mathrm{ensemble}(c_1,c_2,\cdots,c_m)=c_1+c_2+\cdots+c_m.\tag{8}$$
这条规则之所以可行,依赖后文观察到的线性潜空间结构。作者把每个关节偏移的正负方向看成独立轴,发现不同轴的上下文均值近似正交,而同一轴的正负方向近似反向。线性叠加后,多个试次看到的方向在大致保留各自诊断信息的同时增强补偿信号,使策略逐步从不抓取,推进到抓住物体,再推进到完成精确插入。
作者同时指出,这种累加也会让策略修正自己的过补偿或欠补偿。例如第一次偏置使夹爪太低,上下文可能把第二次动作推得偏高;第二次失败又提供了新方向,叠加后得到更接近真实的偏移。相比固定长度交叉注意力,线性词元不会在试次增加时覆盖旧历史,但它的容量和抗噪性仍取决于编码器是否真的学出了稳定的偏移轴。
flowchart TD
A["Expert demonstrations"] --> B["Inject known hardware shift"]
B --> C["Roll out frozen base VLA"]
C --> D["Failure trajectory context"]
D --> E["Context encoder
three views, state, action"]
E --> F["Static context token"]
A --> G["Pre-compensate expert actions"]
B --> G
G --> H["Shift-conditioned expert target"]
F --> I["Add token to timestep condition"]
I --> J["AdaLN modulates DiT policy"]
H --> K["Conditional flow-matching loss"]
J --> K
K --> L["Post-trained Self-Adaptive VLA"]
L --> M["Deployment trial"]
M --> N["Failure detected"]
N --> E
N --> O["Sum context tokens
from all failed trials"]
O --> I
M --> P["Task success"]
实验设置
实验覆盖四个精密双臂与灵巧操作任务:将玉米从一只手中转运到盘子、把试管插入试管架、把笔帽盖到记号笔上,以及用灵巧手组装圆环。前三项使用 6 自由度 Piper 或 Piper-X 双臂和平行夹爪;圆环装配使用两套 7 自由度 Marvin 机械臂和 20 自由度 Wuji 灵巧手。每个画面同时包含自我视角与两个腕部视角,单个任务持续约 10–15 秒。
每个任务先用人类遥操作专家数据训练基础策略,再以完全相同的基础模型训练所有后训练基线,减少初始化差异。评测包含 20 个回合,每回合从未知偏移分布采样一个固定硬件偏移,因此相当于 20 套未重新标定的部署环境。每回合最多允许六个试次,每次试次之间完整重置场景;任意一个试次成功,该回合即记为成功。
成功率为在六试次预算内完成任务的回合比例。为了跨任务比较,论文定义性能恢复率:
$$\rho=\frac{s-s_{\mathrm{base,misaligned}}}{s_{\mathrm{base,nominal}}-s_{\mathrm{base,misaligned}}}.\tag{9}$$
其中 $s$ 是待评方法在偏移环境下的成功率,分母表示基础策略从正常标定到偏移环境损失了多少性能。$\rho=1$ 意味着完全恢复到正常标定下的基础策略水平,负值则说明比未自适应基础策略更差。
图 3:四项评测任务(论文图 4)。每格展示初始、抓取、放置或插入等关键阶段,覆盖平行夹爪与高自由度灵巧手。
主要结果:失败轨迹能恢复精密操作
在正常标定下,基础策略四项任务平均成功率为 88.8%,其中转运玉米 100%、试管 75%、盖笔帽 85%、圆环 95%。加入执行器偏置后,平均成功率降到 7.5%;加入关节编码器偏移后只剩 5.0%。这说明即使任务语义和视觉场景没变,配置空间的小偏移也足以击穿精密接触。只用偏移数据微调但没有上下文编码器的版本,平均只恢复到 10.0% 和 15.0%,证明单纯见过偏移轨迹并不能告诉策略当前是哪一种偏移。
单试次 Self-Adaptive VLA 在执行器偏置下平均达到 45.0%,恢复率 46%;在编码器偏移下达到 46.3%,恢复率 49%。继续叠加最多六个试次的上下文后,两者分别达到 72.5% 和 75.0%,平均恢复率 80% 与 84%。改善不是只出现在一个简单任务:转运玉米从偏移后的 0%–20% 回到 100%,圆环装配从 10%–20% 提升到 70%,试管任务从 0% 提升到 50%。
| 执行器偏置 | 转运玉米 | 插入试管 | 盖笔帽 | 组装圆环 | 平均 |
|---|---|---|---|---|---|
| 正常标定基础策略 | 100 | 75 | 85 | 95 | 88.8 |
| 偏移环境基础策略 | 20 | 0 | 0 | 10 | 7.5 |
| 基础策略加偏移数据 | 30 | 10 | 0 | 0 | 10.0 |
| 门控记忆策略 | 70 | 30 | 20 | 0 | 30.0 |
| 本文单试次 | 60 | 20 | 40 | 60 | 45.0(恢复 46%) |
| 本文上下文集成 | 100 | 50 | 70 | 70 | 72.5(恢复 80%) |
表 1:执行器偏置下的成功率,单位为百分比(论文表 I)。每项为 20 个回合,每回合最多 6 个试次。
| 关节编码器偏移 | 转运玉米 | 插入试管 | 盖笔帽 | 组装圆环 | 平均 |
|---|---|---|---|---|---|
| 偏移环境基础策略 | 0 | 0 | 0 | 20 | 5.0 |
| 基础策略加偏移数据 | 50 | 0 | 0 | 10 | 15.0 |
| 门控记忆策略 | 85 | 20 | 20 | 40 | 41.3 |
| 本文单试次 | 80 | 25 | 30 | 50 | 46.3(恢复 49%) |
| 本文上下文集成 | 100 | 50 | 60 | 90 | 75.0(恢复 84%) |
表 2:关节编码器偏移下的成功率,单位为百分比(论文表 I)。这里本体状态在训练环境中看似正常,视觉上下文对诊断尤其重要。
图 4:迭代恢复的定性过程(论文图 5)。绿色到红色分界表示人类首次可识别的失败;随着失败上下文累积,策略从抓取失败推进到抓取成功,再完成插入或放置。
新工作站迁移
为了验证“偏移只在训练中模拟过”是否足够,作者把圆环装配策略部署到采集专家数据的原工作站和两个未做机器人硬件标定的新工作站。基础策略在原工作站成功率为 95%,在两个新工作站分别跌到 70% 和 10%。新工作站包含实际机械差异与未知组合偏移,并非表中单一执行器偏置或编码器偏移。
Self-Adaptive VLA 只用最多两个试次建立上下文,便在新工作站恢复到 90% 和 50%。这个结果比四个受控偏移任务的绝对恢复率更有部署意义,因为它说明由参数化数据训练出的编码器能处理一定程度的复合偏移。不过差距仍然明显:最难的新工作站只恢复一半,尚不足以宣称可以免维护运行。
| 工作站 | 基础策略 | Self-Adaptive VLA(最多 2 试次) | 绝对提升 |
|---|---|---|---|
| 采集专家数据的原工作站 | 95% | — | 保持原能力 |
| 新工作站 A | 70% | 90% | +20 个百分点 |
| 新工作站 B | 10% | 50% | +40 个百分点 |
表 3:圆环装配任务跨工作站结果(论文图 9)。上下文只需在新工位首次部署时收集一次,后续常规运行可复用该静态上下文。
上下文词元为什么能相加
作者在插入试管任务上固定其他偏移,只让六个有符号自由度轴变化,每个方向采集 10 条上下文轨迹。对每个方向的上下文词元求均值后计算两两余弦相似度,同一关节的正负偏移均值相似度位于 $-0.987$ 至 $-0.991$,几乎完全反向;不同关节之间的相似度接近零。这说明编码器没有把上下文压成一个只表示“成功或失败程度”的标量,而是学出了与各自由度近似对齐的方向。
图 5:上下文词元余弦相似度(论文图 7a)。对角线附近的正负同轴上下文接近反向,跨轴相似度接近零,为词元线性叠加提供了经验依据。
主成分分析进一步显示,前两个主成分只解释 23% 和 17% 的方差,说明信息并非集中在单一失败程度。类内平均散布为 0.27,而类中心平均距离为 10.27;六个主成分累计解释 99.8% 的方差,第七个仅 0.05%。因此有效维度与六个偏移轴相符,同一偏移内的变化紧密,不同偏移之间有足够间隔。
图 6:上下文词元的主成分投影(论文图 7b)。叉号是各偏移类型的词元均值,各颜色点来自相同偏移的 10 条轨迹;前两个主成分合计解释 40% 方差。
这些数字解释了公式 8 的简洁叠加为何有效,也限制了它的解释范围。六个主成分解释 99.8% 只针对这两类配置空间偏移和当前数据分布,不等于任意环境变化都能被线性表示。如果相机位置、地面摩擦或物体重量变化与硬件偏移混在一起,线性叠加是否仍能保持这种结构,需要新的实验。
消融与失败模式
上下文模态消融在盖笔帽任务上进行。移除本体感觉后,两类偏移下的成功率都下降,但执行器偏置受影响更大,因为本体状态与动作命令之间的差异直接暴露了常值偏置。相反,使用每帧全部二维 patch 词元并没有比每帧一个 CLS 词元带来显著收益。失败的空间细节很多,但识别硬件偏移真正需要的是物体与机器人之间的相对运动模式,紧凑 CLS 已足够。
论文还比较了门控记忆策略。它在执行器偏置下的平均恢复率是 28%,但在某些任务上表现不均;在关节编码器偏移下,插入试管与盖笔帽都停在 20%。作者的定性分析认为固定长度注意力窗口会覆盖早期上下文,使后面试次在两个错误模式之间重复。Self-Adaptive VLA 的累加词元保留了所有试次的方向信息,因此能在第三到第六个试次继续恢复。
从定性时间线看,初始失败通常是完全抓不到物体。加入第一段上下文后,策略能补偿一侧手臂,但另一侧仍有残余偏移;第二个上下文让双臂都抓到物体,却可能在插入或释放时继续偏;更大的上下文才把接触阶段推进到成功。这种逐阶段暴露误差的现象说明硬件偏移辨识不是一次性分类问题,而是控制误差随任务阶段变化后被逐步揭示的问题。
局限与风险
第一,方法只直接建模配置空间内的偏移。作者明确把相机标定误差、物体动力学变化和非刚体环境差异列为未来工作。本文的两类偏移足以证明机制,但真实部署中的组合误差更复杂,不能直接把 80%–84% 的平均恢复率外推到任意环境漂移。
第二,静态上下文不支持试次内部自适应。编码器只在完整失败试次后运行一次,换来了闭环控制零额外开销;代价是在一次长轨迹内部,如果机器人或环境状态发生变化,策略无法更新上下文。对于不可逆、危险或无法安全承受失败试次的任务,这套流程甚至不能获得初始诊断数据。
第三,实验规模仍有边界。主表每个任务只有 20 个回合,每个回合最多六个试次,偏移来自预设分布。新工作站实验提供了真实补充,但只涉及圆环装配。后续应报告更多本体、物体和不同磨损阶段,并按偏移类型分层给出置信区间。
第四,线性叠加有结构性风险。论文观察到的近正交潜空间支持简单相加,但当试次更多、偏移更复杂或上下文含异常噪声时,累加可能放大无关分量。论文使用最多六个试次,尚未展示长期运行下的漂移、遗忘或恢复速度。
第五,公开仓库没有实现代码、训练配置、检查点或数据。读者可以核验方法图和演示视频,却无法复现数据构造、DINOv3 接入、AdaLN 调制、流匹配训练和试次级集成。对一个以部署可维护性为卖点的系统,这是独立复现与工程采用上的实质缺口。
工程启示
这项工作的核心设计不是增加一个更大的记忆模块,而是先定义了“需要记住什么”。对于硬件偏移,完整视频并非最终表示,真正有用的是能区分关节正负方向、夹爪宽度和多臂组合的低维上下文。上下文编码器因此可以离线于控制频率运行,VLA 的闭环计算图几乎不变。对实际机器人团队,这比在线反向传播或每步拼接长历史更接近可部署方案。
数据构造同样值得借鉴。系统知道训练时注入了什么偏移,便能生成动作预补偿标签;失败轨迹只负责诊断,专家数据负责目标行为。这种“上下文来自自采样、监督来自专家”的分离,比直接把失败轨迹标成负样本更稳定,也避免策略模仿自己的错误。
不过,恢复率不是最终运维指标。真实部署还要看每个新工位需要多少次失败、失败是否安全、上下文能否持久化,以及机械维护后如何检测旧上下文已失效。论文把这些问题打开了一个清晰入口,但它还不是完整的自动维护系统。
结论与展望
Self-Adaptive VLA 证明了无记忆 VLA 的部署脆弱性可以通过后训练上下文机制缓解。它把硬件偏移下的失败轨迹编码成静态词元,通过 AdaLN 调制动作去噪器,并用词元累加实现跨试次迭代。四任务结果中,单试次恢复约一半损失,六个试次恢复约八成;潜空间分析进一步说明各偏移轴在表示中近似独立,支持简单叠加。
下一步最值得验证的是更广的偏移类型和在线安全边界。如果能把相机外参、接触动力学和工具磨损纳入同一上下文,或者在试次内部以低频率更新上下文,系统才更接近长期自主运维。另一个关键方向是把上下文可靠性显式建模,让机器人知道“这次看到的失败不足以下结论”,从而主动选择更安全的诊断动作,而不是盲目累加所有试次。
金句
失败不是要被模仿的行为,而是可以被编码的诊断信号。 本文把自采样轨迹用于辨识硬件偏移,把专家数据继续用于规定正确动作,二者分工清晰。
真正降低推理成本的不是更短的记忆,而是把记忆放在控制循环之外。 每个试次只算一次上下文词元,毫秒级闭环仍执行原来的 VLA,这正是该方法具有部署吸引力的原因。
参考链接
论文:https://arxiv.org/abs/2609.30092
项目页:https://icefoxzhx.github.io/self-adaptive-vla
官方仓库:https://github.com/Icefoxzhx/self-adaptive-vla



