Unit content
Diffusion models and iterative denoising
A diffusion model learns to reverse a gradual noising process. During training, clean data are corrupted by increasing amounts of random noise; the model learns information that lets it move noisy samples back toward regions of high data probability.
Forward noising process
Starting from data $x_0$, progressively noisier variables are produced until the distribution is close to a simple Gaussian noise distribution.
A common formulation allows a noisy sample at time $t$ to be generated directly from $x_0$ by combining a scaled data term with Gaussian noise.
Learning to denoise
The neural network is trained on noisy examples together with the noise level. Depending on the formulation, it predicts the added noise, the clean sample, or a related quantity such as the score
$$\nabla_x\log p_t(x),$$
the direction in data space toward increasing log probability density.
Generation
Generation begins from random noise. The model repeatedly applies small denoising updates, following the learned structure of the noisy data distributions until a plausible sample emerges.
Gaussian noise → slightly structured → ... → generated sample
Why many steps?
Mapping arbitrary noise directly to a complex data distribution is difficult. Diffusion replaces that single hard transformation with many simpler local corrections.
Conditioning
Additional information such as text embeddings or class labels can guide the denoising network, producing samples from a conditional distribution rather than from the unconditional data distribution.