🎯 Definicja
GAN (Generative Adversarial Networks) to architektura sieci neuronowych, w której dwie sieci – Generator i Dyskryminator – walczą ze sobą. Generator próbuje stworzyć fałszywe dane (np. zdjęcie człowieka), które wyglądają jak prawdziwe. Dyskryminator próbuje odróżnić fałsz od prawdy. Dzięki tej rywalizacji, Generator uczy się tworzyć ultra-realistyczne treści (np. Deepfakes).
🔑 Kluczowe punkty
- Gra o sumie zerowej: Sukces jednej sieci jest porażką drugiej.
- Generator: “Fałszerz sztuki”. Na wejściu dostaje szum, na wyjściu daje obraz.
- Dyskryminator: “Rzeczoznawca/Policjant”. Ocenia: Prawda (1) czy Fałsz (0).
- Zastosowania: Generowanie twarzy (thispersondoesnotexist.com), skalowanie obrazów (Super Resolution), transfer stylu.
📚 Szczegółowe wyjaśnienie
Trening GAN jest trudny (niestabilny). Jeśli Dyskryminator jest za dobry, Generator nie ma szans się nauczyć (dostaje samych zer w ocenie). Jeśli Generator jest za dobry, Dyskryminator zgaduje losowo. Idealny stan to Równowaga Nasha, gdzie Generator produkuje idealne podróbki, a Dyskryminator ma 50% szans na zgadnięcie.
💡 Przykład zastosowania
Generowanie tekstur w grach wideo. Zamiast ręcznie rysować 1000 wariantów trawy, uczysz GAN na zdjęciach trawy. Następnie Generator produkuje nieskończoną ilość unikalnych tekstur trawy na żądanie.
📌 Źródła
- Ian Goodfellow et al. (2014) - oryginalna publikacja o GAN.
👽 Brudnopis
- GAN-y powoli ustępują miejsca modelom dyfuzyjnym (Diffusion Models, np. Stable Diffusion), które są stabilniejsze w treningu i dają lepszą różnorodność wyników.