Een Generative Adversarial Network (GAN) is een machine-learningopzet waarbij twee neurale netwerken tegen elkaar strijden om overtuigende namaakdata te maken. Het ene netwerk, de generator, verzint nieuwe voorbeelden. Het andere, de discriminator, beoordeelt of elk voorbeeld echt of nep is. Ze trainen samen tot de namaak nauwelijks nog van het echte werk te onderscheiden is.
Stel je een kunstvervalser en een rechercheur voor die jarenlang in dezelfde kamer zitten. De vervalser schildert namaak, de rechercheur prikt erdoorheen, en elke ronde worden ze allebei scherper. Uiteindelijk maakt de vervalser werk dat de rechercheur niet meer betrapt. Die trekkracht is precies hoe een GAN beter wordt, en het is een van de oudere technieken achter moderne generatieve AI. De netwerken zelf zijn gewone neurale netwerken, alleen tegen elkaar getraind.
GANs sloegen in toen ze in 2014 verschenen, omdat ze fotorealistische gezichten konden maken van mensen die niet bestaan. Diezelfde kracht heeft een donkere kant: GANs zitten achter veel vroege deepfake-tools. Tegenwoordig worden ze ook voor eerlijk werk ingezet, zoals het maken van synthetische data om andere modellen te trainen als echte data schaars of gevoelig is.
Ze zijn niet zonder kopzorgen. GANs staan bekend als lastig te trainen, want de twee netwerken moeten gelijk opgaan. Wordt er een te sterk, dan stort het geheel in, vaak in “mode collapse” waarbij de generator steeds dezelfde paar beelden uitspuugt. Die wankelheid is een belangrijke reden waarom nieuwere diffusiemethodes, die een beeld bouwen door stap voor stap ruis weg te halen, sinds ongeveer 2022 het meeste beeldwerk hebben overgenomen.
Bij TopDevs grijpen we meestal naar nieuwere diffusie-methodes in plaats van GANs, maar we zijn eerlijk tegen klanten over welke techniek bij hun probleem past in plaats van achter de trendigste naam aan te lopen.