论文精读 · Harness for Robotics · Context Architecture

RA-VLA

Retrieval-Augmented VLA for Test-Time Adaptation

给 VLA 配一个装着新任务示范片段的卡片目录:每生成一个动作块,先用一个学过「动作阶段」的检索器找出最对应的专家片段,把它预先算好的特征拼进动作头的交叉注意力,再用一个 margin 损失逼动作头真的去读这张卡片。新任务不更新权重,LIBERO 留出套件平均成功率 0.3845(最强基线 0.2085),UR5e 留出任务 0.5625(0.3542)。

  • POSTECH 计算机系 · AI 研究生院
  • arXiv 2608.25585v2 [cs.RO]
  • v1 2026-08-26 · v2 2026-10-07
  • ICML 2026
  • arXiv
QUERY V_t · L R(·) → 池化 z ∈ ℝ⁵¹² 余弦相似度 · top-K 按「动作阶段」排序 top-1 片段 (V′, L′, s′, A′) 键 z′ · 1 KB · 检索用 值 H′ · 2 MB · 离线预编码 值 s′, A′ · 16 步动作块 BUFFER 𝓑 新任务 1–5 条示范 · h = 16 · s = 4 送进动作头
示意,不是实验数据。卡片字段和存储量来自 §4.1 与附录 B:每段一个检索键 z′,值是冻结 VLM 预先算好的特征 H′ 和状态、动作块。

做了什么

在 GR00T N1.5 外面加一层检索:示范切成片段(一个时刻的观测 + 其后 16 步动作),冻结 VLM 离线编码成卡片。检索器是 2 层 Transformer,用 DTW 对齐的动作序列定义正样本做对比学习,测试时只看图和指令。动作头每层交叉注意力只拼一段检索结果,去噪起点换成检索片段动作块的均值。

怎么评

严格留出:LIBERO 用 3 个套件训练、第 4 个套件全新,每个留出任务给 3 条示范,每任务 50 次;UR5e 4 个真机任务留一法,给 4 条示范,每任务 12 次。基线 RAEA、RICL 都在同一个 GR00T N1.5 上复现,并且也换上了本文的检索器。

结果

LIBERO 平均 0.3845,RICLR 0.2085,RAEA 0.1235(均用本文检索器)。UR5e 平均 0.5625(27/48),RICLR 0.3542。K = 8 时单个动作块 0.055 s,RAEA / RICL 0.157 / 0.156 s。

最该留意的

LIBERO-Goal 上去掉 margin 损失只剩 0.098,换回现成检索器只剩 0.102,都跌回 RAEA(0.104)水平:两样缺一样就没有增益。去噪起点直接用检索动作这一项没有消融。附录里「107 个键检索 0.18 ms」和 A100 显存带宽对不上。

§1 · 问题

示范给了,策略却不照着做

VLA 碰到训练分布外的新任务,往往退回训练时熟悉的动作,或者乱动。重新微调要采数据、要算力。In-Context Imitation Learning(ICIL)的思路是不改权重,在推理时把几条专家示范塞给策略当提示,让它照着做。论文认为现有 ICIL 框架卡在一个适应瓶颈(adaptation bottleneck)上,由三件事叠成:

  • 检索看表面。现成的视觉表征按「画面像不像」找示范。LIBERO-Goal 的 10 个任务共用同一个场景,看上去最像的片段很可能是另一个任务的。图 1(a) 里,指令是「turn on the stove」,检索回来的是夹碗的片段。
  • 行为惯性(behavioral inertia)。即使给了相关示范,策略也不按它调整,继续执行预训练里的「夹碗」先验(图 1(b) 上)。直接拿检索到的动作来用,又补不上示范场景和当前场景的差别,动作不准(图 1(b) 下)。
  • 延迟随片段数上涨。把示范拼进多模态提示,LLM 的序列随检索片段数 K 线性变长(图 1(c))。
原文 Figure 1(a) 当前观测是「turn on the stove」,现成检索器返回的两个片段画面很像,但做的是夹碗,标为 Functional irrelevance。(b) 上排:忽略上下文、按记忆夹碗;下排:给了相关上下文仍然失败,只是表面模仿、精度低。(c) 推理时间随检索片段数 k 增长,红色为现有 ICIL(图注说画的是 RICL,其他基线趋势相同),蓝色为 RA-VLA,虚线是不带上下文的 VLA。

对应的三处改动:用 behavioral alignment loss 训练检索器,按动作相似度而不是画面相似度组织嵌入空间;用 contextual adherence loss 打破行为惯性;把每个片段当作独立编码单元离线缓存,让延迟几乎不随 K 增长。

解读「training-free」只指新任务

标题和摘要说的免训练适应,是指遇到留出任务时只往 buffer 里放示范、不更新权重。在此之前,检索器和动作头都要在训练任务上训练(VLM 冻结),这一步论文称为「赋予策略 in-context 适应能力」。训练任务和评测任务严格分开。

§2 · 方法 · 全局 · §3–4.1

一个目录、一个检索器、一个会读卡片的动作头

基座是 flow matching 的 GR00T N1.5:VLM fφ 把双视角 RGB Vt 和指令 L 编码成 Ht,动作头 gψ 是一个 DiT,以 Ht 和本体状态 st 为条件,回归向量场 Ft = At − At(0),用 Euler 步把起点推到动作块 At ∈ ℝh×c:

At(k+Δk) = At(k) + Δk · gψ(Ht, st, At(k), k),   k ∈ [0, 1](2)

RA-VLA 在动作头的条件里多加一项检索到的专家片段集合 𝓗ret:

Ft = gψ(Ht, 𝓗ret, st, At(k), k),   𝓗ret = { Hret(1), …, Hret(K) }(3)
原文 Figure 2右下:当前观测经冻结的 Vision Encoder 和 Text Tokenizer 得到输入 token,一路进冻结的 VLM,一路进可训练的 Retriever(火焰图标)。左下:Buffer 里每个 Segment 带一张图、一句指令和动作 [Δx, Δθ, ΔGrip],下面那排小方块是它预先算好的 token(蓝绿为图文特征,米色为动作)。左上:第 1 到第 k 个检索片段分别和当前观测 token 拼接(⊕),送进动作解码器不同层的 Cross-Attention。右上:动作解码器(可训练)输入状态和加噪动作,输出去噪后的动作。

① 上下文缓冲区 𝓑

切片
示范按窗长 h、步长 s 切成片段 (V′, L′, s′, A′),在 t ∈ {1, 1+s, 1+2s, …} 处各取一个观测和其后 h 步动作块
参数
h = 16,s = 4
存什么
键 z′(检索用);值 (H′, s′, A′),H′ = fφ(V′, L′) 由冻结 VLM 离线算好;状态和动作用单独的线性编码器
大小
每段:1 KB 键、2 MB 特征、1 KB 动作块(附录 B)

② 检索编码器 R(·)

结构
2 层 Transformer 编码器,hidden 512,8 头,FFN 1024
输入
送进 LLM 之前的多模态 token:视觉编码器的图像嵌入 + 文本 token 嵌入
输出
平均池化成 z(512 维),与所有键算余弦相似度取 top-K
训练
behavioral alignment loss,τ = 0.01

③ 接地的动作生成

注入
pairwise grounding:8 个交叉注意力层,每层的 K/V = 当前观测特征 + 一段检索特征
分配
K 段按相关度分到各层,最相关的放最高层(附录表 5)
起点
At(0) 取检索片段动作块的经验均值,不从标准正态采样
训练
𝓛rel + λ𝓛adhere,λ = 0.1,margin m = 0.01

解读「片段」不是视频

按附录 B 的定义,一个片段是某一时刻的观测(双视角图像)、指令、本体状态,加上从这一时刻起的 16 步动作块。它和策略自己的输入输出完全同构:「在这个画面下,专家接下来 16 步做了什么」。所以 buffer 本质上是一张「观测 → 动作块」的查找表,检索器负责找到和当前时刻处在同一动作阶段的那一行。

§3 · 交互 · 一次检索走一遍

从当前观测到一个动作块,四步

下面用原文图 4 的真实例子走一遍:查询轨迹是「Pick up the bowl in the top drawer of cabinet and place it on the plate」,被检索的源轨迹是另一个拿碗放盘子的任务。第 ② 步里三个检索器返回的画面和勾叉都直接取自原图。

检索 → 拼接 → 去噪 → 训练时的 margin

机制来自 §4 与附录 B;画面来自原文 Figure 4

查询片段(原图上排从左到右)

Pick up the bowl in the top drawer of cabinet and place it on the plate

检索只用观测和指令,不看动作,因为当前时刻接下来的动作正是要预测的东西。图像嵌入和文本 token 嵌入在进入 LLM 之前就被分出一路,交给只有 2 层的检索编码器,所以检索不需要等 VLM 跑完。另一路照常经过冻结的 VLM 得到 Ht,第 ③ 步会用到。token 的具体数量论文没有给。

§4 · 方法 · 行为对齐检索 · §4.2 · 附录 B

用动作定义正样本,学一个只看画面的检索器

正样本从哪来。随机抽同一任务的两条示范,对它们的动作序列做 Dynamic Time Warping:在 L2 距离的累计匹配代价最小的意义下,求出一条索引对 (i, j) 组成的弯曲路径。路径上的片段对 (Vi, L, si, Ai) 与 (V′j, L′, s′j, A′j) 当正样本,不在路径上的当负样本。DTW 的非线性弯曲同时容忍时间上的快慢和空间上的平移,所以对齐出来的是「做到同一步」,和画面像不像无关。

怎么学。测试时拿不到当前的动作序列,所以检索编码器只吃观测,去逼近这个由动作定义的对齐。损失是 SimCLR 式的对比损失:

𝓛align = − Σ(i,j)∈𝒫 log  exp(sim(zi, zj)/τ) ⁄ Σk∈{j}∪𝒩i exp(sim(zi, zk)/τ)(4)

sim 是余弦相似度,τ = 0.01。𝒫 是 DTW 路径上的正样本对;𝒩i 是 batch 里所有其他片段,包括同一对示范里没对齐上的片段和其他任务的片段。论文的主张是:这样学到的是动作轮廓,不局限于训练任务,所以能泛化到留出任务。

DTW 怎样给出正负样本

示意:合成的一维曲线,不是论文数据

示范 A 的片段序号

原文 Figure 4上:查询轨迹(Query)与源轨迹(Source),蓝色箭头标 Pick up 阶段,绿色标 Place 阶段。下:对查询轨迹的每一段,三个检索器各自在源轨迹里找最相关的一段,勾叉表示阶段是否对得上。ViT(SigLIP 2)5 段错 3 段,第 1 段把拿起阶段对到了后面的搬运阶段;VLM(Eagle 2)错后 2 段;本文检索器 5 段全对。上面交互的第 ② 步就是这张图的逐段拆开。

解读为什么 LIBERO-Goal 上换检索器的收益最大

LIBERO-Goal 的 10 个任务共用一个场景,只是目标不同。按画面检索,任何任务的片段都「很像」;要区分只能靠指令和动作阶段。表 1 里,现成 SigLIP 2 检索器下三个基线在 Goal 上只有 0.008–0.106,换成本文检索器后 RICLR 到 0.206;RA-VLA 自己换回现成检索器只剩 0.102(§4.4 正文),用本文检索器是 0.532。

§5 · 方法 · 上下文接地生成 · §4.1、§4.3 · 附录 B

每层只读一张卡片,再罚「读不读都一样」

Pairwise grounding:K 段分到 8 层

RAEA 一类方法把 K 段示范和当前观测一起拼进 VLM 的提示,LLM 序列跟着 K 变长。RA-VLA 的 VLM 只编码当前观测;检索片段的特征是离线算好的,到动作头里才出现,而且每个交叉注意力层只拼一段:K/V = [当前观测特征 Ht ; 一段检索特征 Hret(i)]。K 段按相关度从低层到高层排开,最相关的放在最高层做细调。分配表是人工定的:

K8 个交叉注意力层分到的片段(第 1 层 → 第 8 层,数字 = 相关度排名)

原文附录 Table 5。目前实现只覆盖 K ≤ 8;作者提到可以按去噪步动态调整分配,但没有实现。默认设置 K = 1,即 8 层都读同一段。

去噪起点:检索动作的均值

§4.3 末尾的 Remark:常规 flow matching 从标准正态采样 At(0),RA-VLA 改成检索片段动作块的经验均值。论文说这个「informed behavioral prior」加快训练收敛,并显著稳定了新任务上的去噪。

解读K = 1 时,动作头是在「修改」一段专家动作

默认 K = 1,均值就是那一段的动作块本身。向量场 Ft = At − At(0) 于是变成「从专家动作到当前该做的动作」的残差,4 个 Euler 步走完这段残差。这和 RICLR 直接把检索动作按权重混进输出是同一个方向,只是 RA-VLA 让网络学怎么改。论文没有单独消融这一项,也没说是否在均值上再加噪声。

Contextual adherence loss

论文对行为惯性的诊断是:在训练分布内,当前观测本身就足以把行为克隆损失压低,模型没有动力去学「查询和上下文的交互」。于是每个训练迭代算两次 MSE,一次用检索器找来的片段,一次换成随机片段:

𝓛rel = ‖ Ft − gψ(Ht, 𝓗ret, …) ‖²,   𝓛irrel = ‖ Ft − gψ(Ht, 𝓗rand, …) ‖²(5)
𝓛adhere = max(0, m − (𝓛irrel − 𝓛rel)),   𝓛overall = 𝓛rel + λ𝓛adhere(6)(7)

如果动作头无视上下文,两次 MSE 几乎相等,差值小于 m 就被罚。m = 0.01,λ = 0.1。推理时只走 𝓛rel 那条路径,所以没有推理开销。附录 B 提到作者先试过约束比值 𝓛irrel / 𝓛rel 的版本:MSE 收敛到接近 0 时比值数值不稳、差距信号消失,所以改用差值。附录 A 把这条思路和 NLP 里的 contrastive decoding、固定权重的「有/无上下文」损失做了对比,认为固定权重提供不了贯穿训练全程的区分信号。

原文 Figure 10两组 LIBERO 任务,上行 RA-VLA 成功,下行去掉 𝓛adhere 失败。(a) Put both moka pots on the stove:去掉后机械臂没有去拿摩卡壶,而是伸向炉子,图注归为退回预训练先验。(b) Put the bowl on the stove:去掉后机械臂大幅扭动、偏离目标,图注归为 erratic actions。

§6 · 实验设置 · §5.1 · 附录 C–E

训练任务和评测任务完全不重叠

项目LIBERO(仿真)UR5e(真机)
任务Spatial / Object / Goal / Long 4 个套件,各 10 个任务,每任务 50 条示范Stack Box(小盒叠到大盒上)、Throw Trash(垃圾扔进红桶)、Close Drawer(关抽屉)、Press Pedal(踩踏板开垃圾桶);每任务 GELLO 遥操作采 30 条
留出方式3 个套件训练,第 4 个套件整套留出留一法:3 个任务训练,1 个留出;训练时额外混入 LIBERO 数据
buffer每个留出任务 3 条示范每个留出任务 4 条示范
试验次数每任务 50 次,报套件平均每任务 12 次,报子目标和整体成功率
扰动论文未单独说明目标物和干扰物位置、机器人初始本体状态每次略有扰动
硬件—UR5e + Robotiq 2F-85;两台 RealSense D435(第三人称 + 腕部);10 Hz 同步采集与执行(ur_rtde);训练和推理都在单张 A100,控制器通过网络向推理服务取动作
方法怎么用示范说明
Vanilla VLA不用只在训练任务上训练,测 VLA 自身对新任务的泛化
RAEA示范片段和当前查询拼成一个多模态提示,一起过 VLM作者把原方法改造到 VLA 上的版本(附录 D 脚注)
RICLG / RICLR同样把示范放进提示微调,另加动作插值层:At = w(d)·A′ + (1 − w(d))·πθ(·),w(d) = e−λwd,d 为检索空间里到最近邻的 L2 距离λw = 1.0 为 RICLG(偏生成),0.2 为 RICLR(偏检索动作);为适配 flow matching 改写了回归损失
RA-VLA本文默认 K = 1

共同设置:所有方法都用 GR00T N1.5 当主干;双视角 RGB(第三人称 + 腕部);动作块长度 16,4 个去噪步。LIBERO 上基线分别配现成 SigLIP 2 检索器和本文检索器各测一遍;UR5e 上只测 RAEA、RICLR 和 RA-VLA,全部用本文检索器。RA-VLA 超参:τ = 0.01,s = 4,m = 0.01,λ = 0.1。附录 E 脚注还说,降低去噪时噪声动作块的更新幅度在 LIBERO 上也表现稳定,但主实验没用。

未披露检索器和动作头的训练步数、batch、学习率、训练数据量;RAEA / RICL 的 VLM 是否同样冻结;评测时多个留出任务是否共用一个 buffer;每个动作块执行几步再重新推理。

§7 · 结果 · §5.2–5.6

主表、真机、敏感度、检索器、延迟、规模

LIBERO:留出套件(表 1)

四个套件的平均成功率

表 1 Average 列,数值是比例(表头写 %,正文写 38.5% 等)。每个留出任务 3 条示范。

换检索器之后:逐套件

每行一个基线,● 现成 SigLIP 2 检索器,● 本文检索器;蓝色竖线 = RA-VLA(上方数字),灰色虚线 = Vanilla。五个面板同一比例尺 0–0.6。

原表数字(表 1)

Vanilla VLA 在新任务上几乎为零(平均 0.0170)。现成检索器下三个基线只有 0.045–0.0885。换成本文检索器,三个基线都涨:RAEA 0.0450 → 0.1235,RICLG 0.0885 → 0.1295,RICLR 0.0465 → 0.2085。RA-VLA 在四个套件上都最高,平均 0.3845,比最强基线高 0.176(正文写「absolute 17.60%」)。最难的是 LIBERO-Long,RA-VLA 也只有 0.130。

解读RICLR 是检索器换代后受益最大的基线

RICLR 给检索动作的权重最大(λw = 0.2)。检索不准时,它照抄的是错误阶段的动作,所以现成检索器下反而不如 RICLG(0.0465 vs 0.0885);检索准了以后它涨得最多(+0.162)。这说明在新任务上,「照着对齐好的示范动作做」本身就值很多分。

UR5e 真机:留一法(表 2)

每个留出任务的子目标与整体成功率

虚线框 = 子目标成功率(拿到盒子 / 拿到垃圾 / 碰到抽屉 / 碰到踏板),实心柱 = 整体成功率,柱顶数字是整体成功率;每任务 12 次,悬停看次数和子目标数值。基线都用本文检索器。

Vanilla VLARAEARICLRRA-VLA子目标
原表数字(表 2)

RA-VLA 平均 0.5625,RICLR 0.3542,正文说提升 20.83 个百分点。4 个任务的整体成功率都是 RA-VLA 最高;唯一被超过的是 Press Pedal 的子目标(碰到踏板),RICLR 0.667 高于 RA-VLA 0.583。RAEA 在 Stack Box、Throw Trash、Press Pedal 上的整体成功率和 Vanilla 一样是 0:从定性图看,它会去做训练任务(拿垃圾、踩踏板、关抽屉),论文把这当作「偏向训练分布行为」的证据。

解读真机的样本量

每任务 12 次,一次试验就是 0.083。合并 4 个任务是 27/48 对 17/48,把试验当独立样本做双侧 Fisher 精确检验,p ≈ 0.065。真机结果方向和 LIBERO 一致,但单独看还不够稳。Close Drawer 上 Vanilla VLA 就有 0.333,作者在图 8 图注里也承认预训练分布可能已经覆盖关抽屉动作。

上下文敏感度(表 3)

Relative Contextual Sensitivity 衡量把检索上下文换成随机上下文后,策略生成部分的输出相对变化多大,在 1,000 个样本上平均:

Sctx = ‖ πθ(Vt, L, 𝒟ret) − πθ(Vt, L, 𝒟rand) ‖ ⁄ ‖ πθ(Vt, L, 𝒟ret) ‖(8)

Sctx 与 LIBERO-Goal 成功率

4 个点,全部来自表 3。基线用本文检索器。

原表数字(表 3)

RA-VLA 的 Sctx 是 0.3639,RAEA 0.0247、RICLR 0.0788。去掉 𝓛adhere 后掉到 0.0353,成功率从 0.532 掉到 0.098。论文据此说 Sctx 和成功率正相关、adherence loss 是把检索知识转成动作的关键。

两个组件的拆解:LIBERO-Goal

缺任何一样都回到基线水平

数字分别来自表 1、表 3 与 §5.4 正文(「10.2% → 53.2%」)。

解读增益不是两项相加

只有本文检索器、没有 𝓛adhere:0.098;只有 𝓛adhere、检索器换回现成的:0.102。两者都和 RAEA(0.104)差不多,合起来却是 0.532。逻辑上说得通:检索错了,逼动作头去读它只会读到错的;检索对了,动作头不读也白搭。另一面是,pairwise grounding、预编码这些结构改动本身并不带来成功率,它们的价值在延迟上。

推理延迟(图 5 / 图 11)

原文 Figure 11生成一个动作块的延迟,1,000 次平均,动作头 4 个去噪步,按 ViT + Retrieval(浅蓝)、LLM(红)、Action Head(绿)堆叠。k = 8 时 RAEA 0.157 s、RICL 0.156 s、RA-VLA 0.055 s(图上标注)。RAEA 和 RICL 的增长几乎全在 LLM 段;RA-VLA 的 LLM 段不随 k 变,动作头段随 k 略有增加。正文图 5 是同一组数据去掉 RAEA 面板。

附录 B 的检索开销:查询 (1 × 512) 与键 (N × 512) 做一次矩阵乘再取 Top-K,A100 上 N = 107 时 0.18 ms,占总推理延迟 0.36%(反推总延迟约 50 ms,和图 11 中 K = 1 时 RA-VLA 约 0.05 s 吻合)。作者说更大规模可以接 ANN 索引。

疑点0.18 ms 读不完 10 GB 的键

每个键 1 KB(512 维 × 2 字节),N = 107 时键矩阵约 10 GB。一次暴力矩阵乘至少要把它从显存读一遍,A100 显存带宽约 2 TB/s,下限约 5 ms,比报告的 0.18 ms 大二十多倍。可能是计时没做 CUDA 同步,也可能 N 指的不是键的个数,论文没交代。另外 107 个片段的预编码特征(每段 2 MB)约 20 TB,放不进 GPU 显存,「GPU 管理的 buffer、内存开销可以忽略」只在小 buffer 下成立。

buffer 大小 N 与检索数 K(表 4)

LIBERO-Goal 成功率

N = buffer 里每任务的示范数(K 固定为 1),K = 检索片段数(N 固定为 3)。纵轴从 0.45 起,不是从 0 起。

N(示范数)K(检索片段数)
原表数字(表 4)

示范从 1 条加到 4 条,成功率 0.482 → 0.552,单调上升。K 从 1 到 4 只有 0.532 → 0.546,K = 4 比 K = 3 还低一点。作者的说法是当前设置下少量片段已经够用,K 可扩展这一点留给更复杂或更模糊的场景。

解读K 的差异在噪声范围内

按 0.002 = 1/500 推断,每个套件的成功率是 500 次试验(10 任务 × 50 次)。p ≈ 0.53 时二项分布的标准误约 0.022,K 那一行最大差 0.016,不到一个标准误。N 那一行的 0.07 是实打实的。这也解释了为什么默认用 K = 1:延迟上的优势在 K 大时才显现,而成功率并不需要大 K。

定性结果(图 3、图 6–9)

§8 · 读懂它

这篇真正说明了什么

关键 insight

1. 检索器要学的是「动作阶段」,不是「长得像」

DTW 只在训练时用动作定义谁和谁算同一步,测试时检索器只看图和指令。图 4 那一例里,现成 SigLIP 2 五段错三段,Eagle 2 错两段;表 1 里同一个基线只换检索器,平均成功率最多翻了 4 倍多(RICLR 0.0465 → 0.2085)。

2. 给了上下文不等于用了上下文

标准行为克隆下,当前观测足够把损失压低,动作头没有理由去读示范。margin 损失把「读不读示范,损失差不差」变成显式目标:Sctx 从 0.0353 升到 0.3639,LIBERO-Goal 从 0.098 升到 0.532。

3. 上下文放在动作头,而不是 VLM 提示里

冻结 VLM + 离线预编码 + 每层只拼一段,使 LLM 的输入长度与 K 无关。K = 8 时 0.055 s 对 0.156 s。代价是 VLM 不能为了读示范而调整,作者在局限里承认训练规模变大时独立编码可能成为限制。

4. 起点也是上下文

去噪从检索动作的均值出发,等于在专家动作附近做修正。RICLR 偏重检索动作而大涨、RA-VLA 也用检索动作当起点,两者都指向同一件事:新任务上,对齐好的示范动作本身就是很强的先验。这一项论文没有拆开量化。

容易误解的地方

  • 「免训练」只针对新任务。检索器要训练,动作头要微调,只是新任务来了不再更新权重。
  • 17.60% 和 20.83% 是绝对百分点,对比的是同样用了本文检索器的最强基线 RICLR。如果和基线原本的检索方式(现成检索器)比,差距更大。
  • 表 1 的数是比例。表头写「success rate (%)」,单元格是 0.3845 这样的小数;正文的「20.9% → 38.5%」是平均列四舍五入。
  • Sctx 高不代表动作对。它只衡量换上下文后输出变了多少。一个照抄随机示范的策略 Sctx 也会很高。论文的论证靠的是它和成功率同时变化。
  • 基线不是原版代码。RAEA 是作者改造到 VLA 上的版本,RICL 改写了回归损失,并且都换上了本文检索器。对比的是「同一主干、同一检索器下不同的用法」。

FAQ

评测时 buffer 里到底有多少东西?

LIBERO 每个留出任务 3 条示范,UR5e 4 条,按 h = 16、s = 4 切片。附录 B 举例:一条 128 步的示范切成 15 段(见疑点:按 s = 4 应为 29 段)。多个留出任务是否共用一个 buffer,论文没写明;图 1(a) 的失败例检索到同场景另一个任务(夹碗)的片段,说明至少那个例子里 buffer 混有其他任务的示范。

为什么 VLM 必须冻结?

buffer 里的 H′ 是离线算好的,它必须和在线算出的 Ht 处在同一个特征空间,VLM 一更新缓存就失效。冻结也让检索器的输入(LLM 之前的 token)固定。论文明确写了 frozen VLM backbone 是能预计算、缓存的前提。

检索器是在什么数据上训练的?能检索到训练里没见过的任务吗?

正样本来自训练任务里同一任务两条示范的 DTW 对齐,负样本是 batch 里其他片段(包括其他任务)。论文主张学到的是「动作轮廓」,所以能用于留出任务;直接证据是表 1:留出套件上,本文检索器让三个基线全部提升。检索器的训练数据量、步数论文没给。

RICLG 和 RICLR 差在哪?

只差插值权重的衰减系数 λw:w(d) = e−λwd,λw = 1.0(G)时权重衰减快、更依赖生成;0.2(R)时更依赖检索到的专家动作。现成检索器下 G 更好(0.0885 vs 0.0465),本文检索器下 R 更好(0.2085 vs 0.1295)。

真机上的控制频率和延迟够用吗?

数据采集和执行都是 10 Hz,推理在远端 A100 服务器上。图 11 中 K = 1 时 RA-VLA 一个动作块约 0.05 s(读图)。一个动作块 16 步,按 10 Hz 是 1.6 s 的动作;每块执行多少步再重推理,论文没写。

§9 · 局限与疑点

作者承认的,和我们读出来的

论文自己提到的(附录 F、Impact Statement)

  • buffer 是新任务唯一的指导来源,示范的质量和多样性决定了适应能力;为公平起见所有实验用同一个 buffer。
  • 绝对成功率仍远低于分布内水平;评测在分布外,性能对超参数很敏感。
  • 需要在更大规模训练、非 flow matching 架构、更复杂任务上验证;训练规模变大时,独立编码策略可能限制性能。
  • 依赖示范 buffer 带来数据投毒风险:恶意示范会被策略照着执行,部署时需要校验示范来源。

我们读出来的

  • 疑点附录 B 的检索延迟(N = 107,0.18 ms)低于 A100 显存带宽允许的下限约 5 ms;107 段的特征约 20 TB,也放不进显存。
  • 疑点去噪起点换成检索动作均值没有消融,基线是否同样处理没说,是否加噪声没说。𝓛irrel 那一路的起点用的是随机片段的均值还是检索片段的均值也没说:如果是前者,换上下文会连起点一起换,Sctx 和 margin 不只反映交叉注意力有没有读上下文。
  • 疑点附录 B 说 128 步示范切成 15 段,按 h = 16、s = 4 应为 29 段;15 段对应 s = 8。
  • 疑点图 1(c) 与图 5 的延迟对不上:图 1(c) 读图 k = 8 时现有 ICIL 约 0.166 s、RA-VLA 约 0.066 s,图 5 标注为 0.156 s 和 0.055 s,测法差别没交代。
  • 没有标准差和多种子。表 4 中 K 的差异不到一个标准误;UR5e 合并检验 p ≈ 0.065。
  • Sctx 只有 4 个点;它衡量变化量,不衡量对错。RICL 只算生成部分,不含插值进去的检索动作。
  • 「新任务」的边界:UR5e 训练混入了 LIBERO 数据,Close Drawer 上 Vanilla 已有 0.333;图 8 图注说 Vanilla 对关抽屉有明显的遵循,配图里 Vanilla 那一行却是失败。
  • §5.4 的「换回现成检索器 10.2%」只有一句正文,没说策略是否用现成检索器重新训练。
  • 训练细节(步数、batch、学习率、检索器训练数据量)均未披露,复现门槛高。

§10 · 放到专题里看

改的是「看什么」:每一步多看一张别人的卡片

在 Harness for Robotics 专题里,RA-VLA 属于 Context Architecture:它不保存任何回合内状态,每个动作块独立检索一次,buffer 部署时是静态的。它改的是策略每一步看到什么,以及看到的东西以什么形式进来:一段别人在同一动作阶段的观测特征和动作块,以交叉注意力 K/V 的形式进入动作头,外加一个由示范动作给出的去噪起点。

RA-VLAActiveVLATIC-VLAOptimusVLAMemoryVLASOMAHiMe
类别看什么看什么看什么(时序对齐)记什么记什么记什么记什么
额外信息从哪来外部示范 buffer(新任务 1–5 条示范)当前 RGB-D 重建的点云自己慢速 VLM 的推理结果训练集轨迹库 + 本回合上一个动作块本回合过去时刻的工作记忆头部相机扫描 + 操作中的新观测执行过程 + 人的指令与偏好
以什么形式冻结 VLM 预编码特征 + 状态 + 动作块;检索动作均值作去噪起点选出的虚拟视角渲染图 + 3D zoom-in 图延迟的 VLM 末层 KV cache + 延迟 Δt + 自车位移检索动作块的加权均值 / 方差当去噪先验;上一块动作 → 一致性偏置感知 token + 认知 token 记忆库,带时间编码物体实例记忆 token(外观特征 + 3D 框位置编码)文字子目标 + 图文情景记忆(增删改)
怎么选DTW 监督的对比学习检索器,余弦 top-K(片段级)热力图定位 + 可见性 / 距离 / 多样性打分不选,用最近一次完成的推理InfoNCE 训练的 Prior Head,正样本 = 同一任务(轨迹级),按进度标量取窗口交叉注意力检索 + 门控融合,满了合并相似条目交叉注意力,按类别和外观-几何相似度更新文本嵌入向量库 top-K,由规划器调用
进到哪里动作头每层交叉注意力的 K/V;VLM 输入不变VLM 的图像输入动作专家交叉注意力的 K/Vflow policy 的初始噪声与输入VLM 之后、扩散动作专家之前增强 VLM token 后注入 DiTVLA 外部:子目标作为执行器的语言条件
训练检索器对比学习 + 动作头微调,VLM 冻结;新任务不训练在各基准上训练VLM SFT → 带延迟注入的模仿学习 → PPOπ0.5 式预训练 → Prior Head → LCM端到端训练除 VLM 语言解码器外全部训练只微调执行器(π0.5),哨兵和规划器零样本或少样本

同类:

  • 和 ActiveVLA。两篇都在决定模型每一步看到什么,选择的对象不同。ActiveVLA 在当前场景里选:用点云渲染出新视角并放大关键区域,选视角靠可见性、距离、多样性这类几何打分,改的是 VLM 的图像输入。RA-VLA 在外部示范库里选,选法是学出来的行为对齐嵌入,VLM 的输入保持不变,额外信息进动作头。
  • 和 TIC-VLA。注入方式几乎一样:都把额外上下文作为动作专家交叉注意力的 K/V,都避免为额外上下文重跑大模型(TIC-VLA 复用延迟的 KV cache,RA-VLA 复用离线预编码特征)。区别在上下文的来源和「怎样保证被正确使用」:TIC-VLA 的上下文是自己过时的推理,所以显式喂延迟和位移元数据,并在训练里注入延迟;RA-VLA 的上下文是别人的示范,所以加 margin 损失逼动作头去读。

跨类(点到为止):

  • OptimusVLA 是机制上最近的一篇:它的 Global Prior Memory 也用对比学习训一个检索头,也把检索到的动作块当 flow 的起点(加权均值 + 方差,按相似度自适应噪声和步数)。差别在于它的正样本是「同一任务」、库是训练集轨迹、目的是减少去噪步数;RA-VLA 的正样本是「DTW 对齐的同一步」、库是新任务示范、目的是适应新任务,并且检索结果还进交叉注意力。
  • MemoryVLA 也在动作专家前做检索和融合,但检索的是本回合自己的过去;RA-VLA 检索的是别人的示范,完全没有回合内历史。
  • SOMA 和 RA-VLA 都是往 GR00T 式策略的 DiT 里注入额外 token(SOMA 以 GR00T N1.5 为真机基线),SOMA 注入的是扫描得来的场景物体记忆。
  • HiMe 的检索发生在 VLA 外面,由 GPT-4o 规划器在子目标切换时调用,结果以文字子目标交给执行器;RA-VLA 的检索在控制回路里,每个动作块都做。

和(3)结构化执行、(4)评估与反馈两类:

  • 和 TT-VLA。两篇标题都落在「测试时适应」上,做法正好相反:RA-VLA 不改权重,只往 buffer 里放新任务的几条示范(LIBERO 每任务 3 条、UR5e 4 条),每个动作块检索一次;TT-VLA 在回合内每 8 步用进度差分奖励更新一次 LoRA,下个回合重置。TT-VLA 附录说明它只适用于离散 token 的 VLA,RA-VLA 的基座 GR00T N1.5 是 flow matching 动作头,两者不能直接叠加。
  • 和 ACoT-VLA。两者都让动作头用交叉注意力读一段「参考动作」:RA-VLA 读别人在同一动作阶段的 16 步动作块,ACoT 读自己的 EAR 先去噪出的 15 点粗轨迹。解读怎么保证动作头真去读,两篇答法不同:RA-VLA 加 margin 损失(去掉后 LIBERO-Goal 0.532 → 0.098),ACoT 训练时直接喂真值未来轨迹(teacher forcing),代价是暴露偏差,论文没做对照。

§11 · 术语表

读这篇会遇到的词

展开术语表
ICIL
In-Context Imitation Learning:推理时把专家示范作为上下文给策略,不更新权重地适应新任务。
test-time adaptation
测试时适应。本文指只往 buffer 里放新任务示范。
adaptation bottleneck
论文对现有 ICIL 问题的统称:表面检索 + 行为惯性 + 延迟随 K 增长。
behavioral inertia
行为惯性:策略无视上下文,继续执行预训练先验里的动作。
buffer 𝓑
上下文缓冲区,存放切好的示范片段,每段一个键和一组值。
segment
片段 (V′, L′, s′, A′):某一时刻的观测、指令、状态,加其后 h = 16 步动作块。
DTW
Dynamic Time Warping:在允许时间伸缩的前提下对齐两条序列,本文用在动作序列上求正样本对。
behavioral alignment loss
训练检索器的对比损失,正样本是 DTW 对齐的片段对,τ = 0.01。
contextual adherence loss
max(0, m − (𝓛irrel − 𝓛rel)),要求用检索片段时的损失比用随机片段时低至少 m = 0.01。
pairwise grounding
每个交叉注意力层只把一段检索特征和当前观测拼在一起,K 段按相关度分到 8 层。
Sctx
Relative Contextual Sensitivity:换成随机上下文后输出的相对变化。
RAEA
Retrieval-Augmented Embodied Agents:把示范拼进多模态提示的基线。
RICL
Re-training for In-Context Learning:提示里放示范,另把检索动作按距离加权插值进输出。
GR00T N1.5
NVIDIA 的 flow matching VLA,本文所有方法的共同主干;VLM 为 Eagle 系列,动作头为 DiT。
vector field Ft
flow matching 的回归目标 At − At(0)。
LIBERO
仿真基准,Spatial / Object / Goal / Long 四个套件各 10 个任务。
GELLO
低成本关节映射式遥操作设备,本文用它采 UR5e 示范。