全文翻译
摘要
扩散概率模型(DPMs)在高分辨率图像合成方面展现出了极具前景的能力。然而,从预训练的扩散概率模型中进行采样过程耗时较长,这是由于需要对去噪网络进行多次评估,因此加速扩散概率模型的采样过程变得越来越重要。尽管近年来在设计快速采样器方面取得了一定进展,但在许多青睐更少采样步骤(例如,少于10步)的应用场景中,现有方法仍然无法生成令人满意的图像。在本文中,我们提出了一种统一校正器(UniC),它可以在任何现有扩散概率模型采样器之后应用,无需额外的模型评估就能提高精度阶数,并且作为副产品还得到了一种支持任意阶数的统一预测器(UniP)。结合统一预测器和统一校正器,我们提出了一种用于扩散概率模型快速采样的统一预测-校正框架,称为UniPC。该框架对于任意阶数都具有统一的解析形式,并且与以往方法相比,能够显著提高采样质量,尤其是在极少的采样步骤下。我们通过大量实验对所提方法进行了评估,包括使用像素空间和潜在空间扩散概率模型进行的无条件采样和条件采样。我们的UniPC仅通过10次函数评估,在CIFAR10数据集(无条件采样)上就能达到3.87的FID值,在ImageNet 256×256数据集(条件采样)上能达到7.51的FID值。相关代码可在https://github.com/wl-zhao/UniPC获取。
1 引言
扩散概率模型(DPMs)[33, 13, 35]已成为新兴的主流生成模型,并在诸多任务中取得了极具竞争力的性能,包括图像合成[8, 29, 13]、视频合成[15]、文本到图像生成[27, 29, 12]、语音合成[5]等。与生成对抗网络(GANs)[10]和变分自编码器(VAEs)[20]不同,扩散概率模型通过训练来明确匹配数据密度的梯度(即分数),这种方式更稳定且对超参数的敏感性更低。然而,从预训练的扩散概率模型中进行采样通常需要多次模型评估,以从高斯噪声中逐步执行去噪操作[13],与生成对抗网络等单步生成模型相比,会消耗更多的推理时间和计算成本。
近年来,人们在加速扩散概率模型采样方面做出了越来越多的努力[31, 28, 34, 25, 40]。其中,无训练方法[34, 25, 40]在应用中更受欢迎,因为它们可以直接应用于现成的预训练扩散概率模型。尽管这些方法已将采样步骤从1000步显著减少到20步以内,但极少步骤(例如,少于10步)下的采样质量却很少被研究。少步采样可用于许多需要高效获取合理样本的场景,例如为文本到图像扩散模型设计合适的提示词[29, 30],以及在某些基于扩散的视觉系统训练过程中计算生成样本的损失[1, 6]。然而,现有的快速采样器在10步以内通常难以生成高质量样本(见图1)。
在本文中,我们提出了一种用于扩散概率模型快速采样的无训练框架,称为UniPC。我们发现,UniPC在5∼10次函数评估(NFE)内的性能显著优于现有方法,并且在更多采样步骤下也能实现更好的采样质量。具体来说,我们首先开发了一种统一校正器(UniC),它通过使用当前时间步$t_i$的模型输出$\epsilon_\theta(x_{t_i}, t_i)$来获得精细化的$x_{t_i}^c$。与数值常微分方程求解器中的预测-校正范式需要加倍的函数评估次数不同,我们的UniC将模型输出$\epsilon_\theta(x_{t_i}, t_i)$重用于下一个采样步骤,因此不会引入额外的函数评估。UniC可以在任何现有扩散概率模型采样器之后应用,以提高精度阶数,而推理速度几乎不受影响。有趣的是,我们还发现通过简单改变UniC中的一个超参数,可以进一步得到一类新的预测器(UniP)。
由于我们的UniC具有方法无关性,我们将UniP和UniC相结合,得到了一类新的快速采样器,称为UniPC。与以往的快速求解器[26, 25, 40]要么没有高阶(例如,>3阶)变体,要么没有显式形式不同,我们的UniPC支持任意阶数,具有统一的解析表达式且易于实现。得益于这种通用设计,UniPC的变体(例如单步/多步、噪声/数据预测)可以很容易地推导出来。我们从理论上证明了UniPC具有更高的收敛阶数,并通过实验证明了UniPC在各种场景下都具有更好的采样质量。我们还表明,UniPC的推理速度和内存使用量与DPM-Solver++[26]相近,这表明在相同的计算预算下,UniPC能够实现更优异的性能。
我们使用像素空间和潜在空间的扩散概率模型进行了大量实验,以验证所提出的UniPC的有效性。我们的结果表明,在无条件和条件采样任务上,UniPC的性能始终优于以往的最先进方法。值得注意的是,UniPC仅通过10次函数评估,在CIFAR10(无条件)上就能达到3.87的FID值,在ImageNet 256×256(条件)上能达到7.51的FID值。我们还证明,UniC能够以极少的函数评估次数显著提高几种现有快速采样器的采样质量。图1展示了一些定性比较结果,从中可以看出,我们的UniPC能够生成比其他方法具有更多视觉细节的图像。
2 背景与相关工作
2.1 扩散概率模型
对于一个具有未知分布$q_0(x_0)$的随机变量$x_0$,扩散概率模型(DPMs)[33, 13, 19]通过向观测值$x_0$中逐渐添加高斯噪声,将时间0处的$q_0(x_0)$转换为时间$T$处的正态分布$q_T(x_T) \approx \mathcal{N}(x_T | 0, \tilde{\sigma}^2 I)$(其中$\tilde{\sigma} > 0$)。对于每个时间$t \in [0, T]$,给定$\sigma_t$、$\alpha_t > 0$,高斯转移过程为:
其中,信噪比(SNR)$\alpha_t^2 / \sigma_t^2$是关于$t$的严格递减函数[19]。
令$\epsilon_\theta(x_t, t)$表示使用数据$x_t$预测噪声$\epsilon$的噪声预测模型,参数$\theta$通过最小化以下损失函数获得:
其中,$x_0 \sim q_0(x_0)$,$t \in U[0, T]$,权重函数$\omega(t) > 0$。从扩散概率模型中采样可通过求解以下扩散常微分方程实现[35]:
其中,$f(t) = \frac{d \log \alpha_t}{dt}$,$g^2(t) = \frac{d \sigma_t^2}{dt} - 2 \frac{d \log \alpha_t}{dt} \sigma_t^2$。
2.2 扩散概率模型的快速采样
扩散概率模型的快速采样器可分为基于训练的方法[31, 2, 37]和无训练方法[25, 26, 40, 24, 41]。基于训练的采样器需要额外的训练成本,而无训练方法直接使用原始信息,无需重新训练,且在条件采样中易于实现。无训练采样器的核心是求解随机微分方程(SDEs)[13, 35, 3, 41]或常微分方程(ODEs)[26, 40, 24, 34, 25]。其他快速采样方法包括修改扩散概率模型[9]以及与生成对抗网络(GANs)结合[38, 36]。
其中,用于求解扩散常微分方程的采样器被发现能更快地收敛以实现扩散概率模型的采样[34, 35]。近期研究[40, 25, 26]表明,基于指数积分器[17]构建的常微分方程求解器比直接求解扩散常微分方程(1)收敛更快。给定初始值$x_s$,扩散常微分方程的解$x_t$可通过解析方式计算为[25]:
其中,我们使用符号$\hat{\epsilon}_\theta$和$\hat{x}_\lambda$表示从时间域($t$)转换到半对数信噪比域($\lambda$),即$\lambda_t = \log(\alpha_t / \sigma_t)$,$\hat{x}_\lambda := x_{t_\lambda(\lambda)}$,$\hat{\epsilon}_\theta(\cdot, \lambda) := \epsilon_\theta(\cdot, t_\lambda(\lambda))$。
基于指数积分器,文献[25]提出通过泰勒展开近似$\hat{\epsilon}_\theta$,并将DDIM视为DPM-Solver-1,即:
文献[26]考虑使用$\hat{x}_\theta$而非$\hat{\epsilon}_\theta$重写式(2);文献[40]推导了关于时间$t$而非半对数信噪比($\lambda$)的泰勒展开公式;文献[24]直接采用伪数值方法(如龙格-库塔方法)对式(3)的$\epsilon_\theta$进行更新。尽管已有许多高阶求解器被提出,但由于缺乏解析形式,现有的扩散常微分方程求解器仅能显式计算阶数不大于3的情况。
3 统一预测-校正求解器
在本节中,我们提出一种用于扩散概率模型的统一预测-校正求解器,称为UniPC,它由UniP(统一预测器)和UniC(统一校正器)组成。我们的UniPC在两个主要方面具有统一性:1)预测器(UniP)和校正器(UniC)共享相同的解析形式;2)UniP支持任意阶数,且UniC可应用于现成的扩散概率模型快速采样器之后,以提高其精度阶数。
3.1 统一校正器 UniC-p
现代基于离散化扩散常微分方程的快速采样器[25, 34, 40]旨在利用前$p$个点$\{\tilde{x}_{t_{i-k}}\}_{k=1}^{p}$来估计$\tilde{x}_{t_i}$,并达到$p$阶精度。尽管快速采样器发展迅速,但少步采样的质量仍有提升空间。在本文中,我们提出一种名为UniC-p的校正器,它不仅利用前$p$个点,还利用当前点来改进初始估计。具体而言,在获得初始估计$\tilde{x}_{t_i}$后,我们通过以下公式执行校正步骤:
其中,$\tilde{x}_{t_i}^c$表示校正后的结果,$B(h) = O(h)$是关于$h$的非零函数。$h_i = \lambda_{t_i} - \lambda_{t_{i-1}}$是半对数信噪比($\lambda$)域中的步长,$r_1 < r_2 < \cdots < r_p = 1$是一个非零递增序列,用于确定所使用的前序点。具体来说,我们使用$\{r_i\}_{m=1}^{p}$在$\lambda_{t_{i-1}}$到$\lambda_{t_i}$之间进行插值,以获得辅助时间步$s_m = t_\lambda(r_m h + \lambda_{t_{i-1}})$($m = 1, 2, \cdots, p$)。这些时间步的模型输出用于通过以下公式计算$D_m$:
下面我们将说明如何选择UniC-p中的$\{a_m\}_{m=1}^{p}$以有效提高精度阶数。核心思想是抵消数值估计(4)与理论解(2)之间的低阶项。在实际操作中,我们将(2)中的指数积分器展开如下:
其中,$\hat{\epsilon}_\theta^{(k)}$表示$\hat{\epsilon}_\theta$的$k$阶导数,$\varphi_k(h)$可通过解析方式计算[16]。然后,通过匹配(4)和(6)的系数来确定$\{a_m\}_{m=1}^{p}$。在以下定理中,我们将证明UniC-p的精度阶数为$p+1$(详见附录E.3的证明)。
定理3.1(UniC-p的精度阶数):对于任意非零序列$\{r_i\}_{i=1}^{p}$和$h > 0$,定义:
令$\phi_p(h) = (\phi_1(h), \cdots, \phi_p(h))^\top$,其中$\phi_n(h) = h^n n! \varphi_{n+1}(h)$,$\varphi_n(h)$由递归关系[16]定义:
对于递增序列$r_1 < r_2 < \cdots < r_p = 1$,假设$a_p := (a_1, \cdots, a_p)^\top$满足:
其中$|\cdot|$表示矩阵的$l_1$范数。那么,在附录A中的正则性条件下,(4)的精度阶数为$p+1$。
序列$\{r_i\}_{i=1}^{p}$的单调性确保了范德蒙矩阵$R_p$的可逆性。因此,为简单起见,我们可以取$a_p = R_p^{-1}(h_i) \phi_p(h_i) / B(h_i)$作为(4)的系数向量,其中$B(h)$可以是任何满足$B(h) = O(h)$的关于$h$的函数,例如$B_1(h) = h$、$B_2(h) = e^h - 1$。UniC的详细实现如算法1所示。重要的是,我们通过将$\epsilon_\theta(\tilde{x}_{t_i}, t_i)$而非$\epsilon_\theta(\tilde{x}_{t_i}^c, t_i)$存入缓冲区$Q$,从而避免了对$\epsilon_\theta(\tilde{x}_{t_i}^c, t_i)$的额外评估。充分利用先前结果的$\epsilon_\theta(\tilde{x}_{t_i}, t_i)$使我们能够在不显著增加计算成本的情况下提高精度阶数。这使得我们的方法与常微分方程文献中的预测-校正方法[22]有着本质区别,后者由于每一步都需要对校正后的$\tilde{x}_{t_i}^c$进行额外的函数评估,计算成本会加倍。
3.2 统一预测器 UniP-p
我们发现UniC的精度阶数不依赖于序列$\{r_i\}_{i=1}^{p}$的具体选择,这启发我们设计$p$阶统一预测器(UniP-p)——它仅利用前$p$个数据点,通过在(4)中剔除涉及$\tilde{x}_{t_i}$的$D_p$项实现。以下推论保证了其精度阶数。
推论3.2(UniP-p的精度阶数):对于递增序列$r_1 < r_2 < \cdots < r_{p-1} < 1$,在(4)中剔除$D_p$项并使用满足以下条件的系数后得到的求解器:
其精度阶数为$p$。
由于UniP和UniC具有统一的形式,我们可以将UniP-p用作UniC-p中的Solver-p,从而得到一类新的求解器,称为UniPC-p。定理3.1和推论3.2确保UniPC-p能够达到$p+1$阶精度。此外,在附录D的额外正则性条件下,基于定理3.1和推论3.2,我们证明UniPC-p的收敛阶数达到$p+1$(见附录D)。
3.3 与现有方法的对比
下面我们讨论UniPC与现有方法之间的联系与区别。当$p=1$时,UniPC简化为DDIM[34]。受线性多步法启发,PNDM[24]提出将伪数值方法用于DDIM,而我们的UniPC利用了常微分方程解(2)中的信息,是专门为扩散常微分方程设计的。DEIS[40]基于时间域的指数积分器构建,其积分无法通过解析方式计算,且无法推导出高阶求解器的显式公式。通过使用半对数信噪比$\lambda$[25, 26],可以证明分部积分的应用能够简化(2)的积分,并得到$x_t$的显式展开。DPM-Solver-2[25]属于我们的UniPC框架,即UniP-1,其中假设$B(h) = e^h - 1$。通过数值分析我们发现,$B(h)$可以是任何非退化且满足$B(h) = O(h)$的函数。此外,DPM-Solvers即使对于小于3的阶数也没有统一形式,这增加了获取高阶算法的难度。相比之下,我们的UniPC利用了半对数信噪比下指数积分器的结构,不仅具有简单且便于高效计算的解析解,还具有统一的公式,便于实现任意阶数的求解器。
3.4 实现
通过设置$r_m = (\lambda_{t_{i-m-1}} - \lambda_{t_i}) / h_i$($m = 1, \cdots, p-1$),UniPC-p以多步方式更新,这种方式重用先前的评估结果,并且经验证明在模型评估步骤有限的情况下更高效[11, 26],而单步方法每步可能会产生更高的计算成本。因此,我们在实验中默认使用多步UniPC。多步UniPC的详细算法和收敛性证明见附录B。对于UniPC,$\{r_i\}_{i=1}^{p-1}$的选择决定了不同的更新方法。如果所有值都在$(0, 1]$内,UniPC将切换为单步模式。值得注意的是,我们在实验中发现UniC能够持续改进不同的更新方法。此外,我们发现UniP-2(式8)和UniC-1(式7)会简化为一个简单方程,其中仅有单个$a_1$是未知的,并且发现$a_1 = 0.5$是$B_1(h)$和$B_2(h)$的共同解(见附录F),且与$h$无关。在附录C中,我们提供了UniPC的另一种变体$UniPC_v$,其系数对于任意阶数$p$都不依赖于$h$。
在条件推理中,引导采样[14, 8]经常被采用。近期研究[30, 26]发现,对数据预测模型进行阈值处理能够提升采样质量,并缓解训练-测试不匹配问题。我们的UniPC框架可以轻松适配数据预测模型,相关算法和理论分析见附录A。多步UniPC用于数据预测的详细算法见附录B。因此,结合数据预测的UniPC能够通过动态阈值处理,在极少步骤内实现快速条件采样。
4 实验
在本节中,我们通过大量实验证明UniPC能够显著提升采样质量。实验覆盖了多种数据集,图像分辨率从32×32到256×256不等。除了标准的图像空间扩散模型[35, 8],我们还在近年来主流的基于潜在空间训练的稳定扩散模型[29]上进行了实验。我们将首先在4.1节呈现主要结果,然后在4.2节进行详细分析。
4.1 主要结果
我们首先验证UniPC在无条件采样和条件采样任务中的有效性,尤其关注极少模型评估次数(<10次函数评估)的场景。为清晰起见,我们将UniPC与当前最先进的方法DPM-Solver++[26]进行对比。我们也与其他方法进行了实验对比,包括DDIM[34]、DPM-Solver[25]、DEIS[40]和PNDM[24]。但由于部分方法在少步采样中表现极不稳定,我们将其结果放在4.2节和附录G中。
无条件采样
我们首先在CIFAR10[21]、FFHQ[18]和LSUN Bedroom[39]数据集上对比不同方法的无条件采样质量。预训练扩散模型来自[35]和[29],包括像素空间和潜在空间扩散模型。结果如图2所示。对于DPM-Solver++,我们使用性能更优的3阶多步版本。对于UniPC,我们采用UniP-3与UniC-3的组合,因此精度阶数为4。如图3所示,我们发现UniPC在不同数据集上的采样质量始终优于DPM-Solver++,尤其在函数评估次数较少的情况下。值得注意的是,与DPM-Solver++相比,UniPC在CIFAR10、LSUN Bedroom和FFHQ上的FID值分别降低了6.0、5.9和8.5。这些结果清楚地表明,UniPC能够在少次函数评估下有效提升无条件采样质量。
条件采样
条件采样更具实用性,因为它允许用户通过自定义输入控制合成图像。为评估UniPC的条件采样性能,我们在两种广泛使用的引导采样设置下进行实验,包括分类器引导和无分类器引导。对于分类器引导,我们使用在ImageNet 256×256[7]上训练的像素空间扩散模型,该模型由[8]提供。遵循DPM-Solver++的做法,我们使用动态阈值处理[30]来缓解训练与测试之间的差距。结果如图3a和3b所示,我们在不同引导尺度(s=8.0/4.0)下将UniPC与DPM-Solver++[26]进行了对比。对于DPM-Solver++,我们使用2阶多步版本(2M),这是其原始论文中性能最优的版本。
对于我们的UniPC,我们使用UniP-2和UniC-2的组合。可以看出,UniPC生成的样本质量更优,且收敛速度快于其他方法。对于无分类器引导,我们采用稳定扩散模型[29]提供的潜在空间扩散模型,并按照其原始论文设置引导尺度为1.5。为获取输入文本,我们从MS-COCO2014验证数据集[23]中随机采样10K条描述语句。正如[26]所讨论的,文本到图像生成的FID值在<10步时就会饱和,这可能是因为强大的解码器能够从非收敛的潜在编码生成良好的图像样本。因此,为检验方法的收敛速度,我们遵循[26]的做法,计算生成的潜在编码$x_0$与真实解$x_0^{\ast}$(通过999步DDIM获得)之间的$l_2$距离,即$|x_0 - x_0^{\ast}|_2 / \sqrt{D}$,其中D是潜在编码的维度。对于每个文本输入,所有对比方法均使用从高斯分布采样的相同初始值$x_T^*$。图3c显示,UniPC的$l_2$距离始终低于DPM-Solver++,这表明UniPC在引导采样中收敛更快。
4.2 分析
在本节中,我们将通过更详细的分析进一步评估UniPC的有效性。
关于$B(h)$选择的消融实验
在第3节中,我们提到$B(h)$被设置为任何满足$B(h)=O(h)$的非零函数。现在我们研究$B(h)$的选择对UniPC性能的影响。具体而言,我们测试了两种简单形式:$B_1(h)=h$和$B_2(h)=e^h-1$,结果汇总于表1,其中还提供了DPM-Solver++[26]的性能作为参考。结果表明,无论采用哪种$B(h)$实现,UniPC都能优于DPM-Solver++。当函数评估次数极少(5-6次)时,我们观察到$B_1(h)$在FID值上始终比$B_2(h)$优1-3个点。另一方面,随着函数评估次数增加,$B_2(h)$的性能逐渐赶上,甚至在某些实验中(如CIFAR10和LSUN Bedroom)超过$B_1(h)$。在引导采样中,我们发现$B_1(h)$始终不如$B_2(h)$(详见附录G的结果和讨论)。这些结果也启发我们,通过设计更优的$B(h)$可以进一步改进UniPC,这将留待未来工作。
适用于任意求解器的UniC
如算法1所示,我们的UniC-p可以在任何p阶求解器之后应用,以提高其精度阶数。为验证这一点,我们在多种求解器上进行了实验。现有的扩散概率模型求解器大致可按阶数或更新方法(即单步或多步)分类。由于DPM-Solver++[26]设计了1-3阶的单步和多步变体,我们将UniC应用于DPM-Solver++的不同版本,以检验UniC是否能带来改进。结果如表2所示,采样质量通过在CIFAR10数据集上的像素空间扩散模型[35]采样的FID值衡量。我们还提供了每个基线方法在使用和不使用UniC时的精度阶数。除了DDIM[34](也可视为1阶单步DPM-Solver++),我们还考虑了DPM-Solver++的其他3种变体,包括2阶多步(2M)、3阶单步(3S)和3阶多步(3M)。结果表明,UniC能够将基线方法的精度阶数提高1阶,并在不同更新方法和阶数的求解器上持续提升采样质量。
探索UniC的性能上限
我们通过将UniC和UniC-oracle应用于DPM-Solver++来对比它们的性能。请注意,UniC-oracle的函数评估次数是采样步骤的两倍。我们的结果表明,UniC仍有改进空间。
在表3中,我们在LSUN Bedroom(潜在空间扩散模型)和FFHQ(潜在空间扩散模型)数据集上进行了实验。结果显示,UniC-oracle能够显著优于基线方法。尽管由于$\epsilon_\theta(\tilde{x}_{t_i}, t_i)$与$\epsilon_\theta(\tilde{x}_{t_i}^c, t_i)$不匹配导致的近似误差使UniC性能不如UniC-oracle,但UniC仍能显著优于基线方法,尤其在少采样步骤下。
通过UniPC定制阶数调度
得益于UniPC的统一解析形式,我们能够研究任意阶数求解器的性能,并自由定制阶数调度。作为初步尝试,我们在CIFAR10上使用UniPC进行实验,改变阶数调度(每个采样步骤的阶数)。表4列出了部分结果,我们测试了函数评估次数为6/7时的不同阶数调度,因为此时搜索空间不会过大。请注意,表4中的阶数调度表示UniP的精度阶数,而实际阶数由于UniC的作用会增加1阶。我们的默认阶数调度遵循DPM-Solver++[26]的实现,即在最后几步使用低阶求解器。有趣的是,我们发现一些定制的阶数调度能产生更好的结果,例如函数评估次数为6时的“123432”和函数评估次数为7时的“1223334”。我们还表明,单纯尽可能提高阶数对采样质量有害。
采样多样性
除采样质量外,我们还关注UniPC生成图像的多样性。在表6中,我们对比了UniPC和DPM-Solver++[26]在CIFAR10数据集上的Inception Score(IS)。结果发现,在不同函数评估次数下,UniPC生成的样本始终更具多样性。
更多函数评估次数下的对比
为进一步评估UniPC的有效性,我们还进行了函数评估次数为10-25的实验。具体而言,我们在ImageNet 256×256上进行引导采样(引导尺度8.0),并将UniPC与更多现有方法对比,包括DDIM、DPM-Solver、PNDM、DEIS和DPM-Solver++。结果汇总于表5,其中部分先前方法的结果来自[26]。结果清楚地表明,UniPC显著优于先前方法。
推理速度和内存
我们通过在稳定扩散模型[29]上采样测试了UniPC的实际运行时间,结果如表7所示(使用单张NVIDIA RTX 3090 GPU)。我们发现UniPC的实际推理时间与DPM-Solver++[26]非常接近。至于内存使用量,它仅与存储的先前模型输出数量有关。因此,UniPC的内存消耗也与DPM-Solver++相近。例如,UniPC-2和DPM-Solver++(2M)在稳定扩散模型采样时均消耗约6.3GB内存。
可视化结果
我们提供了UniPC与先前方法在仅7次函数评估下的定性对比,如图1所示。我们使用不同方法在ImageNet 256×256预训练的扩散概率模型上进行引导采样(引导尺度8.0)。结果发现,DEIS[40]在极少步骤下容易失效,而DDIM[34]生成的样本相对模糊。与引导采样领域的最先进方法DPM-Solver++相比,UniPC能生成更合理且视觉细节更丰富的样本。我们进一步使用Stable-Diffusion-XL(一种新发布的可生成1024×1024图像的模型)对比了UniPC和DPM-Solver++的采样质量。图4的结果显示,我们的方法始终生成更真实的图像,且视觉缺陷更少。
局限性和更广泛影响
尽管UniPC有效,但它仍落后于基于训练的方法(如[31])。如何进一步缩小无训练方法与基于训练方法之间的差距仍需未来努力。
UniPC在条件采样任务中的有效性
在条件采样任务中,UniPC展现出显著的有效性,主要体现在以下方面:
- 优越的采样质量:通过大量实验验证,在条件采样任务中,UniPC的性能始终优于以往的最先进方法。例如,在ImageNet 256×256(条件)采样中,UniPC仅通过10次函数评估就能达到7.51的FID值。
- 快速收敛:在无分类器引导的条件采样中,以稳定扩散模型的潜在空间扩散模型为例,通过计算生成的潜在编码与真实解的$l_2$距离发现,UniPC的$l_2$距离始终低于DPM-Solver++,表明其在引导采样中收敛更快。
- 适应不同引导尺度:无论是在较大的引导尺度(如$s = 8.0$)还是较小的引导尺度(如$s = 1.0$)下,UniPC在少采样步骤下都能实现更好的采样质量。
- 与数据预测模型适配性好:UniPC框架可轻松适配数据预测模型,结合动态阈值处理,能够在极少步骤内实现快速条件采样,有效缓解训练-测试不匹配问题。
5 结论
在本文中,我们提出了一种新的用于扩散概率模型快速采样的统一预测-校正框架,名为UniPC。与以往方法不同,UniPC的两个组件(UniP和UniC)对于任意阶数都具有统一的公式。UniPC的通用性使其能够定制任意阶数调度,并通过UniC提高现成快速采样器的精度阶数。
大量实验证明,UniPC在像素空间和潜在空间预训练扩散概率模型的无条件/条件采样任务中均有效。我们还发现了UniPC可以进一步改进的几个方向,例如选择更优的$B(h)$、估计更准确的$\epsilon_\theta(\tilde{x}_{t_i}^c, t_i)$以及设计更优的阶数调度。我们希望我们的尝试能启发未来的工作,进一步探索扩散概率模型在极少步骤下的快速采样。