Generative Adversarial Networks (GANs) consist of two neural networks, a generator and discriminator, that are trained simultaneously. The generator produces new data from random noise input to resemble real data, while the discriminator evaluates if data is real or generated. Through adversarial training, the generator improves at fooling the discriminator until generated data becomes indistinguishable from real data. GANs have been successful in image generation and other domains but training remains challenging.