Generation as inverted destruction
Every generative model must answer one question: how do you turn random noise into a sample that looks like it came from your dataset? GANs answer with an adversarial game, autoregressive models with one-token-at-a-time prediction. Diffusion models answer with a trick of striking indirection: destroying data is easy, so learn to run destruction backwards.
The recipe has two halves:
- A forward process that needs no learning at all: take a real image and add a little Gaussian noise, over and over, until nothing but static remains.
- A reverse process that is learned: a neural network trained to undo one small step of that corruption at a time.
Generate by starting from pure static and applying the learned denoiser step by step until an image crystallizes. The insight that makes this practical: while "generate an image from nothing" is a monolithic, intractable task, "remove a little noise" is a small, supervised, learnable one, and you have infinite training data for it, because you manufactured the corruption yourself.

