/generative-model

Primary LanguageJupyter Notebook

Generative models

This is a collection of generative models

Variational Auto Encoder (VAE)

1. Variational Auto Encoder (VAE)

This is an implementation of Auto-Encoding Variational Bayes using Pytorch.

Reference paper:

Code: apaszke, which is changed some part to implement in Jupyter notebook.

2. Conditional VAE

This is an extension of VAE using an extra input label y to generate new instances.

Reference paper:

Code: wiseodd.

3. Denoising VAE

This is an extension of VAE with noise injected into input.

Reference paper Denoising criterion for variational auto-encoding framework.

The code is adopted from wiseodd.

Loss is averaged by using PyTorchNet. To install PyTorchNet, we can run following command:

pip install git+https://github.com/pytorch/tnt.git@master

3. Adversarial Autoencoders

Generative Adversarial Networks (GANs)

1. Generative Adversarial Networks (GAN)

GAN is a neural networks that is composed of 2 separate deep neural networks trying to compete each other during training time: the generator and the discriminator.

Reference paper:

Article:

Code: wiseodd

2. Deep Convolutional Generative Adversarial Networks (DCGAN)

In order to understand Deconvolutional network, refer to this Convolution arithmetic.

In general case, with W: the input volume size, F: the filter/kernel size, S: the stride and P: the amount of zero padding used, the architecture of Deconv layer can be computed as following:

(W + (W-1)*(S-1)) + (F-1) -2P)

Reference paper:

Code: Pytorch DCGAN

3. Conditional Generative Adversarial Networks