这两者都是机器人策略模型,用于从观测(如图像)预测动作,但采用了完全不同的技术路线。

Diffusion Policy(扩散策略)

核心思想

将动作生成视为去噪过程

随机噪声 → 逐步去噪 → 精确动作序列

工作流程

  1. 训练阶段

    • 向真实动作数据逐步添加噪声(前向扩散)
    • 学习一个神经网络来逆向预测并去除噪声
  2. 推理阶段

    输入: 视觉观测 o_t
    初始化: 随机噪声 a_T ~ N(0,I)
    迭代去噪: a_{T-1}, a_{T-2}, ..., a_0
    输出: 去噪后的动作序列
    

特点

  • ✅ 能建模多模态分布(一个观测对应多种合理动作)
  • ✅ 生成的动作轨迹平滑连贯
  • ✅ 对噪声数据鲁棒
  • ❌ 推理速度较慢(需多步去噪迭代)

Transformer Policy(Transformer 策略)

核心思想

利用自注意力机制建模序列依赖关系:

历史观测-动作序列 → Transformer编码器 → 预测下一动作

典型架构(如 ACT、Octo)

视觉编码器(CNN/ViT) → 观测token
历史动作 → 动作token
    ↓
Transformer层(自注意力 + 交叉注意力)
    ↓
动作解码器 → 预测动作

特点

  • ✅ 推理速度快(单次前向传播)
  • ✅ 长时序建模能力强
  • ✅ 可以处理多模态输入(视觉 + 本体感知 + 语言)
  • ❌ 对多模态动作分布建模能力较弱
  • ❌ 可能生成不连贯的动作

关键区别对比

维度Diffusion PolicyTransformer Policy
生成方式迭代去噪(多步)直接回归(单步)
多模态能力强(天然支持)弱(需特殊设计)
推理速度慢(10-100 步)快(1 步)
动作平滑性优秀需额外正则化
长期依赖一般强(注意力机制)
典型应用UMI, 精细操作ACT, 长序列任务

实际应用场景

选择 Diffusion Policy

  • 需要生成平滑轨迹的任务(如绘画、倒水)
  • 存在多种合理解的任务(如抓取可以从不同方向进行)
  • UMI 项目就是典型案例

选择 Transformer Policy

  • 需要长时序规划的任务(如多步骤组装)
  • 实时性要求高的场景
  • 需要整合语言指令的任务(如 RT-2)

混合方案

最新研究也在探索结合两者优势:

  • 用 Transformer 处理长序列上下文
  • 用 Diffusion 生成短期精细动作

例如:Transformer编码历史 → Diffusion解码动作序列