A GAN consists of two models—a Generator that creates fake data and a Discriminator that tries to detect if data is real or generated. Through adversarial training, the Generator improves its realism, while the Discriminator gets better at spotting fakes. GANs are widely used for image synthesis and style transfer.