一句话定位
Seer 用一个 Transformer 把”预测未来视觉状态”和”逆动力学推动作”端到端揉进同一次前向——不是先训视频生成模型再单独训一个目标条件策略——在 droid 等大规模机器人数据上预训练后只需少量微调即可反超两阶段 PIDM(Susie、CLOVER)与纯视觉预训练(MVP、MPI)基线,CALVIN ABC-D 上 Seer-Large 把 Avg.Len 刷到 4.28(当期 SOTA),ICLR 2025 Oral。
背景与定位
论文把机器人操作的可扩展策略学习分成两条此前彼此独立的路线:
- 动作中心(action-centric):RT-1、octo、openvla 直接在 Open X-Embodiment、DROID 等大规模机器人数据上做行为克隆,只监督动作,没有充分利用演示里的视觉、时序信息。
- 视觉中心(vision-centric):R3M、MVP 类方法在 Ego4D 等视频数据上学判别式表征;UniPI、Susie、CLOVER 则训练生成式”世界模型”去预测未来视觉子目标,再用一个独立训练的目标条件逆动力学策略把子目标转成动作——这类两阶段 Predictive Inverse Dynamics Model(PIDM,先由 Bharadhwaj/Gen2Act、Chen/IGOR 等提出该范式)里视觉预测和动作预测的训练是割裂的。
Seer 的立论是:人类操作物体时手眼是闭环协同的,所以训练和推理都应该把视觉预测和动作预测放进同一个闭环。据此提出端到端 PIDM——用同一个 Transformer 联合优化视觉 foresight 和逆动力学,而不是先预训练一个独立视频生成器。对比基线覆盖 3d-diffuser-actor(3D 场景表征扩散策略)、GR-1(生成式视频预训练)、Susie/CLOVER(两阶段 PIDM)、Roboflamingo(VLM 出发)。
模型架构
输入 tokenizer(三种模态,均先各自编码再送进同一个 Transformer 主干):
- 视觉:MAE 预训练 ViT-Base(冻结),对 eye-on-hand + eye-on-base 两路图像各出 196 个 patch token + 1 个 [CLS];经 Perceiver Resampler(Flamingo 式,hidden 768、3 层、8 头)压缩成少量任务相关 token,避免长历史下 Transformer 主干算力爆炸。
- 语言:冻结 CLIP ViT-B/32 文本编码器 + 线性投影。
- 机器人状态:6 维末端位姿(位置 + 欧拉角)与二元夹爪状态(one-hot)各过线性层后拼接、再过一层线性层得到 state token。
多模态编码器(policy backbone):24 层 GPT-2 风格 Transformer(hidden 384、12 头),每个时间步额外拼两类 readout token——foresight token [FRS](每路视图各一个)与 action token [INV](3 个,对应 3 步动作 chunk)。关键设计是一个单向 attention mask:[INV] 除了看历史图像、语言、状态,还能看到同一时间步的 [FRS];这让动作预测在同一网络内深度融合”过去 + 预测的未来”,是实现端到端训练的核心机制(区别于两阶段 PIDM 里视觉预测和动作预测是两个分开训练的网络)。
Readout 解码器:
- Action head:MLP,连续回归(非离散 token、非扩散),输出 7 维动作——6 维末端位姿(Tanh 约束到 [-1,1])+ 1 维夹爪开合(Sigmoid,阈值 0.5)。3 个 [INV] token 同时预测未来 3 步动作,做动作 chunking 以获得时序一致性、抗 idle 动作。
- Image head:ViT 结构解码器(hidden 384、2 层、16 头),接收 [FRS] 编码后的 image latent + MAE 式 mask token,重建被 mask 的未来图像 patch 像素。
参数规模:标准 Seer 总参数 316M,其中视觉 + 文本编码器冻结 251M,可训练 65M;Seer-Large 变体可训练参数扩到 315M(视觉、文本编码器同样冻结不变)。跨具身方面没有专门设计的 embodiment token,而是靠统一的 7 维动作空间 + 在 DROID、OXE、CALVIN、LIBERO、真机上共享网络结构来实现迁移。
数据
- CALVIN ABC-D 预训练:Env A/B/C 的官方 play 数据,约 240 万交互步、4000 万段短时窗口,无语言标注且含随机探索等无意义动作;带完整语言标注的另一部分数据用于下游微调;Env D 完全保留用于零样本评测(1000 组、每组连续 5 个任务)。
- LIBERO-LONG:在 LIBERO-90(90 个短时程任务,全标注)上预训练,在 LIBERO-LONG(10 个长时程任务)上微调 + 评测,图像 224×224。
- 真机预训练:droid 公开数据集,76,000 条成功轨迹(覆盖 564 个场景、86 个任务,数字来自 DROID 原论文,Seer 直接复用)。
- 真机微调:Franka Research 3 + Robotiq-2f-85 夹爪,两路 RealSense D435i(eye-on-hand + eye-on-base),15 Hz 采集 RGB、状态、动作;四个”泛化性”任务(Flip White Bowl、Stack Cups、Wipe Board、Pick-Place-Close)与两个”高精度接触密集”任务(Press Button、Insertion),每任务采 100 条演示;正文四个泛化任务合计下游微调数据约 400 条演示。
- 跨具身消融:改用 Open X-Embodiment(OXE)预训练,沿用 Octo 的子集混合配方,剔除所有含 Franka 机器人的子集并过滤动作标签异常的子集,与 DROID 预训练版本、从零训练版本三方对比。
- 训练目标里视觉 foresight 用像素级 MSE,不依赖额外的视觉 tokenizer 或 VQ 码本。
训练方法
- 目标函数:总损失 L = 0.5·L_fore + L_inv(α=0.5),其中视觉 foresight 用像素 MSE,L_inv = L_arm(Smooth-L1)+ 0.01·L_gripper(BCE)。预训练与微调用同一套目标,不像多数前人工作预训练、微调目标不一致。
- 应对预训练数据的两个”脏”问题:其一,语言标注缺失时,[FRS] 转而 attend 未来时刻(t+n+1)的机器人状态作为目标,保证 [FRS] 仍能拿到明确目标信息;其二,预训练数据含无意义探索行为时,[INV]/[FRS] 在预训练阶段不 attend 之前的图像、状态 token,避免过拟合到具体行为模式(微调阶段则正常 attend)。
- 动作 chunking:一次预测 3 步动作(3 个 [INV] token),推理时可丢弃首步之外的预测或做时序集成加权平均,提升鲁棒性(参考 Diffusion Policy 的动作一致性思路,但 Seer 用回归而非扩散)。
- 超参(Table A-I):batch size 预训练 640(LIBERO/CALVIN)、2048(真机),微调统一 512;学习率预训练 1e-4、微调 1e-3,AdamW + cosine decay;训练轮数预训练 30(LIBERO/真机)/ 20(CALVIN),微调 40(LIBERO/真机)/ 20(CALVIN);历史长度 7(LIBERO/真机)/ 10(CALVIN);动作 chunk 长度统一为 3。
- 真机推理加速:MAE 预训练 ViT-B 编码器量化为 bfloat16,论文称未观察到对操作任务效果的负面影响;微调用第 9 个预训练 checkpoint 起步,评测用第 17 个微调 checkpoint。
- 消融验证目标设计有效性(CALVIN Avg.Len):先在不做预训练(从零训练)的前提下消融微调目标——w/o L_fore、w/o L_inv(纯 BC)得 3.31,加 L_fore 得 3.41,L_fore + L_inv 联合得 3.64(该值与 Seer(scratch) 的正式结果一致);再固定微调目标为最优组合 L_fore + L_inv,消融预训练目标——不预训练仍是 3.64,预训练只用 L_fore 得 3.73,预训练也用 L_fore + L_inv(即完整 Seer)得 3.98(与正式结果一致)。这说明”视觉预测指导动作”以及”预训练也要联合两个目标”都各自带来实打实的增益。
Infra(训练 / 推理工程)
- 仿真实验(LIBERO + CALVIN):8× RTX 4090 GPU。预训练耗时约 40 小时(CALVIN)/ 30 小时(LIBERO);微调耗时约 24 小时(CALVIN)/ 6 小时(LIBERO)。
- 真机实验:Seer 自身预训练、微调所用具体 GPU 数与算时未在论文中单独披露(仅明确前述 8×4090 用于仿真);作为对比,OpenVLA 基线在真机数据上全量微调使用 8× A100,耗时 24 小时以上。
- 推理:真机部署时视觉编码器用 bfloat16 量化以加速;真机数据采集、控制频率为 15 Hz;论文未给出明确的推理 FPS 或端到端延迟数字(未披露)。
- 精度:论文未提及训练精度(fp16/bf16/fp32)细节,仅提到推理侧视觉编码器 bfloat16 量化(训练精度未披露)。
评测 benchmark
LIBERO-LONG(10 任务,每任务 20 次 rollout,top-3 checkpoint 均值,Avg. Success): Seer 87.7% > Seer(scratch) 78.7% > MPI 77.3% > MVP 68.2% > OpenVLA 54.0% > MTACT 41.0%。Seer 可训练参数仅 65M,是 OpenVLA(7B)的约 4%,却比 OpenVLA 相对提升 62%。
CALVIN ABC-D(1000 组、每组连续 5 任务,top-3 checkpoint 均值,Avg. Len.): Seer-Large 4.28(论文报告的新 SOTA;GitHub 后续 checkpoint 页面标注为 4.30)> Seer 3.98 > Seer(scratch) 3.64 > CLOVER 3.53 > 3D Diffusor Actor 3.27 > GR-1 3.06 > Susie 2.69 > Roboflamingo 2.47。Seer-Large(scratch) 为 3.83,说明预训练在大模型上依然有效。
数据效率:仅用 10% 下游数据时,预训练模型相对从零训练在 LIBERO-LONG 上成功率相对提升 187%,在 CALVIN 上 Avg.Len 相对提升 150%;只需 70% 数据即可超过此前 SOTA 基线。
可扩展性:CALVIN Avg.Len 随可训练参数从 65M 增到 315M 单调提升,无论是否预训练都成立。
真机主实验(6 任务,15 案例 × 3 次重复,SR / Score):Seer 均值 78.4% / 39.5 vs Seer(scratch) 60.0% / 32.8,vs MVP 55.0 / 29.8,vs MPI 48.4 / 29.3,vs OpenVLA 16.7 / 11.0(OpenVLA 因 3B 全量微调且仅用 eye-on-base 单目相机,在小物体、远距离任务上过拟合明显)。高精度接触任务(Press Button、Insertion):Seer 60.0/18.0、60.0/19.0,均高于 scratch(40.0/13.0、40.0/16.0)与 MVP(46.7/17.0、26.7/11.0)。
鲁棒性压力测试(预训练版 vs scratch,SR/Score):多物体干扰 60.0/18.0 vs 33.3/11.0;背景大幅变化 33.3/29.0 vs 6.67/13.0;新物体 60.0/39.0 vs 46.7/37.0;强光干扰 66.7/37.0 vs 46.7/30.0——预训练带来的鲁棒性提升在各类扰动下一致存在。
跨具身消融(6 任务均值,SR/Score):scratch 53.3/26.7,OXE 预训练 56.7/26.8(仅小幅提升,部分高精度任务反而下降),DROID 预训练 71.1/31.3(明显最优)。论文将 OXE 效果不及 DROID 归因于:其一,OXE 多数子集缺 wrist-view(eye-on-hand)图像,而高精度任务高度依赖该视角;其二,跨具身、跨控制器的动作分布差异使预训练动作先验偏离真实需求。
创新点与影响
- 把此前”视觉预测模型 + 独立训练的逆动力学策略”两阶段 PIDM(Susie、CLOVER、Gen2Act、IGOR 等)首次改造成单网络端到端联合训练,靠 [FRS]→[INV] 单向注意力在同一 Transformer 内实现视觉-动作闭环,训练和推理都保持这个闭环。
- 用消融证明”只做视觉预训练”(MVP、MPI 式)天花板明显低于”整条策略联合预训练”,纠正了此前把视觉表征学习和动作学习分离对待的默认做法。
- 65M 可训练参数(OpenVLA 7B 的约 4%)反超 OpenVLA,说明操作任务上模型设计(端到端视觉-动作闭环)比单纯堆 VLM 参数量更关键。
- 在 CALVIN ABC-D 取得当期新 SOTA(Avg.Len 4.28),ICLR 2025 Oral 收录。
- 论文自陈的局限(Conclusion 部分):其一,真机只评测了 6 个下游任务,更大范围的高精度接触密集任务覆盖不足;其二,跨具身能力仍需更多验证——其自己做的 OXE 消融显示跨具身预训练收益有限、在高精度任务上甚至出现负迁移,作者将其归因为 wrist-view 缺失与具身、控制器差异,这本身也是留给后续工作的开放问题。
原始链接
- arXiv:https://arxiv.org/abs/2412.15109(PDF:https://arxiv.org/pdf/2412.15109)
- GitHub:https://github.com/OpenRobotLab/Seer
- Project page:https://nimolty.github.io/Seer/
一手源存档(sources/)
- seer-predictive-inverse-dynamics—github-readme — GitHub README 快照
- seer-predictive-inverse-dynamics—project-page — 项目主页快照
- arXiv 2412.15109 全文(HTML)已通读,原文 PDF 不入 git,引用见上方 arXiv 链接