Denoising Diffusion

A denoising diffusion model is a generative model that learns to reverse a gradual noising process. It defines a forward diffusion that transforms data into pure noise through a sequence of Gaussian transitions, and a reverse denoising process that reconstructs samples by learning the score (i.e., the gradient of the log-density of noisy data). The generative model is thus a learned approximation of the time-reversal of diffusion.

The forward process is a Markov chain that incrementally adds Gaussian noise:

where the variance schedule controls how rapidly signal is destroyed. Each step slightly shrinks the signal via and adds isotropic noise , where is the identity matrix. Because each transition is linear-Gaussian, the marginal distribution conditioned on the original clean data has a closed form:

where . This formula expresses a mixture of preserved signal and accumulated noise . As , nearly all signal disappears and , yielding a tractable prior distribution for generative sampling.

The generative model then defines a learned approximation to each reverse transition:

where a neural network (often a U-Net or Transformer) predicts the mean or equivalently the added noise .

A sampling procedure generates new data by running this learned reverse process starting from pure Gaussian noise. Since the model cannot reconstruct a clean sample in one step, it denoises gradually: begin with pure noise and iteratively apply the reverse transitions

yielding as the generated sample.

Diffusion models are trained by predicting the noise used in the forward process:

a simple regression objective that approximates , the score of the noisy data distribution.