一句话定位
DPPO 不是一个新策略模型,而是一套用策略梯度(PPO)微调「已经被模仿学习预训练好的」扩散策略的算法框架加最佳实践:它把扩散去噪链(K 步)本身当成一个 MDP,再把这个「去噪 MDP」嵌进环境 MDP,拼成一个两层的「Diffusion Policy MDP」——这样每一去噪步都有解析的高斯似然,PPO 可以顺着整条去噪链回传奖励。此前学界普遍认为 PG 微调扩散策略「因去噪步拉长了有效 horizon、动作方差大而低效」(Psenka 等),DPPO 反证了这一点:在 Gym / Franka-Kitchen / Robomimic / Furniture-Bench 上它是最稳、最强的扩散策略微调法,还首次把 Robomimic 里最难的 Transport(双臂搬运)从 state 或 pixel 输入都做到 >50% 成功率,并实现零真实数据的 sim-to-real(One-leg 真机 80%,而同样微调的高斯策略真机 0%)。
背景与定位
论文站在两条成熟路线的交叉口,做「预训练 + 微调」这条 foundation-model 范式在机器人上的补齐:
- 扩散策略(imitation-learning 侧):Diffusion Policy(Chi 2023)用条件 DDPM 对一段动作 chunk 去噪,能建模模仿学习数据里的多模态动作分布,训练稳、表达强,已成为操作策略的主流参数化(另见 3D Diffuser Actor、DP3)。但纯 BC 预训练的性能被专家数据的次优性和覆盖度卡住。
- 策略梯度 RL(optimization 侧):PG/PPO 在高维连续动作、并行仿真上扩展性好,是从演示策略再优化的自然选择——但对扩散参数化的策略,之前的 RL 微调几乎都走 off-policy Q-learning / weighted regression(DIPO、IDQL、DQL、QSM),而非 on-policy PG,因为大家相信 PG 对扩散策略低效。
- 通过扩散做 PG 的先例:文生图领域已有 DDPO(Black 等 2023「Training diffusion models with RL」)把去噪过程当 MDP、套 PPO。DPPO 把这一「去噪即 MDP」的思路从「非交互的一次性生成」搬进「交互的序贯控制」,通过把去噪 MDP 内嵌进环境 MDP 完成。
一句话范式命名:「denoising-as-MDP + 两层嵌套 MDP + PPO」,专门服务于「把 IL 扩散策略用 on-policy RL 再优化」的场景。作者(Princeton × MIT × Harvard × Toyota Research Institute × CMU;Allen Z. Ren 一作)明确定位它为通用框架,声称可外推到文生图多轮交互、药物设计、扩散语言模型的交互式规划等机器人以外场景。
模型架构
DPPO 本身不引入新网络,被微调的策略骨干就是标准 Diffusion Policy——一个噪声预测网络 εθ(a^k, s, k),论文两种 backbone 都研究:
- MLP head:更简单,DPPO 下微调更稳;state 输入实验默认 MLP,维度 [512,512,512] 或难任务 [1024,1024,1024],critic MLP [256,256,256]。
- UNet head(仅对 a^k 做卷积):允许 Ta < Tp(如 Tp=16 预测、Ta=8 执行),DPPO 从「大 Tp 预训练(预测更准)+ 小 Ta 微调(更适合 PG)」中获益。
- pixel 输入编码器:用 IBRL(Hu 等)里的 ViT 图像编码器 + MLP head,对比对象记作 DPPO-ViT-MLP vs Gaussian-ViT-MLP。
动作头 = 扩散:动作以 chunk 形式生成(预测 Tp 步、执行 Ta≤Tp 步以保时序一致),a∈A 指整段执行 chunk。采样支持 DDPM 与 DDIM 两种。
核心是数学建模而非网络——两层「Diffusion Policy MDP」:
- 环境 MDP
M_ENV=(S,A,P0,P,R);去噪 MDP 用索引t̄(t,k)=tK+(K−k−1)(随 t 增、随去噪步 k 递减)。 - 复合状态
s̄=(s_t, a^{k+1}_t)(环境状态 + 当前带噪动作),复合动作ā=a^k_t(去噪一步后的动作)。 - 奖励只在 k=0(即真正对环境执行 a^0 时)给:
R̄=R(s_t,a_t)当 k=0,否则 0。 - 初始分布
P̄0=P0⊗N(0,I)(环境初态 ⊗ 纯高斯噪声 a^K);转移在 k>0 时是 Dirac(把去噪动作搬进下一状态),k=0 时才推进真实环境动力学。 - 关键性质:每一去噪步的策略是解析高斯
π̄θ(ā|s̄)=N(a^k; μ(a^{k+1},εθ(a^{k+1},k+1,s_t)), σ²_{k+1} I)——正因为有 tractable Gaussian likelihood,PPO 才能直接用(对比原始 Diffusion Policy 不维护显式pθ(a^0|s)似然)。
配置数字:state 实验 K=20 去噪步、微调最后 K’=10 步;pixel 与 Furniture-Bench 预训练 K=100(DDPM)、微调 5 个 DDIM 步;DDIM 训练时 η=1(等价 DDPM,提供探索噪声),评测时 η=0(确定性)。
数据
DPPO 是微调框架,用的都是公开基准的演示数据 + 在线交互 rollout,无自采大规模数据集。逐环境的数据来源与配置:
- OpenAI Gym(Hopper/Walker2D/HalfCheetah-v2):用 D4RL 的 medium-level 全量数据集预训练,state 输入,Ta=4,微调用原始 dense reward。
- Franka-Kitchen:D4RL 三档 {Complete / Partial / Mixed}(演示完整度递减),state 输入,Ta=4,sparse reward。DPPO 不在微调时用任何专家数据,因此对预训练质量敏感——Partial/Mixed 的残缺演示难以充分建模多模态,DPPO 拿不到近乎完美的微调成绩。
- Robomimic(Lift/Can/Square/Transport,难度递增):state 策略用 300 条演示、pixel 策略用 100 条演示预训练;主用较嘈杂的 Multi-Human(MH)数据,部分实验用更干净的 Proficient-Human(PH);Ta=4(Lift/Can/Square)、Ta=8(Transport);微调 sparse reward(完成给 1)。
- Furniture-Bench(One-leg/Lamp/Round-table):仅 50 条在仿真里采集的人类演示预训练,Ta=8,sparse reward(子阶段完成指示);Low/Med 两档初态随机性。数据量小是刻意设定,作者指出更多人类数据(更好 state 覆盖)能进一步提升 Med 档表现。
- D3IL Avoid(机制分析用):三组各含两模态的演示子集 M1/M2/M3,二维末端目标动作空间,用于可视化 DPPO 的探索行为。
数据处理约定:预训练 loader 吃 npz(states / actions / images / traj_lengths);实验中未使用历史观测(只用当前时刻 state 或 pixel),但代码支持 cond_steps 配置。
训练方法
两阶段:①模仿学习预训练 Diffusion Policy(标准 DDPM 噪声预测目标,behavior cloning);②DPPO 用 PPO 微调整条去噪链。PPO 部分的关键设计:
- 两个折扣因子:环境折扣 γ_ENV 与去噪折扣 γ_DENOISE。优势估计
Â=γ_DENOISE^k (r̄ − V̂)——去噪折扣把更噪的步(大 k)在 PG 里降权。 - value 只依赖 s 分量:
V̂(s̄_{t̄(t,0)})=Ṽ(s_t),即价值函数只看环境状态、不看已去噪动作 a^{k=1};消融显示这对难任务性能至关重要(关联扩散策略的高随机性),是最重要的 ablation 之一。 - GAE-λ 做环境步优势估计(λ=0.95)。
- 只微调最后 K’ 步:冻结预训练 θ 跑早期去噪步,复制一份 θ_FT 只更新最后 K’ 步——省显存、加速、不掉性能。
- DDIM 微调:K_DDIM≪K(少至 5 步),微调步更少更快;用于 pixel 与长程家具装配。
- 噪声调度:cosine schedule 的 σ_k;采样时把 σ_k 下限抬到 σ_min^exp(0.01–0.1,默认 0.1)以保探索;算 log-likelihood 时把 σ_k 下限设 σ_min^prob≥0.1 以避免似然幅度过大、稳训练。
- 分步 clipping:对更早的去噪步用更大的 PPO 裁剪 ε,进一步稳训练。
- 大 batch:因 PPO 期望同时跨环境步与去噪步,batch ≈ 高斯训练 batch × 微调去噪步数。
关键超参(Table A7,DPPO):actor LR=1e-4、critic LR=1e-3;γ_ENV=0.99(Gym)/0.999(Robomimic);γ_DENOISE=0.99;GAE λ=0.95;PPO 裁剪 ε=0.01;K’=10;σ_min^exp=0.1(Transport 0.08)、σ_min^prob=0.1。代码基于 Diffuser(扩散实现)+ CleanRL(PPO 实现)。
Infra(训练 / 推理工程)
- 并行仿真采样:Gym 跑 40 个 MuJoCo 环境 / 40 CPU 线程 + 一块 NVIDIA RTX 2080;Robomimic 跑 50 环境 / 50 CPU 线程 + 一块 NVIDIA L40;Furniture-Bench 用 IsaacGym 在单块 NVIDIA L40 上跑 1000 个并行环境(GPU 端仿真)。DPPO 是 on-policy,能吃满高并行采样,因而墙钟往往比 off-policy 基线快(后者更新频率低、并行采样利用不充分)。
- 单迭代墙钟(Table A1/A2):Gym 单迭代(40 环境×500 步=2 万步)DPPO 约 16.6/18.3/16.8 s(Hopper/Walker2D/HalfCheetah),与 IDQL 相当、比 DAWR/DIPO/DQL 快 41%/37%/12%、比 QSM/DRWR 慢 43%/33%。Robomimic 单迭代(50 环境)从 Lift ~35 s 到 Transport ~350 s,各法接近。
- 相对开销:DPPO 墙钟大致与扩散 RL 基线相当(常更快)、远快于 demo-augmented RL 基线,但比高斯 PG 慢最多 2×;从零训练(10 去噪步采样)比高斯慢约 6×。微调更少去噪步(K’ 小)能省 GPU 显存与运行时。
- 精度 / 显存:论文未披露混合精度细节;只定性说少微调步省显存。
- 推理 / 部署:sim-to-real 中 DPPO 与高斯策略均以 10 Hz 运行;无专用边缘硬件披露。DDIM(评测 η=0)把采样步压到 5 步以降推理延迟。
评测 benchmark
主结论:跨基准 DPPO 训练最稳、最终性能最强。以主源披露的数字为准:
- 对比扩散 RL 算法(DIPO/IDQL/DQL/QSM/DRWR/DAWR):Gym 上 IDQL、DIPO 有竞争力;Robomimic 上 DPPO 最强,尤以最难的 Transport 显著领先;其余 off-policy 基线在稀疏奖励 + 大动作 chunk 下更不稳。
- 对比 demo-augmented RL(RLPD/Cal-QL/IBRL):这些法把专家数据放进 replay buffer 做 off-policy,样本效率在 HalfCheetah 上强于 DPPO;但 Franka-Kitchen 里 RLPD/IBRL 在噪声演示上学不好,Cal-QL 有竞争但 DPPO 整体最好(尤其 Kitchen-Complete);Robomimic Can/Square 上 DPPO 最终成绩明显更强,RLPD/Cal-QL 甚至学不起来、IBRL 饱和在更低水平。
- 对比其他参数化(Gaussian / GMM,MLP 或 Transformer,同样 PPO 微调):state 输入下 DPPO 在 Lift/Can 更快收敛到 ~100%,Square/Transport 最终更高,Transport 达 >90%;pixel 输入下 DPPO-ViT-MLP 在 Transport 大幅领先,而高斯策略停在预训练的 0% 不动。DPPO 是已知第一个把 Transport 从 state 或 pixel 都做到 >50% 成功率的 RL 算法。
- Furniture-Bench(6 设定):DPPO 全部改善并稳训;Gaussian-MLP 在三个 Med 任务(除 Lamp 一个 seed)与 Round-table Low 上全崩到 0。
- sim-to-real(One-leg,20 次试验,10 Hz,零真实数据):DPPO 真机 80%(16/20);高斯策略仿真微调后 88% 但真机 0%(抖动剧烈);给高斯加 BC 辅助损失后仿真 53%、真机 50%——DPPO 的 sim-to-real gap 明显最小,且出现「插入未对齐时纠偏、抓取失败后重新定位拖回」等演示里没有、BC-only 也没有的纠正行为。
创新点与影响
- 反证「PG 微调扩散策略低效」的成见:把去噪链当 MDP 嵌进环境 MDP,配合一整套设计(value 只看环境状态、去噪折扣、只微调后几步、DDIM、噪声下限裁剪、分步 clipping),让 on-policy PPO 成为微调扩散策略的最强解法。
- 机制解释(论文的三点核心洞见):① 结构化、贴流形的探索——扩散多轮加噪在动作维度与时间 horizon 上都产生结构化随机性,每一去噪步既扩探索又把动作拉回专家数据流形,覆盖比高斯/GMM 广且更「在轨」;② 多步去噪带来的训练稳定性——注入动作噪声或用到 Ta=16 长 chunk 时高斯/GMM 会崩,DPPO 只要用够去噪步(≥4)就稳,且迭代精化被保留、不塌缩;③ 更鲁棒可泛化的最终策略——对动力学扰动、初态分布扰动更抗噪,呼应「扩散策略能去卷积噪声状态」的理论。
- 影响:成为「把 IL 扩散策略用 RL 再优化」的领跑配方与强基线;开源代码(irom-lab/dppo,MIT,基于 Diffuser + CleanRL)被广泛复现。
- 作者自陈局限:① 样本效率低于 off-policy 方法(最主要短板);② 对预训练性能/数据覆盖敏感(Kitchen-Partial/Mixed 拿不到近满分);③ 结构化、贴流形的探索在「需要激进无结构探索」时反而拖后腿(Lamp Low 下略逊高斯),且从零训练时相对高斯并无明显优势——因此它最适合「预训练已提供充分成功模式覆盖」的微调场景,尤其多任务大规模扩散策略。
原始链接
- 论文(arXiv abs): https://arxiv.org/abs/2409.00588
- 论文 PDF(v3, 2024-12-09): https://arxiv.org/pdf/2409.00588
- 项目主页: https://diffusion-ppo.github.io/
- 代码(GitHub, MIT): https://github.com/irom-lab/dppo
一手源存档(sources/)
- dppo-diffusion-policy-policy-optimization—github-readme — GitHub README(irom-lab/dppo,含安装/预训练/微调/关键配置说明)
- dppo-diffusion-policy-policy-optimization—project-page — 项目主页文本抽取(TL;DR + approach overview)
- arXiv 全文 PDF(2409.00588,arXiv 原文 PDF,不入 git):见上「原始链接」