This repository contains implementations of generative models using NumPy.
- Naive Bayes (classifier)
- Boltzmann machine
- Restricted Boltzmann machine
- GAN
In my opinion, the best way to grasp a new generative model is by implementing it in NumPy. Only by doing so, one can understand the full picture of (probabilisitc) model assumptions, optimization and sampling.
- Danilo Rezende's slides on deep generative models
- Papers on generative models:
- Introducing GANs: http://papers.nips.cc/paper/5423-generative-adversarial-nets.pdf
- Introducing Variational autoencoders: Auto-Encoding Variational Bayes
- A Practical Guide to Training Restricted Boltzmann Machines
- Stochastic Backpropagation and Approximate Inferencein Deep Generative Models
- Introducing normalizing flows: Variational Inference with Normalizing Flows