跳到正文

DDPM vs Flow Matching: 建模与训练差异?

建模思路、训练方式、生成路径与数学形式对比

原题:请比较DDPM(去噪扩散概率模型)与Flow Matching在建模思路、训练方式、生成路径和数学形式上的主要区别。

模型架构 · 百度真题

回答与解析

建模目标

DDPM 定义逐步加噪的前向过程,并学习反向条件分布或等价的噪声/score 参数化。训练时可由闭式边缘 q(x_t|x_0) 在随机 t 直接构造噪声样本。

Flow Matching 先选一条连接源分布与目标分布的概率路径,再回归使该路径满足连续性方程的向量场;生成时积分 ODE。Conditional Flow Matching 可用条件路径上的目标速度训练,而网络学到的是给定 x_t,t 后的边缘化条件期望。

不能混同的边界

  • DDPM 的原始反向链可随机采样,也可使用 DDIM 或 probability-flow ODE 做确定性采样。
  • Flow Matching 的某条条件路径可以是直线,但不同配对边缘化后的向量场不保证轨迹都直,也不保证单步生成。独立线性配对也不自动等于最优传输。
  • 确定性 ODE 不等于没有多样性:从不同初始噪声出发仍可得到不同样本。
  • 速度取决于求解器函数评估次数、误差容忍度、模型结构和蒸馏,而不是“随机一定慢、确定一定快”。

工程比较应固定模型容量、训练数据、采样预算和质量指标,再报告 NFE、延迟、稳定性及多样性。

口语版讲法(约3分钟)

  • 比较反向扩散和向量场学习
  • 解释两者的随机时间训练
  • 澄清随机、确定性与多样性
  • 说明直线路径和最优传输边界

我会从“模型到底学什么”来区分。DDPM 先定义一个逐步加噪的前向过程,训练网络在给定 x t 和时间 t 时预测噪声、score 或与它等价的参数,从而构造反向去噪过程。因为 q(x t x 0) 有闭式形式,训练时不需要真的把样本一步步加噪到 t,而是随机采一个 t,直接合成 x t。

Flow Matching 的出发点不同。它先选一条从源分布到目标分布的概率路径,再学习满足连续性方程的时间相关向量场。生成时从源分布采样初始点,积分 ODE 到目标分布。Conditional Flow Matching 可以在条件路径上给出目标速度,网络回归的是给定 x t、t 时条件速度的边缘化期望。

采样方式不能简单说成“DDPM 随机、Flow Matching 确定”。原始 DDPM 反向链通常含随机性,但 DDIM 或 probability-flow ODE 可以做确定性采样;Flow Matching 常用 ODE,但也可以围绕相关路径构造其他采样形式。确定性 ODE 也不意味着没有多样性,因为每次从不同初始噪声出发,输出仍然不同。

路径也要讲边界。某个条件路径可以设计成直线,例如两个端点之间线性插值,但把很多条件路径边缘化以后,网络学到的全局向量场不保证每条生成轨迹都是直线,更不保证一步就能到达。若端点是独立配对,线性插值也不会自动成为最优传输测地线。

训练层面,两者都常用随机时间点做 Monte Carlo 估计。工程层面,谁更快要看采样器的函数评估次数、误差容忍度、模型结构和是否做蒸馏,不能用“随机必慢、确定必快”替代 benchmark。我会固定数据、模型容量和质量指标,再比较 NFE、端到端延迟、数值稳定性、样本质量与多样性。这样得到的是公平的系统结论,而不是只比较算法标签。

如果需要做实验比较,我会把训练目标和采样器分开控制。训练侧固定数据、网络规模、条件方式和总算力,记录不同时间区域的回归误差;采样侧给两种模型各自使用合适求解器,但同时报告相同 NFE 下的质量,以及达到同一质量所需的延迟。这样既不会因为给一方更强的 solver 而失真,也不会把路径设计和数值积分混成一个结论。

我还会检查端点约定和时间方向。代码里噪声端是零时刻还是一时刻、网络预测速度还是噪声、solver 积分方向是什么,必须完全一致。很多实现错误并不是理论选择错了,而是训练目标与推理方向写反。用一维玩具分布画出轨迹、检查起点和终点,是上线大模型前很便宜也很有效的验证。

关键一句:条件路径的几何形状不等于边缘生成轨迹,求解速度还取决于向量场曲率与数值误差。

核验来源

  1. Denoising Diffusion Probabilistic Models
  2. Flow Matching for Generative Modeling
  3. Denoising Diffusion Implicit Models

面试官还可能这样问

  1. 问法 1 · 场景切入

    假设要为同一图像生成任务比较 DDPM 与 Flow Matching,并固定模型容量、数据和质量目标。你会怎样设计两套训练与采样流程,并公平比较 NFE、延迟、稳定性和多样性?

  2. 问法 2 · 层层追问

    DDPM 学的是哪类反向过程或参数化?……Flow Matching 回归什么向量场?……二者的随机/确定性路径应怎样准确描述?……采样步数与速度为何不能只由方法名称决定?

  3. 问法 3 · 直球技术

    从建模目标、训练样本构造、生成路径、数学形式和采样成本比较 DDPM 与 Flow Matching,并说明选型边界。

同模块相关题目