A diffusion model generates images by starting from pure noise and removing a little of it at a time, having learned what noise looks like.
Two ways to generate images. Diffusion is stable and slow at generation; GANs generate in a single pass and are hard to train.
A diffusion model generates data by starting with pure noise and removing a little at each step. It learned to do this by being trained on the reverse: adding noise to real images until nothing remained.
Training is the easy direction. Take a real image, add a known amount of noise, ask the model to predict what was added. Do that enough times and the model can walk the process backwards from noise alone.
Think of it like this. Think of watching a photograph dissolve into static, frame by frame, thousands of times. Eventually you learn the dissolve so well that you can run it backwards and pull a photograph out of static.