Interactive Lab · Diffusion Models

Destroy it with noise, then learn to rebuild it

Diffusion models generate in a strange, beautiful way. Step 1: take real data and slowly drown it in noise until nothing is left but static, drag the slider below and watch the ring dissolve. Step 2: train a small network to undo one step of that noise. Step 3: start from pure static and run the denoiser over and over, and a clean ring emerges from nothing. Every image model (Stable Diffusion, DALL·E, Midjourney) works exactly this way.

▶ The playground, melt it, then bring it back

noise step t 0 train step 0 loss coverage status clean data
the data / current cloud the real ring (target)
Forward, drag noise into the data t = 0 is clean, t = T is pure static
0 · the ringpure noise · T

Settings
12 · coarsefine · 50
0.2 · gentleaggressive · 0.5
16 · smallbig · 96
0.001 · slowfast · 0.01

🧭 Where this fits

Diffusion is how modern image, video, and audio generators work (Stable Diffusion, Midjourney, Sora): learn to denoise, then generate by denoising pure noise step by step. Reach for it whenever you need to synthesize high-fidelity continuous data from a prompt.

The code that's actually running



  

🔮 Predict, then test

Before training, press Sample, the noise stays noise, because the denoiser hasn't learned which way is "toward the data" yet. Now Train, then Sample again and watch the ring appear. The network never memorized the ring; it only ever learned to answer one tiny question, "which direction is the noise I just added?", at every noise level. Chaining that answer thousands of times is what conjures a whole image from static.

The takeaway

Your new mental model of diffusion