← 专题深读

专题深读 · 2026-10-19 · 进阶

扩散与流匹配:从噪声中取出图像的两条路

扩散模型通过学习逆转向数据中逐步混入噪声的过程来生成图像,而流匹配则直接学习从噪声到数据这条路径上的“速度”,以更直的路径完成同样的事。本文梳理两种方法如何相互联系、向潜在空间和Transformer扩展的脉络,以及近期研究的走向。

目录
要点
  • 扩散模型由“混入噪声的固定过程”和“将其逆转的学习过程”组成,生成就是从纯噪声出发,分多步逐渐去除噪声。
  • 流匹配预先设定噪声与数据之间的概率路径,并通过回归学习该路径的速度场(向量场),它将扩散路径作为特例包含在内。
  • 潜在扩散在用自编码器压缩后的空间中运行扩散,大幅降低了计算成本;DiT将其骨干从U-Net换成Transformer,表明规模越大质量越好。
  • 最大的成本是“步数 × 大型神经网络的一次前向传递”,近期研究正通过无需训练即可跳过步骤的缓存、基于奖励的微调、在步骤之间传递信息的自条件化等方式改进这一结构。

为什么需要:现有生成模型的瓶颈

在扩散之前,图像生成模型就已有多个分支。DDPM(paper)在引言中总结道,GAN(生成对抗网络)、自回归模型、VAE、归一化流(flow)等都能生成逼真的图像和声音。然而,正如潜在扩散论文(paper)所指出的,GAN的对抗训练复杂,难以扩展到多样的分布,因此成果集中在变化相对较少的数据上,并且存在模式崩溃(反复只生成一两种形态的现象)和训练不稳定的问题。自回归Transformer要处理高分辨率场景,则需要扩展到数十亿参数的规模。

扩散模型正是在这一空隙中出现的。它定义简单、训练高效,但在DDPM之前,还没有人展示过它能生成高质量图像。DDPM表明,这种模型确实能生成可与其他生成模型相媲美、有时甚至更好的样本。

但新的瓶颈很快显现。据潜在扩散论文介绍,训练最强大的扩散模型需要150~1000个V100 GPU日,而且同一个神经网络需要依次运行25~1000次,用一张A100生成5万张图像约需5天。此后相当多的研究都是在回答“如何在保持质量的同时降低这一成本”。流匹配也是对这个问题的回答,只是角度略有不同。

核心思想:把晕开的墨水倒回去

滴入清水中的墨水是扩散的一个好比喻。墨水随着时间推移会均匀晕开,原来的形状便无从辨认。这个“晕开的过程”规则是确定的,谁都可以模仿。扩散模型则反过来,学习从完全晕开的状态一步步倒推,找回原来墨滴的形状。换成图像来说,向照片中逐步混入高斯噪声、最终变成完全噪声的过程是“正向”,从噪声中逐步去除噪声、生成照片的过程是“逆向”。需要学习的只有逆向部分。

流匹配用另一种方式描述同一个目的地。它认为噪声空间中的一点有一条通往数据空间中一点的路径,并学习一张箭头地图,即速度场(向量场),告诉路径上每一点“现在应该朝哪个方向、以多快的速度移动”。有了这张地图,只要从起点沿着箭头一点点移动,就能到达数据。这种“沿着箭头走的计算”就是求解常微分方程(ODE),可以直接使用现成的ODE求解器。

两种视角与其说是竞争关系,不如说更接近包含关系。流匹配论文(paper)指出,它所处理的高斯概率路径族将现有的扩散路径作为特例包含在内。也就是说,扩散是“多条可能路径中的一条”,而流匹配让人可以选择路径本身。因此,选择更直的路径(最优传输路径)就能以更少的步数到达同一个目的地,这正是核心动机。

扩散与流匹配对比

扩散逆转加噪过程

  • 正向加噪过程固定
  • 学习反向去噪
  • 与分数匹配、朗之万动力学相关联
  • 生成需要很多步

流匹配学习路径的速度场

  • 直接选择概率路径
  • 用回归学习向量场
  • 无需模拟的训练
  • 用 OT 路径更快生成

공통 两者都从纯噪声出发,反复调用训练好的神经网络来生成数据

从不同视角学习同一个目标(噪声→数据)。流匹配把扩散路径作为特例包含在内。

如何运作:训练与生成的步骤

训练按以下顺序进行。第一,从训练数据中选一张干净的图像。第二,随机抽取一个时间点t。第三,混入与该时间点对应的噪声量。DDPM(paper)指出正向过程的一个重要性质:无需从头依次混入t次噪声,就能用闭式表达式一次性得到任意时间点的含噪图像。因此可以随机抽取时间点,用随机梯度下降高效地训练。第四,把含噪图像和时间点交给神经网络(去噪器),让它预测需要去除什么。DDPM表明,选择特定的参数化后,这种训练等同于跨多个噪声水平的去噪分数匹配,生成过程则类似于朗之万动力学(一边混入噪声一边逐步向概率更高处移动的方法),并且用这种方式取得了最好的质量。

流匹配(paper)的训练结构也类似。在噪声与数据之间预先设定的条件概率路径上抽取一个点,让神经网络通过回归预测该点的目标速度。论文称之为“无需模拟(simulation-free)”的训练,因为训练中不需要真正求解ODE、沿轨迹走一遍,只看路径上的一个点就能直接算出正确的速度。

生成则反向进行。从纯高斯噪声出发,反复调用训练好的神经网络,一步步向数据移动。若是扩散,每一步去除一点噪声;若是流匹配,每一步沿速度场移动。每一步就是大型神经网络的一次前向传递,因此步数就是生成成本。

实际系统还会再加上两样东西。一是潜在空间。潜在扩散(paper)先用自编码器将图像压缩到感知上等价但维度更低的空间,在其中运行扩散,最后再用解码器还原图像。二是条件输入。同一篇论文加入了交叉注意力层,使模型能接收文本或边界框等条件进行生成。去噪器的骨干最初是U-Net,DiT(paper)将其换成了在潜在块(patch)上运行的Transformer。

潜在扩散的训练与生成干净图像 → 自编码器压缩; 自编码器压缩 → 混入噪声; 混入噪声 → 去噪器(训练); 文本条件 → 去噪器(交叉注意力); 去噪器 → 逐步去噪(每步调用); 高斯噪声 → 逐步去噪; 逐步去噪 → 解码器还原; 解码器还原 → 生成图像干净图像自编码器压缩进入潜在空间混入噪声任意时间点t一次性计算文本条件去噪器U-Net或DiT高斯噪声逐步去噪多次迭代解码器还原生成图像训练交叉注意力每步调用
潜在扩散的训练与生成 上排是训练(向压缩后的图像混入噪声,去噪器学习如何还原),下排是生成(从纯噪声出发反复调用训练好的网络,再由解码器还原)。

发展脉络:四篇起点论文各自增添了什么

DDPM(paper,2020)首次清楚地表明扩散模型能够生成高质量图像。它在无条件CIFAR10上取得了Inception分数9.46、FID 3.17,在256×256 LSUN上的样本质量与ProgressiveGAN相近。它还把扩散与去噪分数匹配·朗之万动力学之间的等价性列为主要贡献。同时,它也坦承了局限:对数似然(衡量模型对数据解释得有多合理的指标)不及其他基于似然的模型,无损编码长度的大部分用于描述肉眼看不见的细微细节。

潜在扩散(paper,2021)正是针对这种“浪费在看不见的细节上的计算”。论文把学习分为感知压缩(去除高频细节)和语义压缩(学习内容与构图)两个阶段,将前者交给自编码器,让扩散专注于后者。自编码器只需训练一次,即可在多个扩散模型中复用。它通过交叉注意力接收文本等通用条件,奠定了文本到图像生成的基本框架,并在大幅降低计算需求(相比基于像素的扩散)的同时,在图像修复(inpainting)等任务上取得了很高的性能。

流匹配(paper,2022)重新设计了训练目标本身。它使连续归一化流(CNF,通过连续变换把简单分布变为数据分布的模型)能够无需模拟、以回归固定条件概率路径向量场的方式进行大规模训练。用扩散路径做流匹配,可以更稳定地训练扩散模型;而由最优传输(OT)位移插值确定的路径比扩散路径更高效,训练和生成更快,泛化也更好。论文报告称,在ImageNet上其似然和样本质量都稳定地优于基于扩散的替代方法。

DiT(paper,2022)更换了骨干。它把潜在扩散中的U-Net替换为将潜在块当作token处理的Transformer,并展示了可扩展性:通过增加深度、宽度或输入token数量,计算量(Gflops)越大,FID越稳定地下降。最大的DiT-XL/2在类别条件ImageNet 256×256上取得了FID 2.27。由此,在图像生成中“把Transformer做大就会变好”这种缩放定律式的思路也有了依据。

起点研究中值得注意的数字

FID 3.17DDPM,无条件 CIFAR10
150~1000 V100 天像素空间扩散的训练成本(引自潜在扩散论文)
FID 2.27DiT-XL/2, ImageNet 256×256
以下是正文中出现的数值。FID 越低越好;由于数据集不同,彼此不作直接比较。

近期走向:更快、更符合需要、更深入

第一个方向是速度。SoftCache(paper)的出发点是:在扩散·流模型中,每一步大型神经网络的前向传递决定了生成成本。现有的无需训练的缓存方法会复用最近的计算结果(激活值),当某个廉价信号超过阈值时再重新计算,是一种“开关式”方法。这项研究注意到信号距离阈值有多远(余量)可以预测复用误差,因此提出了“软缓存”:余量大时跳过预定的多个步骤,临近需要重新计算时缩小步幅。论文报告称,在图像模型FLUX和视频模型HunyuanVideo·Wan2.1上,即使在3.5~6.9倍加速区间,四项保真度指标也全部领先于对比方法。无需额外训练这一点在实践上很重要。

第二个方向是把模型微调到期望的结果上。Weighted Adjoint Matching(paper)是一种在有可微奖励时对预训练扩散·流匹配模型进行微调的方法。现有的Adjoint Matching把微调视为具有二次控制成本的随机最优控制问题;该方法在此基础上更进一步,利用了这些模型先生成粗略特征、后生成细节的观察。在生成初期将控制成本设高,以保持承载语义的粗略特征的多样性;在后期降低成本,打磨细节并提高奖励。论文证明这等价于在随时间变化的KL正则化下最大化奖励,并报告在高斯混合和MNIST实验中,奖励与模式平衡之间的折中更好。需要注意的是实验规模较小。

第三个方向是一个理论问题:“增加步数会让模型想得更深吗?”自条件化研究(paper)指出,在通过生成图像来解决视觉推理问题的思路中,“一步就像推理的一个阶段”这种直觉可能是错的。如果输出满足几个温和的条件,基本流匹配采样器的轨迹可以用常数轮并行评估来模拟,因此增加步数并不会提升深度固定的骨干模型的表达能力。相反,如果使用自条件化,把前一步估计的最终图像作为下一步的输入,这一瓶颈就会被打破;实验中准确率和推理深度都有所提高,且步数越多性能越好。论文提出了“在步骤之间传递更多信息”的设计原则。

扩散·流匹配研究地图 左侧一组是起点研究,右侧一组是近期研究。箭头表示该研究建立在前一项研究的框架之上。

局限与争议

最根本的局限仍是迭代生成的成本。潜在空间、更直的路径和缓存都降低了这一成本,但“多次通过大型神经网络”这一结构本身依然存在。像SoftCache(paper)这样无需训练的加速方法会脱离预定的步骤网格进行跳步,因此需要持续确认在哪些模型和设置下质量能够保持。

第二是指标与实际质量之间的距离。DDPM(paper)表示其样本质量很好,但对数似然缺乏竞争力,原因是编码长度的大部分用在了肉眼看不见的细节上。FID之类的数值便于研究之间比较,但它们是特定数据集·分辨率下的值,不能直接等同于实际服务质量。

第三是控制与多样性之间的拉锯。用奖励进行微调会让结果朝期望方向改善,但也可能偏向一侧。Weighted Adjoint Matching(paper)单独测量“模式平衡”正是出于这个原因。在每个时间点改变什么、改变多少,成为设计的关键变量。

第四是对“迭代 = 推理”这一直觉的警惕。正如自条件化研究(paper)所示,仅仅增加步数并不会让模型进行更深的计算。这意味着要把生成模型用作推理工具,就必须设计在步骤之间传递什么的结构,这也关联到“应如何使用测试时计算”这一更广泛的问题。

延伸学习

如果是初学者,最好从DDPM(paper)读起。仅凭引言和第2章,就能掌握正向·逆向过程、一次性得到任意时间点含噪图像的闭式表达式,以及训练目标如何得到简化。如果觉得公式吃力,可以重点阅读图2(图模型)和第3章中“与去噪自编码器的联系”部分。

接下来是潜在扩散(paper)。引言中的图2(感知压缩与语义压缩)最直观地说明了“为什么要用潜在空间”。如今文本到图像生成系统的基本框架(自编码器 + 扩散 + 交叉注意力条件)就源于此。

然后转向流匹配(paper),熟悉“选择路径”的视角以及最优传输路径的优点,再通过DiT(paper)了解骨干换成Transformer的原因和可扩展性分析。读完这四篇后,在近期研究中,关注实践的可接着读SoftCache(paper),关注微调的可读Weighted Adjoint Matching(paper),关注理论的可读自条件化研究(paper)。

相关术语

扩散模型 GAN 自回归模型 Transformer 注意力 微调 缩放定律 测试时计算

参考资料

奠基论文

最新研究

由 AI 根据所列参考资料撰写并经过审核。详情请查看原始资料。