GAN je třída algoritmů strojového učení, ve které proti sobě stojí dvě neuronové sítě v rámci hry s nulovým součtem. Tento „souboj“ umožňuje systému generovat nová, syntetická data (obrázky, hudbu, text), která jsou nerozeznatelná od skutečných předloh.
Princip GAN lze přirovnat k souboji mezi padělatelem a detektivem:
Učení probíhá v neustálém cyklu zpětné vazby:
1. Generátor vytvoří vzorek. 2. Diskriminátor jej ohodnotí (např. "90% pravděpodobnost, že jde o podvrh"). 3. **Zpětná vazba:** Generátor využije tuto informaci, aby příště vytvořil lepší podvrh. Zároveň se Diskriminátor učí z chyb, které udělal, aby byl příště přísnější. 4. Cílem je dosáhnout stavu (tzv. **Nashova rovnováha**), kdy generátor vytváří tak dokonalá data, že diskriminátor má pouze 50% šanci na úspěch (čistý tip).
[Image visualization of GAN training process showing loss curves for generator and discriminator]
| Typ | Popis | Využití |
|---|---|---|
| DCGAN | Využívá konvoluční sítě (CNN). | Generování realistických fotografií. |
| CycleGAN | Dokáže přenést styl z jednoho obrazu na jiný bez párových dat. | Změna dne na noc, přeměna koně na zebru. |
| StyleGAN | Umožňuje jemné ovládání rysů (např. věk, výraz, barva vlasů). | Tvorba hyperrealistických lidských tváří. |
| SRGAN | Super-Resolution GAN. | Zvyšování rozlišení a kvality starých nebo nekvalitních fotek. |
Zajímavost: Webová stránka „thispersondoesnotexist.com“ využívá StyleGAN od společnosti NVIDIA k tomu, aby při každém obnovení stránky vygenerovala portrét člověka, který ve skutečnosti nikdy neexistoval.