22年10月
来自澳大利亚大学
的综述论文“Efficient Diffusion Models for Vision: A Survey“。
摘要
:扩散模型 (DM) 在内容生成中展示了最先进的性能,无需对抗性训练。这些模型用两步过程进行训练。首先,正向扩散过程逐渐向基准(通常是图像)添加噪声。然后,反向扩散过程逐渐消除噪声,将其转换为建模的目标分布样本。DM受到非平衡态热力学的启发,具有固有的高计算复杂度。由于高维空间中频繁的函数评估和梯度计算,这些模型在训练和推理阶段都会产生相当大的计算开销。这不仅会阻碍基于扩散建模的平民化,而且会阻碍扩散模型在实际应用中的适应性。更不用说,由于过度的能耗和环境影响,计算模型效率成为一个重大问题。这篇综述介绍了视觉扩散模型的最新进展,特别关注那些影响扩散模型计算效率的设计。特别强调最近提出的导致更有效扩散模型的设计选择。本综述旨在通过强调设计策略来推动这一研究方向,为更广泛的研究提供可行的模型。最后,还从计算效率的角度对视觉扩散模型的未来做了展望。
如图提供最近扩散模型文献的统计数据和时间表,特别是在视觉界。(a) 扩散建模方面显著发展(并非详尽无遗)的时间表。(b) 过去12个月中基于谷歌学术搜索扩散模型中每月论文和累计论文数。(c) 研究论文在扩散模型应用领域中所占的比例。这些应用包括图像去噪(ID)、图像生成(IG)、时间序列(TS)、语义分割(SS)、图像超分(IS)、BIG-bench机器学习(BM)、图像修复(II)、决策(DM) 和图像到图像转换 (IT)。
添加图片注释,不超过 140 字(可选)
扩散模型需要重建待采样的数据分布。高效扩散模型的主要障碍是其采样过程效率低下,因为从DDPM生成样本非常缓慢。扩散模型依赖于长马尔可夫扩散步骤链来生成样本,因此在时间和计算方面可能相当昂贵。
近年来,为加快采样程序作出了重大努力。这些影响策略分为两类:高效设计策略(EDS),建议修改基线扩散模型的设计;以及高效过程策略(EPS),建议提高扩散模型效率或加快采样过程,如图所示。
添加图片注释,不超过 140 字(可选)
先说EDS。EDS策略基于扩散模型的架构。如表包括每个架构类中的一些代表性工作。
添加图片注释,不超过 140 字(可选)
下面是每类方法的介绍及其对扩散模型效率的影响:
1)
分类器引导或无引导设计
:分类器引导是最近开发的一种策略,用于平衡训练后条件扩散模型的模式覆盖和样本保真度,就像低温度的采样或截断用于其他形式的生成模型一样。一个例子是Nichol [44]的工作,在噪声图像上训练了分类器,明确地将类信息合并到扩散过程中,并使用梯度改变噪声预测来引导扩散采样过程向条件信息(例如目标类标签)演进。
引导是一种权衡:增强对调节信号和整体样本质量的依从性,但变化的成本很高。虽然分类器引导成功地权衡截断或低温度下采样所期望的质量指标(IS和FID),但仍然依赖于图像分类器的梯度。
无分类器引导[20]在没有这种梯度的情况下也能达到相同的效果。无分类器引导是一种修改梯度的替代方法,具有与分类器引导相同的效果,但没有分类器。提高样本质量的同时,降低扩散模型的样本多样性。
2)
离散或连续设计
:扩散过程是一个连续的例子,可以用随机微分方程来表征。概率流常微分方程(扩散ODE)是连续时间微分方程[45]。去噪扩散概率模型(DDPM)[8]在连续状态空间的图像和信号生成方面显示出令人印象深刻的结果。
去噪扩散模型在众多常见图像数据集上产生高的对数似然分数,并在连续情况下产生高质量的图像生成。许多数据集是离散的,但为了便于建模,经常嵌入到连续空间中并连续地建模。
适用于文本数据的结构化损坏(structured corruption)过程,使用token之间的相似性来实现逐渐损坏和去噪。具有离散状态空间的扩散模型首先由Sohl-Dickstein[46]引入,考虑二进制随机变量的扩散过程。为二进制随机变量设计简单 2×2 过渡矩阵。Hoogeboom[47]提出一个转移矩阵,扩展到分类变量。
然而,这可能会导致棘手的建模问题,例如“去量化”阻塞(blockage)、奇怪的梯度问题以及难以理解的对数似然指标。单独表示离散数据可以避免所有这些问题。对于有序数据,离散模型不是均匀地过渡到任何其他状态,而是用离散化、截断的高斯分布来模拟连续空间扩散模型。
在高效设计方面,离散的扩散设计更可取,因为有助于减少样本数量。尽管扩散模型已经提出离散和连续状态空间版本,但目前的大部分工作都集中在在连续状态空间中操作的高斯扩散过程(例如,对于实数值的图像和波形数据)。
3)
分数匹配网络或SDEs设计
:评分网络可用于创建ODE(“基于评分的扩散ODE”),评估精确的概率[30][48]。将参数化分数网络与一阶数据评分函数匹配,可模拟数据的分布。随机变量 x 的对数似然梯度定义为分数。
分数匹配的目的是通过优化 Fisher 发散度来减少样本之间的差异。已被用于医疗应用,例如,低剂量计算机断层扫描(LDCT)会导致一个低信噪比(SNR)和诊断性能的潜在损害,而条件降噪扩散概率模型(DDPM)已被证明可以提高LDCT降噪性能,并在高计算效率下取得令人鼓舞的结果。特别是考虑到原始DDPM模型的高采样成本,该方法可以规模化快速常微分方程(ODE)求解器,大大提高采样效率。实验[49]表明,加速DDPM可以在不降低图像质量的情况下实现20倍加速。
随机微分方程 (SDE) [21] 是一种微分方程,其中一个或多个项是随机过程,从而得到本身就是随机过程的解。
扩散常微分方程可以看作是一种半线性形式,减少了离散化误差。DPM 求解器在 CIFAR-10 [73] 用 50 步完成了 SOTA,并且只需 10 步即可生成高质量的图像,这样广泛地对系统进行升级。
与具有离散步骤的传统扩散方法相比,微分方程的数值计算公式可通过高级求解器实现更高效的采样。该灵感来自分数SDE和概率流(扩散)ODE。
4)
金字塔或非金字塔设计
:用于训练扩散模型的金字塔方法,可以提供坐标信息作为条件来理解输入的不同尺度。这些模型连接输入图像并协调每个像素值。然后,合并的输入采用随机大小调整变成目标分辨率。调整大小的坐标值使用正弦波编码,扩展(expanded)到高维空间,并在训练时充当条件。受益于类似UNet的模型结构[59],成本函数对所有不同的分辨率都是保持不变的,因此可以仅用单个网络进行优化。多尺度评分功能,即采样速度,这是扩散模型最关键的缺点,与单个完整的DDPM相比,反向采样过程也可以做得更快。
因此,金字塔或多尺度方法为扩散模型提供了更好的效率。
5)基于
像素或基于潜表征的设计
:数字图像的大部分位对应于无关紧要的信息。虽然扩散模型允许最小化有责任的损失项,抑制语义上无意义的信息,但梯度(在训练期间)和神经网络主干(在训练和推理期间)仍然必须在所有像素上进行评估,从而导致冗余计算和不必要昂贵的优化和推理。
模型类别潜扩散模型 (LDM) 运行单次网络从潜空间提供高效的图像生成。LDM 在学习的潜空间中工作,该空间在空间维度方面表现出更好的规模化特性。
因此,与基于像素的设计相比,潜表征模型是有效的。
再说EPS。EPS战略旨在改进扩散过程本身。如表包括每个过程类的一些代表性工作。下面简要介绍每个类别及其对扩散模型效率的影响:
添加图片注释,不超过 140 字(可选)
1)
训练策略
:为了提高采样速度,几种策略侧重于修改训练模式和噪声时间表(noise schedule)。但是,重新训练模型需要更多处理工作,并增加不稳定训练的风险。幸运的是,有一个称为无训练采样的方法,用预训练的模型直接增强样本算法。高级无训练采样的目的是提供一种有效的采样方法,以更少的步骤和更高的准确性从预训练的模型中学习。分析方法、隐采样器、微分方程求解器采样器、和动态规划调整是三种类型。
用一个记忆技术,动态规划可以遍历所有选项,在相对较短的时间内发现最佳解决方案。与以前的高效采样方法相比,动态规划方法发现最佳采样路径,而不是构建更快速地减少误差的步骤。
2)
噪声分布策略
:不想如DDPM那样将噪声尺度定义为常数[8],噪声尺度学习效果的研究引起了很多兴趣[55],因为噪声时间表的学习在扩散和采样期间也很重要。每个采样步骤都可以看作是直接到前一个分布的随机直线游走,这表明降噪可能有助于采样操作。随机噪声的随机游走由扩散和采样过程中的噪声学习引导,从而实现更有效的重建。
扩散过程的潜噪声分布在大多数已知方法中是高斯噪声。另一方面,更多自由度去拟合分布可能会提高此类生成模型的性能。扩散过程的其他噪声分布形式正在研究中。去噪扩散伽马模型(DDGM)[54]表明,伽马分布的噪声改善了图像和语音的生成效果。
从随机噪声中获得的样本将在每个采样步骤中重新调整,更接近原始分布。然而,用扩散模型采样需要太多步骤,导致耗时[74]。
3)
混合或统一策略
:混合建模需要将另一种形式的生成模型合并到扩散模型流水线中,利用其他模型的高采样速度,例如对抗训练网络和自回归编码器;以及高表现力,例如归一化流[75][60][62]。因此,将两个或多个模型与指定模式组合来提取所有优势会带来可能的升级,称为混合建模。
扩散方案学习(diffusion scheme learning)的目标是研究不同扩散模式对模型速度的影响。缩短扩散和采样过程,缩短采样时间,有利于降低整体采样时间,同时提高生成样本的质量。截断模式背后的主要目标是用各种生成模型(如 GAN [76] 和 VAE [77])产生不太分散的数据。
将知识从一个样本模型逐渐蒸馏到另一个样本模型,可以增强扩散模型[78]。在教育创建尽可能接近教师模型的一步样本之前,学生模型在每个蒸馏步骤中从教师模型中重加权。因此,学生模型可以在每次蒸馏操作期间将样品步骤减少一半。
广义扩散的加速方法有助于各种模型的求解,为有效的采样机制提供新视角。其他相关研究,会建立扩散模型与去噪分数匹配之间的关系,这认为是一种统一策略。
4)
调度策略
:改进训练计划需要更新经典的训练方法,例如扩散方案、噪声方案和数据分发方案,所有这些都与采样无关。
求解扩散SDE时,减小离散化步长有助于加快采样操作。然而,这会导致离散化错误,并影响模型性能[60]。因此,设计几种策略来优化离散化方案,尽量减少采样步骤,同时保持样品质量。
为了创建一个预测,马尔可夫过程仅用前一阶段的样本,这限制大量早期数据的使用。相比之下,非马尔可夫过程的过渡核可能依赖于更多的样本,并用来自这些样本的更多信息。这样可以创建一个具有高步长的准确预测,从而加快采样方法的速度。
或者,仅执行反向过程的某些项来获取样本,可以以样本质量换取采样速度。一些采样可以早期暂停或截断正向和反向过程,或者重新训练学生网络并通过知识蒸馏绕过部分项。