Part 3 · The Maths I: Continuous Diffusion
The forward process
Fix a noise schedule β1, …, βT ∈ (0,1) of small, typically increasing values, and let data be x0 ~ q(x0). The forward process is a Markov chain that corrupts one step at a time:
xt the data after t noising steps · βt how much noise this step adds · 𝒩(μ, Σ) a Gaussian · I the identity, so noise is added independently per coordinate
The odd-looking √(1−βt) is deliberate: if Var(xt−1) = I, then Var(xt) = (1−βt)·I + βt·I = I. Signal shrinks at exactly the rate noise grows — a variance-preserving chain that neither explodes nor collapses. Because Gaussians compose, the whole chain telescopes into a single jump. Writing αt = 1−βt and ᾱt = α1α2⋯αt:
ᾱt the cumulative signal retained after t steps (the product of all 1−β so far) · ε a standard Gaussian draw · the point is that any t is reachable in one shot, without simulating the chain
Why this closed form matters. Training never has to simulate the chain: draw a random t, draw ε, and you have a corrupted sample at exactly noise level t in one line of code. This is what makes diffusion training as cheap per example as ordinary supervised learning. By design ᾱT ≈ 0, so xT ~ 𝒩(0, I): all information about the data is destroyed, and generation can start from pure noise.