
What Are Diffusion Models?
A diffusion model learns to generate data by reversing a controlled corruption process. During training, clean examples are mixed with noise at different intensities. A neural network learns what noise was added—or, in equivalent parameterizations, what clean sample or velocity produced the noisy input. During generation, the model begins with random noise and repeatedly transforms it into a structured sample. That description is simple, but three details matter: Training does not run the entire noising chain for every example. Any noise level can be sampled directly. The reverse transition is learned because the exact reverse distribution depends on the unknown data distribution. Generation is iterative. Computation within one step is parallelizable, but the denoising steps themselves are sequential. The formulation was introduced by Sohl-Dickstein et al. and made practical for high-quality image synthesis by Ho, Jain, and Abbeel. This article develops the discrete-time DDPM formulation first, then connects it to modern architectures and samplers. ...