home/ atoms/ diffusion-reverse-process

The reverse diffusion process is a neural network that approximates the intractable denoising posterior at each timestep

To generate new data, a diffusion model runs the reverse chain: starting from pure Gaussian noise x_T, it iteratively samples x_{t-1} from an approximate posterior p_theta(x_{t-1}|x_t). The true reverse posterior q(x_{t-1}|x_t) is intractable because estimating it would require the entire dataset, so a neural network parameterises a Gaussian approximation with learned mean and (optionally) variance. When beta_t is small, the reverse step is also approximately Gaussian, so this parameterisation is well justified. Each reverse step is one neural network forward pass, making total generation cost O(T) inference calls. The network sees the noisy sample x_t and the timestep t as inputs, calibrating its denoising behaviour to the current noise level.

Examples

In Stable Diffusion the reverse network is a U-Net that takes the latent noisy image plus a sinusoidal timestep embedding and text conditioning, producing a noise estimate for that step.

Assessment

Why is the reverse posterior q(x_{t-1}|x_t) intractable to compute directly? What does the neural network p_theta learn to approximate, and what are its inputs?

“because it needs to use the entire dataset and therefore we need to learn a model”
corpus · what-are-diffusion-models-lil-log-lilian-weng · chunk 3