Generative AI / Computer Vision
Generative Adversarial Networks (GANs)
Generative Adversarial Networks (GANs) are a class of machine learning frameworks where two neural networks, a generator and a discriminator, compete against each other in a zero-sum game. The generator creates synthetic data while the discriminator attempts to distinguish between the synthetic data and real-world training data.
Explanation
Introduced by Ian Goodfellow in 2014, GANs function through an adversarial process. The Generator starts with random noise and attempts to transform it into data (such as an image) that mimics the training set. The Discriminator acts as a classifier, evaluating both real data and the generator's output to determine authenticity. During training, the generator receives feedback based on whether it successfully fooled the discriminator, allowing it to improve its realism over time. Conversely, the discriminator improves its ability to spot fakes. This creates a feedback loop where both networks become increasingly proficient. While highly effective for high-resolution image synthesis and style transfer, GANs are notoriously difficult to train, often suffering from 'mode collapse'—a state where the generator produces a limited variety of outputs—and require careful balancing of the two networks' learning rates.