Unlike GANs, Diffusion Models do not depend on adversarial processes to generate outputs. Diffusion Models generate data based on non-equilibrium thermodynamics. Diffusion Models are composed of two separate stages: the forward and reverse diffusion processes. The forward diffusion process is responsible for the addition of Gaussian noise to a given sample while the backward diffusion process is the reconstruction of a sample from a noisier sample. Diffusion Models operate on a series of time steps, from 1 to t, where an increased time step indicates another addition of Gaussian noise. This process is treated as a Markov Chain, where the sample at time step t only depends on the sample from time step t -1. The forward process is fixed, however, the model attempts to learn the necessary operations to perform on a given sample at time step t to reconstruct the sample at t -1. Once training is complete, the model should be able to generate a sample similar to those within the original distribution from complete Gaussian noise. While GANs may suffer from mode collapse and instability during training, Diffusion Models allow for stable training of large models on diverse data . While sampling from Diffusion Models requires many more forward passes when compared to GANs single-pass during inference, this allows for refinement of outputs and is not a major drawback for this particular use .