Back to Portfolio
Deep Learning

Unconditional DDPM

The Challenge

Understanding diffusion models beyond pre-built libraries and implementing a complete image generation pipeline from scratch. The goal was to learn how Denoising Diffusion Probabilistic Models (DDPMs) work internally, including the forward noise process, reverse denoising process, U-Net architecture, timestep embeddings, and image sampling. The challenge involved translating the mathematical concepts of diffusion models into a working PyTorch implementation while maintaining stable training and meaningful image generation.

The Solution

Built an Unconditional DDPM from scratch using PyTorch. Implemented the complete diffusion pipeline including forward diffusion, reverse diffusion, noise scheduling, U-Net based noise prediction, sinusoidal timestep embeddings, model training, and image generation. Trained the model to progressively learn the denoising process and generate images starting from pure random noise. The project focused on understanding the core principles behind modern generative AI systems rather than relying on existing frameworks.

Final Designs

Design image 1
Design image 2

The Outcome

Successfully developed a working DDPM implementation capable of generating images through iterative denoising. Gained practical experience with generative AI, diffusion mathematics, U-Net architectures, noise scheduling, and probabilistic modeling. The project provided a strong foundation for exploring advanced topics such as Conditional Diffusion Models, Latent Diffusion, and modern image generation systems like Stable Diffusion.

U-NetModel Architecture
1000+Diffusion Steps
500+Generated Samples
PyTorchFramework