返回Glossary

Diffusion Policy

定义

Diffusion Policy将去噪扩散概率模型(DDPM)应用于动作生成——这是与Stable Diffusion等图像生成器相同的生成框架。该模型不是预测单个确定性动作,而是通过学习的去噪过程迭代地将纯高斯噪声样本精化为连贯的动作轨迹。这允许策略表示给定观察的所有有效行为的完整分布。

该方法由Cheng Chi、Siyuan Feng、Yilun Du、Zhenjia Xu、Eric Cousineau、Benjamin Burchfiel和Shuran Song在2023年引入。它解决了标准行为克隆的根本限制:当演示数据包含相同情况的多个有效策略(例如,从左边或右边抓取物体)时,基于回归的策略会对它们进行平均并产生无效的中间动作。Diffusion Policy可以表示分布的所有模式并从任何模式中采样。

Diffusion Policy通常在动作块(8-32个未来动作的序列)而不是单个步骤上运行,结合了动作分块的优势与多模态生成建模。它在接触丰富的任务上取得了最先进的结果,包括布料折叠、工具使用、双臂装配和精密插入。

工作原理

核心机制借鉴自去噪扩散概率模型(DDPM)。在训练期间,模型学习反转逐步加噪过程。给定演示中的真实动作序列a,在不同级别(时间步t = 1...T)添加高斯噪声。神经网络学习预测添加的噪声,以当前观察(摄像机图像、本体感觉状态)和有噪声的动作为条件。

在推理时,过程从纯噪声开始,并在T步上迭代去噪,每一步将样本移动得更接近有效的动作轨迹。观察充当条件信号:相同的噪声种子与不同的观察产生适合每种情况的不同动作序列。初始噪声的随机性意味着多次运行可以产生不同的有效轨迹,反映训练数据中的多模态分布。

在架构上,两个变体占主导地位。基于CNN的变体使用1D时间卷积U-Net来处理动作序列,将时间视为空间维度。基于Transformer的变体在有噪声的动作令牌和观察令牌之间使用交叉注意。CNN变体更快;Transformer变体更好地扩展到高维动作空间。

关键变体

  • DDPM(去噪扩散概率模型)——原始公式,在推理时有50-100个去噪步骤。产生高质量的轨迹,但相对较慢(GPU上每个动作块约50-100ms)。
  • DDIM(去噪扩散隐式模型)——确定性采样计划,将去噪减少到10-20步,质量损失最小。实践中最常见的选择,将推理时间切割到约10-20ms。
  • 一致性策略——将多步扩散过程蒸馏为单步或少步生成器。实现接近实时的推理(1-3步),同时保持多模态行为,使其适合高频控制循环。
  • 3D Diffusion Policy(DP3)——扩展扩散策略以在3D点云观察上运行,而不是2D图像,改进了涉及深度、遮挡和精确放置的任务的空间推理。

与替代方案的比较

Diffusion Policy与ACT:ACT使用CVAE来处理多模态性,但一旦采样潜在变量就有效地提交到单一模式。Diffusion Policy可以表达更丰富、更复杂的分布,因为去噪过程自然处理多模态输出。然而,由于其单个前向传递,ACT在推理时快10-50倍。对于单模态任务(一个清晰的策略),ACT通常更可取;对于多模态任务,Diffusion Policy表现出色。

Diffusion Policy与纯行为克隆:带有MSE损失的标准BC在模式上进行平均,当数据是多模态时产生无效动作。Diffusion Policy完全避免了这一点。权衡是更大的复杂性、更高的计算和更多的数据需求。

Diffusion Policy与强化学习:RL可以发现新颖的策略,但需要奖励函数和广泛的环境交互。Diffusion Policy纯粹从演示中学习,使其在奖励工程困难或模拟不可用时实用。

实际需求

数据:Diffusion Policy通常需要比ACT更多的演示——对于操纵任务通常需要100-500个演示。对更多数据的需求源于模型的更大表达能力:它需要足够的样本来准确捕获多模态分布。数据多样性(不同的物体位置、方向、策略)比数量更重要。

计算:在单个GPU(RTX 3090/4090)上训练需要4-12小时,用于典型数据集。DDPM变体在推理时需要50-100个去噪步骤,以约10-20 Hz运行;DDIM有10步达到约50 Hz;一致性策略可以超过100 Hz。对于大多数机器人控制循环(10-50 Hz),DDIM是实际选择。

硬件:与ACT一样,Diffusion Policy与位置控制的机器人臂配合使用。它已在Franka Emika Panda、ALOHA系统、UR5和各种低成本臂上演示。与ACT相比更高的推理延迟意味着控制循环频率很重要:对于以50 Hz运行的臂,需要DDIM或一致性策略变体。

训练提示和常见陷阱

  • 噪声计划很重要——扩散时间步数(T)控制样本质量和多样性之间的权衡。T=100(DDPM)或T=10(DDIM)是常见的起点。太少的步骤产生模糊、平均的动作;太多浪费计算而不获得质量收益。
  • 动作归一化至关重要——在训练前将动作归一化到[-1, 1]。扩散过程假设高斯噪声,未归一化的动作在关节间有不同的尺度会导致模型不均匀地分配去噪容量。
  • 观察历史长度——包括2-5帧的观察历史(图像+本体感觉)帮助模型推断速度和任务阶段。单个帧通常产生模糊的动作,因为模型无法区分接近和后退运动。
  • EMA(指数移动平均)——使用模型权重的EMA进行评估(衰减0.995-0.9999)。这稳定了推理行为,并始终优于原始训练检查点。
  • 谨防动作空间不匹配——Diffusion Policy最适合连续动作空间。如果您的机器人使用离散夹爪命令(打开/关闭),将夹爪视为单独的二进制输出头,而不是将其包含在扩散过程中。

RCSV的Diffusion Policy

RCSV的旧金山和Allston实验室支持完整的Diffusion Policy工作流:

  • 数据收集——遥操作站(ALOHA、VR、主从)配备多摄像机设置,收集Diffusion Policy所需的多样化、多策略演示数据。我们的操作员经过培训,在演示中故意改变他们的策略,最大化多模态训练信号。
  • 训练基础设施——GPU工作站(RTX 4090、A100),预配置LeRobot、diffusion-policy和lerobot-plus环境。在4-12小时内训练Diffusion Policy检查点。
  • 硬件队列——在OpenArm 1、DK1和ALOHA双臂系统上评估训练的策略。我们的单元包括校准的摄像机、F/T传感器和Paxini触觉传感器,用于多模态策略输入。

Related terms