Introduction
Imagine trying to create a clear picture starting from a noisy, blurry mess. Diffusion models solve this problem by learning how to gradually remove noise from data to reveal meaningful content, like images or sounds.
Jump into concepts and practice - no test required
Imagine a foggy window that slowly clears up as you wipe it with a cloth. At first, you see only blurry shapes, but with each wipe, the view becomes clearer until you see the full scene outside. The diffusion model works like this, starting with noise and gradually revealing the clear data.
Original Data
│
▼
[Add Noise Step 1]
│
▼
[Add Noise Step 2]
│
▼
...
│
▼
[Pure Noise]
│
▲
[Remove Noise Step 1]
│
▲
[Remove Noise Step 2]
│
▲
...
│
▲
Generated Datanoise_level = 0.5 noisy_data = original_data + noise_level * random_noise cleaned_data = model.predict(noisy_data)What does
cleaned_data represent here?noisy_data is original data plus noise; cleaned_data is model output from noisy input.cleaned_data is the model's cleaned guess.for step in range(1, 11):
noisy = add_noise(data, step)
loss = model.train(noisy, data)
print('Loss:', loss)
The loss does not decrease as expected. What is the likely mistake?