GANs are a framework for teaching a DL model to capture the training data’s distribution so we can generate new data from that same distribution. GANs were invented by Ian Goodfellow in 2014 and first described in the paper Generative Adversarial Nets. They are made of two distinct models, a generator and a discriminator. The job of the generator is to spawn ‘fake’ images that look like the training images. The job of the discriminator is to look at an image and output whether or not it is a real training image or a fake image from the generator. During training, the generator is constantly trying to outsmart the discriminator by generating better and better fakes, while the discriminator is working to become a better detective and correctly classify the real and fake images.
-
Models
- Variational Autoencoder
- Deep Convolutional GAN (DCGAN)
-
VAE - Mnist
- notebook
- Example generation
-
VAE - Labelled Faces in the wild dataset
- notebook
- Not much success in generation
-
DCGAN - MNIST
- notebook
- Example Generation: View Notebook
-
DCGAN - CELEBA dataset
- notebook
- Example Generation
- DCGAN - Anime faces dataset
- notebook
- Example Generation
- PS: GANs are harder to train than I imagined.
- These examples generation can be better, you are very welcome to take my started code and add on it.