枢纽
数据集Ego4D
上真机
实时
输入模态vision

VIP:用「强化学习自己」给机器人预训练视觉表示和奖励

Yecheng Jason Ma, Shagun Sodhani, Dinesh Jayaraman, Osbert Bastani, Vikash Kumar, Amy Zhang(FAIR Meta AI + UPenn)。ICLR 2023 / arXiv:2210.00030v2 (2023-03)。 项目页 · 开源 · foundation_modelsvideo pretraining × RL

🧠 一句话心智模型:你给机器人一张「目标图」,它得自己想怎么从「现在」走到「目标」——这需要两样东西:看得懂世界的眼睛(表示)知道有没有进展的奖励(reward)。VIP 的赌注是:把人类在 Ego4D 里干活的视频当成一个巨大的离线 RL 问题,从中同时学出这两样——而且不需要任何动作标签

🎯 为什么重要:奖励工程是机器人学习的「真·最后一公里」

2022 年前后,「在 ImageNet/Ego4D 上预训练一个 ResNet,再冻结当机器人的视觉骨干」已经成了套路(R3M、MoCo、CLIP 都是这条路)。但所有这些工作都有一个没说出口的假设

核心矛盾:预训练的表示能给机器人「看懂」,但任务怎么「指定」?在仿真里你可以拿到真实状态写个稠密 reward;在真机上你得手工装传感器、人工标注每条轨迹——这成了最大的工程瓶颈。CLIP/R3M 这些「大模型表示」能当 reward 吗?论文 §1 直接给出实验结论:不能,因为它们的 embedding 距离不光滑,到处是局部极小,policy 一学就 reward hacking。

VIP 抛出的问题非常激进:能不能完全不碰机器人数据,从纯人类视频里学出一个「通用的视觉 reward 函数」?答案是:可以,只要你换一个目标函数。

CV 范式(R3M/CLIP) 拿 CV 任务最强的目标函数 (对比学习 / 图文对齐) 「希望」它对控制也好 → 表示好,reward 不行 ❌ reward hacking 模仿学习范式(BC) 需要 (观察, 动作) 配对 真机示教非常昂贵 视频没动作 → 学不了 → 无法用人类视频 ⚠️ 数据受限 VIP:RL 范式 ✅ 用 RL 自己当预训练目标 解对偶问题 → 不需动作 embedding 距离 = reward → 表示 + reward 一起出 全都要
图 1:预训练范式的分野。VIP 哲学上「用 RL 预训练 RL」,跳过 CV 中介。

💡 核心思想:把人类视频当离线 RL,解它的「对偶」绕开动作

人类视频有图像帧但没有动作标签——直接做 offline RL 是死的。VIP 的关键洞察是:对偶问题里动作消失了

原始问题:Offline Goal-conditioned RL max E[Σ γᵗ r(o,g)] − KL(d_π ‖ d_D) 要学策略 π_H(a|o,g) 和表示 φ ❌ 需要动作 a_H(视频里没有!) Fenchel 对偶 对偶问题:Value-only max_φ min_V [V(g→o₀) + log E[exp(...V...)]] 只学 value V(φ(o); φ(g)) 和表示 φ ✓ 不含动作!纯自监督 进一步:把 V* 当 embedding 距离的相似度 V*(φ(o); φ(g)) := −‖φ(o) − φ(g)‖² → 目标变成隐式时间对比学习(Eq.5-6) 正样本:同一视频的初始帧(距 goal 最远) 负样本:中间帧;通过 TD 一致性「隐式」推开
图 2:VIP 的三步推导(论文 §4.1-4.3)。从「需要动作」的原始 RL,到「不需要动作」的对偶,再到「连 value 网络都不需要」的最终形式。
🔮 直觉:为什么「正样本是最远的初始帧」反直觉但正确?
标准时间对比学习(TCN):让相邻帧靠近、远处帧拉开。结果是 embedding 距离曲线充满局部极小。
VIP 反过来:让起点和终点在 embedding 上靠近(因为它们都是「同一任务的边界」),中间帧通过递归 TD 一致性自动按时间远近排开。结果是 embedding 距离随时间单调光滑下降——这正是「reward 应该平滑」所需要的性质。论文 Fig.2 在 2D toy 上漂亮地展示了这一点。

🛠️ 算法实现:不到 10 行 PyTorch

组件选择理由
视觉骨干ResNet-50与 R3M/MoCo/ImageNet 全部对齐,公平比较
训练数据Ego4D 子集(人类第一视角视频)与 R3M 完全一致;覆盖全球多样任务
采样单元从每个视频随机截取子轨迹 $(o_{i_t},...,o_{i_k},o_{i_{k+1}},...,o_{i_T})$任何子轨迹也是合法视频序列;末帧当 g(goal/anchor),首帧当 o₀(正样本/初始),中间当负样本
V* 形式负 L2 距离 $-\|\phi(o)-\phi(g)\|^2$省掉一个 value 网络;Eq.6 直接对 φ 求梯度
奖励(下游用)$R(o_t,o_{t+1};\phi,g) = (1-\gamma)S_\phi(o_{t+1};g) + (\gamma S_\phi(o_{t+1};g) - S_\phi(o_t;g))$第一项是 raw 距离,第二项是 potential-based shaping,保证最优策略不变但加速学习
超参数batch size / optimizer / lr 全部复刻 R3M隔离变量:唯一区别就是「目标函数」
📊 算法 1(伪代码)核心 5 步:采子轨迹 → 取首帧为 g、末帧为 o₀、中间帧为 (o, o') → 计算 $(1-\gamma)\|\phi(o_0)-\phi(g)\|^2$ → 加 $\log\sum\exp(\|\phi(o)-\phi(g)\|^2 - \tilde\delta_g(o) - \gamma\|\phi(o')-\phi(g)\|^2)$ → SGD 更新 φ。
App. D.3 给出 <10 行 PyTorch 实现

📊 关键结果(PDF 溯源)

1. 仿真:FrankaKitchen(36 个视觉操作任务 = 12 子任务 × 3 视角)

设定VIPR3M(同数据)ImageNet ResNetCLIP
MPPI Easy(默认 32 轨迹)显著最优次之更差更差
MPPI Hard(唯一非平凡进展)唯一能学≈ 0≈ 0≈ 0
MPPI + 给更强优化器(更多轨迹)升到 ~44%不升反降(reward hacking)
Online RL(NPG,aggregate)~40%次之
VIP (Sparse)(用真稀密 reward + VIP 表示)≈ 0证明:稠密 reward 必不可少,光好表示不够

来源:论文 §5.1,Fig.4-5。VIP 是唯一在 Hard 设定下非零的方法,且唯一能从更强优化器中受益——其他方法因 reward hacking 反而恶化。

2. 真机:4 个桌面操作任务,每个 ~20 条示教(few-shot offline RL)

任务VIP-RWRVIP-BCR3M-RWRR3M-BCScratch-BC
CloseDrawer100 ± 050 ± 5080 ± 4010 ± 3030 ± 46
PushBottle90 ± 3050 ± 5070 ± 4650 ± 5040 ± 48
PlaceMelon60 ± 4810 ± 300 ± 00 ± 00 ± 0
FoldTowel90 ± 3020 ± 400 ± 00 ± 00 ± 0

来源:论文 Table 1。10 次滚动平均成功率。In-domain VIP(只用 20 条数据从头训)全部失败——证明大规模 Ego4D 预训练是必要条件。

3. 表示质量:embedding 距离的「平滑性」

衡量VIP对比基线
距离曲线「凸起」数量最少R3M / CLIP / ResNet 显著更多
奖励直方图第一桶(小幅正奖励)比 R3M 多 ~20%极端奖励 bin 显著更少
与人工稠密 reward 的相关系数最高 R² = 0.95(8/12 任务至少一个视角)其他方法相关性低或负
关键洞察:VIP 的胜利不是「表示更好」——在纯视觉编码 benchmark 上它未必胜过 CLIP。它的胜利是表示 + reward 一起好。这背后的性质是「embedding 距离沿任务进度单调下降」,正是 RL 算法渴望的稠密 reward 形态。论文 §5.3 把这个性质量化了。

🌐 在领域中的位置

TCN(时间对比,2018) R3M(Ego4D + 语言一致性,2022) VIP(RL 自监督预训练)⭐ Voltron / MVP / RT-2(视频 + 语言 → 机器人基础模型)

VIP 是「视觉基础模型用于机器人」这条线上的关键转折点:第一次把「reward 学习」纳入预训练目标,而不只是「表示学习」。它对后续的 Voltron、MVP,乃至 VLA 时代的 RT-2、OpenVLA 都有方法论遗产——「用 RL 本身做预训练」成了一个流派。关联线索:T06 基础模型谱系

❓ 常见误区

VIP 是个 VLA(视觉-语言-动作)模型吗?

不是。VIP 没有语言、没有动作输出。它只产出一个 ResNet-50 编码器 φ 和一个「用 embedding 距离构造 reward」的配方。下游策略(MPPI / NPG / RWR)才是真正输出动作的。它是「基础模型」前的「基础表示 + 基础 reward」

人类视频里动作都没了,怎么还算 RL?

这正是 Fenchel 对偶的妙处(§4.1 Prop.4.1)。原问题里策略 π_H 需要 a_H,但对偶问题里只出现 value V——而 value 是关于 (state, goal) 的函数,跟动作解耦。论文在确定性转移假设下严格证明了这个对偶推导。

它的 reward 真的比 CLIP 距离好那么多?

是的。Fig.5 给出最直接的证据:给 MPPI 越来越多轨迹数,VIP 的成功率单调上升到 44%,而 CLIP/R3M/ResNet 都会下降——因为它们的 reward landscape 充满局部极小,优化器越强越能找到「假 reward 高地」(reward hacking)。

20 条示教就能在真机学 FoldTowel,太夸张了吧?

关键在「offline RL + 预训练 reward」组合。20 条示教只用来作为 offline 数据;学什么动作完全由 VIP reward 引导(RWR 用 reward 加权回归)。R3M 在同一设定下 FoldTowel 成功率 0%,说明换一个表示就废——这恰恰证明 VIP reward 的稠密性是关键。但仍要承认:成功率 90±30% 方差很大,离产品级还远。

和后来的 CLIP-RL / VLA 相比,VIP 还有用吗?

它的位置是「轻量、纯视觉、无需语言标注的 reward 来源」。在 VLA 时代,它是「当你的任务没法用语言描述、只能给一张目标图」时的解决方案。今天的 zero-shot reward 研究仍频繁引用它的 embedding-distance reward 套路。