Author: Alejandro Pozas Kerstjens
Implementation of different generative models based on energy-based learning. Examples are provided with the MNIST dataset.
Libraries required:
- pytorch >= 0.4.0 as ML framework
- numpy for math operations
- matplotlib for image visualization
- tqdm for custom progress bar
- imageio for exporting outputs to
.gif
format
Restricted Boltzmann Machine with binary visible and hidden units. Although in this example it is used as a generative model, RBMs can also perform supervised tasks.
Restricted Boltzmann Machine with binary hidden but continuous visible units.
Deep belief network with greedy pre-training plus global finetuning. A parameter of the model can do the visible layer to contain binary or continuous units.
- Implement Persistent Contrastive Divergence for training
- Deep Belief Network with binary visible units
- Deep Belief Network with continuous visible units