Are you fascinated by generative modeling? Are you curious about how algorithms can turn complex images into simple noise? If so, you won’t want to miss this blog post about the principles of diffusion and how they can be used to create generative models!
In this post, we’ll explore the research of Sohl-Dickstein and how he used the principles of diffusion to develop an algorithm for generative modeling. We’ll also see how two students, Yang Song and his adviser, took this research further and developed a novel method for building generative models.
So, let’s dive in!
## Turning Complex Images into Simple Noise
The algorithm begins by taking an image from the training set. Each of the million pixels in the image has some value that can be plotted as a dot in million-dimensional space. To turn this image into simple noise, the algorithm adds some noise to each pixel at every time step, similar to the diffusion of ink after one small time step. As the process continues, the values of the pixels become less related to the original image, and the pixels start to look like a simple noise distribution.
## Machine Learning Part
Next, the machine learning part begins. The neural network is given the noisy images from the forward pass and is trained to predict the less noisy images from one step earlier. The parameters of the network are adjusted until it can reliably turn a noisy image into an image representative of a complex distribution.
## Envisioning the Future
Sohl-Dickstein published his diffusion model algorithm in 2015, but it was still far behind what GANs could do. It was Song and his adviser who connected the dots from this initial work to modern-day diffusion models like DALLĀ·E 2. In 2019 they published a novel method for building generative models that estimated the gradient of the distribution instead of the probability distribution.
At the end of the day, Sohl-Dickstein’s research and the work of Song and his adviser have helped to revolutionize the way generative models are created. We can only imagine what the future holds for generative modeling!
We hope this blog post gave you a better understanding of the principles of diffusion and how they can be used to create generative models. Thanks for reading!