精读笔记
Problem Setting
这篇论文不是在做一个更大的 VLM reward model,而是在处理 VLA real-robot fine-tuning 中最卡脖子的环节:长时程操作的 dense reward。问题的实质是,BC 把 policy 锁在 demonstration distribution 附近;sparse RL 在长时程任务上 credit assignment 太弱;human-in-the-loop DAgger 又不 scalable。因此如果想让机器人从 autonomous rollouts 中自我改进,必须有一个 reward model 能在每个片段判断“现在是否真的朝任务完成推进”。
真正困难点在于 reward 需要同时 dense、accurate、general。task-specific reward 可以通过人工 stage annotation 做得很准,但任务一多就不可维护;general VLM reward 可以跨任务,但通常只会判断语义上“看起来像完成了”,对擦白板、折衣服、扫碎纸这类细粒度进展不敏感。关键矛盾是:长时程 manipulation 的 progress 是阶段化、局部化、动作模式相关的,但 scalable reward model 又不能为每个任务手工定义阶段。
Motivation
作者的核心动机是把“阶段”从任务定义里解耦出来。SARM 这类 stage-aware 方法已经证明:显式阶段信息对 long-horizon reward 很重要。但原始 SARM 的阶段是 task-specific 的,这使得它更像一个强工程化的单任务 critic。另一方面,Robometer / TOPReward 这类 VLM reward 虽然有广泛语义先验,却缺少对机器人动作过程的局部时间判别能力,容易过早饱和或给失败 rollout 乐观评分。
论文背后的观察是:虽然任务名称和物体不同,但底层操作经常由少量 action primitives 复用组合而成,例如 pick、place、sweep、erase、fold、press、wrap。也就是说,长时程任务的可迁移结构不一定在 language task level,而在 motion primitive level。缺的不是更强的语义理解,而是一个能把当前 observation 对齐到“正在执行哪类原语”的中间表示,并据此改变 reward computation 的机制。
Core Idea
SARM2 的核心思想是:用 action primitive 作为跨任务 stage variable,再让这个 variable 直接控制 reward head 的专家路由。它改变了 reward modeling 的条件化方式:不是输入 task name 后让一个大模型隐式学习所有阶段,也不是给每个任务单独标 stage,而是先预测当前片段属于哪个通用动作原语,再在该原语所属 group 下选择专家计算 progress。
这个 inductive bias 很关键。progress 的视觉证据在不同 primitive 下完全不同:pick 的进展可能是物体离开支撑面,erase 的进展是白板字迹减少,fold 的进展是布料几何形态变化,press 的进展是接触和受力状态变化。单一 value head 会把这些异质信号混在一起;纯 VLM reward 又往往只捕捉终态语义。SARM2 通过 primitive-conditioned routing,把“当前应该看什么证据来判断进展”显式结构化。
SPIRAL 的核心则更工程但重要:它把这个 dense reward 接入 residual RL,而不是直接 RL fine-tune 整个 VLA。这样把优化限制在 base policy 周围,降低真实机器人训练风险,同时允许 rollout 数据带来超出 demonstration distribution 的改进。
Method
1. Action-primitive stage estimator:它解决的是 task-specific stage annotation 不可扩展的问题。作者从多任务真实操作数据中整理出一组覆盖大多数时长的 primitive vocabulary,用 temporal classifier 判断当前片段属于哪个 primitive。关键变化是 stage 不再是“任务内部第几步”,而是“跨任务共享的动作类型”。这使 stage-awareness 可以在任务间复用。
2. MMoE value decoder:它解决的是多任务 dense reward regression 的干扰问题。不同 primitive group 使用不同 gate,但共享 expert pool。这样既保留跨任务共享,又允许不同 motion pattern 使用不同 progress mapping。这里重要的不是 MoE 带来更多参数,而是 gate selection 被 primitive prediction 显式约束,减少 router 自己瞎分工和 collapse。
3. Reward target:模型预测 normalized remaining steps / progress,而不是只预测成功概率。这相当于把 demonstration 时间结构蒸馏成 dense value signal。这个选择适合长时程 RL,但也引入一个隐含假设:demonstration trajectory 的时间进展大体等价于任务进展。
4. SPIRAL:它用 SARM2 dense reward 训练 TD critic,同时混入 sparse MC objective 保持终局成功和效率偏好。policy 更新采用 residual RL,约束动作修正幅度。机制上它不是让 VLA 学会新规划,而是让已有 VLA 在局部动作分布内通过 reward signal 调整执行策略。
5. One-time rollout adaptation:这其实是方法能工作的关键工程环节之一。作者用初始 BC policy 的失败 rollout 做一次人工标注,让 reward model 覆盖 policy-induced OOD states。没有这步,reward model 很可能只在 demonstration manifold 上准确。
Key Insight / Why It Works
最重要的 insight 是:机器人 reward model 的泛化粒度应该落在 action primitive,而不是 task label 或自然语言语义上。VLM reward 失败的原因不是模型不够大,而是预训练目标和 dense manipulation progress 不对齐;它知道“白板应该被擦干净”,但不知道当前这一秒的擦拭、调整、错误接触对最终成功意味着什么。SARM2 用 primitive estimator 把 observation 映射到 motion-level context,相当于给 reward model 一个强 latent structure。
我认为真正有效的部分是 primitive-conditioned reward computation,而不是单纯 MoE。MoE 在这里的价值是承载这种 conditional computation:不同 primitive group 使用不同专家组合,避免一个 head 同时学习 pick/place/fold/sweep/erase 的进展函数。论文中 MoE-Decoder 优于 MoE-FFN 的分析也合理:reward prediction 的单位是 fused timestep,而不是每个 modality token;把 MoE 放在输出头更符合任务结构。这个判断有迁移价值:在低 token 数、多模态、标量预测任务中,MoE 放在 prediction head 可能比放在 encoder FFN 更自然。
但不能忽略 data coverage。Stage estimator 来自 200 小时、100 任务的 annotated manipulation 数据,primitive taxonomy 又来自更大内部语料观察。SARM2 的“general”很可能主要是同一机器人形态和 tabletop domain 内的 coverage generalization,而不是语义级开放泛化。换句话说,它更像把大量操作经验压缩进 primitive-indexed reward prior,而不是让模型真正推理任务结构。
SPIRAL 的有效性也主要来自 reward quality + constrained policy improvement。Residual RL 避免了端到端 VLA RL 的不稳定,但同时也限制了探索范围;它适合修正“会做但做不好”的任务,不适合解决 base policy 完全不会 decomposed 的任务。dense TD reward 解决局部 credit assignment,sparse MC 提供成功轨迹偏好,这个组合是合理的,但不是新的 RL 原理,更多是把已有 residual RL substrate 与更可靠 reward 对齐。
需要警惕的地方:reward target 用 demonstration normalized time,本质上会把“人类演示的进度节奏”当作 ground truth。对于允许多种策略、需要反复调整的任务,这会惩罚有效但慢的探索,或奖励看似符合时间进度的动作。作者通过 rollout adaptation 标注 fast/slow/adjust/mistake 缓解这一点,但这也说明 reward 的关键 supervision 仍然来自人工设计和人工标注。
Relation To Prior Work
最接近的是 SARM、ReWiND、Robometer / TOPReward、DICE-RL。相对 SARM,SARM2 的实质创新是把 task-specific stage annotation 替换成 action-primitive stage estimator,并通过 MMoE 做多任务共享;这是从 single-task structured reward 到 multi-task structured reward 的演化。相对 ReWiND,SARM2 不只是用 rewinding frames 做 implicit negatives,而是额外引入阶段化 latent variable,能避免单一 progress regressor 被时间索引和视觉相似性误导。
相对 VLM reward,SARM2 的本质差异不是参数规模,而是监督目标和表示粒度。VLM reward 依赖语言-图像语义 prior,适合粗粒度 goal matching;SARM2 依赖机器人动作原语数据,适合 motion-level progress discrimination。因此它属于 embodied reward modeling 的路线,而不是 general VLM-as-judge 的路线。
相对 DICE-RL / residual RL,SPIRAL 的 RL substrate 没有根本新意,主要新增信息是 dense reward source 和 rollout relabeling loop。也就是说,SPIRAL 的贡献不是提出新 RL algorithm,而是证明当 reward model 足够细时,已有 residual RL 可以在真实机器人长时程任务上形成有效 flywheel。
MoE 部分看似来自 LLM / multi-task learning 的已有思想重组,但在 reward model 中使用 primitive-conditioned multi-gate 是实质性的结构创新。它不是为了扩大模型规模,而是为了让 reward computation 沿动作模式分解。
Dataset / Evaluation
评估覆盖 10 个真实 bimanual tabletop manipulation 任务,包含 classic tasks 和 unconventional tasks,任务形态比常见 pick-place benchmark 更丰富,尤其包含 cloth、tool use、whiteboard cleaning、umbrella、headphones 等长时程组合操作。真机 policy evaluation 只在 Folding Shorts 和 Cleaning Whiteboard 上做,这两个任务一个偏 deformable manipulation,一个偏工具和双臂协作,能部分验证 dense reward 对 long-horizon rollout learning 的价值。
Reward model evaluation 主要看 held-out demo MSE 和 rollout classification。Demo MSE 支持“更会拟合进度曲线”,但它和 downstream RL reward quality 之间不是完全等价;rollout classification 更接近真实使用场景,因此更有价值。不过 rollout evaluation 只覆盖两个下游任务,且分类规则依赖模型预测进度阈值,仍有评价设计上的耦合。
Policy learning 的结果支持核心 claim:相同 RL 框架下,SARM2 dense reward 明显优于 sparse reward 和 finetuned Robometer reward。这个对比比较有说服力,因为它把变量集中到 reward source 上。但仍不能完全排除 SARM2 在任务数据、primitive vocabulary、rollout adaptation 上享有更匹配的 domain supervision。所谓 multi-task generalization 也主要是在同一硬件、同一视觉设置、同一数据生态内验证,尚未证明跨 embodiment 或跨 lab 的泛化。
Limitation
最大限制是方法把可扩展性的瓶颈从 task-specific stage annotation 转移到了 primitive vocabulary 和 primitive-labeled corpus。只要 primitive set 覆盖当前 bimanual tabletop domain,方法就很强;一旦进入 mobile manipulation、dexterous hand、非刚性复杂接触或长工具链操作,primitive taxonomy 可能需要重建。文中承认这一点,但其严重性比表述更高:stage estimator 是整个系统的路由入口,错了不只是 stage 错,而是 reward computation path 也错。
第二,所谓 general reward model 并不等于 open-world reward model。SARM2 的泛化更像 domain-specific latent structure reuse。它可能在 10 个任务之间迁移,但如果新任务包含未见 primitive 或同一 primitive 下完全不同的视觉进展证据,模型会退化。尤其是 Put Away Umbrella 的 stage accuracy 明显低,说明复杂 articulated object 的 primitive 分解并不稳定。
第三,SPIRAL 的 self-improvement 不是完全自动。一次性 rollout annotation 虽然比在线 DAgger 便宜,但它仍然是 hidden supervision,而且标注内容包含 fast progress / adjust / mistake 这类强人工偏好。没有这一步,reward model 在 policy-induced OOD states 上可能并不可靠。
第四,residual RL 的上限明确。它不能修正任务意图、子目标顺序、语言理解或长程规划错误;如果 base VLA 不会提出正确 strategy,SPIRAL 只能在错误策略附近做局部优化。Folding Shorts from crumble 的未饱和结果正说明:当任务需要细粒度状态判断和多次尝试策略时,当前 reward granularity 不够。
第五,增益归因仍不完全清晰。Stage estimator、MMoE、更多任务数据、primitive pretraining、rollout adaptation、dense TD + sparse MC 都有贡献,但论文没有完全 disentangle。部分提升可能主要来自 data coverage 和 reward model adaptation,而不是架构本身。
Takeaway
- 1. 长时程机器人 reward modeling 的关键不是更大的 VLM judge,而是找到正确的中间结构;action primitive 是比 task stage 更可扩展、比 language goal 更细的结构粒度。
- 2. 对多模态标量预测任务,conditional computation 应该放在 prediction unit 对齐的位置。
- SARM2 的 MoE-Decoder insight 可以迁移到其他 robotics value / affordance / progress models:先 dense backbone 融合,再在 head 上按 latent mode 分解预测。
- 3. 自我改进 flywheel 的瓶颈是 reward fidelity,而不是 RL 算法花样。
一句话总结
SARM2 是把 task-specific stage-aware reward 推进到 action-primitive-conditioned multi-task reward 的一篇系统性工作,其核心贡献在于用跨任务动作原语重组织 dense reward 的信息流,而不是单纯扩大 VLM reward 或改 RL 算法。
