Diffusion Policy: Visuomotor Policy
- 文章概括
- 摘要
- 1. 介绍
- 2. 扩散策略的公式化
- 2.1 去噪扩散概率模型
- 2.2 DDPM 训练
- 2.3 用于视觉运动策略学习的扩散模型
- 3 关键设计决策
- 3.1 网络架构选项
- 3.2 视觉编码器
- 3.3 噪声计划
- 3.4 加速实时控制的推理
- 4. 扩散策略的四个引人入胜的特性
- 4.1 建模多模态动作分布
- 4.2 与位置控制的协同作用
- 4.3 动作序列预测的好处
- 4.4 训练稳定性
- 4.5 与控制理论的联系
- 5. 评估
- 5.1 模拟环境和数据集
- 5.2 评估方法论
- 5.3 关键发现
- 5.4 消融研究
- 6 真实世界评估
- 6.1 真实世界Push-T任务
- 6.2 杯子翻转任务
- 6.3 酱汁倒入和涂抹任务
- 7. 实际双臂任务
- 7.1 观察空间与动作空间
- 7.2 远程操作
- 7.3 双臂打蛋器任务
- 7.5 双臂折叠衬衫任务
- 8. 相关工作
- 9. 限制与未来工作
- 10. 结论
- 11. 致谢
- A 扩散政策实施细则
- A.1 归一化
- A.2 旋转表示
- A.3 图像增强
- A.4 超参数
- A.5 数据效率
- B 附加消融结果
- B.1 观察范围
- B.2 性能提升计算
- C 现实世界任务细节
- C.1 推块任务
- C.1.1 演示
- C.1.2 评估
- C.2 酱料倒入和涂抹
- C.2.1 演示
- C.2.2 评估
- D 实际实验设置细节
- D.0.1 UR5 机器人站
- D.1 Franka 机器人站
- D.2 双手任务的初始和最终状态
文章概括
引用:
@article{chi2023diffusion,
title={Diffusion policy: Visuomotor policy learning via action diffusion},
author={Chi, Cheng and Feng, Siyuan and Du, Yilun and Xu, Zhenjia and Cousineau, Eric and Burchfiel, Benjamin and Song, Shuran},
journal={arXiv preprint arXiv:2303.04137},
year={2023}
}
Chi, C., Feng, S., Du, Y., Xu, Z., Cousineau, E., Burchfiel, B. and Song, S., 2023. Diffusion policy: Visuomotor policy learning via action diffusion. arXiv preprint arXiv:2303.04137.
原文:https://arxiv.org/abs/2303.04137
代码、数据和视频:https://diffusion-policy.cs.columbia.edu/
系列文章:
请在
《
《
《文章
》
》
》 专栏中查找
摘要
本文介绍了Diffusion Policy,一种通过将机器人的视动策略表示为条件去噪扩散过程的新方法来生成机器人行为。我们在来自四个不同机器人操作基准的15个任务上对Diffusion Policy进行了基准测试,结果显示它在所有任务中表现优异,平均提高了46.9%。Diffusion Policy通过学习动作分布评分函数的梯度,并在推理过程中通过一系列随机Langevin动力学步骤迭代优化这一梯度场。我们发现,扩散公式在用于机器人策略时具有显著优势,包括优雅处理多模态动作分布、适用于高维动作空间,以及展现出令人印象深刻的训练稳定性。为了充分释放扩散模型在物理机器人视动策略学习中的潜力,本文提出了一系列关键技术贡献,包括引入递进视界控制、视觉条件和时间序列扩散变压器。我们希望这项工作能够激发新一代策略学习技术的发展,充分利用扩散模型强大的生成建模能力。代码、数据和训练细节可在https://diffusion-policy.cs.columbia.edu/获取。
关键词
模仿学习、视动策略、操作
1. 介绍
从示范中进行策略学习,其最简单的形式可以被表述为监督回归任务,即学习将观察映射为动作。然而,实际上,预测机器人动作的独特性质——如多模态分布的存在、序列相关性以及高精度要求——使得这一任务与其他监督学习问题相比具有独特性和挑战性。
以往的研究尝试通过探索不同的动作表示来应对这一挑战(图1a),如使用高斯混合模型【Mandlekar et al., 2021】、量化动作的分类表示【Shafiullah et al., 2022】,或者通过切换策略表示方式(图1b),从显式表示转为隐式表示,以更好地捕捉多模态分布【Florence et al., 2021; Wu et al., 2020】。
在本研究中,我们引入了一种新的机器人视动策略形式,通过机器人动作空间上的“条件去噪扩散过程”【Ho et al., 2020】生成行为,称为Diffusion Policy。在这种形式中,策略并不直接输出动作,而是根据视觉观测推断动作评分的梯度,进行K次去噪迭代(图1c)。这一公式使得机器人策略能够继承扩散模型的几个关键特性,从而显著提高性能。
图1. 策略表示. a) 显式策略使用不同类型的动作表示。b) 隐式策略学习一个由动作和观察条件化的能量函数,并通过优化最小化能量景观来确定动作。c) 扩散策略通过学习的梯度场将噪声逐步优化为动作。这种形式提供了稳定的训练过程,使得学习的策略能够准确建模多模态动作分布,并适应高维动作序列。
- 表达多模态动作分布。通过学习动作评分函数的梯度【Song and Ermon, 2019】,并在该梯度场上执行随机Langevin动力学采样,Diffusion Policy能够表达任意可归一化分布【Neal et al., 2011】,其中包括多模态动作分布,这是策略学习中的一个众所周知的挑战。
- 高维输出空间。正如其在图像生成中的出色表现所证明的,扩散模型在高维输出空间中展现了极佳的可扩展性。该特性使策略能够联合推断一系列未来动作,而非单步动作,这对于促进时间上的动作一致性和避免短视规划至关重要。
- 稳定的训练。训练基于能量的策略通常需要通过负采样来估计不可处理的归一化常数,这已知会导致训练不稳定【Du et al., 2020; Florence et al., 2021】。Diffusion Policy通过学习能量函数的梯度,绕过了这一需求,从而在保持分布表达能力的同时,实现了稳定的训练。
我们的主要贡献是将上述优势引入机器人领域,并展示它们在复杂的现实世界机器人操作任务中的有效性。为了成功将扩散模型应用于视动策略学习,我们提出了以下技术贡献,这些贡献提升了Diffusion Policy的性能,并充分释放了其在物理机器人上的潜力:
- 闭环动作序列。我们将策略预测高维动作序列的能力与递进视界控制相结合,以实现稳健的执行。该设计使策略能够以闭环方式持续重新规划其动作,同时保持时间上的动作一致性,达到长远规划与响应能力之间的平衡。
- 视觉条件。我们引入了一个视觉条件扩散策略,其中视觉观测被视为条件,而不是联合数据分布的一部分。在这种形式中,策略在去噪迭代中只提取一次视觉表示,这大大减少了计算量并实现实时动作推断。
- 时间序列扩散变压器。我们提出了一种新的基于变压器的扩散网络,旨在最小化典型CNN模型的过平滑效应,并在需要高频率动作变化和速度控制的任务中实现了最先进的性能。
我们在行为克隆框架下,系统地评估了Diffusion Policy在来自4个不同基准测试的15个任务中的表现【Florence et al., 2021; Gupta et al., 2019; Mandlekar et al., 2021; Shafiullah et al., 2022】。评估包括模拟和现实环境、2*度到6*度的动作、单任务和多任务基准测试、全驱动和欠驱动系统,以及刚性和流体物体,使用由单个和多个用户收集的示范数据。
通过实验,我们发现该策略在所有基准测试中表现出一致的性能提升,平均提高46.9%,这为Diffusion Policy的有效性提供了有力的证据。我们还提供了详细的分析,仔细检查了该算法的特性以及关键设计决策的影响。
这项工作是会议论文【Chi et al., 2023】的扩展版。我们在以下方面扩展了本文的内容:
- 增加了关于扩散策略与控制理论之间联系的新讨论章节,见第4.5节。
- 在模拟中加入了额外的消融研究,涉及替代网络架构设计以及不同的预训练和微调范式,见第5.4节。
- 扩展了现实世界实验结果,增加了三个双手操作任务,包括搅蛋器、垫子展开和折衬衫,见第7节。
代码、数据和训练细节已公开,可用于复现我们的结果,访问链接为 https://diffusion-policy.cs.columbia.edu/
2. 扩散策略的公式化
我们将视动机器人策略表述为去噪扩散概率模型(DDPMs)【Ho et al., 2020】。关键是,扩散策略能够表达复杂的多模态动作分布,并且具有稳定的训练行为,几乎不需要针对任务的超参数调整。以下部分将详细介绍DDPMs,并解释如何将其适应用于表示视动策略。
2.1 去噪扩散概率模型
DDPMs是一类生成模型,其输出生成过程被建模为去噪过程,通常称为随机Langevin动力学【Welling and Teh, 2011】。
从高斯噪声采样得到初始的 x K \text{x}^K xK,DDPM执行 K K K次去噪迭代,生成一系列噪声逐渐减少的中间动作 x k , x k − 1 , . . . , x 0 \text{x}^k, \text{x}^{k−1}, ..., \text{x}^0 xk,xk−1,...,x0,直到形成所需的无噪声输出 x 0 \text{x}^0 x0。该过程遵循以下方程:
x k − 1 = α ( x k − γ ε θ ( x k , k ) + N ( 0 , σ 2 I ) ) , (1) \mathbf{x}^{k-1} = \alpha (\mathbf{x}^{k} - \gamma \varepsilon_{\theta} (\mathbf{x}^{k}, k) + \mathscr{N}(0, \sigma^2 {I})), \tag{1} xk−1=α(xk−γεθ(xk,k)+N(0,σ2I)),(1)
其中 ε θ ε_θ εθ 是噪声预测网络,其参数 θ θ θ 将通过学习进行优化,而 N ( 0 , σ 2 I ) \mathscr{N}(0, \sigma^2 \mathbf{I}) N(0,σ2I) 是在每次迭代中添加的高斯噪声。
上述方程1也可以被解释为一次带噪声的梯度下降步骤:
x ′ = x − γ ∇ E ( x ) , (2) \mathbf{x}^′ =\mathbf{x}−γ∇E(x), \tag{2} x′=x−γ∇E(x),(2)
噪声预测网络 ε θ ( x , k ) \varepsilon_\theta(\mathbf{x}, k) εθ(x,k) 有效地预测梯度场 ∇ E ( x ) \nabla E(\mathbf{x} ) ∇E(x),其中 γ \gamma γ 是学习率。
选择 α \alpha α、 γ \gamma γ、 σ \sigma σ 作为迭代步骤 k k k 的函数,也被称为噪声调度,可以被解释为梯度下降过程中的学习率调度。Ho 等人 (2020) 证明,选择略小于 1 的 α \alpha α 可以提高稳定性。关于噪声调度的详细信息将在第 3.3 节中讨论。
2.2 DDPM 训练
训练过程从数据集中随机抽取未经修改的样本 x 0 \mathbf{x}^0 x0 开始。对于每个样本,我们随机选择一个去噪迭代步骤 k k k,然后为迭代步骤 k k k 采样具有适当方差的随机噪声 ε k \varepsilon^k εk。接下来,噪声预测网络需要从添加了噪声的数据样本中预测该噪声。
L = M S E ( ε k , ε θ ( x 0 + ε k , k ) ) (3) \mathscr{L} = MSE(\varepsilon^k, \varepsilon_\theta(\mathbf{x}^0 + \varepsilon^k, k)) \tag{3} L=MSE(εk,εθ(x0+εk,k))(3)
如 Ho 等人 (2020) 所示,最小化公式 (3) 中的损失函数也同时最小化了数据分布 p ( x 0 ) p(\mathbf{x}^0) p(x0) 和从 DDPM q ( x 0 ) q(\mathbf{x}^0) q(x0) 分布中抽取样本的分布之间的 KL 散度的变分下界(见公式 (1))。
2.3 用于视觉运动策略学习的扩散模型
虽然 DDPM 通常用于图像生成 ( x \mathbf{x} x 为图像),我们使用 DDPM 来学习机器人视觉运动策略。这需要在公式中进行两个主要的修改:
- 将输出 x \mathbf{x} x 改为表示机器人的动作。
- 使去噪过程依赖于输入的观察 O t O_t Ot。
接下来的段落将讨论这些修改,图 2 展示了概述。
图 2. 扩散策略概述. a) 通用公式。在时间步 t t t,策略使用最近 T o T_o To 步的观察数据 O t O_t Ot 作为输入,并输出 T a T_a Ta 步的动作 A t A_t At。 b) 在基于 CNN 的扩散策略中,使用 Perez 等人 (2018) 提出的 FiLM(特征线性调制)对观察特征 O t O_t Ot 进行条件化处理,应用于每个卷积层的通道维度。开始时从高斯噪声中抽取 A t K A^K_t AtK,并逐步减去噪声预测网络 ε θ \varepsilon_\theta εθ 的输出,重复 K K K 次,直到得到 A t 0 A^0_t At0,即去噪后的动作序列。c) 在基于 Transformer 的扩散策略中,Vaswani 等人 (2017) 提出的 Transformer 架构中,观察 O t O_t Ot 的嵌入被传递到每个 Transformer 解码器块的多头交叉注意力层中。每个动作嵌入被限制为只能关注自身和之前的动作嵌入(因果注意力),并使用图中展示的注意力掩码进行约束。
闭环动作序列预测: 有效的动作规划应该鼓励长时间规划中的时间一致性和平滑性,同时允许对意外观察结果做出快速反应。为了实现这一目标,我们承诺在重新规划之前采用扩散模型生成的动作序列预测,持续固定时间。具体而言,在时间步 t t t,策略以最新的 T o T_o To步观察数据 O t O_t Ot为输入,预测 T p T_p Tp步动作,其中 T a T_a Ta步动作在机器人上执行而不进行重新规划。在这里,我们定义 T o T_o To为观察视野, T p T_p Tp为动作预测视野, T a T_a Ta