Diffusion Models - Part 3: DDIM

In Part 2 of the Diffusion Models series, I mentioned that Improved DDPM can match DDPM’s sample quality using only 100 steps instead of 1000, thanks to learned variance. That’s a 10x speedup and already a significant improvement. But if you’ve sat through a full 1000-step DDPM sampling loop, even 100 steps still feels slow. Denoising Diffusion Implicit Models (DDIM; Song et al., 2021) takes a more radical approach to the speed problem. Instead of making the existing sampling loop more efficient, it asks: does the sampling loop even need to be Markovian in the first place? ...

April 17, 2026 · Nhi

Diffusion Models - Part 2: Improved DDPM

In Part 1 of the Diffusion Models series, I covered the theory behind DDPM, the most basic diffusion model, which consists of: a forward process that gradually corrupts an image with Gaussian noise, a reverse process where a neural network U-Net learns to denoise step by step. If you got through all the math needed to understand DDPM, were not scared by it, and are in fact even more fascinated about diffusion models, the next (and hopefully easier to digest) paper is: ...

March 21, 2026 · Nhi

Diffusion Models - Part 1: DDPM

One of the places my curiosity took me to recently is Diffusion Models. Let’s start with Denoising Diffusion Probabilistic Models (DDPM; Ho et al. 2020). The GitHub repo for my PyTorch implementation of DDPM with instructions on how to train and generate images can be found here: halannhile/ddpm. Table of Contents Section 1: Theory Overview of DDPM The forward process The reverse process The training objective Training & sampling algorithms Section 2: Code ...

March 6, 2026 · Nhi