【深度学习】DDIM:Denoising Diffusion Implicit Models

Posted by ShawnD on February 21, 2023

Abstract

去噪扩散概率模型(DDPM)在没有对抗训练的情况下实现了高质量图像生成,但它们需要模拟马尔可夫链的许多步骤才能生成样本。

为了加速采样,我们提出了去噪扩散隐式模型(DDIM),这是一类更有效的迭代隐式概率模型,其训练过程与DDPM相同。

在DDPM中,生成过程被定义为特定马尔可夫扩散过程的反向。

我们通过一类非马尔科夫扩散过程来推广DDPM,从而实现相同的训练目标。

这些非马尔科维亚过程可以对应于确定性的生成过程,从而产生隐式模型,可以更快地生成高质量的样本。

实验证明,与DDPM相比,DDIM在以 10 至 50 倍的速度产生高质量样本,使我们能够将计算与样本质量进行权衡,直接在隐空间执行语义有意义的图像插值,并以非常低的误差重建观测结果。

Introduction

这些模型的一个关键缺点是,它们需要多次迭代才能生成高质量的样本。对于DDPM来说,这是因为生成过程(从噪声到数据)接近正向扩散过程(从数据到噪声)的反向,前向扩散过程可能有数千个步骤;需要迭代所有步骤来生成单个样本,这比GAN要慢得多,GAN只需要通过一个网络。例如,从DDPM中采样尺寸为 $32 \times 32$ 的 5 万张图像大约需要 20 小时,但从英伟达 2080 Ti GPU上的GAN采样需要不到一分钟。对于较大的图像来说,这变得更加成问题,因为在同一 GPU 上采样尺寸为 $256 \times 256$ 的 50k 图像可能需要近 1000 小时。

为了缩小 DDPM 和 GAN 之间的效率差距,我们提出了去噪扩散隐式模型(DDIM)。DDIM 是隐式概率模型,与DDPM密切相关,因为它们的训练具有相同的目标函数。在第3节中,我们将 DDPM 使用的正向扩散过程推广到非 Markovian 的扩散过程,我们仍然可以为此设计合适的反向生成马尔可夫链。我们表明,由此产生的变体训练目标有一个共同的替代目标,这正是用于训练 DDPM 的目标。因此, 我们可以使用相同的神经网络从大量的生成模型中自由选择, 通过选择不同的非马尔科夫过程 (4.1节)以及其对应的反向生成马尔科夫链。特别是,我们能够使用非马尔可夫扩散过程,从而产生 “短” 的马尔可夫链(第4.2节),这些链可以在少数的步骤中模拟。这以少量的样品质量为代价来大幅提高采样效率。

在第5节中,我们展示了 DDIM 相对于 DDPM 的几个优势。首先,当我们使用我们提出的方法将采样速度加快10倍到100倍时,DDIM的样本生成质量优于DDPM。其次,DDIM样本具有以下“一致性”属性,该属性不适用于DDPM:如果我们从相同的初始隐变量开始,并生成几个具有不同长度的马尔可夫链的样本,这些样本将具有类似的高级特征。第三,由于DDIM中的“一致性”,我们可以通过操纵 DDIM 中的初始隐变量来执行语义有意义的图像插值,这与DDPM不同,DDPM由于随机生成过程而在图像空间附近插值。

Variational Inference for Non-Markovian Forward Process

由于生成模型近似于推理过程的反面,我们需要重新思考推理过程,以减少生成模型所需的迭代次数。我们的一个关键观察是 DDPM 的目标 $L_{\gamma}$ 仅仅依赖于边缘分布 $q(x_t \mid x_0)$, 而不是联合分布 $q(x_{1:T} \mid x_0)$。 因为对于相同的边缘分布有很多联合分布, 我们将这种替代的推理过程叫做非马尔科夫, 这将导致新的生成过程(图1, 右)。

这些非马尔科夫推理过程导致与 DDPM 相同的代理目标函数,我们将在下面展示。

Non-markovian Forward Processes