Generative Adversarial Network (GAN) is class of deep learning algorithm, comprising of 2 networks – a generator and discriminator, both competing against each other to solve a goal. For instance, for image generation, the generator goal is to generate real like images which discriminator can’t classify as a fake or unreal image. The discriminator goal is to classify real images from fake ones. Initially the generator network would start off from blank images and keep on generating better images after each iteration, up to a point it start generating real like images. The discriminator network would take an input of real images and the images provided by the generator network and classifies the image as real or fake, up to a point where generator start generating real like images which is hard for the discriminator to discriminate. The same algorithm is being applied in other domains also. However, based on my experiments, lot of optimization need to happen for large image sizes. I had to create a custom generator/discriminator network to work against input size of 128*128 and 256*256 image pixels and lot of iterations to generate real-like images. The training data used was of Indian Bird.
Here is a snippet of my talk on GAN at the Eclipse Summit Conference, which demonstrates the experiment.