Generative Adversarial Network

Generative Adversarial Networks – GANs – are a class algorithms used in unsupervised machine learning composed of 2 neural networks: one network generates candidates, the generator, and the other evaluates them, the discriminator.

Originally created to generate images with a certain success, GANs have been adapted to the creation of other of data. Here is a diagram that represents how a GAN works.

Generative Adversarial Network working principle
How a Generative Adversarial Network works

The generative network, typically a deconvolutional neural network, learns to map from a latent space to a particular data distribution of interest, while the discriminative network, a convolutional neural network, discriminates between instances from the true data distribution and candidates produced by the generator.

The generative network’s training objective is to increase the error rate of the discriminative network (i.e., “fool” the discriminator network by producing novel synthesized instances that appear to have come from the true data distribution).

Read more on GANs on deeplearning4j and Wikipedia.