一句话定位

把行为克隆(BC)从「显式回归」â=F_θ(o) 改写成「隐式能量模型 + 推理时 argmin」â=argmin_a E_θ(o,a),用 InfoNCE 对比损失训练条件 EBM,在接触密集、多模态、不连续的操作任务上系统性超过 MSE / MDN 显式策略,并在 D4RL human-expert 上不用奖励就逼近/超过 CQL、S4RL 等 offline RL SOTA。

背景与定位

行为克隆是获取机器人技能最简单的监督学习方法,但主流实现把策略写成从观测到动作的显式前馈网络 â=F_θ(o)。本文提出的核心问题是「策略的表示形式(form of the policy)本身」这一被长期忽视的设计选择——如果 F_θ 这种连续单值映射本身就是错的呢?作者把 BC 重构成 conditional energy-based modeling(EBM)问题:学一个能量函数 E_θ(o,a),推理时对动作做隐式回归(argmin / 采样优化)。这一 paradigm 是「implicit policy / energy-based policy」。

与相关工作的定位:EBM 综述见 LeCun 的 energy-based learning tutorial 与 Song & Kingma;Langevin MCMC 训练与隐式生成来自 Du & Mordatch。EBM 此前在 RL 里只作为「部分组件」(如 soft Q-learning 的策略表示 [Haarnoja]、model-based planning [Du]),本文的独特之处是「直接用隐式模型做 BC」,从而形成 implicit vs. explicit 策略的对照案例。它是 diffusion-policy 的直接前身——后者把这里的 EBM 换成扩散模型来获得同样的多模态/不连续建模能力;同组早前的 transporter-networks 是其视觉操作基线谱系的一部分。评测对照用的是 D4RL offline RL 基准(CQL、S4RL)。

模型架构

隐式策略的「动作头」不是输出动作,而是一个能量标量:网络吃进观测 o 与候选动作 a,输出 E_θ(o,a)∈R^1;推理时对 a 求 argmin。三种 EBM 训练/推理变体,按动作维度选用:

  • a) 无导数优化 DFO(derivative-free / 采样):类 Cross-Entropy Method 的迭代采样优化器。初始从 U(y_min,y_max)N_samples 个候选,算能量→softmax→按多项式分布带放回重采样→加高斯噪声→裁剪→按 σ←Kσ 缩小采样方差。默认 σ_init=0.33, K=0.5, N_iters=3, N_samples=16,384。只适合动作维度 ≤5。
  • b) 自回归 DFO:为 y∈R^m 的每一维单独一个模型 E_θj(x,y_{:j}),逐维坐标下降采样,可扩到高维;代价是要 N 个模型、显存吃紧,但无需额外梯度稳定化。
  • c) 梯度式 Langevin MCMC(SGLD)ỹ^k = ỹ^{k-1} - λ/2·∇_y E_θ + ω_k, ω_k∼N(0,σ),梯度只对 y 求。用 spectral normalization + gradient penalty 稳定训练;推理时跑训练 2 倍的 Langevin 步数。单模型即可扩到高维。

各任务变体分配:Simulated Pushing & Real World(动作 2 维)用 DFO;Planar Sweeping(3 维)、Bi-Manual Sweeping(12 维)用自回归 DFO;D4RL(3–30 维)与 N-D Particle(1–32 维)用 Langevin。B.4 对照显示:仅 2,000 条示范时,联合 DFO 在 N>5 维失效,自回归 DFO 与 Langevin 都能可靠解到 16 维、并在 32 维有非零成功率。

骨干网络:非图像观测用 MLP(EBM 时把动作也拼进输入,输出能量;MSE 时输出动作),可选 ReLU/Swish、Dropout、ResNet skip、spectral-norm dense。视觉运动策略用 ConvMLP(late fusion:动作与 CNN 图像编码拼接后过 MLP)——正因为晚融合,EBM 与 MSE 的视觉处理时间完全相同。两类 CNN:sweeping 用 26 层 ResNet(ConvResNet,编码前保持全图空间分辨率);pushing(仿真+真机)用逐步空间下采样的 ConvMaxPool(卷积×maxpool 交替,特征维 [32,64,128,256],3×3 卷积核)。编码器可选 spatial soft(arg)max 或 global average pooling,可选 CoordConv。

数据

全部为示范数据(BC,无奖励标注),来源与规模:

  • D4RL human-expert:kitchen-complete 19、kitchen-partial 601、kitchen-mixed 601 条示范(Franka,动作 9 维);pen-human 50、hammer-human 25、door-human 25、relocate-human 25 条(Adroit,动作 24/26/28/30 维)。均为人类遥操作数据,处理成 .tfrecord。是 D4RL 中最难的子集。
  • N-D Particle:每个维度 2,000 条脚本示范;观测/状态维 4→128,动作维 1→32;示范由「到达 g0 半径 r 内即切换到 g1」的不连续 oracle 策略生成,专门隔离「不连续性」这一属性。
  • Simulated Pushing(PyBullet xArm6,圆柱末端):2,000 条脚本示范(末端打滑会重调推向),单/多目标、state/pixel 变体,动作 2 维,像素观测 180×240。
  • Planar Sweeping仅 50 条人类遥操作示范(低数据),把 50–100 个随机粒子推进目标区;agent 3 DoF(2 位置+1 朝向);图像观测 27,648 维、状态观测 203 维(粒子数不定,flatten+0-pad)。
  • Bi-Manual Sweeping:1,000 条脚本示范;双 KUKA IIWA + 铲状末端,从 0.4 m² 工作区舀粒子均分进两碗;动作 12 DoF(每臂 6DoF),每 episode 700 步 @ 10 Hz,96×96×3 图像 + 末端位姿状态。
  • Real Robot(xArm6,遥操作 teleop):Push-Red-then-Green 95、Push-Red/Green-Multimodal 410、Insert-Blue 223、Sort-Blue-from-Yellow 502 条示范;仅 RGB 图像输入 @ 5 Hz,任务时长最长 60 秒,用鼠标界面实时遥操作采集。
  • 用奖励的方式极简:只把按回报排序后前 50% 的示范优先采样(类 Reward-Weighted Regression, RWR),这一步对隐式策略提升明显、对显式策略提升较小,说明「隐式 BC 比显式 BC 更看重数据质量」。

训练方法

目标函数:InfoNCE 式对比损失 L_InfoNCE——对 batch 内每个样本 x_i 生成 N_neg 个负样本(counter-examples)ỹ_ij,等价于对 p_θ(y|x)=exp(-E_θ)/Z 的负对数似然,用负样本估计配分函数 Z(x_i,θ)。所有方法用 Adam(β1=0.9, β2=0.999)。y_min/y_max 取训练数据逐维 min/max,加 0.05 缓冲再裁到环境上下限。

  • DFO 训练:负样本直接从 U(y_min,y_max) 均匀采;batch 512、每样本 256 counter-examples;lr 1e-3、每 100 步 ×0.99 指数衰减;观测与动作逐维零均值单位方差归一化;发现 Dropout 无帮助(采样过程本身自正则)。
  • Langevin 训练:从均匀分布初始化,每个负样本跑 N_MCMC 步 SGLD;步长多项式衰减;不反传穿过 MCMC 链(stop_gradient);clip 合并噪声后的整个 Δy;spectral norm + gradient penalty(L_grad,只在最后一步 k={N_MCMC} 施加,margin M=1),L=L_grad+L_InfoNCE;动作归一化到 [-1,1]。
  • 典型超参(D4RL Implicit BC):Langevin 变体、train iters 100,000、batch 512、lr 5e-4(衰减 0.99/100 步)、网络 512×8 MLP、ReLU、spectral norm、8 counter-examples、langevin 100 iters、lr 0.5→1e-5、多项式 decay power 2、Δaction clip 0.5、noise scale 0.5。对应 Explicit MSE-BC 用 2048×8 MLP、batch 512、lr 1e-3。
  • 超参选择协议:在 hammer/door/relocate-human 三个环境上按平均表现选一套超参,全部 D4RL 任务共用(标准 D4RL 协议);有意偏向 human-teleop 任务、牺牲 gym-mujoco 任务。所有评测 3 seeds × 每次 100 episodes。

Infra(训练 / 推理工程)

  • D4RL 训练/评测(Table 8):Implicit BC(Langevin 100 iters、512×8 MLP、8 counter-examples)在 TPUv3 上 door-human 训练 17.9 steps/sec,完整「训 100k 步 + 每 10k 步评 100 episodes」共 3.4 小时;Explicit BC(2048×8 MLP)101.3 steps/sec、0.66 小时。→ 最佳隐式模型的训评时间是最佳显式的 5.6×;但即便 3.4 小时也远快于文献报告的 CQL 同类 D4RL 任务 16.3 小时
  • 真机图像训练(Table 9)8× V100 GPU、batch 128、90×120 图像、4 层 ConvMaxPool、1024×4 MLP、256 counter-examples;Implicit 4.7 steps/sec、5.0 小时,Explicit 5.5 steps/sec、5.8 小时(因视觉处理占大头且晚融合,两者训练时间接近)。
  • 推理(单机单卡 1× RTX 2080 Ti):Implicit(1024 samples、3 DFO iters)7.22 ms,Explicit 3.49 ms;把 samples 1024→2048 则升到 9.25 ms。推理时间可通过 samples/iters 数量调节。
  • 真机控制栈:UFACTORY xArm6,state @ 100 Hz;Intel RealSense D415 RGB-only 640×360 @ 30 Hz;学到的视觉反馈策略 @ 5 Hz(<10 ms 推理,本可更快但 5 Hz 足够);动作空间为 delta Cartesian setpoint,5 Hz 线性插值到 100 Hz 送关节控制器;用 PyBullet 做 IK;6DOF 机器人被约束在桌面上方 2D 平面(安全考量)。

评测 benchmark

D4RL human-expert(Table 2,3 seeds × 100 evals,±std)

任务BC(from CQL)CQLS4RLExplicit MSE-BCImplicit EBM-BCEBM+RWR
kitchen-complete1.41.83.081.763.373.37
pen-human1121.91214.01419.6214125862446
hammer-human-82.4300.2496.2-38-133-9.3
door-human-41.7234.3736.579361399
relocate-human-5.62.02.1-3.5-0.13.6

隐式与显式 BC 都显著超过基准报告的 BC baseline,并与 CQL/S4RL 等 SOTA offline RL 竞争(pen-human EBM 2586 大幅超 CQL/S4RL;door-human EBM 361 超 CQL 234 但低于 S4RL 736)。全任务平均隐式 BC 超过作者自己最好的显式 BC。简单 Nearest-Neighbor 基线(pen-human 1908)表现意外不差但平均不及隐式 BC。

N-D Particle(Fig 6):固定示范数下,隐式策略在 ≤16 维 保持 95% 成功率,显式 MSE 同样成功率只能到 8 维;Nearest-Neighbor 只在 1D 有效。

Simulated Pushing(Table 3,成功率%)

方法单目标 states多目标 states单目标 pixels
EBM10099.0100
MDN10099.710.0
MSE98.389.787.0
NearestNeighbor4.00.04.3

像素任务下 MDN 大幅崩坏(10.0),EBM 满分。

Planar Sweeping(Table 4):图像 EBM 比最好的 MSE 架构高 7%(EBM image+softmax 最高 82.6% vs MSE image+pool 75.6%);EBM 与 spatial soft(arg)max 协同好,MSE 更吃 pooling;state 输入均不如像素。 Bi-Manual Sweeping(Table 5):EBM(image+softmax) 78.2% vs MSE(image+pool) 63.9%,高 14%(10 rollouts × 3 seeds)。

Real Robot(Table 6,成功率%,20 rollouts × 3 seeds = 60 trials/任务/方法)

任务Implicit EBMExplicit MSE
Push-Red-then-Green85.035.0
Push-Red/Green-Multimodal88.355.0
Insert-Blue(1mm 精度)83.36.7
Sort-Blue-from-Yellow(组合)48.319.6

精密插入任务上隐式比显式高一个数量级(约 12×),组合排序高 2.4×。

创新点与影响

贡献:(1) 提出 Implicit BC——把监督式模仿学习重构为条件 EBM + 推理时隐式回归,是简单、通用的新方法;(2) 真机验证:仅用图像输入 + 人类示范,完成 1mm 精密插入、60 秒长时程组合排序等接触密集任务,全面超显式基线(插入任务数量级提升);(3) 系统的仿真对照 + D4RL 作者报告基准,证明隐式 BC 在高维动作(≤30 维)、视觉观测、真机上竞争或超 SOTA;(4) 揭示隐式模型在不连续处外插上的性质(生成建模社区此前未讨论);(5) 理论:Thm 1——任何图闭合的集值函数 F 都存在 1-Lipschitz 连续 g 使 argmin_y g(x,y)=F(x)Thm 2——用有界误差 ε 的连续函数逼近器 g_θ 时,argmin_y g_θ 的图落在 F 的图 ε 邻域内;推论——隐式函数可取任意 Lipschitz 常数,从而用有界梯度逼近陡峭/不连续的显式函数(显式连续逼近器必须匹配大梯度、易致泛化问题)。

改变了什么:确立了「隐式/能量式策略」这一路线,把 BC 的失败很大程度归因于「策略表示形式」而非算法,直接启发了以扩散模型替换 EBM 的 diffusion-policy(沿用多模态/不连续建模思想但避开 EBM 训练不稳),成为后续多模态操作策略的关键奠基工作之一。

作者自陈局限:(1) 相比朴素 MSE-BC,训练与推理计算成本都更高(但真机推理增幅有限、可实时;训练时间也远低于 offline RL);(2) 隐式模型实现复杂度更高(论文用附录 B 给出训练指南以降低门槛)。此外 Thm 1/2 只证明「存在」这样的模型,不保证学习算法能找到它,且推理时 argmin_y g_θ 一般非凸、是难的全局优化问题。

原始链接

一手源存档(sources/)

  • implicit-bc-ibc—github-readme — 官方 GitHub README 快照(google-research/ibc,含各任务复现命令、数据下载、环境依赖)
  • implicit-bc-ibc—project-page — 项目主页 implicitbc.github.io 快照(highlights 与真机结果描述)
  • arXiv 原文 PDF(arxiv.org/pdf/2109.00137,不入 git)