0. 简介

本文综述了深度生成模型,特别是扩散模型(Diffusion model),如何赋予机器类似人类的想象力。扩散模型在生成逼真样本方面显示出巨大潜力,克服了变分自编码器中的后分布对齐障碍,缓解了生成对抗网络中的对抗性目标不稳定性。

扩散模型包括两个相互连接的过程:一个将数据分布映射到简单先验分布的前向过程和一个相应的反向过程。前向过程类似于具有时变系数的简单布朗运动。神经网络通过使用去噪评分匹配目标来训练估计得分函数。在前向扩散阶段,图像被逐渐引入的噪声污染,直到图像成为完全随机噪声。在反向过程中,利用一系列马尔可夫链在每个时间步逐步去除预测噪声,从而从高斯噪声中恢复数据。

然而,扩散模型与GANs和VAEs相比,其采样过程本质上需要更耗时的迭代过程。这是由于通过利用ODE/SDE或马尔科夫过程将先验分布转化为复杂数据分布的迭代转换过程,这需要反向过程中进行大量的函数评估。

这是由于扩散模型保留数据语义结构的能力。然而,这些模型的计算要求很高,训练需要非常大的内存,这使得大多数研究人员甚至无法尝试这种方法。这是因为所有的马尔可夫状态都需要一直在内存中进行预测,这意味着大型深度网络的多个实例一直在内存中。此外,这些方法的训练时间也变得太高(例如,几天到几个月),因为这些模型往往陷入图像数据中细粒度的、难以察觉的复杂性。然而,需要注意的是,这种细粒度图像生成也是扩散模型的主要优势之一,因此,使用它们是一种矛盾。

为了应对这些挑战,研究人员提出了各种解决方案。例如,提出了先进的ODE/SDE求解器来加速采样过程,同时采用了模型传授策略来实现这一目标。此外,还引入了新型前向过程来增强采样稳定性或促进维度降低。此外,近年来有一系列研究致力于利用扩散模型有效地连接任意分布。为了提供一个系统性的概述,我们将这些进展分为四个主要领域:采样加速、扩散过程设计、似然优化和连接分布。此外,本综述将全面考察扩散模型在不同领域中的各种应用,包括计算机视觉、自然语言处理、医疗保健等。

图1. 扩散模型概述。 (左) 生成模型简介。GAN 和 EBM 首先利用生成器捕获数据分布。通过从训练数据中采样,根据真实分布纠正估计的分布。捕获过程及判别标准各异。VAE、NF 和 DPM 通过编码过程直接将真实分布投影到预定义的分布中。实例是通过解码预定义分布中的样本获得的。它们应用不同的预定义分布 z 和编码解码过程。 (右) 扩散模型的简化形式。通用程序遵循右上方图示。数据分布被扩散到随机高斯噪声中,并通过去噪过程被反转。 (1) DDPM沿离散时间线实现逐步扩散和去噪过程。 (2) SDE建立连续时间线,通过基于函数的随机微分方程(SDE)实现状态间的转换。 (3) CDPM在 DPM 的每个采样步骤中使用条件c> 来实现可控的生成。

1. 算法改进

尽管扩散模型在各种数据模态中生成的质量很高,但它们在现实世界的应用仍有待改进。与其他生成模型(如GAN和VAE)不同,它们需要一个缓慢的迭代抽样过程,并且它们的前向过程在高维像素空间中操作。本节重点介绍了四项最近的发展,以增强扩散模型的性能:(1)抽样加速技术(第2节)用于加速标准ODE/SDE模拟;(2)新的前向过程(第3节)用于改进像素空间中的布朗运动;(3)似然优化技术(第4节)用于增强扩散ODE的似然度;(4)桥接分布技术(第5节)利用扩散模型的概念连接两个不同的分布。

2. 抽样加速

尽管扩散模型生成的图像质量很高,但由于其抽样速度较慢,实际应用受到了限制。本节简要介绍了四种先进技术来提高抽样速度:蒸馏、训练进度优化、无需训练的加速以及将扩散模型与更快的生成模型集成。

2.1 ### 前向扩散过程

这一过程作为将数据分布转变为预定义分布的过程,如高斯分布。转换表示为:将某个分布的数据样本逐渐添加噪声的原理称为扩散,将它们转换为预定义的通常简单分布,如高斯分布,然后逐步反转这一过程以生成与原始数据匹配的数据

其中,一组超参数 $0 < \beta_{1:T} < 1$ 表示在每个连续步骤中引入的噪声方差。这个扩散过程可以通过一个单步骤方程简要表达:

其中,$\alpha_t = 1 - \beta_t$ 且 $\bar{\alpha}_t = \prod_{i=1}^t \alpha_i$,正如Sohl-Dickstein等人[15]所详细论述的。因此,绕过需要考虑中间时间步骤的需求,$z_t$ 可以通过以下方式直接采样:

2.2 反向扩散过程

这里的主要目标是学习前向扩散过程的逆过程,旨在生成一个与原始未更改的数据样本 $z_0$ 紧密对齐的分布。在图像编辑的背景下,$z_0$ 代表编辑过的图像。实际上,这是通过使用 UNet 架构来学习参数化版本的 $p$ 来实现的。考虑到前向扩散过程被近似为 $q(z_T) \approx N(0, I)$,可学习的转换公式表达为:

在这里,函数 $µ_θ$ 和 $Σ_θ$ 是可学习的参数。此外,对于条件公式 $p_θ (z_{t−1} | z_t, c)$,它是基于一个外部变量 $c$(在图像编辑中,$c$ 可以是源图像)的条件,模型变为 $µ_θ(z_t, c, \bar{α}_t)$ 和 $Σ_θ(z_t, c, \bar{α}_t)$。

2.3 优化

引导逆扩散学习正向过程的优化策略涉及最小化正向序列和逆向序列的联合分布之间的库尔贝克-莱布勒(KL)散度。这些数学上定义为:

导致最小化:

这在 Ho 等人的工作[16]中有详细描述,常数 $c$ 对于优化 $θ$ 是不相关的。等式 7 的 KL 散度代表了数据对数似然$(log p_θ(z_0))$的变分上界。这个 KL 散度作为损失,并在去噪扩散概率模型(DDPMs)中被最小化。实际上,Ho 等人[16]采用了这个损失的一个重新加权版本,作为一个更简单的去噪损失:

其中 $λ(t) > 0$ 表示一个权重函数,$z_t$ 通过等式 3 获得,$ϵ_θ$ 表示一个旨在根据 $z_t$ 和 $t$ 预测噪声 $ϵ$ 的网络。

2.4 DDIM 采样和反演

在处理真实图像 $z_0$ 时,流行的编辑方法 [84], [85] 最初使用特定的反演方案将这个 $z_0$ 反演成对应的 $z_T$。随后,从这个 $z_T$ 开始采样,采用一些编辑策略来产生编辑后的结果 $\tilde{z}_0$。在理想情况下,直接从 $z_T$ 采样,没有任何编辑,应该产生一个与 $z_0$ 非常相似的 $\tilde{z}_0$。$\tilde{z}_0$ 与 $z_0$ 的显著偏差,称为重建失败,表明编辑后的图像无法保持 z0 中未更改区域的完整性。因此,使用一个能确保 $\tilde{z}_0 ≈ z0$ 的反演方法至关重要。

DDIM 采样方程 [18] 是:

上面的(9)可以替换为(10)

虽然等式 10 看似提供了从 $z_{t−1}$ 到 $z_t$ 的理想反演,问题出现在 $z_t$ 的未知性质上,这也被用作网络 $ϵ_θ(z_t, t)$ 的输入。为了解决这个问题,DDIM 反演 [18] 在假设 $z_{t−1} ≈ z_t$ 的基础上进行,将等式 10 右边的 $z_t$ 用 $z_{t−1}$ 替代,导致以下近似:

2.5 文本条件与无分类器引导

文本条件扩散模型旨在从随机噪声 $z_T$ 出发,在文本提示 $P$ 的指导下合成结果。在采样过程的推理中,使用噪声估计网络 $ϵ_θ(z_t, t, C)$ 来预测噪声 ϵ,其中 $C = ψ(P)$ 表示文本嵌入。此过程系统地从 $z_t$ 中移除噪声,跨越 $T$ 步骤直到获得最终结果 $z_0$。

在文本条件图像生成领域,确保对生成输出有实质性的文本影响和控制至关重要。为此,Ho 等人 [86] 引入了无分类器引导的概念,这是一种结合条件和无条件预测的技术。更具体地说,令 $∅ = ψ(“”)1$ 表示空文本嵌入。当结合引导比例 $w$ 时,无分类器引导预测被形式化为:

在这个公式中,ϵθ(zt, t, C, ∅) 替换了采样方程式 9 中的 ϵθ(zt, t)。w 的值通常在 [1, 7.5] 范围内,如 [26]、[27] 所建议,决定了文本控制的程度。更高的 w 值与生成过程中更强的文本驱动影响相关联。

3. 相关任务

3.1 条件图像生成

虽然我们主要关注图像编辑中的扩散模型,但重要的是要承认相关领域,如条件图像生成。与涉及更改现有图像某些部分的图像编辑不同,条件图像生成涉及从头开始创建新图像,由指定条件指导。早期工作 [31]、[32]、[87]–[90] 通常涉及类条件图像生成,这通常包括通过额外的预训练分类器在采样过程中加入类诱导梯度。然而,Ho 等人 [86] 介绍了无分类器引导,它不依赖外部分类器并允许更多样化的条件,例如文本,作为引导。

文本到图像(T2I)生成。GLIDE [34] 是第一个直接使用文本从高维像素级引导图像生成的工作,替代了类条件扩散模型中的标签。类似地,Imagen [27] 使用级联框架在像素空间中更高效地生成高分辨率图像。不同的研究线先将图像投影到低维空间,然后在这个潜在空间中应用扩散模型。代表性的工作包括稳定扩散(SD)[26]、VQ-扩散 [91] 和 DALL-E 2 [25]。在这些开创性研究之后,大量的工作 [37]、[92]–[97] 被提出,在过去两年中推进了这个领域。

额外的条件。除了文本,更具体的条件也被用来在图像合成中实现更高的保真度和更精确的控制。GLIGEN [98] 在每个块的原始自注意力和交叉注意力层之间插入一个门控自注意力层,用于生成基于定位框的条件图像。Make-A-Scene [99] 和 SpaText [100] 使用分割掩码引导生成过程。除了分割图之外,ControlNet [101] 还可以纳入其他类型的输入,如深度图、法线图、canny 边缘、姿态和草图作为条件。其他方法如 UniControlNet [102]、UniControl [103]、Composer [104] 和 T2I-Adapter [105] 整合了多样的条件输入并添加了额外的层,增强了这些条件控制的生成过程。

定制图像生成。在条件图像生成中与图像编辑紧密相关的任务是创建个性化图像。这个任务侧重于生成保持某种身份的图像,通常由同一主题的几个参考图像指导。通过少量图像解决这种定制生成的两种早期方法是文本反演 [106] 和 DreamBooth [107]。具体来说,文本反演学习一个独特的标识词来代表一个新主题,并将这个词加入到文本编码器的字典中。另一方面,DreamBooth 通过使用几张参考图像对整个 Imagen [27] 模型进行微调,将一个新的稀有词与特定主题绑定。为了有效地结合多个新概念,CustomDiffusion [108] 仅优化稳定扩散 [26] 中的交叉注意力参数,代表新概念并进行多概念组合的联合训练。

3.2 图像恢复和增强

图像恢复(IR)是低级视觉中的一个关键任务,旨在提高被各种退化所污染的图像的质量。扩散模型的最新进展促使研究人员探索它们在图像恢复方面的潜力。开创性的尝试将扩散模型整合到这一任务中,超越了以前基于GAN的方法。

将输入图像作为条件。生成模型已经显著促进了多种图像恢复任务的发展,例如超分辨率(SR)和去模糊 [12]、[13]、[29]、[118]、[119]。通过重复细化的超分辨率(SR3)[57]通过随机的迭代去噪过程,利用DDPM进行条件图像生成。级联扩散模型 [31] 顺序采用多个扩散模型,每个模型生成更高分辨率的图像。SRDiff [118] 紧密地实现了SR3的概念。SRDiff和SR3之间的主要区别在于,SR3直接预测目标图像,而SRDiff预测输入和输出图像之间的差异。

在非空间领域的恢复。一些基于扩散模型的IR方法专注于其他空间。例如,Refusion [63]、[120] 使用平均回归图像恢复(IR)-SDE将目标图像转换为其退化的对应物。它们利用自编码器将输入图像压缩成其潜在表示,并通过跳跃连接访问多尺度细节。陈等人 [121] 采用类似方法,提出了一种称为分层集成扩散模型的两阶段策略。从空间域到小波域的转换是无损的,提供了显著的优势。例如,WaveDM [67] 修改低频带,而 WSGM [122] 或 ResDiff [60] 相对于低分辨率图像条件化高频带。BDCE [123] 在深度曲线空间设计了一个引导扩散模型,用于高分辨率低光图像增强。

T2I信息的使用。T2I信息的整合被证明是有利的,因为它允许使用预训练的T2I模型。这些模型可以通过添加针对IR任务定制的特定层或编码器进行微调。王等人将这一概念付诸实践,创造了StableSR [124]。StableSR的核心是一个时间感知编码器,与冻结的稳定扩散模型 [26] 同时训练。这种设置无缝地整合了可训练的空间特征变换层,实现了基于输入图像的条件化。DiffBIR [125] 使用预训练的T2I扩散模型进行盲目图像恢复,拥有两阶段流水线和一个可控模块。CoSeR [126] 引入了认知超分辨率,融合了图像外观和语言理解。SUPIR [127] 利用生成先验、模型缩放和2000万图像的数据集,通过文本提示指导进行先进的恢复,包括负质量提示和恢复引导的采样方法。

基于投影的方法。这些方法旨在从输入图像中提取固有结构或纹理,以补充每个步骤生成的图像,并确保数据一致性。ILVR [65],通过将输入图像的低频信息投影到输出图像上,确保数据一致性并建立改进的条件。为了解决这一问题并增强数据一致性,一些最近的工作 [70]、[71]、[128] 采取不同的方法,旨在使用贝叶斯定理估计后验分布。

基于分解的方法。这些方法将IR任务视为线性反向问题。去噪扩散恢复模型(DDRM)[66] 利用预训练的去噪扩散生成模型解决线性逆问题,在超分辨率、去模糊、修复和上色等不同测量噪声水平下展现出多功能性。去噪扩散零空间模型(DDNM)[68] 代表另一种分解基础的零次尝试方法,适用于超分辨率以外的广泛线性IR问题,如上色、修复和去模糊。它利用范围-零空间分解方法 [129]、[130] 有效地解决各种IR挑战。

表 1: 从多个角度全面归类基于扩散模型的图像编辑方法。根据训练、测试时微调和无需训练与微调的方法进行颜色渲染。输入条件包括文本、类别、参考(Ref.)图像、分割(Seg.)图、姿态、遮罩、布局、草图、拖动点和音频。根据源论文提供的实验结果,任务能力—语义、风格和结构—用勾选符号(✓)标记。

图2:基于训练的图像编辑方法的分类。

图 3: 两种代表性的CLIP引导方法DiffusionCLIP [131] 和 Asyrp [132] 之间训练流程的比较。样本图片来自于Asyrp [132]在CelebA [236]数据集上的应用。

图 4: 指令式图像编辑方法的通用框架。示例图片来自于InstructPix2Pix [156]、InstructAny2Pix [166] 和 MagicBrush [249]。

4. 参考链接

https://mp.weixin.qq.com/s/MFbCt0XfOf9fV0YbdkmR6g