Skip to content
Go back

Diffusion Policy

Edit page

📄 论文阅读笔记:Diffusion Policy (2023)

📌 一、 核心摘要 (TL;DR)

一句话总结:本文提出将“行为克隆(Behavior Cloning)”转化为一个条件去噪扩散过程(Conditional DDPM)。模型不再直接输出动作,而是以“视觉图像”为条件,将一团“纯噪声”逐步去噪成一段平滑、多维的机器人动作轨迹(Action Sequence)

相比传统方法,它完美解决了机器人学习中最大的痛点:人类示范的多模态问题(即面对同一场景有多种有效操作),平均成功率提升了 46.9%


🎯 二、 为什么需要 Diffusion Policy?(解决的痛点)

在以往的机器人模仿学习中,主要有两种流派,都有致命缺陷:

  1. 显式策略(Explicit Policy, 如单步 BC, MSE, GMM)
    • 痛点:容易陷入**“平均值陷阱(多峰分布问题)”**。如果示范数据中遇到障碍物有时从左绕、有时从右绕,单步 BC 会取平均值,导致机器人直直撞上去或者在原地抽搐卡死。
  2. 隐式策略(Implicit Policy, 如 IBC)
    • 痛点:通过能量模型(EBM)打分来评估动作的好坏,可以解决多峰问题。但在训练时需要大量负样本来计算归一化常数,导致训练极其不稳定,调参像抽卡。

Diffusion Policy 的优势


🛠️ 三、 三大核心技术设计 (Secret Sauce)

本文能让复杂的扩散模型在机器人上实现 0.1s 的实时推理,主要归功于以下三个精妙的设计:

1. 动作分块与滚动预测 (Action Chunking & Receding Horizon)

2. 视觉条件化注入 (Visual Conditioning)

3. 位置控制 (Position Control) > 速度控制 (Velocity Control)


🧠 四、 核心公式与概念解析 (Q&A 回顾)

1. 训练公式:L=MSE(ϵk,ϵθ(x0+ϵk,k))L = MSE(\epsilon_k, \epsilon_\theta(x_0 + \epsilon_k, k))

2. FiLM Conditioning (特征级线性调制)

3. 为什么放弃 Inpainting(图像修复式引导)?


🧮 五、 两种网络架构选择 (Architectures)

作者提供了两种去噪网络(ϵθ\epsilon_\theta)的实现,可根据任务选用:

  1. CNN-based (1D Temporal CNN)
    • 特点:使用一维卷积,以 FiLM 注入图像条件。
    • 建议作为新任务的首选。不需要复杂的超参调节,开箱即用,对大部分日常任务(如推木块、倒水)表现极佳。
  2. Transformer-based (Time-series Diffusion Transformer)
    • 特点:把动作当成 Token,把图像用 Cross-Attention(交叉注意力)注入。
    • 建议:当任务极为复杂、动作变化频率极高(High-frequency action changes)时使用。它的上限更高,但缺点是很难训练,对超参数非常敏感(Dropout、Weight Decay 都要精调)。

📊 六、 实验高光结果 (Evaluation Highlights)

论文在 15 个任务(包含仿真和真机)上进行了测试,表现碾压现有 Baseline (LSTM-GMM, IBC, BET):

💡 七、 局限与未来改进方向

  1. 推理延迟:虽然用了 DDIM 加速(100步压缩到10-16步),但 0.1秒的延迟对于要求极高响应速度的控制(如打乒乓球)仍显不足。未来可结合 Consistency Models (一致性模型) 进一步提速。
  2. 数据依赖:作为行为克隆(BC)方法,严重依赖高质量、大数量的专家示范数据。无法处理次优数据,暂未结合强化学习(RL)进行自我探索。

Edit page
Share this post on:

Previous Post
Action Chunking
Next Post
RT-1