DDPM uses a U-Net with skip connections as the denoising network, taking noisy image and timestep as input
The denoising backbone in DDPM is a U-Net: an encoder-decoder architecture with residual skip connections between corresponding encoder and decoder stages. The network takes a batch of noisy images and their noise levels (timesteps) as input, and outputs a tensor of the same shape (the predicted noise). The encoder progressively downsamples spatial resolution; the decoder progressively upsamples; skip connections preserve fine-grained spatial detail. Each stage has 2 ResNet blocks, group normalization, attention, and a down/upsample operation. The time conditioning (noise level) is injected at each ResNet block via sinusoidal position embeddings projected through an MLP.
Examples
In PyTorch: Unet(dim=28, channels=1, dim_mults=(1,2,4)). The network is called as model(x_noisy, t) where x_noisy has shape (B, C, H, W) and t has shape (B,).
Assessment
Draw the U-Net structure showing encoder, bottleneck, decoder, and skip connections. Explain why skip connections improve gradient flow and preserve spatial detail.