Generative Adversarial Networks
A gentle introduction
Generative Adversarial Networks (GANs) are a class of algorithms used in Deep Learning which belong to the category of generative models.
With “generative models” we refer to those models whose main goal is that of describing, in terms of a probabilistic rule, how a dataset is generated. By doing so, whenever we sample from the obtained probabilistic rule, we end up having a new dataset that is different from the original one, yet it seems to be generated by the same mechanism as the former.
GANs have been first introduced in the 2014 paper by I. Goodfellow et al., “Generative Adversarial Networks”. Before deep-diving into the architecture of those models, let’s first have a look at the main idea behind them.
The Main Idea behind GANs
As mentioned above, the goal of a GAN is that of generating new data (in this context, images, as we are in the field of Computer Vision) that a fairly careful observer could easily believe as being real (that means, belonging to the original dataset of images). In other words, we want the generative mechanism to be so good at creating new images that even the human eye cannot easily discriminate whether a fake generated image belongs to the true original dataset or not.