Selected implementations and experiments from a graduate Deep Generative Models course, covering latent-variable models, adversarial translation, energy-based modeling, score-based generation, and diffusion models.
A convolutional VAE / β-VAE experiment with quantitative representation analysis using the Mutual Information Gap (MIG).
| β | Overall MIG |
|---|---|
| 1 | 0.0148 |
| 6 | 0.2076 |
| 12 | 0.1548 |
The experiment illustrates the trade-off between reconstruction pressure and disentanglement: in these runs, β=6 produced the strongest overall MIG.
A CycleGAN implementation with:
- residual-block generators
- PatchGAN discriminators
- adversarial, cycle-consistency, and identity losses
- image replay buffer
- Horse↔Zebra and Summer↔Winter experiments
An energy-based generative model trained with negative samples produced by Langevin dynamics, including experiments with and without a replay buffer.
Key components:
- convolutional energy network
- Langevin sampling
- contrastive energy objective
- replay-buffer comparison
- generation and denoising experiments
A score network trained with weighted denoising score matching on multiple Gaussian noise scales.
Key components:
- Gaussian/Fourier noise embeddings
- adaptive residual blocks
- weighted denoising score matching
- annealed Langevin dynamics
- conditional generation experiments
A diffusion pipeline built around a U-Net noise predictor, with both DDPM and DDIM sampling.
Selected results from the original experiment:
- approximate FID (500 generated samples): 81.75
- DDIM sampling (50 samples): ~1.15 s
- DDPM sampling (50 samples): ~23.7 s
The FID value is reported as an approximate course experiment rather than a benchmark result.
deep-generative-models/
├── notebooks/
│ ├── beta_vae_disentanglement.ipynb
│ ├── cyclegan_unpaired_translation.ipynb
│ ├── energy_based_model_mnist.ipynb
│ ├── score_based_ncsn_mnist.ipynb
│ └── ddpm_ddim_fashionmnist.ipynb
├── assets/
├── data/
│ └── README.md
├── README.md
├── requirements.txt
└── .gitignore
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtOpen the notebooks with JupyterLab or Jupyter Notebook.
The notebooks use public datasets such as dSprites, MNIST, FashionMNIST, horse2zebra, and summer2winter_yosemite. Large datasets and model checkpoints are intentionally not included in this repository. See data/README.md for notes.
- Notebook outputs were cleaned for the public portfolio version; representative figures and the reported metrics are preserved in the README.
- Environment-specific Kaggle/Colab paths were replaced with portable relative paths where practical.
- The original coursework also included a normalizing-flow/MAF experiment and DreamBooth-LoRA work. They are not included in this public version because those implementations need additional cleanup/validation before publication.
- A separate repository is used for the Flow Matching financial time-series project because it forms a coherent standalone project.
deep-learning generative-models vae cyclegan energy-based-models score-based-models diffusion-models ddpm ddim pytorch




