Diffusion Policy:生成式动作模型

进阶 学习范式 kp-303 扩散模型策略学习多模态动作

一句话定义

Diffusion Policy(Chi et al., RSS 2023)把动作生成交给扩散模型:从噪声出发逐步去噪,"画"出一段多模态、时序一致的动作块——它解决了行为克隆的两大顽疾:动作多模态与误差累积。

为什么重要

  • 2023 年以来操作学习最重要的方法论进展之一:发布后在 15 项任务上平均提升约 47%(相对此前 IL 方法),成为操作策略的新基线。
  • 思想已被继承进 VLA 时代:π0 的动作专家用流匹配(flow matching,扩散的近亲),大量 VLA 动作头都是扩散/流式生成。
  • 学会它,你就掌握了"把生成式模型当策略"的通用范式,可以自己改动作表示、观测表示与推理策略。

前置知识

kp-301 模仿学习;扩散模型基本概念(加噪/去噪)。

核心概念

扩散模型回顾:前向过程逐步给数据加高斯噪声;训练网络预测噪声(或速度场);采样时从纯噪声迭代去噪恢复数据。DDPM 慢、DDIM 少步采样快。

Diffusion Policy 的三个关键设计:

  1. 生成动作块(action chunk)而非单步动作:一次去噪出未来 8~32 步动作序列,执行其中前若干步再重新观测去噪——时序一致性好、误差不累积、天然闭环(kp-301 动作分块思想)。
  2. 多模态表达:扩散能表示"同一观测下多个合理动作"的完整分布,而 MSE 回归只能输出平均(kp-301 的死穴)。
  3. 观测作为条件:去噪 U-Net/Transformer 以图像特征(+语言)为条件做交叉注意力;输入用视觉特征而非原始像素,训练更稳。

两种骨干:CNN 版(1D 时序卷积 U-Net,快)、Transformer 版(动作 token + 观测 token 交叉注意力,灵活)。

DP3(3D Diffusion Policy, 2024):把观测换成少量点云编码,证明 3D 观测对精细操作(如插入)大幅提效——观测表示的改进与策略结构正交。

原理与机制

训练(以 ε 预测形式):

$$L = \mathbb{E}_{t, \mathbf{a}^0, \boldsymbol{\epsilon}}\left[ \|\boldsymbol{\epsilon} - \boldsymbol{\epsilon}_\theta(\underbrace{\sqrt{\bar\alpha_t}\mathbf{a}^0 + \sqrt{1-\bar\alpha_t}\boldsymbol{\epsilon}}_{\mathbf{a}^t},\ \mathbf{o},\ t)\|^2 \right]$$

即:取真动作块 $\mathbf{a}^0$,加噪到第 $t$ 步,让网络在观测条件 $\mathbf{o}$ 下预测所加噪声。

推理闭环:

观测 o_t ─► 特征编码 ─► 从纯噪声出发 K 步去噪(DDIM ~10步)
        ─► 得到动作块 [a_t ... a_{t+k}] ─► 执行前 h 步(receding horizon)
        ─► 新观测,重复

为什么它比 BC 回归稳:动作块的"执行-重观测"节奏把闭环频率从"每步"降到"每块",推理开销可接受;多模态分布不再被平均;块内的时序平滑抑制抖动。

公式与图示

对比三种动作头在多模态数据上的行为:

目标分布:两个尖峰(往左绕 / 往右绕都可行)

MSE 回归:  ▲
           ╱ ╲          ← 输出两峰之间的"平均值"= 掉进沟里
          ╱   ╲
──●─────────────●──► 动作轴
  左绕           右绕

Diffusion:采样一次落在左峰或右峰(随机性保留多模态),多次采样可覆盖两峰

直观类比

  • 画家起稿:MSE 回归像"把所有名师的画重叠取平均",得到一团糊;扩散像"从一团噪声里凝出一幅具体而完整的画"——每次可能风格略异,但每幅都成立。
  • 打台球的出杆:同样的局面,高手可能选择"薄切"或"厚切"两种打法;模仿者若学成"中间力度",球就停在半路。

实例与案例

  • 基准战绩:RLBench、Push-T、真实双臂任务(原论文):平均成功率显著超越 BC-Transformer、IQL 等基线;Push-T 成为社区标准试金石。
  • 开源生态:Diffusion Policy 代码进入 LeRobot;大量高校把它当第一个操作策略 baseline;DP3、3D 变体、视觉-语言条件版(如 3D Diffuser Actor, 2024)不断扩展。
  • 工业雏形:弹性物体整理、厨具操作等"写不出解析解"的任务,扩散策略+演示数据是当前最现实的路线。

常见误区

  • 误区一:扩散=慢=不能用。DDIM 少步采样 + GPU 推理可达 10 Hz 以上策略频率;动作分块进一步摊薄推理成本。
  • 误区二:Diffusion Policy 是新算法范式。它仍是模仿学习(kp-301),只是换了策略的表达形式;数据质量问题(一致性、标注、对齐)一个都没少。
  • 误区三:条件给得越多越好。观测维度膨胀带来训练不稳定与过拟合;实践上先加最关键的 1~2 路观测,逐项消融。

自测题

  1. 写出扩散策略的训练损失,并解释为什么它能表达多模态动作分布。
  2. 动作块长度 k 与执行步数 h 如何影响稳定性与响应速度?
  3. 什么情况下应选 DP3 的点云观测而非多视角 RGB?

与其他知识点的关系

  • kp-304 ACT:同为"动作块"策略,CVAE 与扩散两条多模态路线,工程取向不同。
  • kp-305 VLA:π0 用流匹配把本节思想推向通用模型。
  • kp-405 基准:Push-T/LIBERO 是它的标准考场。

延伸阅读

  • Chi et al., Diffusion Policy: Visuomotor Policy Learning via Action Diffusion, RSS 2023(项目页含视频与代码)。
  • Ze et al., 3D Diffusion Policy, 2024。
  • 递进阅读:Lipman et al., Flow Matching, 2023(π0 的数学基础)。

本节引用来源

  • Chi et al., Diffusion Policy, RSS 2023
  • Ze et al., 3D Diffusion Policy (DP3), 2024