Generative Adversarial Networks (GANs) consists of two neural networks, the generator and the discriminator, which are trained simultaneously through a competitive process.
- Generator: Its goal is to create data that is indistinguishable from real data.
- Discriminator: The discriminator network tries to distinguish between real data and data generated by the generator. It is trained on both real data and the fake data generated by the generator.
I used the MNIST dataset to train the GAN for generating hand-written digits. Then I used matplotlib to plot some generated images on each epoch.
| Name | Type | Parameters
------------------------------------------------
0 | generator | Generator | 358 K
1 | discriminator | Discriminator | 21.4 K
------------------------------------------------
The images generated were basically just noise
Generated images pattern started to look like a hand-written digit
Generated images now look like hand-written digits now