Destroy a picture with noise, one small step at a time, until nothing is left but static — then learn to run the clock backward. The forward wrecking looks like a thousand-step random walk, but it collapses: every intermediate is a single Gaussian, xt = √ᾱt·x₀ + √(1−ᾱt)·ε, jumpable in closed form. Down the center, data flows: the clean signal goes in, the noise schedule runs, pure static comes out. The blue team builds and defends it; the red team tries to break it.
source Ho, Jain & Abbeel, Denoising Diffusion Probabilistic Models (2020) — arxiv.org/abs/2006.11239; the forward chain is Sohl-Dickstein et al. (2015). Rendered, not quoted.
Pick a tiny noise schedule β₁…β_T (here linear, 1e−4→0.02 over T=1000). One step: xt=√αt·xt−1+√(1−αt)·ε, with αt=1−βt.
Compose t of them and the Gaussians fold together. Define ᾱt as the cumulative product α₁·α₂⋯αt. Then the whole chain equals one jump: q(xt|x₀)=𝒩(√ᾱt·x₀,(1−ᾱt)I).
Live, for the current step t:
The forward process is a fixed, parameter-free wrecking crew — proven here. The model is what you train to undo it: at each noise level, predict the noise (equivalently, the score ∇ log q).
That reverse half is the-score-matching run across the whole noise ladder ᾱ₁…ᾱ_T. This sphere is its premise: a schedule so gentle its marginal is closed-form, so the reverse can be learned level by level. Together they are the engine behind modern image generation.
The blue team's live check: for all T steps, recompute the closed-form marginal and the step-by-step chain independently and confirm they agree, plus √ᾱ²+√(1−ᾱ)²=1. If red tampers, this badge is where it shows.
Two things enter: a clean signal x₀ (a structured 1-D strip standing in for an image row, values in [−1,1]) and the variance-preserving noise schedule βt. Each step mixes a little standard-normal ε into x, shrinking the signal and growing the noise so total variance stays 1.
The schedule βt (linear, DDPM's choice AMBER) and x₀ are fixed; the noise ε is drawn once from a fixed-seed PRNG so the strip is coherent as you slide t.
top: x₀ · bottom: xt = √ᾱt·x₀ + √(1−ᾱt)·ε
■ √ᾱt (signal) ■ √(1−ᾱt) (noise) vs t
Slide t — the closed-form marginal is compared, on the spot, against t noising steps composed one at a time. Nothing is looked up.
What the machine proves, live: a T-step stochastic chain equals a single closed-form Gaussian at every t (mean and variance matched to 1e−9); ᾱt is monotone-decreasing, so by t=T the signal is gone — — and xT is essentially standard normal; and √ᾱ²+√(1−ᾱ)²=1 at every step, so variance is preserved throughout.
The blue team's witness (left) confirms these across all T live; the red team (right) tries to make them wrong.
The clean marginal depends entirely on Gaussian noise and a fixed schedule; other corruption or data on a curved manifold breaks the neat single-Gaussian collapse. And exactness costs time: vanilla DDPM sampling is T=1000 sequential network evals.
"Diffusion reverses the forward noise exactly." Cut. Only the forward marginal is closed-form. The reverse conditional is intractable; pθ is a learned approximation — what this engine does not claim to prove.
"You must run all T steps to sample." Corrected. DDPM does; DDIM (Song et al. 2020) and later solvers skip steps. The forward schedule is unchanged — sampling is decoupled from it.
"Adding noise makes the variance blow up." Cut. This is variance-preserving: √ᾱ²+√(1−ᾱ)²=1, so xt stays unit-variance and xT is standard normal — proven in the panel. (A separate variance-exploding form exists — Song & Ermon — different schedule.)
The red team's move: in the marginal, use the single-step αt where the cumulative product ᾱt belongs. The variance becomes 1−αt instead of 1−ᾱt, and the closed form no longer equals the chain. The blue team's witness (window 7) is watching.
Swap ᾱt for αt and the marginal's mean and variance drift away from the true composed chain — the witness recomputes, disagrees, and turns red. Nothing is faked; the attack is real and it is caught.