Assignment 4: Variational Autoencoders

Discussion: May 13th
Deadline: May 12th, 23:59

In this assignment, we will implement a variational autoencoder (VAE).

Implementing a VAE

From an implementation standpoint, a VAE is pretty much just an autoencoder with a stochastic encoder and a regularized latent space. As such, you might want to proceed as follows:

You will likely find many VAE implementations around the web. Feel free to use these for “inspiration”, but make sure you understand what you are doing! In particular, here are some technicalities to pay special attention to:

Train your VAE and generate some samples, perhaps trying out multiple architectures and datasets. Think about the following issues: