CleanDiffuser: An Easy-to-use Modularized Library for Diffusion Models in Decision Making

论文笔记 - 用于任务决策的模块化扩散模型库

CleanDiffuser 不是一个新的扩散强化学习算法,而是一个面向决策问题的模块化扩散模型研究框架。它把扩散决策算法抽象成扩散主干、网络结构和引导采样三个核心模块,并补充了 masking、环境接口和高效数据加载等决策特有机制。在统一框架下,作者复现并比较了 planner、policy 和 data synthesizer 三类扩散方法,在 37 个 RL/IL 环境中总结出一些重要规律,例如 planner 路线当前仍不够成熟、采样步数增加可能导致性能下降、SDE/ODE solver 对性能影响显著等。对我们的启发是,扩散模型做决策已经具有系统方法论,但在强约束、实时性要求高的算网调度场景下,更可行的方向可能是 diffusion policy 与约束引导的结合,而不是直接生成整段调度轨迹

论文信息

标题:CleanDiffuser: An Easy-to-use Modularized Library for Diffusion Models in Decision Making

会议:NIPS 2025

作者:Zibin Dong, Yifu Yuan, Jianye Hao, Fei Ni, Yi Ma, Pengyi Li, Yan Zheng

代码项目已开源

研究背景

近年来,扩散模型在生成建模中表现出很强的分布拟合能力与训练稳定性,因此开始被引入决策任务,包括强化学习与模仿学习。但现有工作大多是“论文私有实现”,代码通常围绕某一篇算法临时搭建,存在以下问题:

  1. 算法组件强耦合

    SDE/ODE、solver、网络结构、条件引导与任务逻辑往往混杂在一起,难以替换。

  2. 复现和对比困难

    不同论文即使思想接近,代码细节也可能差异很大,导致结果不容易公平比较。

  3. 扩展成本高

    想改一个采样器、换一个网络或增加一种 guidance,往往要改动大量底层实现。

  4. 缺少面向决策问题的统一库

    Diffusers、Stable Diffusion 等优秀开源库主要面向图像、音频、视频等多媒体生成,不适合直接承载决策任务中的轨迹规划、策略学习与条件采样。

因此,作者提出 CleanDiffuser,试图为“扩散模型做决策”建立一个标准化、可组合、可复现的实验平台。

论文试图解决什么问题

论文核心要回答的问题可以概括为:

能否建立一个专门面向决策任务的扩散模型研究框架,把不同 diffusion decision-making 算法统一到同一套模块化接口下,并提供可靠的复现与分析平台?

围绕这个问题,作者提出三点具体目标:

  • 建立面向决策任务的扩散模型通用库
  • 将已有方法抽象为若干可拆分、可组合的核心模块
  • 在统一框架下复现、比较并分析主流 diffusion-based decision making 方法。

5. 扩散模型在决策中的三种角色

这是本文最关键的抽象之一。作者指出,扩散模型在决策场景中主要扮演三类角色:Planner、Policy、Data Synthesizer。

5.1 Planner

扩散模型用于生成整段轨迹,可能是状态轨迹,也可能是状态-动作联合轨迹。然后从候选轨迹中选取较优方案,并提取当前时刻动作执行。 这类方法的优点是具有较强的长时域规划能力,但通常需要冻结一部分已知信息,例如历史轨迹、当前状态、目标状态等,因此特别依赖 masking / inpainting 机制。

5.2 Policy

扩散模型直接作为策略分布建模器,学习状态条件下的动作分布 。 相比传统高斯策略或确定性策略,扩散策略更适合表达多峰、复杂、非高斯的动作分布。在 RL 场景中,它可以与 actor-critic 框架结合;在 IL 场景中,则往往依赖更复杂的感知网络和条件引导。

5.3 Data Synthesizer

扩散模型用于生成 transition 或 trajectory 数据,辅助离线策略学习,相当于高质量数据增强器。 与 Planner 和 Policy 不同,这一路线不直接输出决策,而是通过合成数据提升后续训练质量。

5.4 作者的判断

作者认为,一个通用的决策扩散库,必须同时支持这三种使用范式,并允许不同算法通过模块拼装得到。

6. CleanDiffuser 的总体思路

论文将 diffusion-based decision making 中最共性的部分抽象成三个核心子模块:

  1. Diffusion Models
  2. Network Architectures
  3. Guided Sampling Methods

此外还提供:

  1. Environment Interface
  2. Efficient Dataloader

整体目标是: 把“扩散过程本身”“网络参数化方式”“采样引导机制”“任务环境与数据读写”彼此解耦,然后通过 pipeline 组合成具体算法。作者强调,在此框架下,定制一个新算法只需要选择相应 building blocks 并组装即可,代码量可以非常少。

方法与系统设计

Diffusion Models 模块

作者将扩散模型主体与 solver 解耦,支持多种主流扩散或流匹配变体,包括:

  • DDPM
  • DDIM
  • DPM-Solver
  • DPM-Solver++
  • EDM
  • Rectified Flow

这样做的意义在于: 训练完成后,可以低成本切换采样器或采样步数,而不必重训整个模型。 这为后续研究不同 solver、步数、采样速度与性能之间的关系提供了很大便利。

Network Architectures 模块

作者指出,在决策任务中并不存在一种在所有场景下都最优的网络结构,因此框架提供统一网络接口,支持研究者根据任务替换不同网络。 网络结构的作用不仅是拟合 denoiser / score function,还会显著影响算法本身的表现和性质。

这部分的价值在于: 后续做研究时,可以把“扩散模型有效”与“某个特定 backbone 有效”区分开,减少把结构设计和方法思想混为一谈的问题。

Guided Sampling 模块

很多 diffusion decision-making 方法并不是“自由生成”,而是带有明确优化目标的受引导采样。例如:

  • 用 reward 引导;
  • 用 value/Q function 引导;
  • 用 classifier 或条件信号引导;
  • 用多模态感知结果引导。

已有工作中,引导机制常与主体网络紧耦合,导致单独修改 guidance 很困难。CleanDiffuser 将 guided sampling 单独抽象成一个模块,使研究者可以独立设计引导逻辑,而不用重写扩散主干。

Masking 机制

这是决策任务与图像生成的重要不同点之一。 在很多规划场景中,并不是整段序列都未知,而是有些部分已经确定,例如:

  • 历史轨迹已知;
  • 当前状态已知;
  • 目标状态已知;
  • 只需补全未来轨迹。

因此,CleanDiffuser 提供了统一的 masking 机制,使用二值向量描述哪些部分冻结、哪些部分生成,内部自动处理额外计算。 这使得扩散规划更容易转化为一种 inpainting 问题。

Environment Interface 与 Dataloader

为了让实验真正可复现、可扩展,作者还补齐了工程层的关键配套:

  • 统一环境接口;
  • 高效数据加载;
  • 方便策略评测;
  • 配套实验配置与分析流程。

论文整体强调的不只是“可运行”,而是“可系统研究”。这也是它不同于很多单论文代码仓库的地方。

CleanDiffuser 集成了哪些算法

论文基于统一框架集成了 9 个代表性算法。

Diffusion Planners

  • Diffuser
  • Decision Diffuser
  • AdaptDiffuser

Diffusion Policies

  • DiffusionPolicy
  • DiffusionBC
  • DQL
  • EDP
  • IDQL

Data Synthesizer

  • SynthER

这说明 CleanDiffuser 并不是概念验证式框架,而是对当前主流 diffusion decision-making 路线进行了较系统的统一收编。

实验设计

实验规模

作者使用了超过 30,000 GPU 小时 的算力,在 37 个 RL/IL 环境 上,对 9 个算法及其变体进行了大规模评测。

这说明论文的实验重点不是“某一方法的小幅领先”,而是:

  • 验证框架可复现性;
  • 对比不同扩散决策路线;
  • 研究 backbone、solver、采样步数、EMA、模型规模等设计因素的影响。

Offline RL 实验

作者在 D4RL 的 15 个任务上测试了 7 个扩散强化学习算法,任务涵盖 locomotion、manipulation 和 navigation。

主要结论

CleanDiffuser 能较可靠地复现已有方法

这说明它具备较好的实验底座价值,而不仅仅是一个方便调用的代码封装。

Diffusion Planner 并不天然优于 Diffusion Policy

论文指出,当前 diffusion planners 主要局限于 planning-for-action 范式,且对 guidance 较敏感,容易生成 OOD 轨迹,同时缺少安全约束,因此整体表现不如许多成熟的 offline MBRL 方法。

DQL 这类 diffusion policy 路线表现较强

这类方法将 diffusion policy 作为 actor,并结合 value / Q function 进行训练或引导,表现出较好的实用性。相关讨论可从论文对 RL 中 diffusion policy 的归纳中看出。

Offline IL 实验

作者还在 22 个离线模仿学习任务上评测了 DiffusionPolicy、DiffusionBC 及不同结构设计,任务包含低维状态输入、RGB 图像输入、复杂机器人操作等。

结论

扩散模型在 IL 场景中同样具备较强适应性,尤其适用于复杂感知输入和多模态条件下的动作分布建模。这说明 CleanDiffuser 的适用范围不止 offline RL,也可以作为 imitation learning 研究工具。

论文给出的经验规律

这是本文很有价值的部分。作者不是只给框架,还在统一平台下总结了一些重要经验。

Planner 路线潜力大,但当前不够成熟

作者明确指出,diffusion planner 本质上可以看作 model-based RL 的一个方向,但当前方法主要存在以下问题:

  • 对 guidance 非常敏感;
  • 容易产生 OOD 轨迹;
  • 缺乏安全性约束;
  • 性能尚不及很多更成熟的 offline MBRL 方法。

这说明“扩散生成整段轨迹”虽然概念上很强,但在复杂决策场景中还远未稳定。

存在 Sampling Degradation 现象

作者观察到一个很值得重视的现象: 在一些任务中,采样步数增加后,算法性能反而下降。论文将其称为 sampling degradation,并指出这是一个仍未解决的开放问题。

理论上,更多采样步应当带来更精确的 SDE/ODE 求解和更高质量样本;但实验表明,在决策任务中并不总是如此。 这个结论非常重要,因为它提醒我们: 扩散决策中“更慢、更细的采样”不一定意味着更好的决策效果。

SDE 与 ODE Solver 的影响值得系统研究

论文指出,SDE solver 和 ODE solver 在以下方面存在稳定差异:

  • 性能表现;
  • 对 sampling degradation 的倾向;
  • 对 guidance 的敏感程度。

这表明 solver 不是一个纯工程细节,而可能直接决定决策性能与稳定性。

采样速度仍然是部署瓶颈

由于扩散模型需要迭代去噪,推理速度仍是实际应用中的关键限制。作者特别提到,这会给实时机器人控制、游戏 AI 等场景带来困难。

因此,如何在保证效果的同时提升 sampling efficiency,仍是 diffusion decision-making 的重要研究方向。

论文的贡献总结

我认为这篇论文的贡献可以概括为三层:

第一层:工具贡献

提出了首个专门面向决策任务的 diffusion library。

第二层:方法论贡献

将扩散决策算法统一抽象为:

  • Diffusion Models
  • Network Architectures
  • Guided Sampling Methods 并补充决策特有机制,如 masking、环境接口与数据管线。

第三层:实验贡献

在统一框架下复现和比较多个主流算法,得出关于 planner/policy、solver、采样步数、EMA、模型规模等方面的重要经验规律。

论文的局限性

它更像“研究底座”,不是最终算法

CleanDiffuser 的主要作用是帮助研究者快速搭建和比较方法,而不是直接解决某个具体任务的最优决策问题。

Planner 方向仍不成熟

从作者自己的分析看,diffusion planner 的实际性能和稳定性仍存在明显短板。

实时性问题没有根本解决

虽然框架支持不同 solver 与采样步数,但扩散模型推理慢的问题并未被根本解决。

面向复杂约束场景仍需二次开发

对于强约束、混合动作、可执行性严格要求的任务,CleanDiffuser 仍需要用户自己扩展动作表示、约束处理和环境机制。

对我当前研究的启发

结合“电力指令驱动的计算负荷响应 / 算网调度 / 扩散模型 + 强化学习”的研究方向,这篇论文至少有五点启发。

扩散模型做决策已经形成系统研究脉络

不是单篇论文偶然尝试,而是已经可以归纳为 planner、policy、data synthesizer 三条路线。
这对后续写申请书、综述或开题很有帮助。

对算网调度而言,diffusion policy 可能比 diffusion planner 更现实

原因是调度问题往往:

  • 约束多;
  • 实时性强;
  • 可执行性要求高;
  • 不能生成不可落地的轨迹。

从本文实验看,policy 路线目前更稳健,而 planner 路线还容易 OOD。

可以把 CleanDiffuser 当成实验底座

它适合做:

  • 不同 diffusion backbone 的对比;
  • 不同 solver/采样步数的敏感性分析;
  • 不同 guidance 设计的快速原型验证。

以后做实验时,solver 和采样步数不能忽略

本文说明,solver 与采样步数会显著影响性能,甚至出现采样步数越多越差的异常。
因此后续做算网调度时,也应该把这些因素纳入实验变量,而不是当作固定实现细节。

强约束调度场景需要额外设计“可行性机制”

算网调度通常涉及:

  • 节点容量;
  • 网络带宽;
  • 时延限制;
  • 迁移代价;
  • SLA 约束;
  • 电网指令跟踪误差约束。

这些约束不能只靠扩散生成“自然满足”,往往需要:

  • 约束引导;
  • 可行域投影;
  • 规则过滤;
  • 分层动作设计;
  • 安全校正机制。

也就是说,CleanDiffuser 提供的是“扩散决策底盘”,但你自己的创新点更可能落在约束建模与可执行调度生成上。

评论