Generative adversarial networks (GANs) are a class of machine learning frameworks where two neural networks contest with each other in a game. One network generates new data instances, while the other evaluates them for authenticity. The generator creates synthetic instances to fool the discriminator, while the discriminator learns to identify the generator's fakes from true instances.