DENOISING DIFFUSION IMPLICIT MODELS

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.

1. INTRODUCTION

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, non-Markovian 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.

2. BACKGROUND

Given samples from a data distribution q(x 0 ), we are interested in learning a model distribution p θ (x 0 ) that approximates q(x 0 ) 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 θ (x 0 ) = p θ (x 0:T )dx 1:T , where p θ (x 0:T ) := p θ (x T ) T t=1 p (t) θ (x t-1 |x t ) where x 1 , . . . , x T are latent variables in the same sample space as x 0 (denoted as X ). The parameters θ are learned to fit the data distribution q(x 0 ) by maximizing a variational lower bound: max θ E q(x0) [log p θ (x 0 )] ≤ max θ E q(x0,x1,...,x T ) [log p θ (x 0:T ) -log q(x 1:T |x 0 )] where q(x 1:T |x 0 ) 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(x 1:T |x 0 ), 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(x 1:T |x 0 ) := T t=1 q(x t |x t-1 ), where q(x t |x t-1 ) := N α t α t-1 x t-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 x 0 to x T ). We call the latent variable model p θ (x 0:T ), which is a Markov chain that samples from x T to x 0 , the generative process, since it approximates the intractable reverse process q(x t-1 |x t ). Intuitively, the forward process progressively adds noise to the observation x 0 , whereas the generative process progressively denoises a noisy observation (Figure 1 , left). A special property of the forward process is that q(x t |x 0 ) := q(x 1:t |x 0 )dx 1:(t-1) = N (x t ; √ α t x 0 , (1 -α t )I); so we can express x t as a linear combination of x 0 and a noise variable : x t = √ α t x 0 + √ 1 -α t , where ∼ N (0, I). When we set α T sufficiently close to 0, q(x T |x 0 ) converges to a standard Gaussian for all x 0 , so it is natural to set p θ (x T ) := 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 tofoot_0 : L γ ( θ ) := T t=1 γ t E x0∼q(x0), t∼N (0,I) (t) θ ( √ α t x 0 + √ 1 -α t t ) -t 2 2 (5) where θ := { (t) θ } T t=1 is a set of T functions, each θ : 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 (Hyvärinen, 2005; Vincent, 2011) . From a trained model, x 0 is sampled by first sampling x T from the prior p θ (x T ), and then sampling x t-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 x 0 , 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.

3. VARIATIONAL INFERENCE FOR NON-MARKOVIAN FORWARD PROCESSES

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 marginalsfoot_1 q(x t |x 0 ), but not directly on the joint q(x 1:T |x 0 ). 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.

3.1. NON-MARKOVIAN FORWARD PROCESSES

Let us consider a family Q of inference distributions, indexed by a real vector σ ∈ R T ≥0 : q σ (x 1:T |x 0 ) := q σ (x T |x 0 ) T t=2 q σ (x t-1 |x t , x 0 ) where q σ (x T |x 0 ) = N ( √ α T x 0 , (1 -α T )I ) and for all t > 1, q σ (x t-1 |x t , x 0 ) = N √ α t-1 x 0 + 1 -α t-1 -σ 2 t • x t - √ α t x 0 √ 1 -α t , σ 2 t I . ( ) The mean function is chosen to order to ensure that q σ (x t |x 0 ) = N ( √ α t x 0 , (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 processfoot_2 can be derived from Bayes' rule: q σ (x t |x t-1 , x 0 ) = q σ (x t-1 |x t , x 0 )q σ (x t |x 0 ) q σ (x t-1 |x 0 ) , 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 x t could depend on both x t-1 and x 0 . The magnitude of σ controls the how stochastic the forward process is; when σ → 0, we reach an extreme case where as long as we observe x 0 and x t for some t, then x t-1 become known and fixed.

3.2. GENERATIVE PROCESS AND UNIFIED VARIATIONAL INFERENCE OBJECTIVE

Next, we define a trainable generative process p θ (x 0:T ) where each p (t) θ (x t-1 |x t ) leverages knowledge of q σ (x t-1 |x t , x 0 ). Intuitively, given a noisy observation x t , we first make a predictionfoot_3 of the corresponding x 0 , and then use it to obtain a sample x t-1 through the reverse conditional distribution q σ (x t-1 |x t , x 0 ), which we have defined. For some x 0 ∼ q(x 0 ) and t ∼ N (0, I), x t can be obtained using Eq. ( 4). The model (t) θ (x t ) then attempts to predict t from x t , without knowledge of x 0 . By rewriting Eq. ( 4), one can then predict the denoised observation, which is a prediction of x 0 given x t : f (t) θ (x t ) := (x t - √ 1 -α t • (t) θ (x t ))/ √ α t . We can then define the generative process with a fixed prior p θ (x T ) = N (0, I) and p (t) θ (x t-1 |x t ) = N (f (1) θ (x 1 ), σ 2 1 I) if t = 1 q σ (x t-1 |x t , f (t) θ (x t )) otherwise, (10) where q σ (x t-1 |x t , f (t) θ (x t ) ) is defined as in Eq. ( 7) with x 0 replaced by f (t) θ (x t ). We add some Gaussian noise (with covariance σ 2 1 I) 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 σ ( θ ) := E x 0:T ∼qσ(x 0:T ) [log q σ (x 1:T |x 0 ) -log p θ (x 0:T )] (11) = E x 0:T ∼qσ(x 0:T ) q σ (x T |x 0 ) + T t=2 log q σ (x t-1 |x t , x 0 ) - T t=1 log p (t) θ (x t-1 |x t ) -log p θ (x T ) where we factorize q σ (x 1:T |x 0 ) according to Eq. ( 6) and p θ (x 0: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 γ ∈ R T >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 L 1 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 L 1 . Therefore, if parameters are not shared across t in the model θ , then the L 1 objective used by Ho et al. (2020) can be used as a surrogate objective for the variational objective J σ as well. 

4.1. DENOISING DIFFUSION IMPLICIT MODELS

From p θ (x 1:T ) in Eq. ( 10), one can generate a sample x t-1 from a sample x t via: x t-1 = √ α t-1 x t - √ 1 -α t (t) θ (x t ) √ α t " predicted x0" + 1 -α t-1 -σ 2 t • (t) θ (x t ) "direction pointing to xt" + σ t t random noise ( ) where t ∼ N (0, I) is standard Gaussian noise independent of x t , 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 tfoot_4 ; the forward process becomes deterministic given x t-1 and x 0 , 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 x T to x 0 ). 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).

4.2. ACCELERATED GENERATION PROCESSES

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 L 1 does not depend on the specific forward procedure as long as q σ (x t |x 0 ) 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 x 1: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 |x 0 ) = N ( √ α τi x 0 , (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 L 1 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.

4.3. RELEVANCE TO NEURAL ODES

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 x t-1 = 1 α t x t + 1 -α t-1 α t-1 - 1 -α t α t (t) θ (x t ) We can reparameterize ( √ 1 -α/ √ α) with λ and (x/ √ α) with H(λ) then sampling x 0 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) 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 x 0 to x T 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 x T ), which might be useful for other downstream applications that requires latent representations of a model.

5. EXPERIMENTS

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 x T 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 , 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.

5.1. SAMPLE QUALITY AND EFFICIENCY

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.

5.2. SAMPLE CONSISTENCY IN DDIMS

For DDIM, the generative process is deterministic, and x 0 would depend only on the initial state x T . In Figure 5 , we observe the generated images under different generative trajectories (i.e. different τ ) while starting with the same initial x T . Interestingly, for the generated images with the same initial x T , 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 x T 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. Since the high level features of the DDIM sample is encoded by x T , 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 x T would lead to highly diverse x 0 due to the stochastic generative processfoot_5 . In Figure 6 , we show that simple interpolations in x T 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.

5.4. RECONSTRUCTION FROM LATENT SPACE

As DDIM is the Euler integration for a particular ODE, it would be interesting to see whether it can encode from x 0 to x T (reverse of Eq. ( 14)) and reconstruct x 0 from the resulting x T (forward Error 0.014 0.0065 0.0023 0.0009 0.0004 0.0001 0.0001 of Eq. ( 14))foot_6 . 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.

6. RELATED WORK

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 (Hyvä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.

7. DISCUSSION

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) .

A NON-MARKOVIAN FORWARD PROCESSES FOR A DISCRETE CASE

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 x 0 that is a one-hot vector with K possible values, we define the forward process as follows. First, we have q(x t |x 0 ) as the following categorical distribution: q(x t |x 0 ) = Cat(α t x 0 + (1 -α t )1 K ) where 1 K ∈ R K 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(x t-1 |x t , x 0 ) as the following mixture distribution: q(x t-1 |x t , x 0 ) =    Cat(x t ) with probability σ t Cat(x 0 ) with probability (α t-1 -σ t α t ) Cat(1 K ) with probability (1 -α t-1 ) -(1 -α t )σ t , or equivalently: q(x t-1 |x t , x 0 ) = Cat (σ t x t + (α t-1 -σ t α t )x 0 + ((1 -α t-1 ) -(1 -α t )σ t )1 K ) , which is consistent with how we have defined q(x t |x 0 ). Similarly, we can define our reverse process p θ (x t-1 |x t ) as: p θ (x t-1 |x t ) = Cat σ t x t + (α t-1 -σ t α t )f (t) θ (x t ) + ((1 -α t-1 ) -(1 -α t )σ t )1 K , θ (x t ) maps x t 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 x t or the predicted x 0 with high probability. The KL divergence D KL (q(x t-1 |x t , x 0 ) p θ (x t-1 |x t )) 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): D KL (q(x t-1 |x t , x 0 ) p θ (x t-1 |x t )) ≤ (α t-1 -σ t α t )D KL (Cat(x 0 ) Cat(f (t) θ (x t )) ). 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).

B PROOFS

Lemma 1. For q σ (x 1:T |x 0 ) defined in Eq. ( 6) and q σ (x t-1 |x t , x 0 ) defined in Eq. ( 7), we have: q σ (x t |x 0 ) = N ( √ α t x 0 , √ 1 -α t I) Proof. Assume for any t ≤ T , q σ (x t |x 0 ) = N ( √ α t x 0 , √ 1 -α t I) holds, if: q σ (x t-1 |x 0 ) = N ( √ α t-1 x 0 , 1 -α t-1 I) 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 σ (x t-1 |x 0 ) := xt q σ (x t |x 0 )q σ (x t-1 |x t , x 0 )dx t and q σ (x t |x 0 ) = N ( √ α t x 0 , (1 -α t )I) (23) q σ (x t-1 |x t , x 0 ) = N √ α t-1 x 0 + 1 -α t-1 -σ 2 t • x t - √ α t x 0 √ 1 -α t , σ 2 t I . ( ) From Bishop (2006) (2.115), we have that q(x t-1 |x 0 ) is Gaussian and E[q σ (x t-1 |x 0 )] = √ α t-1 x 0 + 1 -α t-1 -σ 2 t • √ α t x 0 - √ α t x 0 √ 1 -α t (25) = √ α t-1 x 0 and Cov[q σ (x t-1 |x 0 )] = σ 2 t I + 1 -α t-1 -σ 2 t 1 -α t (1 -α t )I = (1 -α t-1 )I (27) Therefore, q σ (x t-1 |x 0 ) = N ( √ α t-1 x 0 , √ 1 -α t-1 I) , which allows us to apply the induction argument. Theorem 1. For all σ > 0, there exists γ ∈ R T >0 and C ∈ R, such that J σ = L γ + C. Proof. From the definition of J σ : J σ ( θ ) := E x 0:T ∼q(x 0:T ) q σ (x T |x 0 ) + T t=2 log q σ (x t-1 |x t , x 0 ) - T t=1 log p (t) θ (x t-1 |x t ) (28) ≡ E x 0:T ∼q(x 0:T ) T t=2 D KL (q θ (x t-1 |x t , x 0 )) p (t) θ (x t-1 |x t )) -log p (1) θ (x 0 |x 1 ) where we use ≡ to denote "equal up to a value that does not depend on θ (but may depend on q σ )". For t > 1: E x0,xt∼q(x0,xt) [D KL (q σ (x t-1 |x t , x 0 )) p (t) θ (x t-1 |x t ))] = E x0,xt∼q(x0,xt) [D KL (q σ (x t-1 |x t , x 0 )) q σ (x t-1 |x t , f (t) θ (x t )))] = E x0,xt∼q(x0,xt)   x 0 -f (t) θ (x t ) 2 2 2σ 2 t   (29) = E x0∼q(x0), ∼N (0,I),xt= √ αtx0+ √ 1-αt   (x t -)/ √ α t -(x t - (t) θ (x t ))/ √ α t 2 2 2σ 2 t   (30) = E x0∼q(x0), ∼N (0,I),xt= √ αtx0+ √ 1-αt   - (t) θ (x t ) 2 2 2dσ 2 t α t   ( ) where d is the dimension of x 0 . For t = 0: E x0,x1∼q(x0,x1) -log p (1) θ (x 0 |x 1 ) ≡ E x0,x1∼q(x0,x1)   x 0 -f (t) θ (x 1 ) 2 2 2σ 2 1   (32) = E x0∼q(x0), ∼N (0,I),x1= √ α1x0+ √ 1-αt   - (1) θ (x 1 ) 2 2 2dσ 2 1 α 1   Therefore, when γ t = 1/(2dσfoot_7 t α t ) for all t ∈ {1, . . . , T }, we have J σ ( θ ) ≡ T t=1 1 2dσ 2 t α t E (t) θ (x t ) -t C ADDITIONAL DERIVATIONS C.1 ACCELERATED SAMPLING PROCESSES In the accelerated case, we can consider the inference process to be factored as: q σ,τ (x 1:T |x 0 ) = q σ,τ (x τ S |x 0 ) S i=1 q σ,τ (x τi-1 |x τi , x 0 ) t∈τ q σ,τ (x t |x 0 ) ( ) 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 } S i=1 and x 0 form a chain, whereas the graphical model of {x t } t∈τ and x 0 forms a star graph. We define: q σ,τ (x t |x 0 ) = N ( √ α t x 0 , (1 -α t )I) ∀t ∈ τ ∪ {T } (36) q σ,τ (x τi-1 |x τi , x 0 ) = N √ α τi-1 x 0 + 1 -α τi-1 -σ 2 τi • x τi - √ α τi x 0 √ 1 -α τi , σ 2 τi I ∀i ∈ [S] where the coefficients are chosen such that: q σ,τ (x τi |x 0 ) = N ( √ α τi x 0 , (1 -α τi )I) ∀i ∈ [S] i.e., the "marginals" match. The corresponding "generative process" is defined as: p θ (x 0:T ) := p θ (x T ) S i=1 p (τi) θ (x τi-1 |x τi ) use to produce samples × t∈τ p (t) θ (x 0 |x t ) 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) θ (x 0 |x t ) = N (f (t) θ (x t ), σ 2 t I) otherwise, ( ) where we leverage q σ,τ (x τi-1 |x τi , x 0 ) 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( θ ) = E x 0:T ∼qσ,τ (x 0:T ) [log q σ,τ (x 1:T |x 0 ) -log p θ (x 0:T )] (41) = E x 0:T ∼qσ,τ (x 0:T ) t∈τ D KL (q σ,τ (x t |x 0 ) p (t) θ (x 0 |x t ) + L i=1 D KL (q σ,τ (x τi-1 |x τi , x 0 ) 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 β tfoot_8 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 . 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 can be uniquely determined from α t (i.e. ᾱt ). First, from the diffusion forward process: q(x t-1 |x t , x 0 ) = N √ α t-1 β t 1 -α t x 0 + α t (1 -α t-1 ) 1 -α t x t μ(xt,x0) , 1 -α t-1 1 -α t β t I Ho et al. (2020) considered a specific type of p (t) θ (x t-1 |x t ): p (t) θ (x t-1 |x t ) = N (µ θ (x t , t), σ t I) which leads to the following variational objective: L := E x 0:T ∼q(x 0:T ) q(x T |x 0 ) + T t=2 log q(x t-1 |x t , x 0 ) - T t=1 log p (t) θ (x t-1 |x t ) (46) ≡ E x 0:T ∼q(x 0:T )    T t=2 D KL (q(x t-1 |x t , x 0 )) p (t) θ (x t-1 |x t )) Lt-1 -log p (1) θ (x 0 |x 1 )    One can write: L t-1 = E q 1 2σ 2 t µ θ (x t , t) -μ(x t , x 0 ) 2 2 (47) Ho et al. (2020) chose the parametrization µ θ (x t , t) = 1 √ α t x t - β t √ 1 -α t θ (x t , t) which can be simplified to: L t-1 = E x0, β t 2 2σ 2 t (1 -α t )α t -θ ( √ α t x 0 + √ 1 -α t , t) 2 2

D EXPERIMENTAL DETAILS 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 L 1 . Our architecture for (t) θ (x t ) 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. We consider two types of selection procedure for τ given the desired dim(τ ) < T : • Linear: we select the timesteps such that τ i = ci for some c; • Quadratic: we select the timesteps such that τ i = ci 2 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 

D.5 INTERPOLATION

To generate interpolations on a line, we randomly sample two initial x T values from the standard Gaussian, interpolate them with spherical linear interpolation (Shoemake, 1985) , and then use the DDIM to obtain x 0 samples. . 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 



Please refer to Appendix C.2 for details. We slightly abuse this term (as well as joints) when only conditioned on x0. We overload the term "forward process" for cases where the inference model is not a diffusion. SAMPLING FROM GENERALIZED GENERATIVE PROCESSESWith L 1 as the objective, we are not only learning a generative process for the Markovian inference process considered inSohl-Dickstein et al. (2015) andHo 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 σ.4 Learning a distribution over the predictions is also possible, but empirically we found little benefits of it. Although this case is not covered in Theorem 1, we can always approximate it by making σt very small. Although it might be possible if one interpolates all T noises, like what is done inSong & Ermon (2020). Since xT and x0 have the same dimensions, their compression qualities are not our immediate concern. = L γ ( θ ) (34)for all θ . From the definition of "≡", we have that J σ = L γ + C. In this section we use teal to color notations used inHo et al. (2020).



Figure 1: Graphical models for diffusion (left) and non-Markovian (right) inference models.

Figure 2: Graphical model for accelerated generation, where τ = [1, 3].

Figure 3: CIFAR10 and CelebA samples with dim(τ ) = 10 and dim(τ ) = 100.

Figure 4: Hours to sample 50k images with one Nvidia 2080 Ti GPU and samples at different steps.

Figure 5: Samples from DDIM with the same random x T and different number of steps.

(CIFAR10), Figure 8 (CelebA), Figure 10 (Church) and consistency results of DDIM in Figure 9 (CelebA).

(CelebA), Figure 12 (Bedroom), and Figure 13 (Church).

Figure 7: CIFAR10 samples from 1000 step DDPM, 1000 step DDIM and 100 step DDIM.

Figure 8: CelebA samples from 1000 step DDPM, 1000 step DDIM and 100 step DDIM.

Figure 10: Church samples from 100 step DDPM and 100 step DDIM.

Figure 11: More interpolations from the CelebA DDIM with dim(τ ) = 50.

Figure 12: More interpolations from the Bedroom DDIM with dim(τ ) = 50.

Figure 13: More interpolations from the Church DDIM with dim(τ ) = 50.

CIFAR10 and CelebA image generation measured in FID. η = 1.0 and σ are cases of DDPM (although Ho et al. (2020) only considered T = 1000 steps, and S < T can be seen as simulating DDPMs trained with S steps), and η = 0.0 indicates DDIM.

Reconstruction error with DDIM on CIFAR-10 test set, rounded to 10 -4 .

LSUN Bedroom and Church image generation results, measured in FID. For 1000 steps DDPM, the FIDs are 6.36 for Bedroom and 7.89 for Church.

