What is a Generative Adversarial Network (GAN)
Generative Adversarial Networks (GANs) can be described as extremely powerful kinds of neural networks that are employed to aid in Unsupervised Learning. They were created and first introduced in 2014 by Ian J. Goodfellow 2014. GANs are comprised of two neural networks that are in competition with one another and can analyse the changes within a set of data.
GANs are a method for generative modelling that uses deep learning methods like CNN (Convolutional Neural Network). Generative modelling is an unsupervised learning method that automatically discovers and learns patterns in input data so that the model can be used for new examples from the original dataset.
GANs are a method of training generative modelling by framing the problem as a supervised learning problem and using two sub-models. GANs have two components:
Generator This is a program that generates new data from real-world images.
Discriminator This compares the images with real-world examples to classify fake and real images.
Example The Generator generates random images (e.g., The Generator generates some random images (e.g., tables), and then the Discriminator compares these images with real-world table images. Finally, the Generator sends the feedback directly to Generator. See the GAN structure in the following figure.
What is the Reason GANs were Invented in the First Place?
It is well-known that most of the neural nets used in mainstream research are easily misled into misclassifying items by introducing a tiny amount of noise to the data. Surprisingly, the model modified after adding noise has a higher probability of making a mistake than when it has made a good prediction. The reason for this is that machines learn from the smallest amount of data. This is a main drawback as it can be overfitted. The relationship between input and output is almost linear. While the lines of separation between different classes could be linear, they are comprised of linearities, and even minor changes in one point of the feature space could cause data to be classified incorrectly.
How does GAN works?
Generative Adversarial Networks (GANs) can be broken down into three parts:
Let's look at an example: generating images of Dogs.
Step 1: Training of Discriminator
Step 2 - Training the Generator
After a few more iterations, the Generator will start generating images similar to real-world images.
Applications to GAN: