Project 5B: Diffusion from Scratch

Kishan Jani

Part 5B 1: Single-Step UNET

Overview

We first build a one-step denoiser. Optimizing over L2 loss, we implement the denoiser as a UNet with the following architecture:

These are the operations used: We will train a denoiser to denoise noisy image \(z \) with \( \sigma = 0.5\) applied to a clean image \(x \): num_epochs = 5, batch_size = 256 , and hidden_dims = 128: . An Adam optimizer with lr = 1e-4 is used.

Results

To see results, click the link below:

5B Part 1 Results

Part 5B 2: Diffusion Model

In this part, we add time and class-conditioning and build our diffusion model: this model iteratively denoises the image rather than doing it in a single step. More explanation for model architecture and explanation in the page below.

Results

To see results, click the link below:

5B Part 2 Results