Adapt2Reward: Adapting Video-Language Models to Generalizable Robotic Rewards via Failure Prompts¶
会议: ECCV 2024
arXiv: 2407.14872
代码: 无
领域: 多模态VLM / 机器人学习 / 强化学习
关键词: 视频语言模型, 机器人奖励函数, 失败提示学习, 跨域对比学习, 任务泛化
一句话总结¶
提出 Adapt2Reward,通过可学习的失败提示(failure prompts)将预训练视频语言模型适配为可泛化的语言条件奖励函数,仅需少量单一环境的机器人数据即可泛化到新环境和新任务,在 MetaWorld 上比前方法高出约 28%。
背景与动机¶
通用机器人需要一个能泛化到不同环境和指令的奖励函数来做强化学习或规划。直接用 CLIP 等视频语言模型作为奖励函数面临两个核心困难:(1) 机器人数据稀缺,直接微调会过拟合和灾难性遗忘;(2) 人类视频数据集几乎不包含"失败"视频——模型能区分"开抽屉"和"关抽屉"这两个不同任务,却无法区分"关抽屉成功"和"关抽屉失败(没关紧/又弹开)"。现有方法如 DVD 只训练视频相似度判别器,忽略了成功/失败的二分类需求;简单加 BCE loss 又会导致对训练集过度自信,泛化差。
核心问题¶
如何在机器人数据极少的条件下,将人类视频语言模型转化为能区分"成功 vs 失败"并泛化到新环境和新任务的奖励函数? 难点在于:人类数据不含失败样本,机器人数据量太小,且人-机之间存在显著的域差异(视角、外观、运动风格)。
方法详解¶
整体框架¶
输入:人类视频+文本对(大量,来自 SS-V2 数据集)、机器人成功/失败视频+文本+标签(少量,仅训练环境的少量任务)。以 Singularity(预训练视频语言模型)为骨干,通过三个学习目标联合训练:跨域对比学习(拉近人-机同类特征)、视频-文本对比学习(语义对齐)、失败提示学习(建模失败模式作为负样本)。最终输出视频-文本相似度分数作为奖励,用 VMPC(视觉模型预测控制)或 DDPG+CEM 进行动作选择。
关键设计¶
-
跨域对比学习(CDC): 将人类和机器人视频中执行"相同任务"的样本作为正对,不同任务作为负对,在特征空间中学习域不变表示。分别以人类和机器人样本作锚点计算双向对比损失,缓解人-机之间的视觉域差异。
-
可学习失败提示(Failure Prompts): 核心创新。对每个训练任务的失败视频用球面 K-means 聚类为 K 个失败模式,每个模式对应一个可学习的 prompt 向量 \(P_{\mathcal{T},k}^f \in \mathbb{R}^{L_p^f \times D}\)。将 failure prompt 与任务文本 embedding 拼接后送入文本编码器,得到"失败上下文"特征 \(t_{\mathcal{T},k}^f\)。训练时:(a) 成功视频的对比学习中将所有 failure text 作为额外负样本(防止成功视频被误判为失败);(b) 失败视频按其聚类标签匹配对应 failure prompt 做对比学习,使不同失败原因被区分。每个 epoch 结束后重新聚类更新伪标签,保持标签稳定性。
-
视频-文本对比学习(VLC): 在人类和机器人两个域上同时做视频-文本双向对比对齐,增强跨域语义一致性。结合 failure prompts 后,成功视频的分母中增加了 K 个 failure text 项,使模型更好地区分"做了这个任务"和"没做成这个任务"。
损失函数 / 训练策略¶
- 总损失: \(\mathcal{L} = \mathcal{L}_{CDC} + \mathcal{L}_{VLC} + \mathcal{L}_{fVLC} + \mathcal{L}_{BCE}\),四项权重均为 1
- \(\mathcal{L}_{CDC}\): 跨域对比损失,拉近人-机同任务特征
- \(\mathcal{L}_{VLC}\): 视频-文本对比损失(含 failure prompt 负样本扩展)
- \(\mathcal{L}_{fVLC}\): 失败视频的对比损失,将每个失败视频与其聚类对应的 failure prompt 对齐
- \(\mathcal{L}_{BCE}\): 二元交叉熵,区分成功/失败
- 批次采样: \(B_h = B_r = B_f = 8\)(人类、成功机器人、失败机器人各 8 个)
- 失败聚类数: \(K = 3\)(默认)
- 骨干: Singularity 模型(17M 预训练 + SS-V2 微调)
实验关键数据¶
| 实验设置 | 指标 | Adapt2Reward | DVD | LIV | Concept2Robot |
|---|---|---|---|---|---|
| 环境泛化(4环境平均) | 成功率 | 最优,超出28%+ | 基线 | 基线 | 基线 |
| 任务泛化 Robot+6Human | 成功率 | 69.33% | 31.92% | 38.83% | - |
| 任务泛化 Robot+9Human | 成功率 | 67.00% | 40.08% | 39.00% | - |
| 任务泛化 平均 | 成功率 | 52.73% | 29.81% | 35.44% | 33.75% |
| C2R-Envs 视角变化 | 成功率下降 | <12% | - | - | 5%-37% |
| C2R-Envs 干扰物体 | 成功率 | 超出20-46% | - | - | 基线 |
消融实验要点¶
- 失败数据至关重要: 不用失败数据 → 用 BCE loss 加失败数据 → 用 failure prompts,性能逐级提升,failure prompts 相比 BCE 有显著优势,因为 BCE 会破坏从人类数据学到的知识
- K=3 最优: K 从 1 到 5 的消融显示模型对 K 不太敏感,K=3 效果最好
- 多来源失败数据更好: 混合随机探索 + 近成功场景的失败数据优于单一来源
- 奖励分布更合理: Adapt2Reward 的奖励在成功/失败轨迹上有清晰分离,BCE 模型会给失败轨迹错误地打高分
亮点¶
- 失败也是一种知识: 通过聚类失败视频并学习 failure prompts,将"失败原因"作为结构化知识编码进模型,这比简单 BCE 分类高明得多——不同任务之间的失败模式可以迁移
- 极低数据需求: 每个任务仅 560 个机器人视频(含成功和失败),配合人类视频数据就能泛化到新环境和新任务
- Prompt 池设计可迁移: 可学习 prompt 池 + 聚类伪标签的范式可以扩展到其他需要建模"负面模式"的场景(如质量检测、异常分类)
- 密集奖励的优势: 在 C2R 环境中甚至能超过手工设计的二值奖励,因为模型提供的是连续相似度分数,对"接近成功"的行为也给予部分奖励
局限性 / 可改进方向¶
- 仅在仿真验证: 所有实验在 MetaWorld 和 PyBullet 中完成,未验证 sim-to-real 迁移效果
- 任务复杂度有限: 测试任务都是较简单的桌面操作(推杯子、开关抽屉),长序列复杂任务未验证
- 聚类数 K 固定: 不同任务的失败模式数量可能差异很大,固定 K 不够灵活,可以考虑自适应聚类
- 人类数据仍需手动选择: SS-V2 中选择哪些人类任务来匹配机器人任务需要人工决定,自动任务匹配是潜在改进方向
- 未考虑更强的视频基础模型: 2024 年后出现的 InternVideo2、VideoMAE v2 等更强视频编码器可能带来更好的初始表示
与相关工作的对比¶
- vs DVD: DVD 训练域无关的视频判别器来衡量机器人-人类视频相似度,但完全不考虑失败信号。Adapt2Reward 通过 failure prompts 显式建模失败模式,在任务泛化上高出约 23%
- vs Concept2Robot: Concept2Robot 用 SS-V2 预训练的 174 类分类器做奖励,将物体统一表示为 "[Something]",丢失了物体交互的具体信息。Adapt2Reward 保留了语言条件性质,且对视角和干扰物体鲁棒性强得多
- vs LIV: LIV 通过跨模态 embedding + 时间一致性学习奖励,但没有利用失败数据的结构。Adapt2Reward 的 failure prompt 机制提供了更细粒度的成功/失败区分能力
启发与关联¶
- Failure prompt 的思路可以扩展到 VLM 推理评估: 当前 VLM 推理奖励模型大多只看"对/错",而 failure prompt 的思路可以用于建模"错误的不同原因"——与 因果过程奖励用于多模态推理 有呼应
- 跨域对比学习 + 域特定 prompt 的范式: 可以应用于 VLM 的 zero-shot 迁移场景,如医学图像(有大量自然图像预训练但医学数据少)
- 可学习 prompt 池 + 聚类: 这个模式在 continual learning 和 domain adaptation 中也有潜力
评分¶
- 新颖性: ⭐⭐⭐⭐ failure prompt + 聚类的设计很巧妙,将失败模式作为可迁移知识
- 实验充分度: ⭐⭐⭐⭐ 环境泛化、任务泛化、消融都做了,但缺少真实机器人实验
- 写作质量: ⭐⭐⭐⭐ 动机清晰,方法描述系统,图表设计合理
- 价值: ⭐⭐⭐⭐ 对 VLM→机器人奖励函数这条路线提供了有效方案,failure prompt 思想可迁移