Course Overview
This course explores a variety of modern techniques for learning to sample from an unknown probability distribution given examples. Generative models are an active area of research: most of the techniques we discuss in this course have been developed in the last 10 years. This course is integrated tightly with the current research literature, and will provide the context needed to read papers on the most recent developments in the field. The lectures will focus on the theoretical and mathematical foundations of generative modeling techniques. The homeworks will consist a mix of analytical and computational exercises. The course project is intended to offer an opportunity to apply these ideas to your own research, or to more deeply investigate one of the topics discussed in the course.
Prerequisites: This course builds upon fundamental concepts in machine learning, as presented in e.g. CSE 546.
List of topics:
- Autoregressive Models
- The NADE Framework
- RNN/LSTM and Transformers
- Variational Autoencoders
- The Gaussian VAE
- ConvNets and ResNets
- Posterior Collapse
- Discrete VAEs
- Generative Adversarial Nets
- f-GANs
- Wasserstein GANs
- Generative Sinkhorn Modeling
- Generative Flow
- Autoregressive Flows
- Invertible Networks
- Neural Ordinary Differential Equations
- Energy-Based Models
- Stein's Method and Score Matching
- Langevin Dynamics and Diffusions
Course material covering similar topics from other institutions:
Discussion Forum and Email Communication
Discussion will take place on Ed. For private or confidential questions email the instructor.
You may also get messages to the instructor through anonymous course feedback.
Coursework
There will be 3 homeworks (each worth 20%) and a project (worth 40%).
- Homework 0: (No submission)
- [Homework 1], [Git Repo]: Due on October 26
- Sampling Transformations, Gaussian Mixture Models, Autoregressive Modeling (WikiText2)
- [Homework 2], [Git Repo]: Due on November 16
- Variational Autoencoders, PixelCNN, Normalizing Flows (MNIST)
- [Homework 3], [Git Repo]: Due on December 7
- Generative Adversarial Nets, Wasserstein GAN (CIFAR-10)
- Final Project: Due on December 18th
- Partner with up to 4 people
- Examples of possible projects:
- An application of generative models to your own research
- Reproduction of empirical results reported in a recent paper
- Exposition or extension of a technical theoretical result in a recent paper
- Application of generative modeling techniques to a novel dataset
- Consider what computing resources you might need and plan ahead
Schedule
- Lecture 1: Sept. 30
- Welcome, logistics, overview of the course
- Pushforward distributions and simulation of random variables
- Discrete versus Continuous Modeling
- [Lecture Notes], [Slides]
- Supplementary Reading:
- Lecture 2: Oct. 5
- Parametric Modeling
- Gaussian Mixture Models, Expectation Maximization
- The Evidence Lower Bound (ELBO)
- [Lecture Notes], [Slides]
- Supplementary Reading:
- Lecture 3: Oct. 7
- Sequence Modeling, Text Modeling
- Linear Autoregressive Models, n-gram Models
- [Lecture Notes], [Slides]
- Supplementary Reading:
- Lecture 4: Oct. 12
- Fully-Visible Sigmoid Belief Networks (FVSBN)
- Neural Autoregressive Distribution Estimation (NADE)
- Recurrent Neural Networks (RNN)
- Exposure Bias
- [Lecture Notes], [Slides]
- Supplementary Reading:
- Lecture 5: Oct. 14
- Lecture 6: Oct. 19
- The Variational Autoencoder (VAE)
- Monte-Carlo Gradient Estimation
- The ELBO for Gaussian VAEs
- [Lecture Notes], [Slides]
- Supplementary Reading:
- Lecture 7: Oct. 21
- Image Modeling
- Convolutional Neural Networks (CNNs)
- Residual Networks and BatchNorm
- [Lecture Notes], [Slides]
- Supplementary Reading:
- Lecture 8: Oct. 26
- Importance-Weighted Autoencoders (IWAE)
- PixelCNN, PixelVAE, and Posterior Collapse
- Normalizing Flows
- [Lecture Notes], [Slides]
- Supplementary Reading:
- Lecture 9: Oct. 28
- Inverse Autoregressive Flows (IAF)
- Discrete VAE's and the Vector-Quantized VAE's (VQ-VAE)
- Discrete Gradient Estimators: REINFORCE, Gumbel, ST
- [Lecture Notes], [Slides]
- Supplementary Reading:
- [NVAE]: High-resolution image modeling with VAE+IAF.
- [Jukebox]: a VQ-VAE for generative modeling of audio.
- Lecture 10: Nov. 2
- Lecture 11: Nov. 4
- The Wasserstein GAN
- Gradient Penalty Methods
- [Slides]
- Supplementary Reading:
- Lecture 12: Nov. 9
- Lecture 13: Nov. 16
- Lecture 14: Nov. 18
- Sinkhorn's algorithm
- Generative Sinkhorn Modeling
- [Slides]
- Supplementary Reading:
- Lecture 15: Nov. 23
- Lecture 16: Nov. 30
- Lecture 17: Dec. 2
- Lecture 18: Dec. 7
- Simulated Annealing
- Denoising Diffusion Probabilistic Models
- [Slides]
- Supplementary Reading: