Generative adversarial network

Generative adversarial networks (GANs) are an elegant deep learning approach to generating fake data that is indistinguishable from real data. Two neural networks are paired off against one another (adversaries). The first network generates fake data to reproduce real data. The second, discriminative network, is tasked with trying to decide which is real and which is fake data. The process is repeated over and over, requiring both the generation of fake data and the detection of fake data to continuously improve. The importance of being able to produce realistic fake data, synthetic data, allows for the generative network to learn what features are important to pass as real data.