Denoising Diffusion Probabilistic Models

Contributions

  • High-quality image synthesis without adversarial training: demonstrates that diffusion probabilistic models can generate images matching GAN-quality on CIFAR-10 and competitive on higher-resolution benchmarks, using a stable likelihood-based training objective.
  • Simplified DDPM training objective: shows that a reweighted ELBO — predicting the noise ε added at each diffusion step rather than the mean μ_θ — significantly improves sample quality and simplifies implementation.
  • Connection between diffusion models and denoising score matching: establishes that DDPM training is equivalent to learning a sequence of denoising autoencoders, connecting probabilistic modeling with score-based generative models.
  • Lossless codelength and log-likelihood: achieves competitive NLL on CIFAR-10 (≤3.70 bits/dim) while also producing visually high-quality samples — a combination previous likelihood-based models struggled to achieve simultaneously.

Methodology

Forward Diffusion Process

The forward process gradually adds Gaussian noise to a data point x₀ over T steps:

q(x_t | x_{t-1}) = N(x_t; √(1-β_t) x_{t-1}, β_t I)

where β_t is a fixed variance schedule (linear from 10⁻⁴ to 0.02 in the original paper). After T=1000 steps, x_T ≈ N(0,I). A useful closed-form allows sampling x_t directly from x₀:

x_t = √(ᾱ_t) x₀ + √(1-ᾱ_t) ε,  ε ~ N(0,I)

where ᾱ_t = ∏_{s=1}^{t} (1-β_s).

Reverse Process (Learned Denoising)

The reverse process learns to undo each noise step:

p_θ(x_{t-1} | x_t) = N(x_{t-1}; μ_θ(x_t, t), Σ_θ(x_t, t))

The mean μ_θ is parameterized by a neural network. The key finding: predicting the noise ε added to x₀ (rather than μ_θ directly) yields better samples. The simplified training objective becomes:

L_simple = E_{t, x₀, ε} [ || ε - ε_θ(√ᾱ_t x₀ + √(1-ᾱ_t) ε, t) ||² ]

Neural Architecture

The denoising network ε_θ is a U-Net with:

  • Residual blocks with group normalization
  • Multi-head self-attention at 16×16 and 8×8 feature map resolutions
  • Sinusoidal positional embeddings for the timestep t
  • Skip connections between encoder and decoder paths

Sampling

Generation proceeds by iteratively sampling:

x_{t-1} = (1/√α_t)(x_t - (1-α_t)/√(1-ᾱ_t) · ε_θ(x_t, t)) + σ_t z,  z ~ N(0,I)

for t = T, T-1, …, 1. Requires T=1000 sequential neural network evaluations — the main computational cost.

Results

  • CIFAR-10: FID 3.17 (unconditional), competitive with state-of-the-art GANs; IS 9.46. NLL ≤ 3.70 bits/dim.
  • CelebA-HQ 256×256: FID 3.0, surpassing PGGAN (8.0) and comparable to StyleGAN (5.2).
  • LSUN Bedroom 256×256: FID 4.90, competitive with most GAN variants.
  • The model achieves good sample quality (low FID) AND reasonable NLL — a combination that flow models and VAEs previously could not match simultaneously.
  • The ε-prediction parameterization consistently outperforms μ-prediction across all benchmarks.

Limitations

  • Slow sampling: requires 1000 sequential denoising steps; each step requires a full U-Net forward pass, making generation ~1000× slower than a single-step GAN.
  • No encoder: unlike VAEs, DDPM has no encoder mapping real images to latent codes.
  • Fixed noise schedule: the linear β schedule is a hyperparameter; later work (cosine schedule, learned schedules) improves performance.
  • Subsequent work addresses sampling speed (DDIM: deterministic sampling in 50 steps; consistency models; flow matching) and extends the framework to latent spaces (Stable Diffusion).