GAN (generativní adversariální síť)

GAN (Generative Adversarial Network) je generativní architektura založená na soupeření dvou sítí trénovaných současně. Generátor dostává na vstupu náhodný šum a snaží se z něj vytvořit vzorek nerozeznatelný od reálných dat. Diskriminátor je binární klasifikátor, jehož úkolem je rozhodnout, zda předložený vzorek pochází z trénovací sady, nebo od generátora. Oba se optimalizují proti sobě v minimaxové hře: generátor minimalizuje to, co diskriminátor maximalizuje. Trénink má tedy povahu hledání Nashovy rovnováhy, ne obyčejné minimalizace jedné funkce, což ho činí notoricky nestabilním. Typickými patologiemi jsou kolaps módů, kdy generátor začne produkovat jen několik variant, jež spolehlivě obelstí protivníka, a nerovnovážné učení, kdy jedna síť předběhne druhou a přestane poskytovat užitečný signál. Řešením byly architektonické a ztrátové úpravy jako DCGAN, Wasserstein GAN nebo progresivní růst rozlišení ve StyleGAN, který na konci minulé dekády dosáhl fotorealistických portrétů. Od roku 2022 v generování obrázků GAN z většiny nasazení vytlačily difuzní modely, jež se trénují stabilněji a lépe škálují.


Představte si falzifikátora obrazů a kurátora galerie. Falzifikátor namaluje napodobeninu a podstrčí ji kurátorovi mezi pravé obrazy. Kurátor hádá, co je falzum – a vždycky se dozví, jak dopadl. Falzifikátor se z každého prozrazení poučí a maluje lépe; kurátor se z každé prohry poučí a všímá si detailů, které dřív míjel. Po tisících kolech je falzifikátor tak dobrý, že kurátor už jen hádá jako při hodu mincí. Nebezpečí téhle hry je, že falzifikátor najde jeden jediný motiv, na který kurátor nemá oko, a začne malovat pořád tentýž obraz.

Je pro vás článek užitečný a čerpáte z něj? Zkopírujte si citaci