问题 · §1–2
训练完就冻结的 VLA,遇到没见过的情况只能硬扛
VLA 要么用监督微调训练,要么在训练阶段做强化学习(RL4VLA、SimpleVLA-RL、VLA-RL 等),两者都是「训练和部署分离」:一旦部署,参数不再变化。论文要解决的是部署后、在单个回合内,遇到分布偏移(物体被挪走、桌面换了、指令换了说法)时让策略自己调整。
语言和视觉模型里已有测试时训练(TTT):TLM 最小化输入困惑度,TTRL 用多数投票构造伪标签做 RL。论文认为它们不能直接搬到 VLA:自监督目标关注表征一致性,不关注动作好坏;多数投票不反映动作质量。同期的 EVOLVE-VLA 也用任务进度做测试时奖励,但用 GRPO,需要对同一状态采样多条动作,真机上无法复位,算力开销也大。
方法 · 稠密进度奖励 · §3.2
奖励 = 进度的增量
把操作建模为 POMDP,策略 at ~ πθ(at | ot−H+1:t, l)。任务进度 pt ∈ [0, 1] 由一个冻结的进度估计器从观测历史和指令给出,每步奖励是它的差分:
Φ 用的是 VLAC(Vision-Language-Action-Critic),一个预训练的多模态进度回归器。作者列出三个好处:推理时不需要外部监督;每一步都有反馈,可以在回合中途修正;推进时得正奖励,倒退时得负奖励,抑制来回摆动。
稀疏的成功/失败奖励在训练阶段可以用(能重放、能复位),但测试时要等回合结束才知道,回合内无法修正。
解读整个方法的上限由 VLAC 决定
差分奖励把估计器的每一点误差都直接变成梯度方向。如果 VLAC 在某个场景下把「夹着香蕉远离盘子」误判为进度增加,策略就会被推向错误方向。论文没有报告 VLAC 在这些任务上的估计质量,没有说明用的是哪个规模的 VLAC,也没有比较其他进度估计器。Φ 的输入写成 o0:t+1(含下一帧),算法 1 里又写成 o0:t,具体用了多长的历史也不清楚。
方法 · 无价值函数的 PPO · §3.2 · 算法 1
只留下裁剪项,优势就是即时奖励
标准 PPO 目标有三项:裁剪策略损失、价值损失、熵正则:
TT-VLA 取 c1 = c2 = 0,再令 GAE 的 γ = λ = 0,于是:
为什么不要价值函数
测试时只有一个回合的数据,不够估计回报;更新要在线完成,没有时间同时训练一个价值网络。
为什么不要熵项
熵项鼓励探索,测试时的目标是尽快贴合当前任务,探索在真机上还可能有风险。
为什么 γ = λ = 0
只看每个动作对即时进度的贡献,不估计长期回报。论文的理由是长期回报在这里不可靠,会给无效动作过于乐观的优势。
算法 1 的流程(附录 G):
for 每个回合: # 每个回合开始都重新载入预训练权重,适配不跨回合累积 载入 π_θ; p_0 ← 0; 缓冲区 B ← ∅; 环境复位 for t = 0 … T: # T = 160 步 采样 a_t ~ π_θ,记下 log π_old(a_t),执行 p_t ← Φ(o_0:t, l); r_t ← p_t − p_{t−1} B 存入 (o, a_t, r_t, log π_old) if t mod K == 0: # K = 8 最好 对 B 中样本算 ρ = exp(log π_θ − log π_old) L = Σ min(ρ·r, clip(ρ, 0.8, 1.2)·r) θ ← θ + η ∇L; 清空 B # 只更新 LoRA(秩 16 或 32)
一个回合里的奖励、优势和更新
进度曲线是构造的示意;更新间隔对应的成功率来自表 4
方法 · 理论分析 · §3.3
为什么不能把价值函数设成「剩余进度」
论文给出一个命题、一个推论和一个引理。命题:若奖励是进度差分、价值取剩余进度 V(st) = 1 − pt−1、γ = 1,则 TD 误差恒为零:
γ = 1 时 δt = 0,策略梯度没有信号;0 < γ < 1 时 δt < 0,优势被系统性压低。引理则说明 λ = 0 时 Â = δ,γ = 0 且 V ≡ 0 时 Â = r。
拖动看看 TD 误差
按命题的假设计算:V = 1 − pt−1
解读这些结论是代数恒等式,不是对方法的证明
命题只说明「如果价值函数恰好等于剩余进度,TD 误差就和动作无关」,也就是这个特定的价值函数会让奖励塑形完全抵消。它并不说明学到的价值函数会收敛到这里,也不说明 γ = 0 是好的选择。引理是 GAE 定义的直接展开。真正支持 γ = λ = 0 的证据是图 4 的实验对比(下文),差距在 1–3 个点。
实验设置 · §4.1 · 附录 C
沿用 RL4VLA 的 15 个未见任务
- 仿真:ManiSkill 3,WidowX-250S 机械臂,单张 640×480 RGB + 指令,输出末端笛卡尔增量和二值夹爪命令。训练分布:16 种物体、16 种桌面,指令模板「put O on R」,接收物是黄色盘子。用 16,400 条自动生成的示范做预热。
- 15 个未见任务,分三个维度:Execution(物体与接收物位置范围扩大、机器人初始位姿随机、第 5 步把物体瞬移到新位置);Vision(5 种新桌面、动态纹理叠加在物体/接收物/机械臂上 0.3 或 0.5 透明度、动态噪声叠加在全图);Semantics(9 种新物体、16 种新接收物、16 种新指令模板、多物体、多接收物、干扰接收物)。
- 评测:每个任务 80 次 × 3 个随机种子 = 240 次,每回合固定 160 步。
- 适配超参:LoRA 秩 ∈ {16, 32},学习率 ∈ {1e-5, 5e-5, 1e-4},AdamW,裁剪 ε = 0.2,每 8 步更新。RTX 6000 Ada GPU。
- 基座模型:Nora(Qwen-2.5-VL-3B + FAST+,在自采的 ManiSkill3 数据上再训 50K 步);OpenVLA(Llama-2-7B,预热 10K 步);OpenVLA-RL(RL4VLA 训练阶段 RL 后的 OpenVLA);TraceVLA(视觉轨迹提示)。全是离散动作 token 的自回归模型。
- 真机:Franka Research 3,单张 500×480 RGB,OpenVLA 为基座,9 个拾放任务(执行/视觉/语义各 3 个),每个 10 次。
解读为什么只支持离散 token 的 VLA
附录 A 解释:flow matching 或扩散动作头没有可算的单步对数似然 log π(a|s),PPO 的概率比无法计算;动作要经过几十步去噪,内部的随机链和环境时间对不上;末端 MLP 头基本是确定性的。所以 π0、π0.5、GR00T 这类主流连续动作 VLA 都不在适用范围内,论文把它列为未来工作。
主结果 · 表 1
60 个格子全部不降,维度平均提升 0.8–3.8 个点
各维度平均成功率:基座 vs 加 TT-VLA
每对柱子左为基座,右为加 TT-VLA。数字取自表 1 的 Avg. 列。
15 个任务的绝对提升 Δ(百分点)
颜色越深提升越大。悬停看原始成功率。虚线框是我们核对后认为表中数字有误的格子,见下方疑点。
原表数字(表 1,成功率 %)
论文强调「在所有基线和任务类别上一致提升」。Nora 在 15 个任务里 14 个有提升,相对提升 5.26%–44.4%;最大的绝对提升是 Nora 的 Table(+6.66)、OpenVLA 的 M Recep(+9.17)和 Obj. Rep.(+6.67)。基线越强提升越小:OpenVLA-RL 的三个维度只有 +2.64 / +1.75 / +1.55。
疑点四处数字对不上,三处是两位数字颠倒
每格是 240 次试验的成功率,应为 1/240 ≈ 0.417% 的整数倍。用表中给出的 Δ、相对提升和维度均值反推,可以定位到错误:
| 位置 | 表中 | 反推应为 | 依据 |
|---|---|---|---|
| Nora · Table(基座) | 39.72 | 37.92 | Δ = 6.66、相对 17.56% 和 Vision 均值 29.92 都只与 37.92 吻合 |
| OpenVLA · Table(基座) | 54.85 | 54.58 | Δ = 2.50 和 Vision 均值 39.83 只与 54.58 吻合;54.58 = 131/240 |
| Nora · Instruct(基座) | 39.85 | 39.58 | Δ = 2.92 和 Semantics 均值 23.57 只与 39.58 吻合 |
| OpenVLA · Instruct(Δ) | +0.28 | +0.59 | 50.17 − 49.58 = 0.59;相对提升 1.18% 也对应 0.59 |
另有几个格子(如 OpenVLA M-Obj. OOD 的 32.05、TraceVLA Robot Pose 的 21.50、OpenVLA Noise-s 的 31.33)不是 1/240 的整数倍,但和均值一致,可能是种子间不等量或四舍五入方式不同。这些都不改变结论的方向,但说明表格是手工整理的。
疑点提升普遍小于统计误差,却没有一个格子下降
成功率在 30%–50% 附近时,240 次试验的标准误约 3 个点,两组之差的标准误约 4.5 个点。表 1 里 60 个 Δ 中 55 个小于 4.5。如果两组独立评测,在真实效应只有 1–3 个点时,理应看到不少负的 Δ;实际上 60 个格子没有一个为负(4 个为 0)。一种可能是两组使用了相同的环境种子配对评测,使噪声大部分抵消。论文没有说明评测是否配对,也没有报告方差或显著性。
诊断实验 · §4.4–4.5 · 图 4 · 表 4–5
三个代表任务上的对照
诊断实验在 Nora 和 OpenVLA 上,各用一个代表任务:Execution 用 Robot Pose,Vision 用 Table,Semantics 用 Object(附录 D)。下面三张图都加上了不做任何适配的基座分数作参照,它来自表 1。
更新间隔 K(表 4)
每 K 个环境步更新一次。灰色虚线是基座(不适配)的分数。
K = 8 在 6 个组合里 5 个最好(另一个与 K = 4 并列)。值得注意的是 K = 1:OpenVLA 三个任务都低于不做适配的基座(40.42 vs 41.25,54.12 vs 54.58,43.33 vs 45.00)。也就是说,更新太频繁会让策略变差。
优势估计:GAE vs 即时奖励(原文 Figure 4)
GAE:γ = 0.99,λ = 0.95,截断长度 8。数字取自原图矢量 PDF 的柱顶标注。
和语言模型的测试时训练方法比(表 5)
TLM:最小化指令 token 的负对数似然,每 8 步更新。TTRL:每步采 8 个动作 token 多数投票当伪标签,匹配得 1 分,每步更新。两者都用 LoRA 秩 32、学习率 1e-4。
解读加上「不适配」这根柱子,图的意思变了
论文的对比只有 GAE vs Ours、TLM / TTRL vs Ours,没有画出不做适配的基座。补上之后可以看到:GAE 在 Nora Semantics(15.00 vs 17.08)和 OpenVLA Execution(40.42 vs 41.25)上低于基座;TLM、TTRL 在 OpenVLA 的三个任务上全部低于或等于基座。也就是说,大多数测试时更新方式在这里是有害的,TT-VLA 是少数能稳定不掉分的设置之一。这一点比「Ours 最好」更有信息量,也说明测试时更新本身有风险。
疑点超参数在测试任务上选择
K 的消融直接在测试任务上做,选出的 K = 8 用于主表;学习率从三个候选里选、LoRA 秩从两个候选里选,论文没说按什么选、是否每个模型或任务单独选。如果是按测试成功率挑的,表 1 的提升里含有选择偏差。另外,TTRL 被引用为 hu2025test,与 TLM 是同一个引用键,属于引用错误。
真机 · §4.3 · 图 3、5
Franka 上三类任务,每类 30 次
同一份数字,纵轴从 0 开始
每类 3 个任务 × 10 次 = 30 次。+3.3 是 1 次成功,+13.3 是 4 次。
疑点真机的证据很薄
- 附录 C 写执行类任务是「香蕉、柠檬、苹果」,图 3 里却是香蕉、胡萝卜、茄子。
- Execution 类只差 1 次成功;三张柱图的纵轴都从非零截断(如 30–42),视觉上把差距放大了几倍。
- 案例里的「修正」无法归因:VLA 本身采样就有随机性,没有同一初始状态下不适配的对照回合。
- 没有报告真机上每步的耗时:每步要跑一次 VLAC,每 8 步要对 7B 模型做一次 LoRA 反向传播。
读懂它
这篇真正说明了什么
关键 insight
1. 外部评价器可以直接变成梯度
不用环境的成功信号、不用标注,只用一个现成的进度估计器就能构造出每步奖励。这是「评估 → 反馈 → 修正」最直接的一种实现:评价信号不经过任何决策层,直接更新动作策略的参数。
2. 测试时更新需要非常保守
每步更新会掉到基座以下,TLM、TTRL 也大多掉分。TT-VLA 能稳定不掉,靠的是三件事:裁剪比、LoRA、每回合重置。提升小,但至少不伤害原模型。
3. γ = 0 把 RL 变成了「奖励加权的行为克隆」
优势就是这一步的进度增量,目标函数相当于:让刚才推进了进度的动作更可能出现,让倒退的动作更不可能出现。没有信用分配,也没有对未来的估计,所以更像在线的过滤式模仿。
4. 适配不跨回合
每个回合都从原始权重开始,只有 160 步、最多 20 次更新可用。它解决的是「这一回合里出了状况」,不是「部署后越用越好」。论文结尾说「迈向自我改进的 VLA」,但实验设置并不支持跨回合的累积改进。
容易误解的地方
- 「相对提升 44.4%」是从很低的基数算出来的(Nora Obj. Rep. 7.50 → 10.83,在 240 次里多了 8 次成功)。绝对提升才是更合适的读法。
- 「无需外部监督」指的是不需要人类或环境的奖励,但需要一个预训练好的进度估计器 VLAC,它本身是用大量机器人数据训练的。
- 「Mid-episode reposition」任务在第 5 步瞬移物体,而 K = 8 时第一次更新发生在第 8 步,适配的作用是之后的调整。
- 雷达图(图 2b)和真机柱图的坐标都不是从零开始,视觉差距比数值差距大。
FAQ
每 8 步一次更新,每次用多少数据?
缓冲区里只有最近 8 步的 (o, a, r, log π_old),更新后清空。按算法 1,每次只做一步梯度更新。8 个样本、奖励都是很小的进度差,梯度噪声很大,这也是为什么需要裁剪和小学习率。
OpenVLA 每步输出 7 个动作 token,PPO 的概率比按什么算?
论文没有说明。自回归 VLA 的一个动作对应多个 token,log π(a|s) 通常取这些 token 对数概率之和,但论文没写,也没说 Nora 的 FAST+ 序列如何处理。
和 EVOLVE-VLA 有什么区别?
两者都用任务进度做测试时奖励。EVOLVE-VLA 用 GRPO,需要对同一状态采样一组动作再比较,真机上无法复位,算力开销大。TT-VLA 只用实际执行的那条轨迹,代价是没有组内基线、方差更大。论文没有和 EVOLVE-VLA 做实验对比。
为什么强基线(OpenVLA-RL)提升更小?
OpenVLA-RL 已经在训练阶段用 RL 优化过,成功率在 64–90%,剩余空间小;论文没有给出解释。另一种可能是 VLAC 的进度估计在接近完成时区分度较低,奖励信号更弱,但这没有被检验。
局限与疑点
作者承认的,和我们读出来的
论文自己提到的
- 只适用于离散 token 的 VLA,扩散/flow matching 动作头需要后续扩展(附录 A、K)。
- 测试时在线更新可能带来意外或不安全的行为,真机部署需要动作约束、终止条件、保守的更新和人工监督(附录 J)。
- GRPO 式采样在测试时不现实(附录 F)。
我们读出来的
- 疑点表 1 有 3 处数字颠倒、1 处 Δ 算错。
- 疑点提升大多小于统计误差,却没有一个负值;未说明是否配对评测,没有方差。
- 疑点K、学习率、LoRA 秩在测试任务上选择,选择方式未披露。
- 疑点真机任务名称前后不一致;纵轴截断;Execution 类只差 1 次。
- 没有任何延迟、吞吐或算力数字;VLAC 的规模和准确度未报告。
- 每回合重置权重,适配不累积,和「自我改进」的叙述不符。
- 理论部分是代数恒等式,没有收敛性或改进保证。
- TTRL 引用错误;没有和 EVOLVE-VLA 实验对比。
放到专题里看
评价信号最「底层」的一种用法
在 Harness for Robotics 专题里,评估与反馈指在执行前或执行后引入显式的评价信号,用来修正计划、更新状态或调整策略。四篇里,TT-VLA 是唯一一篇用评价信号去改模型参数的。
| TT-VLA | τ₀-VLA | MotorMind | ACoT-VLA | |
|---|---|---|---|---|
| 评价器 | VLAC 进度估计器(冻结) | 世界模型 + 价值模型(Qwen3.5-9B 微调,5 级打分) | 同一个通用 VLM(Verifier / Monitor)+ 实测状态 | 无 |
| 评价时机 | 执行后,每一步 | 执行前,对候选子任务的想象结果 | 执行中(并行)和执行后 | — |
| 评价的对象 | 刚执行的低层动作 | 尚未执行的高层子任务 | 子目标是否达成 | — |
| 反馈改变什么 | LoRA 参数(回合内) | 选哪个子任务 | 继续 / 停 / 重试 / 重规划 | — |
| 能否撤销 | 每回合重置 | 不执行就不产生后果 | 只能事后补救 | — |
- 和 τ₀-VLA:两者是「评估与反馈」的两端。τ₀ 在执行前评价(用想象的后果避免错误承诺),作用在子任务层;TT-VLA 在执行后评价,作用在动作层。τ₀ 的作者在引言里明确说,执行后才发现错误时,「重规划可以响应,但无法收回失败承诺的代价」。TT-VLA 正是在承诺之后修正。
- 和 MotorMind:都把「进度」当反馈,但 MotorMind 的反馈是离散决策,不改模型;TT-VLA 的反馈是连续梯度。MotorMind 的诊断显示通用 VLM 判断进度的准确率只有 43–76%,这提醒我们 TT-VLA 依赖的进度估计器同样可能不可靠。
- 和 ACoT-VLA:ACoT 用的是 flow matching 动作头,按 TT-VLA 附录的说法,目前无法直接套用它。
术语表
读这篇会遇到的词
展开术语表
- TTT
- Test-Time Training,测试时训练:在推理阶段用无标签的测试数据更新模型。
- VLAC
- Vision-Language-Action-Critic,预训练的多模态模型,本文用它回归任务进度。
- PPO
- 近端策略优化,用裁剪的概率比 ρ 限制每次更新的幅度。
- GAE
- 广义优势估计, = Σ(γλ)l δt+l;γ 为折扣,λ 为平滑参数。
- value-free PPO
- 本文的变体:去掉价值损失和熵项,γ = λ = 0, = r。
- LoRA
- 低秩适配,只训练插入的低秩矩阵,本文秩 16 或 32。
- RL4VLA
- 研究 RL 对 VLA 泛化影响的工作,本文沿用其 ManiSkill3 任务设置,OpenVLA-RL 来自它。
- TLM / TTRL
- 两种语言模型的测试时方法:最小化输入困惑度 / 多数投票伪标签做 RL。
- Obj. Rep.
- Mid-Episode Object Reposition,第 5 步把物体瞬移到新位置。
- Texture-w / -s,Noise-w / -s
- 动态纹理或噪声以 0.3(弱)/ 0.5(强)透明度叠加。