Diffusion Models 101


Diffusion models have been around for a while, but it wasn't until stable diffusion in 2022 that they became mainstream. In this workshop, we'll explore their inner workings, and how they accomplish the transformation of random noise into beautiful images and develop a simple diffusion model from the ground up, step-by-step. We'll start by adding random noise to images, and how the process itself can be optimized and automated using schedulers. Next, we'll explore the reverse diffusion process using both Denoising Diffusion Probabilistic Models (DDPMs) and the more efficient Denoising Diffusion Implicit Models (DDIM). We'll also discuss guided diffusion, and diffusion in latent space, the approach taken by stable diffusion. The goal of this session is to get you familiarized with diffusion models, their inner workings, and different approaches to data generation. We'll use Google Colab to build and train a simple diffusion model. You should be comfortable using Jupyter Notebooks, and training simple models in PyTorch.

Session Outline:

Module 1: The Diffusion Process: adding random noise to images
Module 2: Denoising Diffusion Probabilistic Models (DDPMs): reversing the diffusion process
Module 3: Denoising Diffusion Implicit Models (DDIMs): reversing in strides
Module 4: Diffusion in Latent Space and Guided Diffusion: less (dimensions) is more (speed)
Module 5: HuggingFace Diffusers

Background Knowledge:

Python, Jupyter Notebooks, PyTorch, Google Colab


Daniel has been teaching machine learning and distributed computing technologies at Data Science Retreat, the longest-running Berlin-based bootcamp, for more than three years, helping more than 150 students advance their careers. He writes regularly for Towards Data Science. His blog post "Understanding PyTorch with an example: a step-by-step tutorial" reached more than 220,000 views since it was published. The positive feedback from the readers motivated him to write the book Deep Learning with PyTorch Step-by-Step, which covers a broader range of topics. Daniel is also the main contributor of two python packages: HandySpark and DeepReplay. His professional background includes 20 years of experience working for companies in several industries: banking, government, fintech, retail and mobility.

Open Data Science




Open Data Science
One Broadway
Cambridge, MA 02142

Privacy Settings
We use cookies to enhance your experience while using our website. If you are using our Services via a browser you can restrict, block or remove cookies through your web browser settings. We also use content and scripts from third parties that may use tracking technologies. You can selectively provide your consent below to allow such third party embeds. For complete information about the cookies we use, data we collect and how we process them, please check our Privacy Policy
Consent to display content from - Youtube
Consent to display content from - Vimeo
Google Maps
Consent to display content from - Google