Generative Adversarial Networks (GANs) are deep neural network architectures that include two nets that are pitted against each other (that's the reason for the adversarial adjective in the name). GAN algorithms are used in unsupervised machine learning. The main focus for GANs is to generate data from scratch. Among the most popular use cases of GANs, there's image generation from text, image-to-image-translation, increasing image resolution to make more realistic pictures, and doing predictions on the next frames of videos.
As we mentioned previously, a GAN is made up of two deep networks, the generator and the discriminator; the first one generates candidates, while the second one evaluates them. Let's see how generative and discriminative algorithms work at a very high level. Discriminative algorithms try to classify the...