Course project for EN.553.741 Machine Learning II at JHU. This repo contains code for implementing Wasserstein GAN, variational autoencoder and denoising diffusion probabilistic models from scratch.
- VAE (Gaussian encoder + Bernoulli decoder) [1] trained on MNIST: [logs]
- WGAN (with weight clipping) [2] trained on MNIST: [logs]
- DDPM [3] trained on MNIST: [logs]
[1] Kingma, Diederik P., and Max Welling. "Auto-encoding variational bayes." arXiv preprint arXiv:1312.6114 (2013).
[2] Arjovsky, Martin, Soumith Chintala, and Léon Bottou. "Wasserstein generative adversarial networks." International conference on machine learning. PMLR, 2017.
[3] Ho, Jonathan, Ajay Jain, and Pieter Abbeel. "Denoising diffusion probabilistic models." Advances in neural information processing systems 33 (2020): 6840-6851.