Generative Adversarial Networks (GAN) consist of two AI models that work against each other, comprising a generator and a discriminator. While most models predict output based on input data, GANs exemplify unsupervised learning, as they supervise themselves. The generator creates fake samples, while the discriminator evaluates whether these samples are real or fake. This adversarial setup allows the generator to iteratively improve its fake outputs until they are almost indistinguishable from real samples. An example involves training the discriminator with numerous images of flowers, focusing on attributes like color and shape. Once the discriminator is proficient at distinguishing real flowers from non-flowers, the generator is activated to produce fake floral images. Over time, through repeated cycles of generation and discrimination, the GAN refines its outputs, aiming for realism that can deceive both the discriminator and human observation.