概述

DyWeight(Dynamic Gradient Weighting)是一种用于少步扩散采样(Few-Step Diffusion Sampling)的动态梯度加权方法,由 Mingkun Lei 等人于 2026 年 3 月提出1。该方法通过引入流线型隐式耦合范式(streamlined implicit coupling paradigm),学习无约束的时间变化参数来自适应地聚合历史梯度,从而在减少采样步数的同时保持高质量生成效果。

DyWeight 的核心创新在于隐式时间校准(implicit time calibration)机制,能够将求解器轨迹与模型的内部去噪动态对齐,在大步长下依然保持优越的视觉保真度和稳定性。

相关背景

问题背景

扩散模型采样的计算瓶颈

扩散模型(如 DDPM)的采样过程需要求解反向随机微分方程(SDE)或常微分方程(ODE)。以标准 DDPM 为例,其采样过程通常需要执行 步迭代,每步都需要调用一次神经网络进行噪声预测2

即使在高性能 GPU 上,单次前向传播也需要数百毫秒,完整采样可能耗时数分钟。对于大规模预训练模型(如 Stable Diffusion、FLUX.1-dev),这一问题尤为突出,严重制约了扩散模型在实时应用场景中的部署效率。

现有方法的局限性

多步常微分方程(ODE)求解器通过复用历史梯度来提高采样效率,代表方法包括:

  • Adams-Bashforth (AB) 方法:使用历史梯度的线性组合
  • 指数多步法:利用指数积分器加速收敛
  • Heun 方法:二阶显式求解器

然而,这些方法存在共同缺陷:

方法系数类型局限性
固定 Adams 系数预定义静态无法适应非平稳动态
自适应步长控制问题依赖增加计算开销
手动调参启发式泛化能力差

核心问题:现有方法依赖手工设计的系数,无法自适应地捕捉去噪过程中动态变化的局部曲率,导致在减少步数时容易出现离散化误差累积和轨迹偏离。

DyWeight 方法

核心思想

DyWeight 的核心思想是学习无约束的时间变化参数,实现对历史梯度的自适应加权聚合。与传统方法的手工系数不同,DyWeight 的权重参数可以随时间演化,从而动态调整各历史梯度对当前更新的贡献程度。

隐式耦合范式

DyWeight 引入了一种流线型隐式耦合范式(Streamlined Implicit Coupling Paradigm)。设 时刻的状态, 为向量场, 为 score 函数,则隐式耦合的多步更新可表示为:

其中:

  • 为积分步长
  • 为历史梯度阶数
  • 时间变化的动态权重,由神经网络参数化

动态权重学习

DyWeight 采用轻量级网络学习权重函数:

关键设计原则:

  • 无约束参数化:权重无需满足传统多步法的阶条件,可自由优化
  • 时间感知:通过正弦位置编码注入时间信息
  • 阶数感知:将历史梯度阶数 作为输入,使网络学习不同阶数的差异性贡献

隐式时间校准

DyWeight 的一个关键创新是隐式时间校准(Implicit Time Calibration)机制。该机制通过引入一个隐式的”有效时间偏移”来对齐求解器轨迹与模型的去噪动态:

其中 是由网络学习的时间偏移量,使得:

这一设计允许 DyWeight 在大步长下自动调整积分轨迹,避免因离散化导致的误差累积。

有效步长自适应

DyWeight 通过动态权重实现了有效步长的内在缩放。设实际步长为 ,有效步长可表示为:

当去噪动态较平缓时(如 接近 ),权重会自然增大有效步长;当动态较剧烈时(如 接近 ),权重会减小有效步长以保持精度。

算法流程

DyWeight 的完整采样流程如下:

# Pseudocode for DyWeight sampling
def dyweight_sample(x_T, model, N_steps=10):
    dt = 1.0 / N_steps
    t = 1.0
    history = deque(maxlen=K)  # K: gradient order
    
    for step in range(N_steps):
        # Compute current gradient
        grad = compute_score_gradient(x_t, t, model)
        history.append(grad)
        
        if len(history) < K:
            # Use single-step update
            x_t = x_t - dt * grad
        else:
            # Learn dynamic weights
            weights = mlp_weight_network(t, torch.arange(K))
            weights = softmax(weights)  # Ensure non-negative
            
            # Weighted gradient aggregation
            weighted_grad = sum(w * g for w, g in zip(weights, reversed(history)))
            
            # Implicit time calibration
            t_offset = mlp_time_network(t)
            effective_dt = dt * (1.0 + t_offset)
            
            x_t = x_t - effective_dt * weighted_grad
        
        t -= dt
    
    return x_0

实验结果

基准数据集

DyWeight 在多个标准基准数据集上进行了评估:

数据集分辨率评估指标基线 FIDDyWeight FID
CIFAR-1032×32FID ↓4.522.87
FFHQ1024×1024FID ↓8.215.43
AFHQv2512×512FID ↓6.344.12
ImageNet6464×64FID ↓12.88.95
LSUN-Bedroom256×256FID ↓15.310.2

预训练模型

DyWeight 在多种主流扩散模型上验证了有效性:

  • 概率模型:DDPM、ADM、i-DDT
  • 潜在扩散模型:Stable Diffusion 1.5、Stable Diffusion XL
  • 文本到图像模型:FLUX.1-dev

与现有方法对比

在 10 步采样的设置下,DyWeight 与其他高效求解器的对比:

方法CIFAR-10 FIDImageNet64 FID稳定性评分
DDIM (η=0)8.7218.40.95
DPMSolver5.6313.20.91
DPM-Solver++4.8911.70.93
Consistency Model4.1510.30.88
DyWeight2.878.950.98

DyWeight 在保持高稳定性的同时取得了最优的生成质量,刷新了高效扩散求解器的新SOTA。

视觉质量分析

DyWeight 生成的样本在以下维度表现优异:

  • 纹理细节:更好地保留高频纹理信息
  • 结构一致性:生成对象的全局结构更加合理
  • 色彩分布:色彩过渡自然,无明显色块
  • 伪影消除:有效减少其他求解器常见的步进伪影

方法优势

DyWeight 相比现有方法具有以下优势:

1. 简洁性

  • 无需复杂的解耦参数化或额外的优化目标
  • 权重网络轻量,推理开销可忽略
  • 与任意预训练扩散模型即插即用

2. 自适应性

  • 动态权重自动适应不同去噪阶段
  • 无需手动调参或任务特定的超参数搜索
  • 在各种数据集和模型上泛化良好

3. 大步长稳定性

  • 在大步长()下依然保持稳定
  • 隐式时间校准有效抑制离散化误差
  • 避免其他方法在减少步数时的质量崩塌

4. 训练效率

  • 权重网络训练仅需少量 GPU 资源
  • 支持与扩散模型联合训练或独立微调
  • 收敛速度快,训练稳定性好

代码与复现

DyWeight 的官方实现已开源:

仓库包含:

  • DyWeight 采样器的 PyTorch 实现
  • 多种数据集的预训练模型
  • 完整的训练和评估脚本
  • 消融实验和可视化工具

相关工作

DyWeight 与以下研究方向密切相关:

参考文献

Footnotes

  1. Lei M, et al. DyWeight: Dynamic Gradient Weighting for Few-Step Diffusion Sampling. arXiv:2603.11607, 2026.

  2. Ho J, Jain A, Abbeel P. Denoising Diffusion Probabilistic Models. NeurIPS, 2020.