一句话定位
R3M 在 Ego4D 的 3500+ 小时人类第一视角视频上,用时间对比学习 + 视频语言对齐 + L1/L2 稀疏正则联合训练一个冻结的 ResNet 视觉编码器,全程不用任何机器人数据,就在 12 个仿真操作任务上比从零训练高 20%+、比 CLIP/MoCo 等现成视觉表征高 10%+,还让真实 Franka 机械臂仅凭 20 条演示学会 5 项家居任务(平均成功率 56% vs CLIP 的 24%)。
背景与定位
R3M(Nair、Rajeswaran、Kumar、Finn、Gupta,CoRL 2022;一作在 Meta AI 实习期间完成)要回答的问题是:机器人操作领域能不能有一个类似 ImageNet 之于视觉分类、BERT 之于 NLP 的”可下载即用”的通用视觉表征?此前尝试或依赖机器人自身数据(成本高、任务/环境覆盖窄),或直接套用为其他任务训练的现成视觉模型——CLIP(图文对比学习)、ImageNet 监督特征、MoCo(自监督对比学习)。同期的 PVR 研究(Parisi et al. 2022, “The Unsurprising Effectiveness of Pre-trained Vision Models for Control”)已验证了这些现成表征”直接冻结当感知模块”对控制任务有用,但没有专门针对机器人操作重新设计预训练目标或数据源。
R3M 的路线是换一个数据源和目标:用人类第一视角视频(Ego4D)而非静态网图或机器人自采数据,因为人类视频天然包含”与环境交互”的时序结构和语义丰富的操作行为。同期还有一支平行工作 MVP(Xiao、Radosavovic et al. 2022,用 MAE 在 Ego4D 等第一视角视频”soup”上训练 ViT-B)走的是同一条”人类视频预训练通用视觉表征”路线,但只用静态帧掩码重建,不显式建模时序或语言信息;R3M 论文自己的消融(Table 2)显示,在同样的 Ego4D 数据和相近计算量下,MVP 比 R3M 平均低约 20%,MoCo-Ego4D(同数据同算力的 MoCo 变体)比 R3M 低约 10%,说明”人类视频”这个数据源本身贡献了一部分提升(相对静态 ImageNet 图像 34%→42%),但 R3M 的时间对比 + 语言对齐目标额外贡献了约 10 个百分点——数据和算法目标都重要,缺一不可。
R3M 本身不是策略架构或动作头的创新,而是一个即插即用的冻结感知模块:预训练完全在人类视频上完成,训练完毕后接一个简单的下游行为克隆(BC)策略头即可零样本迁移到全新的仿真/真实环境和任务,不需要在目标域重新微调视觉编码器。
模型架构
R3M 只训练一个图像编码器 F_φ(加一个仅预训练期使用的辅助语言打分头),不含动作头,不做任何策略学习:
- 视觉主干 F_φ:原则上可用任意编码器,论文主要实验用 ResNet50(torchvision 实现),发布的预训练权重覆盖 ResNet18 / ResNet34 / ResNet50 三种规模。输出是确定性的连续嵌入 z = F_φ(I),无随机性、无动作条件。
- 语言打分头 G_θ(仅预训练阶段用,推理/下游部署时不需要):输入初始帧嵌入 F_φ(I₀)、某未来帧嵌入 F_φ(I_i)、语言指令 l 的嵌入,输出一个标量分数,判断”从 I₀ 到 I_i 的转移是否完成了指令 l”所描述的任务。结构是 5 层 MLP,各层宽度 [2E+L, 1024, 1024, 1024, 1024](E 为 F_φ 输出维度,L=768 为语言嵌入维度),输出单一 logit。
- 语言编码器:冻结的预训练 DistilBERT 句子编码器(HuggingFace transformers),不参与梯度更新,只提供固定的 768 维语言表征。
- 数据增强:随机裁剪,且在视频级别统一应用——同一批次中来自同一视频的所有帧使用相同的裁剪参数,保持时序一致性。
- 下游使用方式:R3M 编码器权重训练后完全冻结,作为下游 BC 策略的感知前端;策略侧再拼接机器人本体感受(关节位置/末端位姿等)后接一个简单的 2 层 MLP(隐层 [256,256],输入前加 BatchNorm)输出动作,策略训练时梯度不回传进 F_φ。
数据
- 预训练数据源:Ego4D 数据集,覆盖全球 70+ 个地点,总时长 超过 3500 小时的人类第一视角视频,涵盖做饭、社交、组装物件等广泛任务;每个视频片段都配有描述人物行为的自然语言标注。
- 预处理:每个视频片段解析为逐帧图像(resize+crop 到 224×224),按片段分文件夹存放并编号;配套
manifest.csv记录每个片段的路径、长度、对应语言标注(细节见 GitHub README)。 - 预训练不使用任何机器人数据或目标域数据——12 个下游仿真任务和 5 个真实机器人任务的环境、物体、视角在 R3M 训练中从未出现过,属于严格的零样本迁移评测。
- 下游仿真评测数据:三个基准环境——MetaWorld(5 任务:组装、分拣、按按钮、开抽屉、锤钉)、Franka Kitchen(5 任务:开滑动门、开左门、开灯、拧旋钮、开微波炉)、Adroit(2 任务:转笔定向、抓取归位),共 12 个任务,每环境 多个相机视角(论文图示为 3 个视角/环境),每任务 3 种演示规模——MetaWorld/Franka Kitchen 为 [5, 10, 25] 条,Adroit 为 [25, 50, 100] 条。仿真演示由状态空间强化学习策略(Franka Kitchen、Adroit)或启发式策略(MetaWorld)生成后重放并渲染图像观测。
- 真实机器人数据:Franka Emika Panda 机械臂,在一间真实的研究生公寓里完成 5 项任务(关抽屉、把口罩放进抽屉、把生菜放进锅、把杯子推到目标位置、叠毛巾),每任务仅 20 条人工遥操作演示(PlayStation 手柄,末端笛卡尔空间控制)。
训练方法
- 三项联合目标(式 3):
L(φ,θ) = E[λ₁·L_tcn + λ₂·L_language + λ₃·‖F_φ(I)‖₁ + λ₄·‖F_φ(I)‖₂],其中 λ₁=λ₂=1,λ₃=λ₄=0.00001。
- 时间对比学习(L_tcn):InfoNCE 损失,鼓励同一视频中时间上更近的帧嵌入距离更小,负样本来自批内不同视频(负样本数为 3)。
- 视频语言对齐(L_language):训练 G_θ 使”转移完成指令”的打分随视频进程递增,且正确的图文配对分数高于错配——同样用对比损失,构造正样本对 (I₀,I_g)/(I₀,I_{j>i})/(I₀,I_{k>j}),对应负样本 (I₀,I₀)/(I₀,I_i)/(I₀,I_j)。
- L1 + L2 稀疏正则:鼓励嵌入紧凑,缓解模仿学习中behavior cloning常见的**状态分布偏移(state-distribution shift)**问题。
- 采样与优化:批大小 16 个视频片段,每片段采 5 帧(首帧、末帧各取自视频前/后 20%,加中间序列 3 帧);Adam 优化器,学习率 0.0001;论文实验模型训练 100 万步,正式发布的预训练权重训练 150 万步。
- 不做强化学习、不做动作 token 化——R3M 阶段纯粹是自监督表征学习,动作相关的学习完全放在下游、且下游也只是标准 BC(无 RL)。
- 下游 BC 训练协议:冻结 R3M 输出的视觉嵌入与本体感受拼接后,训练一个 2 层 MLP([256,256],输入前 BatchNorm)策略,损失为 ‖a_t − π([z_t,p_t])‖²,学习率 0.001,批大小 32,训练 20,000 步,每 1000 步在线评测一次,取历史最佳成功率;每个(表征, 任务)组合跑 3 个随机种子,最终成功率对种子、视角、演示规模取平均。
- 消融变体(用于验证三项目标各自贡献):R3M(-Aug) 去掉裁剪增强、R3M(-L1) 去掉 L1 正则、R3M(-Lang) 去掉视频语言对齐——结果见下方”评测 benchmark”。
Infra(训练 / 推理工程)
- 预训练算力:论文正文未披露具体 GPU 型号、数量或总训练时长(GPU-hours)——未披露。已知的只有优化器超参(Adam,lr 1e-4)、批大小(16 clips × 5 frames)与训练步数(100万/150万步)。
- 下游 BC 策略训练:CPU/GPU 规模未披露,仅知策略本身极小(2 层 MLP),单次训练 20,000 步、每 1000 步在线评测。
- R3M 编码器推理延迟/FPS:论文未测量或报告——未披露。真实机器人实验使用 USB 摄像头 RGB 图像 + 末端位姿拼接作为策略输入,但未给出闭环控制频率的具体数值。
- 本体:真实实验使用 Franka Emika Panda 7 自由度机械臂 + 平行夹爪,单目 USB 摄像头(各任务视角不同)。
评测 benchmark
主结果(正文 + Table 1,全部为本文数字):R3M 在 12 个仿真任务的低数据模仿学习中平均成功率 ≈62%(Table 1 “All Domains” 精确值 62.4% ±1.3%),比从零训练(scratch)高 20%+,比 CLIP、ImageNet 监督特征、MoCo(345)/PVR 等现成表征平均高 10%+,在 3 个环境、12 个任务中的 11/12 个任务上是最优表征(Fig. 9)。三个环境中,CLIP 在 MetaWorld 上相对更强,MoCo(345)/PVR 在 Franka Kitchen 和 Adroit 上相对更强,但均不敌 R3M。
目标函数消融(Table 1,All Domains 及分环境成功率):
| 变体 | Franka Kitchen | MetaWorld | Adroit | All Domains |
|---|---|---|---|---|
| R3M(完整) | 53.1±2.7% | 69.2±2.0% | 65.0±1.7% | 62.4±1.3% |
| R3M(-Aug,无裁剪增强) | 51.1±2.7% | 68.9±2.1% | 61.3±2.1% | 60.4±1.4% |
| R3M(-L1,无稀疏正则) | 46.7±2.7% | 65.0±2.4% | 66.5±1.6% | 59.4±1.5% |
| R3M(-Lang,无语言对齐) | 47.2±2.9% | 67.0±2.0% | 45.6±3.3% | 53.2±1.5% |
去语言对齐损失的降幅最大(尤其 Adroit 上从 65.0% 掉到 45.6%),去 L1 正则次之(在 Franka Kitchen/MetaWorld 上有负面影响,但 Adroit 上反而略微提升,论文推测因 Adroit 演示量更大、状态分布偏移问题不突出)。即便是”全自监督”(去掉语言对齐)的 R3M 变体,仍显著优于 CLIP 与 MoCo(345)/PVR。
数据 vs 算法消融(Table 2,Franka Kitchen / Adroit 成功率):
| 方法 | Franka Kitchen | Adroit |
|---|---|---|
| R3M | 53.1 (±2.7) | 65.0 (±1.7) |
| MoCo-Ego4D(同数据同算力的 MoCo) | 42.0 (±2.8) | 54.9 (±2.7) |
| MVP(ViT-B MAE,Ego-soup 数据集) | 27.0 (±2.6) | 51.4 (±2.7) |
MoCo-Ego4D 用与 R3M 完全相同的数据和算力,平均比 R3M 低约 10%;MVP 用同等或更多数据/算力,平均比 R3M 低约 20%——说明人类视频数据本身贡献一部分提升(相对 ImageNet 静态图像的 34%→42%),但 R3M 的训练目标额外带来约 10 个百分点的增益。
真实机器人评测(Table 3,10 次试验的成功次数百分比,R3M vs 最强基线 CLIP):
| 任务 | R3M | CLIP |
|---|---|---|
| 关抽屉 | 80% | 70% |
| 口罩放进抽屉 | 30% | 10% |
| 生菜放进锅 | 60% | 0% |
| 推杯子到目标 | 70% | 40% |
| 叠毛巾 | 40% | 0% |
| 平均 | 56% | 24% |
两者在较简单的”关抽屉”任务上接近,但在需要更精细视觉表征的其余 4 项任务上 R3M 全面领先,平均成功率接近 CLIP 的 2 倍。
视角/数据规模鲁棒性(Fig. 8,定性):R3M 相对基线的提升在所有相机视角和所有演示规模下都保持一致,不依赖特定视角或数据量。
创新点与影响
- 贡献:(1) 提出并验证了机器人操作领域可以有一个类似 ImageNet/BERT 的通用冻结视觉表征——完全在域外的人类视频上预训练、零样本用于全新仿真/真实环境;(2) 系统性验证时间对比学习 + 视频语言对齐 + 稀疏正则三种目标的组合对下游控制性能均有贡献(消融 Table 1),且语言对齐贡献最大;(3) 通过 MoCo-Ego4D / MVP 的对照消融,把”数据来源的贡献”和”训练目标的贡献”分离开,证明二者都重要、不能只归因于数据规模;(4) 开源 ResNet18/34/50 三档预训练权重与训练代码,为后续机器人视觉表征研究提供了可复用的 off-the-shelf 基线。
- 改变了什么:R3M 与同期 MVP 一起,把”人类视频预训练通用视觉表征”确立为机器人操作领域的一条可行范式,此后 VIP、Voltron、LIV、VC-1 等工作沿用或对比同一评测协议(冻结编码器 + 下游 BC,MetaWorld/Franka Kitchen/Adroit 等基准)。R3M 权重也被后续大量机器人学习论文当作现成的视觉编码器基线复用。
- 作者自陈的局限:(1) 当前评测仅限于模仿学习(具体为行为克隆)且演示数量很少,R3M 是否同样有利于强化学习尚未验证,作者认为”对模仿学习好的表征未必对 RL 同样好”;(2) 当前 R3M 只提供单帧的状态表征,未探索用人类视频预训练做奖励学习或任务规约(reward learning / task specification)等超出状态表征的用途,作者将其列为未来方向。
原始链接
- arXiv 摘要:https://arxiv.org/abs/2203.12601
- arXiv PDF:https://arxiv.org/pdf/2203.12601
- GitHub(预训练权重 + 训练代码):https://github.com/facebookresearch/r3m
- 项目主页:https://sites.google.com/view/robot-r3m/
一手源存档(sources/)
- r3m—github-readme — GitHub README(安装、加载预训练模型的示例代码、训练命令、MIT 许可)
- r3m—project-page — 项目主页(作者信息、方法概览图、仿真/真实结果展示)
- arXiv 原文 PDF(2203.12601,不入 git):见上方 arXiv 链接