Generative Adversarial Network

What are Generative Adversarial Networks?

A generative adversarial network (GAN) is an unsupervised machine learning technique that trains two neural networks by forcing them to “outwit” each other in a zero-sum learning game. Most often used in image or video processing, these types of networks have a higher accuracy rate and faster learning curve than many other unsupervised learning techniques.


How does a Generative Adversarial Network Work?

Generally, the first “generative” network guesses classifier candidates and the other “discriminative” network evaluates them. In most cases, the generative network tries to map from a latent space to a certain “data distribution of interest,” all while the discriminative network discriminates between instances from the true data distribution and those coming from the generator.

To increase learning speed, the generative network is programmed to increase the discriminative network’s error rate. The generator algorithm will “trick” the evaluator by producing synthetic instances that seem to come from the true data distribution. Backpropagation is then used to improve both network’s accuracy. In particular, so that the generator network processes data more realistically, while the discriminator network gains more skill at spotting artificial constructs.

Most of the time, the generator is designed as a deconvolutional neural network, while the discriminator is a convolutional neural network.

Applications of Generative Adversarial Networks

As mentioned above, GANs can be used to generate images that are superficially authentic to human observers. Some fashion advertising companies have turned to using GAN synthesized models instead of real humans. This saves the advertising company on the costs to transport, makeup, and shoot real human models. There are objections, however, to the synthesis of human photos, as some believe there are too many malicious purposes for which such content could be abused.

GANs can also help make synthetic images even clearer. For example, some video game companies are able to up-scale the resolution of their older games using GANs. The low-resolution images from older games can be converted to high definition resolutions.