TutorialsDDPM

Chapter 1 — DDPM intro

DDPM stands for Denoising Diffusion Probabilistic Models, introduced by Ho et al. in 2020 (paper). It became one of the most influential formulations of diffusion-based generation.

At a high level, DDPM is simple:

  1. Define a forward process that gradually turns data into noise.
  2. Train a model to reverse that corruption.
  3. At inference, start from noise and denoise step by step.

In the continuous-time language used across this site, DDPM can be written as:

dx=12β(t)xdt+β(t)dWdx = {\color{#FF6B6B}-\dfrac{1}{2} \beta(t)\, x} \cdot dt + {\color{#64B4FF}\sqrt{\beta(t)}} \cdot dW

This equation is a concrete instantiation of the generic forward SDE:

dx=f(x,t)dt+g(x,t)dWdx = {\color{#FF6B6B}f(x,t)} \cdot dt + {\color{#64B4FF}g(x,t)} \cdot dW

but DDPM makes very specific choices for the drift and diffusion terms through the noise schedule β(t)\beta(t).

In the next chapters, we unpack why these choices matter:

  • why the noise schedule is critical,
  • why the drift was chosen to pull particles towards the origin,
  • and how this maps back to DDPM's original discrete formulation.
t=0.00
Particle cloud
x0x^0x1x^1
Drift
Drift (contour)
ttxx
Diffusion
ttβ(t)\sqrt{\beta(t)}
Noise schedule
ttβ(t)\beta(t)
1 / 6