Generative Adversarial Network
- Definition
- A GAN trains two networks: a generator that creates fake samples and a discriminator that tries to tell real from fake. They compete until the generator produces convincing outputs. S, picture a forger improving to fool a detective. GANs differ from likelihood-based generative models (like VAEs) because they don't optimize an explicit probability; training can be unstable but often yields sharp, realistic samples.

How does it work?
Generative Adversarial Network architectures are specialised neural designs; they define layer types and connectivity that bias the model to particular data structures. Implementations balance depth, width, and compute considerations for practical training.
Examples
- Image synthesis — Generate photorealistic images (faces, textures) for data augmentation or creative tools.
- Super-resolution — Learn a mapping from low- to high-resolution images using adversarial loss.
- Domain adaptation — Translate styles between domains (e.g., day↔night) with CycleGAN variants.
Problems
- Training instability between generator and discriminator
- Mode collapse, where the generator produces limited variety
- Difficult to know when training has actually converged
- Sensitive to architecture and hyperparameter choices
- Evaluation metrics for generated quality are imperfect