This repository contains the materials for the Deep Generative Models course at the University of Tehran. It includes annotated Jupyter notebooks, supporting code, and reports for four course assignments (CAs) covering the most important families of deep generative models.
Deep-Generative-Models-Course/
├── CA1/ # Assignment 1
├── CA2/ # Assignment 2
├── CA3/ # Assignment 3
├── CA4/ # Assignment 4
├── .gitignore
└── README.md
Introduction to the probabilistic foundations of generative models. Topics include:
- Maximum likelihood estimation and density estimation
- Autoregressive generative models (e.g., PixelCNN, WaveNet)
- Variational Autoencoders (VAEs): encoder-decoder architecture, ELBO, reparameterization trick
- Latent space visualization and image generation
Exploration of adversarial training frameworks. Topics include:
- GAN theory: generator, discriminator, minimax objective
- Vanilla GAN, DCGAN, and Wasserstein GAN (WGAN)
- Training instabilities: mode collapse, gradient vanishing
- Image generation experiments on benchmark datasets (e.g., MNIST, CIFAR-10)
Study of likelihood-based and energy-based approaches. Topics include:
- Normalizing flows: invertible transformations, change-of-variables formula
- Real NVP, Glow architectures
- Energy-based models: contrastive divergence, Langevin dynamics
- Comparison of density estimation quality across model families
Deep dive into the state-of-the-art in generative modeling. Topics include:
- Denoising Diffusion Probabilistic Models (DDPMs): forward/reverse processes
- Score-based generative models: score matching, annealed Langevin dynamics
- Latent diffusion and guidance techniques (classifier-free guidance)
- Image synthesis results and evaluation metrics (FID, IS)