ManiCM
基于扩散模型的 Policy 不可避免地面临运行效率低下的问题,因为在推理阶段需要大量采样步骤以生成高质量的动作,即使采用了一些采样加速方法 [36]。
一致性模型(Consistency Models, CMs)[37, 22] 被引入图像生成领域,能够通过极少的推理步骤生成高保真图像。在本文中,提出了 ManiCM 方法,将一致性模型的概念应用于实时机器人操作。
具体而言,首先在点云条件下构建了一个扩散过程,以去噪机器人动作,并确保一致性属性,即原始动作可以从 ODE 轨迹上的任意点直接去噪。然后,设计了一种一致性蒸馏技术直接预测动作样本,而不是像常见的那样预测噪声,因为预测去噪动作收敛更快。
在 Adroit 和 Metaworld 的 31 个机器人操作任务上的大量实验表明,该方法在推理速度上显著加速了 (10x) 当前最先进的方法,同时保持了具有竞争力的成功率。
Consistency Model, CM
CM 是一种高效的生成模型,能够在单步或少步推理中生成高质量的结果,同时保持与扩散模型相当的性能。
给定一个概率流常微分方程(PF-ODE),该方程可以将数据转换为噪声,一致性模型的目标是学习该 PF-ODE 的解函数 f(⋅,⋅),使得 ODE 轨迹上的任意点都可以通过 f(⋅,⋅) 映射回原始分布。
给定 PF-ODE 的解轨迹 {xt}t∈[ϵ,T],一致性函数 f 定义为 f:(xt,t)→xϵ,其中 t∈[0,T],T>0 是一个固定常数。为了避免数值不稳定性,ϵ 是一个非常小的正数,x^ϵ 可以被视为数据分布的近似值(x^ϵ∼pdata(x))。
根据 [37],一致性函数需要满足以下自一致性属性(self-consistency property):
f(xt,t)=f(xt′,t′),∀t,t′∈[ϵ,T].
如上式所示,自一致性属性的含义是,对于同一 PF-ODE 轨迹上的任意输入对 (xt,t),它们的输出 f(xt,t) 应保持一致。所有一致性模型还需满足边界条件 f(xϵ,ϵ)=xϵ,这一条件在一致性模型训练的成功中起着重要作用。
为了将自一致性属性引入深度神经网络,将函数 f(⋅,⋅) 实现为:
fθ(x,t)=cskip(t)x+cout(t)Fθ(x,t),
其中 cskip(t) 和 cout(t) 是可微函数,满足 cskip(ϵ)=1 和 cout(ϵ)=0,Fθ(⋅,⋅) 是一个参数化的深度神经网络,用于学习自一致性。
Consistency Distillation
一致性蒸馏是一种通过从预训练的扩散模型(即“教师网络”)中提取知识来训练一致性模型的方法。一致性损失定义为:
L(θ,θ−;Φ)=E[d(fθ(xtn+1,tn+1),fθ−(x^Φtn,tn))],
其中 d(⋅,⋅) 是用于衡量两个样本之间距离的度量函数,fθ(⋅,⋅) 和 fθ−(⋅,⋅) 分别被称为“在线网络”(online network)和“目标网络”(target network)[37]。当在线网络的优化收敛时,目标网络最终会匹配在线网络,因为 θ− 是 θ 的指数移动平均(EMA)。只要 ODE 求解器的步长足够小且一致性蒸馏损失趋于零,估计的一致性模型就可以变得任意精确。重要的是,边界条件 fθ(x,ϵ)≡x 确保模型在训练中不会收敛到无意义的解 fθ(x,t)≡0。
ManiCM: Manipulation Consistency Model
选择 DP3 [48] 作为底层扩散模型,将其知识蒸馏到单步采样器中,从而实现实时推理,同时保持操作质量。
3D Conditional Generation
将点云表示注入扩散策略作为条件。具体来说,给定从单视角 RGB-D 摄像头接收到的深度图像,我们首先通过摄像头的内参和外参获取点云。然后,通过 FPS 对点云进行下采样,以聚焦于感兴趣的区域(如机器人手臂和目标物体)。接着,稀疏点云通过 MLP 点云编码器进行编码,生成紧凑的 3D 表示,对原始扩散模型进行条件化:
at−1=αt(at−γtϵθ(at,t,p,q))+σtN(0,I),t>0,
其中 ϵθ 是预测的噪声,p 和 q 分别表示点云条件和机器人位姿。上述公式也被称为反向过程 [14]。
Manipulation Self-Consistency Function
a0=cskip(t)at+cout(t)Fθ(at,t,p,q),t≥0,
其中 Fθ 是一个操作一致性函数,包含了沿轨迹累积的 ϵθ。在实践中,cskip(t)=σd2/(βt2+σd2),cout(t)=βt/βt2+σd2,其中 βt 表示时间步缩放值,σd 是平衡值。Fθ(⋅,⋅) 可以被参数化为预测动作样本或噪声 ϵ。在一般情况下,这两种预测方法都是可行的,因为它们本质上优化的是相同的扩散过程。
操作自一致性函数 Fθ(⋅,⋅) 参数化为预测动作样本而非噪声。
Manipulation Consistency Distillation
为了训练 ManiCM,采用一致性蒸馏方法。这里,a0 表示机器人手臂动作序列,包含多个动作,其维度由具体任务决定。p0 表示从图像中获取并下采样的点云,q0 表示从离线数据集中获取的机器人手臂当前位姿。这些输入通过编码器处理,生成紧凑的表示,随后作为条件输入到教师网络、在线网络和目标网络中。
给定一个真实的专家动作 a0,首先通过 n+k 步的前向扩散操作对 a0 添加噪声,得到噪声动作 an+k,其中 k 是跳步间隔。随后,噪声动作 an+k 被输入到冻结的教师网络和在线网络中,分别解码出干净的 a^0∗ 和 a^0。为了确保自一致性属性,设计了一个从在线网络克隆的目标网络,并期望在线网络和目标网络的去噪输出保持一致。
具体来说,目标网络利用通过 k-步 ODE 求解器 Φ(例如 DDIM [36])处理 a^0∗ 得到的 an 来生成 a^0−。因此,在线网络和目标网络的输出 a^0 和 a^0− 由一致性函数 f(⋅,⋅) 生成。一致性蒸馏损失表达为:
LMCD(θ,θ−)=E[∥fθ(an+k,tn+k)−fθ−(a^Φn,tn)∥22],
其中 ∥⋅∥2 是 ℓ2 范数。此外,θ− 使用在线网络参数 θ 的指数移动平均(EMA)更新,定义为:
θ−←sg(μθ−+(1−μ)θ),
其中 sg(⋅) 表示停止梯度操作,μ 满足 0≤μ<1。在公式 (6) 中,a^Φn 是从 an+k 通过 k-步 ODE 求解器得到的估计值。因此,a^Φn 可表示为:
a^Φn←an+k+(tn−tn+k)Φ(an+k,tn+k),
其中 Φ(⋅,⋅) 是应用于 PF-ODE 的 k-步 ODE 求解器的更新函数。
利用 EMA 从在线网络的参数更新目标网络的参数。在实验中,将预训练的 3D 操作扩散模型(如 DP3 [48])作为“教师网络”。实际上,在线网络和目标网络均以教师网络的参数初始化。