GAN(Generative Adversarial Network)

[gan]

Architettura con due reti che si combattono: una genera fake, l'altra cerca di smascherarli. Per anni la regina della generazione di immagini.

Definizione di Super Squalo ·

Le GAN (Generative Adversarial Networks) sono un'architettura geniale inventata da Ian Goodfellow nel 2014. Due reti combattono tra loro:

  • Generator: prende rumore casuale e genera dati fake (immagini, audio, qualsiasi cosa).
  • Discriminator: guarda dati veri e fake, cerca di capire quali sono fake.

Si addestrano insieme. Il generator migliora a fregare il discriminator. Il discriminator migliora a smascherarlo. Equilibrio dinamico, è teoria dei giochi applicata al deep learning.

Risultati storici:

  • StyleGAN (NVIDIA, 2018): facce iperrealistiche. Hai presente thispersondoesnotexist.com? Quello era StyleGAN.
  • BigGAN: immagini varie ad alta risoluzione.
  • CycleGAN: cavalli in zebre, foto in dipinti.
  • Pix2Pix: schizzo in foto.

Per anni le GAN sono state lo standard per generare immagini. Poi sono arrivati i diffusion model (DALL-E 2, Stable Diffusion, Midjourney) e li hanno surclassati per controllabilità e qualità.

Problemi delle GAN che hanno favorito il sorpasso:

  • Mode collapse: il generator inizia a generare sempre la stessa cosa, ignorando la diversità.
  • Training instabile: trovare l'equilibrio tra i due è arte nera.
  • Difficile da condizionare: generare un'immagine da un prompt testuale con GAN è complicato.

Oggi le GAN sopravvivono in nicchie: generazione di voci (alcuni vocoder), super-resolution, applicazioni dove serve velocità (una sola passata vs decine di step di diffusion).

Vedi anche