📄 论文阅读笔记:Diffusion Policy (2023)
📌 一、 核心摘要 (TL;DR)
一句话总结:本文提出将“行为克隆(Behavior Cloning)”转化为一个条件去噪扩散过程(Conditional DDPM)。模型不再直接输出动作,而是以“视觉图像”为条件,将一团“纯噪声”逐步去噪成一段平滑、多维的机器人动作轨迹(Action Sequence)。
相比传统方法,它完美解决了机器人学习中最大的痛点:人类示范的多模态问题(即面对同一场景有多种有效操作),平均成功率提升了 46.9%。
🎯 二、 为什么需要 Diffusion Policy?(解决的痛点)
在以往的机器人模仿学习中,主要有两种流派,都有致命缺陷:
- 显式策略(Explicit Policy, 如单步 BC, MSE, GMM):
- 痛点:容易陷入**“平均值陷阱(多峰分布问题)”**。如果示范数据中遇到障碍物有时从左绕、有时从右绕,单步 BC 会取平均值,导致机器人直直撞上去或者在原地抽搐卡死。
- 隐式策略(Implicit Policy, 如 IBC):
- 痛点:通过能量模型(EBM)打分来评估动作的好坏,可以解决多峰问题。但在训练时需要大量负样本来计算归一化常数,导致训练极其不稳定,调参像抽卡。
Diffusion Policy 的优势:
- 完美拟合多模态:通过随机采样和去噪过程,模型能明确“掷骰子”决定是向左还是向右,永远不会输出无效的平均动作。
- 训练稳定:只需要做简单的 MSE 噪声预测,无需负采样(巧妙绕过了能量模型的归一化问题)。
🛠️ 三、 三大核心技术设计 (Secret Sauce)
本文能让复杂的扩散模型在机器人上实现 0.1s 的实时推理,主要归功于以下三个精妙的设计:
1. 动作分块与滚动预测 (Action Chunking & Receding Horizon)
- 一次预测一串(Action Sequence):把未来多步的动作组合成一个二维矩阵(比如 16步 × 6维)。扩散模型将这个矩阵作为一个整体进行去噪。
- 滚动执行(Receding Horizon):模型输入过去 步的观察,预测未来 步的动作,但机器人只执行前 步,然后重新看图,再次预测。
- 好处:保证了动作的时间连贯性(Temporal Consistency)。相当于给机器人赋予了“动作惯性”,在遇到短暂干扰或模棱两可的岔路口时,机器人能“闭着眼坚定走完几步”,避免了单步决策带来的原地高频抽搐。
2. 视觉条件化注入 (Visual Conditioning)
- 放弃生成图像:过去的模型(如 Janner 等人的工作)试图让扩散模型同时生成“未来的图像+动作”。这会导致计算量爆炸,无法实时控制。
- 作为条件输入:本文将视觉特征 从去噪输出中剔除,仅仅作为“条件”输入给网络。
- 端到端训练 (End-to-End):因为剔除了图像生成,去噪网络变得非常轻量,显存得以释放。这就允许将最前端的视觉编码器(ResNet/ViT)和后面的扩散网络连在一起联合训练,让视觉网络学会自动提取与任务最相关的特征。
3. 位置控制 (Position Control) > 速度控制 (Velocity Control)
- 传统模仿学习多用“速度控制”,因为预测单步位置的误差极高。
- 但本文发现 Diffusion Policy 在位置控制下表现出奇的好。因为整体序列预测本身消除了剧烈抖动,使得位置控制的高精度优势得以发挥。
🧠 四、 核心公式与概念解析 (Q&A 回顾)
1. 训练公式:
- 物理意义:“看图猜噪点”。 是干净的动作序列, 是随机加进去的噪声,网络 的任务就是猜出被加进去的噪声长什么样。只要算出来的 MSE(均方误差)越小,数学上就等价于模型生成的动作分布越接近人类专家的动作分布(最小化 KL 散度)。
2. FiLM Conditioning (特征级线性调制)
- 作用:一种极其轻量、高效的条件注入机制。
- 原理:它像一个智能调音台,把“图像特征”和“当前去噪步数 ”输入进一个小网络,算出一组缩放因子()和偏移因子()。然后用这组因子去直接放大、缩小或平移主网络中的特征图。它不生硬地拼接特征,而是精准拨动神经元。
3. 为什么放弃 Inpainting(图像修复式引导)?
- Inpainting 是强行锁定序列的最后一帧作为目标。但这与本文的**“滚动预测(视野短,比如只看未来16步)”**产生冲突(目标通常在遥远的第100步)。因此,本文改用 FiLM 来将“终极目标”潜移默化地作为条件输入给模型。
🧮 五、 两种网络架构选择 (Architectures)
作者提供了两种去噪网络()的实现,可根据任务选用:
- CNN-based (1D Temporal CNN):
- 特点:使用一维卷积,以 FiLM 注入图像条件。
- 建议:作为新任务的首选。不需要复杂的超参调节,开箱即用,对大部分日常任务(如推木块、倒水)表现极佳。
- Transformer-based (Time-series Diffusion Transformer):
- 特点:把动作当成 Token,把图像用 Cross-Attention(交叉注意力)注入。
- 建议:当任务极为复杂、动作变化频率极高(High-frequency action changes)时使用。它的上限更高,但缺点是很难训练,对超参数非常敏感(Dropout、Weight Decay 都要精调)。
📊 六、 实验高光结果 (Evaluation Highlights)
论文在 15 个任务(包含仿真和真机)上进行了测试,表现碾压现有 Baseline (LSTM-GMM, IBC, BET):
- 抗干扰能力 (Robustness):在推 T 型方块(Push-T)任务中,中途用手去拨动方块,Diffusion Policy 能够瞬间重新规划路线,甚至展现出未经示范的“倒车重推”行为。
- 高难度真机任务:
- 非刚体/周期性操作:完美完成了舀番茄酱并螺旋涂抹在披萨饼上的操作(极其考验连贯性和周期性)。
- 双臂协同操作 (Bimanual):直接支持多视角+双臂14自由度的高维输出,成功实现了双臂打蛋器操作、双臂抖开毯子、双臂叠衣服等复杂任务。
💡 七、 局限与未来改进方向
- 推理延迟:虽然用了 DDIM 加速(100步压缩到10-16步),但 0.1秒的延迟对于要求极高响应速度的控制(如打乒乓球)仍显不足。未来可结合 Consistency Models (一致性模型) 进一步提速。
- 数据依赖:作为行为克隆(BC)方法,严重依赖高质量、大数量的专家示范数据。无法处理次优数据,暂未结合强化学习(RL)进行自我探索。