A GAN trains two networks against each other: one generates fake data, the other tries to spot it, and the competition drives both to improve.
A GAN learns by competition and produces sharper output with unstable training. A VAE learns by reconstruction, trains reliably, and produces blurrier results.
Two ways to generate images. Diffusion is stable and slow at generation; GANs generate in a single pass and are hard to train.
A generative adversarial network trains two networks against each other. One generates fake samples, the other tries to tell fakes from real ones, and each improves by beating the other.
Neither network is told what good output looks like. The generator learns from whatever fools the discriminator, and as the discriminator gets sharper, the bar rises on its own.
Think of it like this. Think of a forger and a detective who train against each other for years. Every forgery the detective catches teaches the forger. Every forgery that slips through teaches the detective.