Description
1 Variational Autoencoder
Read sections 2 and 3 in https://arxiv.org/pdf/1312.6114.pdf for implementation
details. Specifically, you need to inplement the reparameterization trick, and use equation (10) as loss term.
Fill the blank parts in ./vae/model vae.py. After training, show the reconstructed
images and sampled images. If tuning network structure carefully, you should get good
results after 30 epoches.
2 Generative Adversarial Network
Read section 3 in https://papers.nips.cc/paper/5423-generative-adversarial-nets.
pdf for implementation details. https://arxiv.org/pdf/1511.06434.pdf contains
more tricks about how to define your network structure.
Fill the blank parts in ./gan/model gan.py. After training, show the sampled images. You should also get good results after 30 epoches.
3 What to submit
Please use TensorFlow (version ≥ 1.0) to do this project. You may train with GPU or
without GPU. Write a report to show your results. And zip the report with your code.
Hint: Use leaky ReLu and batch normalization in your network structure. Since
MNIST is a very simple dataset, you don’t need too deep networks. Usually 2 layers or
3 layers is enough.