DENOISING DIFFUSION IMPLICIT MODELS
Year: 2021

Abstract:
Denoising diffusion probabilistic models (DDPMs) have achieved high quality image generation without adversarial training, yet they require simulating a Markov chain for many steps in order to produce a sample. To accelerate sampling, we present denoising diffusion implicit models (DDIMs), a more efficient class of iterative implicit probabilistic models with the same training procedure as DDPMs. In DDPMs, the generative process is defined as the reverse of a particular Markovian diffusion process. We generalize DDPMs via a class of non-Markovian diffusion processes that lead to the same training objective. These non-Markovian processes can correspond to generative processes that are deterministic, giving rise to implicit models that produce high quality samples much faster. We empirically demonstrate that DDIMs can produce high quality samples 10× to 50× faster in terms of wall-clock time compared to DDPMs, allow us to trade off computation for sample quality, perform semantically meaningful image interpolation directly in the latent space, and reconstruct observations with very low error.

heading: 1 INTRODUCTION
text: Deep generative models have demonstrated the ability to produce high quality samples in many domains (Karras et al., 2020; van den Oord et al., 2016a). In terms of image generation, generative adversarial networks (GANs, Goodfellow et al. (2014)) currently exhibits higher sample quality than likelihood-based methods such as variational autoencoders (Kingma & Welling, 2013), autoregressive models (van den Oord et al., 2016b) and normalizing flows (Rezende & Mohamed, 2015; Dinh et al., 2016). However, GANs require very specific choices in optimization and architectures in order to stabilize training (Arjovsky et al., 2017; Gulrajani et al., 2017; Karras et al., 2018; Brock et al., 2018), and could fail to cover modes of the data distribution (Zhao et al., 2018).
Recent works on iterative generative models (Bengio et al., 2014), such as denoising diffusion probabilistic models (DDPM, Ho et al. (2020)) and noise conditional score networks (NCSN, Song & Ermon (2019)) have demonstrated the ability to produce samples comparable to that of GANs, without having to perform adversarial training. To achieve this, many denoising autoencoding models are trained to denoise samples corrupted by various levels of Gaussian noise. Samples are then produced by a Markov chain which, starting from white noise, progressively denoises it into an image. This generative Markov Chain process is either based on Langevin dynamics (Song & Ermon, 2019) or obtained by reversing a forward diffusion process that progressively turns an image into noise (Sohl-Dickstein et al., 2015).
A critical drawback of these models is that they require many iterations to produce a high quality sample. For DDPMs, this is because that the generative process (from noise to data) approximates the reverse of the forward diffusion process (from data to noise), which could have thousands of steps; iterating over all the steps is required to produce a single sample, which is much slower compared to GANs, which only needs one pass through a network. For example, it takes around 20 hours to sample 50k images of size 32 × 32 from a DDPM, but less than a minute to do so from a GAN on a Nvidia 2080 Ti GPU. This becomes more problematic for larger images as sampling 50k images of size 256× 256 could take nearly 1000 hours on the same GPU. To close this efficiency gap between DDPMs and GANs, we present denoising diffusion implicit models (DDIMs). DDIMs are implicit probabilistic models (Mohamed & Lakshminarayanan, 2016) and are closely related to DDPMs, in the sense that they are trained with the same objective function.
In Section 3, we generalize the forward diffusion process used by DDPMs, which is Markovian, to non-Markovian ones, for which we are still able to design suitable reverse generative Markov chains. We show that the resulting variational training objectives have a shared surrogate objective, which is exactly the objective used to train DDPM. Therefore, we can freely choose from a large family of generative models using the same neural network simply by choosing a different, nonMarkovian diffusion process (Section 4.1) and the corresponding reverse generative Markov Chain. In particular, we are able to use non-Markovian diffusion processes which lead to ”short” generative Markov chains (Section 4.2) that can be simulated in a small number of steps. This can massively increase sample efficiency only at a minor cost in sample quality.
In Section 5, we demonstrate several empirical benefits of DDIMs over DDPMs. First, DDIMs have superior sample generation quality compared to DDPMs, when we accelerate sampling by 10× to 100× using our proposed method. Second, DDIM samples have the following “consistency” property, which does not hold for DDPMs: if we start with the same initial latent variable and generate several samples with Markov chains of various lengths, these samples would have similar high-level features. Third, because of “consistency” in DDIMs, we can perform semantically meaningful image interpolation by manipulating the initial latent variable in DDIMs, unlike DDPMs which interpolates near the image space due to the stochastic generative process.

heading: 2 BACKGROUND
text: Given samples from a data distribution q(x0), we are interested in learning a model distribution pθ(x0) that approximates q(x0) and is easy to sample from. Denoising diffusion probabilistic models (DDPMs, Sohl-Dickstein et al. (2015); Ho et al. (2020)) are latent variable models of the form
pθ(x0) = ∫ pθ(x0:T )dx1:T , where pθ(x0:T ) := pθ(xT ) T∏ t=1 p (t) θ (xt−1|xt) (1)
where x1, . . . ,xT are latent variables in the same sample space as x0 (denoted as X ). The parameters θ are learned to fit the data distribution q(x0) by maximizing a variational lower bound:
max θ Eq(x0)[log pθ(x0)] ≤ max θ Eq(x0,x1,...,xT ) [log pθ(x0:T )− log q(x1:T |x0)] (2)
where q(x1:T |x0) is some inference distribution over the latent variables. Unlike typical latent variable models (such as the variational autoencoder (Rezende et al., 2014)), DDPMs are learned with a fixed (rather than trainable) inference procedure q(x1:T |x0), and latent variables are relatively high dimensional. For example, Ho et al. (2020) considered the following Markov chain with Gaussian transitions parameterized by a decreasing sequence α1:T ∈ (0, 1]T :
q(x1:T |x0) := T∏ t=1 q(xt|xt−1),where q(xt|xt−1) := N (√ αt αt−1 xt−1, ( 1− αt αt−1 ) I ) (3)
where the covariance matrix is ensured to have positive terms on its diagonal. This is called the forward process due to the autoregressive nature of the sampling procedure (from x0 to xT ). We call the latent variable model pθ(x0:T ), which is a Markov chain that samples from xT to x0, the generative process, since it approximates the intractable reverse process q(xt−1|xt). Intuitively, the forward process progressively adds noise to the observation x0, whereas the generative process progressively denoises a noisy observation (Figure 1, left).
A special property of the forward process is that q(xt|x0) := ∫ q(x1:t|x0)dx1:(t−1) = N (xt; √ αtx0, (1− αt)I);
so we can express xt as a linear combination of x0 and a noise variable :
xt = √ αtx0 + √ 1− αt , where ∼ N (0, I). (4)
When we set αT sufficiently close to 0, q(xT |x0) converges to a standard Gaussian for all x0, so it is natural to set pθ(xT ) := N (0, I). If all the conditionals are modeled as Gaussians with trainable mean functions and fixed variances, the objective in Eq. (2) can be simplified to1:
Lγ( θ) := T∑ t=1 γtEx0∼q(x0), t∼N (0,I) [ ‖ (t)θ ( √ αtx0 + √ 1− αt t)− t‖ 2 2 ] (5)
where θ := { (t)θ }Tt=1 is a set of T functions, each (t) θ : X → X (indexed by t) is a function with trainable parameters θ(t), and γ := [γ1, . . . , γT ] is a vector of positive coefficients in the objective that depends on α1:T . In Ho et al. (2020), the objective with γ = 1 is optimized instead to maximize generation performance of the trained model; this is also the same objective used in noise conditional score networks (Song & Ermon, 2019) based on score matching (Hyvärinen, 2005; Vincent, 2011). From a trained model, x0 is sampled by first sampling xT from the prior pθ(xT ), and then sampling xt−1 from the generative processes iteratively.
The length T of the forward process is an important hyperparameter in DDPMs. From a variational perspective, a large T allows the reverse process to be close to a Gaussian (Sohl-Dickstein et al., 2015), so that the generative process modeled with Gaussian conditional distributions becomes a good approximation; this motivates the choice of large T values, such as T = 1000 in Ho et al. (2020). However, as all T iterations have to be performed sequentially, instead of in parallel, to obtain a sample x0, sampling from DDPMs is much slower than sampling from other deep generative models, which makes them impractical for tasks where compute is limited and latency is critical.

heading: 3 VARIATIONAL INFERENCE FOR NON-MARKOVIAN FORWARD PROCESSES
text: Because the generative model approximates the reverse of the inference process, we need to rethink the inference process in order to reduce the number of iterations required by the generative model. Our key observation is that the DDPM objective in the form of Lγ only depends on the marginals2 q(xt|x0), but not directly on the joint q(x1:T |x0). Since there are many inference distributions (joints) with the same marginals, we explore alternative inference processes that are non-Markovian, which leads to new generative processes (Figure 1, right). These non-Markovian inference process lead to the same surrogate objective function as DDPM, as we will show below. In Appendix A, we show that the non-Markovian perspective also applies beyond the Gaussian case.

heading: 3.1 NON-MARKOVIAN FORWARD PROCESSES
text: Let us consider a family Q of inference distributions, indexed by a real vector σ ∈ RT≥0:
qσ(x1:T |x0) := qσ(xT |x0) T∏ t=2 qσ(xt−1|xt,x0) (6)
where qσ(xT |x0) = N ( √ αTx0, (1− αT )I) and for all t > 1,
qσ(xt−1|xt,x0) = N ( √ αt−1x0 + √ 1− αt−1 − σ2t · xt − √ αtx0√
1− αt , σ2t I
) . (7)
The mean function is chosen to order to ensure that qσ(xt|x0) = N ( √ αtx0, (1 − αt)I) for all t (see Lemma 1 of Appendix B), so that it defines a joint inference distribution that matches the “marginals” as desired. The forward process3 can be derived from Bayes’ rule:
qσ(xt|xt−1,x0) = qσ(xt−1|xt,x0)qσ(xt|x0)
qσ(xt−1|x0) , (8)
1Please refer to Appendix C.2 for details. 2We slightly abuse this term (as well as joints) when only conditioned on x0. 3We overload the term “forward process” for cases where the inference model is not a diffusion.
which is also Gaussian (although we do not use this fact for the remainder of this paper). Unlike the diffusion process in Eq. (3), the forward process here is no longer Markovian, since each xt could depend on both xt−1 and x0. The magnitude of σ controls the how stochastic the forward process is; when σ → 0, we reach an extreme case where as long as we observe x0 and xt for some t, then xt−1 become known and fixed.

heading: 3.2 GENERATIVE PROCESS AND UNIFIED VARIATIONAL INFERENCE OBJECTIVE
text: Next, we define a trainable generative process pθ(x0:T ) where each p (t) θ (xt−1|xt) leverages knowledge of qσ(xt−1|xt,x0). Intuitively, given a noisy observation xt, we first make a prediction4 of the corresponding x0, and then use it to obtain a sample xt−1 through the reverse conditional distribution qσ(xt−1|xt,x0), which we have defined.
For some x0 ∼ q(x0) and t ∼ N (0, I), xt can be obtained using Eq. (4). The model (t)θ (xt) then attempts to predict t from xt, without knowledge of x0. By rewriting Eq. (4), one can then predict the denoised observation, which is a prediction of x0 given xt:
f (t) θ (xt) := (xt − √ 1− αt · (t)θ (xt))/ √ αt. (9)
We can then define the generative process with a fixed prior pθ(xT ) = N (0, I) and
p (t) θ (xt−1|xt) = { N (f (1)θ (x1), σ21I) if t = 1 qσ(xt−1|xt, f (t)θ (xt)) otherwise,
(10)
where qσ(xt−1|xt, f (t)θ (xt)) is defined as in Eq. (7) with x0 replaced by f (t) θ (xt). We add some Gaussian noise (with covariance σ21I) for the case of t = 1 to ensure that the generative process is supported everywhere.
We optimize θ via the following variational inference objective (which is a functional over θ):
Jσ( θ) := Ex0:T∼qσ(x0:T )[log qσ(x1:T |x0)− log pθ(x0:T )] (11)
= Ex0:T∼qσ(x0:T ) [ qσ(xT |x0) + T∑ t=2 log qσ(xt−1|xt,x0)− T∑ t=1 log p (t) θ (xt−1|xt)− log pθ(xT ) ] where we factorize qσ(x1:T |x0) according to Eq. (6) and pθ(x0:T ) according to Eq. (1). From the definition of Jσ , it would appear that a different model has to be trained for every choice of σ, since it corresponds to a different variational objective (and a different generative process). However, Jσ is equivalent to Lγ for certain weights γ, as we show below.
Theorem 1. For all σ > 0, there exists γ ∈ RT>0 and C ∈ R, such that Jσ = Lγ + C.
The variational objective Lγ is special in the sense that if parameters θ of the models (t) θ are not shared across different t, then the optimal solution for θ will not depend on the weights γ (as global optimum is achieved by separately maximizing each term in the sum). This property of Lγ has two implications. On the one hand, this justified the use of L1 as a surrogate objective function for the variational lower bound in DDPMs; on the other hand, since Jσ is equivalent to some Lγ from Theorem 1, the optimal solution of Jσ is also the same as that of L1. Therefore, if parameters are not shared across t in the model θ, then the L1 objective used by Ho et al. (2020) can be used as a surrogate objective for the variational objective Jσ as well.

heading: 4 SAMPLING FROM GENERALIZED GENERATIVE PROCESSES
text: With L1 as the objective, we are not only learning a generative process for the Markovian inference process considered in Sohl-Dickstein et al. (2015) and Ho et al. (2020), but also generative processes for many non-Markovian forward processes parametrized by σ that we have described. Therefore, we can essentially use pretrained DDPM models as the solutions to the new objectives, and focus on finding a generative process that is better at producing samples subject to our needs by changing σ.
4Learning a distribution over the predictions is also possible, but empirically we found little benefits of it.

heading: 4.1 DENOISING DIFFUSION IMPLICIT MODELS
text: From pθ(x1:T ) in Eq. (10), one can generate a sample xt−1 from a sample xt via:
xt−1 = √ αt−1
( xt −
√ 1− αt (t)θ (xt)√
αt ) ︸ ︷︷ ︸
“ predicted x0”
+ √
1− αt−1 − σ2t · (t) θ (xt)︸ ︷︷ ︸
“direction pointing to xt”
+ σt t︸︷︷︸ random noise
(12)
where t ∼ N (0, I) is standard Gaussian noise independent of xt, and we define α0 := 1. Different choices of σ values results in different generative processes, all while using the same model θ, so re-training the model is unnecessary. When σt = √ (1− αt−1)/(1− αt) √ 1− αt/αt−1 for all t, the forward process becomes Markovian, and the generative process becomes a DDPM.
We note another special case when σt = 0 for all t5; the forward process becomes deterministic given xt−1 and x0, except for t = 1; in the generative process, the coefficient before the random noise t becomes zero. The resulting model becomes an implicit probabilistic model (Mohamed & Lakshminarayanan, 2016), where samples are generated from latent variables with a fixed procedure (from xT to x0). We name this the denoising diffusion implicit model (DDIM, pronounced /d:Im/), because it is an implicit probabilistic model trained with the DDPM objective (despite the forward process no longer being a diffusion).

heading: 4.2 ACCELERATED GENERATION PROCESSES
text: In the previous sections, the generative process is considered as the approximation to the reverse process; since of the forward process has T steps, the generative process is also forced to sample T steps. However, as the denoising objective L1 does not depend on the specific forward procedure as long as qσ(xt|x0) is fixed, we may also consider forward processes with lengths smaller than T , which accelerates the corresponding generative processes without having to train a different model.
Let us consider the forward process as defined not on all the latent variables x1:T , but on a subset {xτ1 , . . . ,xτS}, where τ is an increasing sub-sequence of [1, . . . , T ] of length S. In particular, we define the sequential forward process over xτ1 , . . . ,xτS such that q(xτi |x0) = N (√ατix0, (1 − ατi)I) matches the “marginals” (see Figure 2 for an illustration). The generative process now samples latent variables according to reversed(τ), which we term (sampling) trajectory. When the length of the sampling trajectory is much smaller than T , we may achieve significant increases in computational efficiency due to the iterative nature of the sampling process.
Using a similar argument as in Section 3, we can justify using the model trained with the L1 objective, so no changes are needed in training. We show that only slight changes to the updates in Eq. (12) are needed to obtain the new, faster generative processes, which applies to DDPM, DDIM, as well as all generative processes considered in Eq. (10). We include these details in Appendix C.1.
In principle, this means that we can train a model with an arbitrary number of forward steps but only sample from some of them in the generative process. Therefore, the trained model could consider many more steps than what is considered in (Ho et al., 2020) or even a continuous time variable t (Chen et al., 2020). We leave empirical investigations of this aspect as future work.
5Although this case is not covered in Theorem 1, we can always approximate it by making σt very small.

heading: 4.3 RELEVANCE TO NEURAL ODES
text: Moreover, we can rewrite the DDIM iterate according to Eq. (12), and its similarity to Euler integration for solving ODEs becomes more apparent:√
1
αt−1 xt−1 =
√ 1
αt xt + (√ 1− αt−1 αt−1 − √ 1− αt αt ) (t) θ (xt) (13)
We can reparameterize ( √ 1− α/ √ α) with λ and (x/ √ α) with H(λ) then sampling x0 with Equation (13) can be treated as integration over the following ODE:
H(0) = ∫ 0 M λθ (H(λ) √ λ2 − 1)dλ+H(M), H(M) ∼ N (0, I) (14)
for some very large M (which corresponds to the case of α ≈ 0). This suggests that with enough T (discretization steps), the we can also reverse the generation process (going from t = 0 to T ), which encodes x0 to xT and simulates the reverse of the ODE in Eq. (14). This suggests that unlike DDPM, we can use DDIM to obtain encodings of the observations (as the form of xT ), which might be useful for other downstream applications that requires latent representations of a model.

heading: 5 EXPERIMENTS
text: In this section, we show that DDIMs outperform DDPMs in terms of image generation when fewer iterations are considered, giving speed ups of 10× to 100× over the original DDPM generation process. Moreover, unlike DDPMs, once the initial latent variables xT are fixed, DDIMs retain highlevel image features regardless of the generation trajectory, so they are able to perform interpolation directly from the latent space. DDIMs can also be used to encode samples that reconstruct them from the latent code, which DDPMs cannot do due to the stochastic sampling process.
For each dataset, we use the same trained model with T = 1000 and the objective being Lγ from Eq. (5) with γ = 1; as we argued in Section 3, no changes are needed with regards to the training procedure. The only changes that we make is how we produce samples from the model; we achieve this by controlling τ (which controls how fast the samples are obtained) and σ (which interpolates between the deterministic DDIM and the stochastic DDPM).
We consider different sub-sequences τ of [1, . . . , T ] and different variance hyperparameters σ indexed by elements of τ . To simplify comparisons, we consider σ with the form:
στi(η) = η √ (1− ατi−1)/(1− ατi) √ 1− ατi/ατi−1 , (15)
where η ∈ R≥0 is a hyperparameter that we can directly control. This includes an original DDPM generative process when η = 1 and DDIM when η = 0. We also consider DDPM where the random noise has a larger standard deviation than σ(1), which we denote as σ̂: σ̂τi = √ 1− ατi/ατi−1 . This is used by the implementation in Ho et al. (2020) only to obtain the CIFAR10 samples, but not samples of the other datasets. We include more details in Appendix D.

heading: 5.1 SAMPLE QUALITY AND EFFICIENCY
text: In Table 1, we report the quality of the generated samples with models trained on CIFAR10 and CelebA, as measured by Frechet Inception Distance (FID (Heusel et al., 2017)), where we vary the number of timesteps used to generate a sample (dim(τ)) and the stochasticity of the process (η). As expected, the sample quality becomes higher as we increase dim(τ), presenting a tradeoff between sample quality and computational costs. We observe that DDIM (η = 0) achieves the best sample quality when dim(τ) is small, and DDPM (η = 1 and σ̂) typically has worse sample quality compared to its less stochastic counterparts with the same dim(τ), except for the case for dim(τ) = 1000 and σ̂ reported by Ho et al. (2020) where DDIM is marginally worse. However, the sample quality of σ̂ becomes much worse for smaller dim(τ), which suggests that it is ill-suited for shorter trajectories. DDIM, on the other hand, achieves high sample quality much more consistently.
In Figure 3, we show CIFAR10 and CelebA samples with the same number of sampling steps and varying σ. For the DDPM, the sample quality deteriorates rapidly when the sampling trajectory has
10 steps. For the case of σ̂, the generated images seem to have more noisy perturbations under short trajectories; this explains why the FID scores are much worse than other methods, as FID is very sensitive to such perturbations (as discussed in Jolicoeur-Martineau et al. (2020)).
In Figure 4, we show that the amount of time needed to produce a sample scales linearly with the length of the sample trajectory. This suggests that DDIM is useful for producing samples more efficiently, as samples can be generated in much fewer steps. Notably, DDIM is able to produce samples with quality comparable to 1000 step models within 20 to 100 steps, which is a 10× to 50× speed up compared to the original DDPM. Even though DDPM could also achieve reasonable sample quality with 100× steps, DDIM requires much fewer steps to achieve this; on CelebA, the FID score of the 100 step DDPM is similar to that of the 20 step DDIM.

heading: 5.2 SAMPLE CONSISTENCY IN DDIMS
text: For DDIM, the generative process is deterministic, and x0 would depend only on the initial state xT . In Figure 5, we observe the generated images under different generative trajectories (i.e. different τ ) while starting with the same initial xT . Interestingly, for the generated images with the same initial xT , most high-level features are similar, regardless of the generative trajectory. In many cases, samples generated with only 20 steps are already very similar to ones generated with 1000 steps in terms of high-level features, with only minor differences in details. Therefore, it would appear that xT alone would be an informative latent encoding of the image; and minor details that affects sample quality are encoded in the parameters, as longer sample trajectories gives better quality samples but do not significantly affect the high-level features. We show more samples in Appendix D.4.

heading: 5.3 INTERPOLATION IN DETERMINISTIC GENERATIVE PROCESSES
text: Since the high level features of the DDIM sample is encoded by xT , we are interested to see whether it would exhibit the semantic interpolation effect similar to that observed in other implicit probabilistic models, such as GANs (Goodfellow et al., 2014). This is different from the interpolation procedure in Ho et al. (2020), since in DDPM the same xT would lead to highly diverse x0 due to the stochastic generative process6. In Figure 6, we show that simple interpolations in xT can lead to semantically meaningful interpolations between two samples. We include more details and samples in Appendix D.5. This allows DDIM to control the generated images on a high level directly through the latent variables, which DDPMs cannot.

heading: 5.4 RECONSTRUCTION FROM LATENT SPACE
text: As DDIM is the Euler integration for a particular ODE, it would be interesting to see whether it can encode from x0 to xT (reverse of Eq. (14)) and reconstruct x0 from the resulting xT (forward
6Although it might be possible if one interpolates all T noises, like what is done in Song & Ermon (2020).
of Eq. (14))7. We consider encoding and decoding on the CIFAR-10 test set with the CIFAR-10 model with S steps for both encoding and decoding; we report the per-dimension mean squared error (scaled to [0, 1]) in Table 2. Our results show that DDIMs have lower reconstruction error for larger S values and have properties similar to Neural ODEs and normalizing flows. The same cannot be said for DDPMs due to their stochastic nature.

heading: 6 RELATED WORK
text: Our work is based on a large family of existing methods on learning generative models as transition operators of Markov chains (Sohl-Dickstein et al., 2015; Bengio et al., 2014; Salimans et al., 2014; Song et al., 2017; Goyal et al., 2017; Levy et al., 2017). Among them, denoising diffusion probabilistic models (DDPMs, Ho et al. (2020)) and noise conditional score networks (NCSN, Song & Ermon (2019; 2020)) have recently achieved high sample quality comparable to GANs (Brock et al., 2018; Karras et al., 2018). DDPMs optimize a variational lower bound to the log-likelihood, whereas NCSNs optimize the score matching objective (Hyvärinen, 2005) over a nonparametric Parzen density estimator of the data (Vincent, 2011; Raphan & Simoncelli, 2011).
Despite their different motivations, DDPMs and NCSNs are closely related. Both use a denoising autoencoder objective for many noise levels, and both use a procedure similar to Langevin dynamics to produce samples (Neal et al., 2011). Since Langevin dynamics is a discretization of a gradient flow (Jordan et al., 1998), both DDPM and NCSN require many steps to achieve good sample quality. This aligns with the observation that DDPM and existing NCSN methods have trouble generating high-quality samples in a few iterations.
DDIM, on the other hand, is an implicit generative model (Mohamed & Lakshminarayanan, 2016) where samples are uniquely determined from the latent variables. Hence, DDIM has certain properties that resemble GANs (Goodfellow et al., 2014) and invertible flows (Dinh et al., 2016), such as the ability to produce semantically meaningful interpolations. We derive DDIM from a purely variational perspective, where the restrictions of Langevin dynamics are not relevant; this could partially explain why we are able to observe superior sample quality compared to DDPM under fewer iterations. The sampling procedure of DDIM is also reminiscent of neural networks with continuous depth (Chen et al., 2018; Grathwohl et al., 2018), since the samples it produces from the same latent variable have similar high-level visual features, regardless of the specific sample trajectory.

heading: 7 DISCUSSION
text: We have presented DDIMs – an implicit generative model trained with denoising auto-encoding / score matching objectives – from a purely variational perspective. DDIM is able to generate highquality samples much more efficiently than existing DDPMs and NCSNs, with the ability to perform meaningful interpolations from the latent space. The non-Markovian forward process presented here seems to suggest continuous forward processes other than Gaussian (which cannot be done in the original diffusion framework, since Gaussian is the only stable distribution with finite variance). We also demonstrated a discrete case with a multinomial forward process in Appendix A, and it would be interesting to investigate similar alternatives for other combinatorial structures.
Moreover, since the sampling procedure of DDIMs is similar to that of an neural ODE, it would be interesting to see if methods that decrease the discretization error in ODEs, including multistep methods such as Adams-Bashforth (Butcher & Goodwin, 2008), could be helpful for further improving sample quality in fewer steps (Queiruga et al., 2020). It is also relevant to investigate whether DDIMs exhibit other properties of existing implicit models (Bau et al., 2019).
7Since xT and x0 have the same dimensions, their compression qualities are not our immediate concern.

heading: A NON-MARKOVIAN FORWARD PROCESSES FOR A DISCRETE CASE
text: In this section, we describe a non-Markovian forward processes for discrete data and corresponding variational objectives. Since the focus of this paper is to accelerate reverse models corresponding to the Gaussian diffusion, we leave empirical evaluations as future work.
For a categorical observation x0 that is a one-hot vector with K possible values, we define the forward process as follows. First, we have q(xt|x0) as the following categorical distribution:
q(xt|x0) = Cat(αtx0 + (1− αt)1K) (16)
where 1K ∈ RK is a vector with all entries being 1/K, and αt decreasing from α0 = 1 for t = 0 to αT = 0 for t = T . Then we define q(xt−1|xt,x0) as the following mixture distribution:
q(xt−1|xt,x0) =  Cat(xt) with probability σt Cat(x0) with probability (αt−1 − σtαt) Cat(1K) with probability (1− αt−1)− (1− αt)σt , (17)
or equivalently:
q(xt−1|xt,x0) = Cat (σtxt + (αt−1 − σtαt)x0 + ((1− αt−1)− (1− αt)σt)1K) , (18) which is consistent with how we have defined q(xt|x0). Similarly, we can define our reverse process pθ(xt−1|xt) as:
pθ(xt−1|xt) = Cat ( σtxt + (αt−1 − σtαt)f (t)θ (xt) + ((1− αt−1)− (1− αt)σt)1K ) , (19)
where f (t)θ (xt) maps xt to a K-dimensional vector. As (1−αt−1)− (1−αt)σt → 0, the sampling process will become less stochastic, in the sense that it will either choose xt or the predicted x0 with high probability. The KL divergence
DKL(q(xt−1|xt,x0)‖pθ(xt−1|xt)) (20) is well-defined, and is simply the KL divergence between two categoricals. Therefore, the resulting variational objective function should be easy to optimize as well. Moreover, as KL divergence is convex, we have this upper bound (which is tight when the right hand side goes to zero):
DKL(q(xt−1|xt,x0)‖pθ(xt−1|xt)) ≤ (αt−1 − σtαt)DKL(Cat(x0)‖Cat(f (t)θ (xt))). The right hand side is simply a multi-class classification loss (up to constants), so we can arrive at similar arguments regarding how changes in σt do not affect the objective (up to re-weighting).

heading: B PROOFS
text: Lemma 1. For qσ(x1:T |x0) defined in Eq. (6) and qσ(xt−1|xt,x0) defined in Eq. (7), we have:
qσ(xt|x0) = N ( √ αtx0, √ 1− αtI) (21)
Proof. Assume for any t ≤ T , qσ(xt|x0) = N ( √ αtx0, √ 1− αtI) holds, if:
qσ(xt−1|x0) = N ( √ αt−1x0, √ 1− αt−1I) (22)
then we can prove the statement with an induction argument for t from T to 1, since the base case (t = T ) already holds.
First, we have that
qσ(xt−1|x0) := ∫ xt qσ(xt|x0)qσ(xt−1|xt,x0)dxt
and
qσ(xt|x0) = N ( √ αtx0, (1− αt)I) (23) qσ(xt−1|xt,x0) = N ( √ αt−1x0 + √ 1− αt−1 − σ2t · xt − √ αtx0√
1− αt , σ2t I
) . (24)
From Bishop (2006) (2.115), we have that q̂(xt−1|x0) is Gaussian and
E[qσ(xt−1|x0)] = √ αt−1x0 + √ 1− αt−1 − σ2t · √ αtx0 − √ αtx0√
1− αt (25)
= √ αt−1x0 (26)
and
Cov[qσ(xt−1|x0)] = σ2t I + 1− αt−1 − σ2t
1− αt (1− αt)I = (1− αt−1)I (27)
Therefore, qσ(xt−1|x0) = N ( √ αt−1x0, √ 1− αt−1I), which allows us to apply the induction argument.
Theorem 1. For all σ > 0, there exists γ ∈ RT>0 and C ∈ R, such that Jσ = Lγ + C.
Proof. From the definition of Jσ:
Jσ( θ) := Ex0:T∼q(x0:T ) [ qσ(xT |x0) + T∑ t=2 log qσ(xt−1|xt,x0)− T∑ t=1 log p (t) θ (xt−1|xt) ] (28)
≡ Ex0:T∼q(x0:T ) [ T∑ t=2 DKL(qθ(xt−1|xt,x0))‖p(t)θ (xt−1|xt))− log p (1) θ (x0|x1) ]
where we use ≡ to denote “equal up to a value that does not depend on θ (but may depend on qσ)”. For t > 1:
Ex0,xt∼q(x0,xt)[DKL(qσ(xt−1|xt,x0))‖p (t) θ (xt−1|xt))]
= Ex0,xt∼q(x0,xt)[DKL(qσ(xt−1|xt,x0))‖qσ(xt−1|xt, f (t) θ (xt)))]
= Ex0,xt∼q(x0,xt) ‖x0 − f (t)θ (xt)‖22 2σ2t  (29) = Ex0∼q(x0), ∼N (0,I),xt=√αtx0+√1−αt ‖(xt − )/√αt − (xt − (t)θ (xt))/√αt‖22 2σ2t
 (30) = Ex0∼q(x0), ∼N (0,I),xt=√αtx0+√1−αt ‖ − (t)θ (xt)‖22 2dσ2tαt
 (31) where d is the dimension of x0. For t = 0:
Ex0,x1∼q(x0,x1) [ − log p(1)θ (x0|x1) ] ≡ Ex0,x1∼q(x0,x1) ‖x0 − f (t)θ (x1)‖22 2σ21  (32) = Ex0∼q(x0), ∼N (0,I),x1=√α1x0+√1−αt ‖ − (1)θ (x1)‖22 2dσ21α1
 (33) Therefore, when γt = 1/(2dσ2tαt) for all t ∈ {1, . . . , T}, we have
Jσ( θ) ≡ T∑ t=1
1 2dσ2tαt E [ ‖ (t)θ (xt)− t‖ 2 2 ] = Lγ( θ) (34)
for all θ. From the definition of “≡”, we have that Jσ = Lγ + C.

heading: C ADDITIONAL DERIVATIONS
text: C.1 ACCELERATED SAMPLING PROCESSES
In the accelerated case, we can consider the inference process to be factored as:
qσ,τ (x1:T |x0) = qσ,τ (xτS |x0) S∏ i=1 qσ,τ (xτi−1 |xτi ,x0) ∏ t∈τ̄ qσ,τ (xt|x0) (35)
where τ is a sub-sequence of [1, . . . , T ] of length S with τS = T , and let τ̄ := {1, . . . , T} \ τ be its complement. Intuitively, the graphical model of {xτi}Si=1 and x0 form a chain, whereas the graphical model of {xt}t∈τ̄ and x0 forms a star graph. We define:
qσ,τ (xt|x0) = N ( √ αtx0, (1− αt)I) ∀t ∈ τ̄ ∪ {T} (36) qσ,τ (xτi−1 |xτi ,x0) = N ( √ ατi−1x0 + √ 1− ατi−1 − σ2τi · xτi − √ ατix0√
1− ατi , σ2τiI
) ∀i ∈ [S]
where the coefficients are chosen such that:
qσ,τ (xτi |x0) = N ( √ ατix0, (1− ατi)I) ∀i ∈ [S] (37)
i.e., the “marginals” match.
The corresponding “generative process” is defined as:
pθ(x0:T ) := pθ(xT ) S∏ i=1
p (τi) θ (xτi−1 |xτi)︸ ︷︷ ︸
use to produce samples
× ∏ t∈τ̄
p (t) θ (x0|xt)︸ ︷︷ ︸ in variational objective
(38)
where only part of the models are actually being used to produce samples. The conditionals are:
p (τi) θ (xτi−1 |xτi) = qσ,τ (xτi |xτi , f (τi) θ (xτi−1)) if i ∈ [S], i > 1 (39)
p (t) θ (x0|xt) = N (f (t) θ (xt), σ 2 t I) otherwise, (40)
where we leverage qσ,τ (xτi−1 |xτi ,x0) as part of the inference process (similar to what we have done in Section 3). The resulting variational objective becomes (define xτL+1 = ∅ for conciseness):
J( θ) = Ex0:T∼qσ,τ (x0:T )[log qσ,τ (x1:T |x0)− log pθ(x0:T )] (41)
= Ex0:T∼qσ,τ (x0:T ) [∑ t∈τ̄ DKL(qσ,τ (xt|x0)‖p(t)θ (x0|xt) (42)
+ L∑ i=1 DKL(qσ,τ (xτi−1 |xτi ,x0)‖p (τi) θ (xτi−1 |xτi))) ] where each KL divergence is between two Gaussians with variance independent of θ. A similar argument to the proof used in Theorem 1 can show that the variational objective J can also be converted to an objective of the form Lγ .
C.2 DERIVATION OF DENOISING OBJECTIVES FOR DDPMS
We note that in Ho et al. (2020), a diffusion hyperparameter βt8 is first introduced, and then relevant variables αt := 1 − βt and ᾱt = ∏T t=1 αt are defined. In this paper, we have used the notation αt to represent the variable ᾱt in Ho et al. (2020) for three reasons. First, it makes it more clear that we only need to choose one set of hyperparameters, reducing possible cross-references of the derived variables. Second, it allows us to introduce the generalization as well as the acceleration case easier, because the inference process is no longer motivated by a diffusion. Third, there exists an isomorphism between α1:T and 1, . . . , T , which is not the case for βt.
8In this section we use teal to color notations used in Ho et al. (2020).
In this section, we use βt and αt to be more consistent with the derivation in Ho et al. (2020), where
αt = αt αt−1
(43)
βt = 1− αt αt−1
(44)
can be uniquely determined from αt (i.e. ᾱt).
First, from the diffusion forward process:
q(xt−1|xt,x0) = N
( √ αt−1βt
1− αt x0 + αt(1− αt−1) 1− αt
xt︸ ︷︷ ︸ µ̃(xt,x0)
, 1− αt−1 1− αt βtI
)
Ho et al. (2020) considered a specific type of p(t)θ (xt−1|xt):
p (t) θ (xt−1|xt) = N (µθ(xt, t), σtI) (45)
which leads to the following variational objective:
L := Ex0:T∼q(x0:T ) [ q(xT |x0) + T∑ t=2 log q(xt−1|xt,x0)− T∑ t=1 log p (t) θ (xt−1|xt) ] (46)
≡ Ex0:T∼q(x0:T )  T∑ t=2 DKL(q(xt−1|xt,x0))‖p(t)θ (xt−1|xt))︸ ︷︷ ︸ Lt−1 − log p(1)θ (x0|x1)  One can write:
Lt−1 = Eq [ 1
2σ2t ‖µθ(xt, t)− µ̃(xt,x0)‖22
] (47)
Ho et al. (2020) chose the parametrization
µθ(xt, t) = 1 √ αt
( xt −
βt√ 1− αt θ(xt, t)
) (48)
which can be simplified to: Lt−1 = Ex0, [
βt 2
2σ2t (1− αt)αt ‖ − θ(
√ αtx0 + √ 1− αt , t)‖ 2
2
] (49)

heading: D EXPERIMENTAL DETAILS
text: D.1 DATASETS AND ARCHITECTURES
We consider 4 image datasets with various resolutions: CIFAR10 (32× 32, unconditional), CelebA (64 × 64), LSUN Bedroom (256 × 256) and LSUN Church (256 × 256). For all datasets, we set the hyperparameters α according to the heuristic in (Ho et al., 2020) to make the results directly comparable. We use the same model for each dataset, and only compare the performance of different generative processes. For CIFAR10, Bedroom and Church, we obtain the pretrained checkpoints from the original DDPM implementation; for CelebA, we trained our own model using the denoising objective L1.
Our architecture for (t)θ (xt) follows that in Ho et al. (2020), which is a U-Net (Ronneberger et al., 2015) based on a Wide ResNet (Zagoruyko & Komodakis, 2016). We use the pretrained models from Ho et al. (2020) for CIFAR10, Bedroom and Church, and train our own model for the CelebA 64 × 64 model (since a pretrained model is not provided). Our CelebA model has five feature map resolutions from 64 × 64 to 4 × 4, and we use the original CelebA dataset (not CelebA-HQ) using the pre-processing technique from the StyleGAN (Karras et al., 2018) repository.
D.2 REVERSE PROCESS SUB-SEQUENCE SELECTION
We consider two types of selection procedure for τ given the desired dim(τ) < T :
• Linear: we select the timesteps such that τi = bcic for some c; • Quadratic: we select the timesteps such that τi = bci2c for some c.
The constant value c is selected such that τ−1 is close to T . We used quadratic for CIFAR10 and linear for the remaining datasets. These choices achieve slightly better FID than their alternatives in the respective datasets.
D.3 CLOSED FORM EQUATIONS FOR EACH SAMPLING STEP
From the general sampling equation in Eq. (12), we have the following update equation:
xτi−1(η) = √ ατi−1
( xτi − √ 1− ατi
(τi) θ (xτi)√
ατi
) + √
1− ατi−1 − στi(η)2 · (τi) θ (τi) + στi(η)
where
στi(η) = η √ 1− ατi−1 1− ατi √ 1− ατi ατi−1
For the case of σ̂ (DDPM with a larger variance), the update equation becomes:
xτi−1 = √ ατi−1
( xτi − √ 1− ατi
(τi) θ (xτi)√
ατi
) + √
1− ατi−1 − στi(1)2 · (τi) θ (τi) + σ̂τi
which uses a different coefficient for compared with the update for η = 1, but uses the same coefficient for the non-stochastic parts. This update is more stochastic than the update for η = 1, which explains why it achieves worse performance when dim(τ) is small.
D.4 SAMPLES AND CONSISTENCY
We show more samples in Figure 7 (CIFAR10), Figure 8 (CelebA), Figure 10 (Church) and consistency results of DDIM in Figure 9 (CelebA).
D.5 INTERPOLATION
To generate interpolations on a line, we randomly sample two initial xT values from the standard Gaussian, interpolate them with spherical linear interpolation (Shoemake, 1985), and then use the DDIM to obtain x0 samples.
x (α) T = sin((1− α)θ) sin(θ) x (0) T + sin(αθ) sin(θ) x (1) T (50)
where θ = arccos ( (x (0) T ) >x (1) T
‖x(0)T ‖‖x (1) T ‖
) . These values are used to produce DDIM samples.
To generate interpolations on a grid, we sample four latent variables and separate them in to two pairs; then we use slerp with the pairs under the same α, and use slerp over the interpolated samples across the pairs (under an independently chosen interpolation coefficient). We show more grid interpolation results in Figure 11 (CelebA), Figure 12 (Bedroom), and Figure 13 (Church).

Review summaries:
This paper develops a variant (DDIM) of an existing method (DDPM) with the goal of accelerating it greatly while still maintaining performance. The authors are working in the context of a denoising process that runs in the reverse direction to a sequence of steps that each add a small amount of Gaussian noise to the original data. The proposal is to introduce an auxiliary function that breaks the Markov assumption by leaking some information in a controlled way about the training points x0, and then use this auxiliary function as scaffolding to train the actual Markov chain of denoising functions.

This paper proposes a change to the recently popular diffusion models, motivated by increasing the speed of sampling. This is accomplished by changing the “forward” process which adds noise to the data. In the original diffusion models, this forward process is a Markov process whose marginals and conditionals can be computed efficiently in closed form. This paper proposes to replace this Markov forward process with a non-markovian process that is designed to have the same marginals. The generative model, in this case, changes such that to predict the next step in the process, the model must first predict the “clean” sample at the end of the chain which is then used to give an estimate for the next step in the chain.