GAN setup game theory से सीधा एक minimax खेल है। Generator random noise (एक latent vector, आम तौर पर एक Gaussian distribution से sampled) लेता है और इसे एक डेटा sample तक map करता है — आम तौर पर एक छवि। Discriminator प्रशिक्षण set से वास्तविक samples और generator से fake samples दोनों प्राप्त करता है, और हर sample के वास्तविक होने की एक probability output करता है। Generator को discriminator की error को maximize करने के लिए प्रशिक्षित किया जाता है, जबकि discriminator को इसे minimize करने के लिए प्रशिक्षित किया जाता है। सिद्धांत में, यह एक Nash equilibrium पर converge होता है जहाँ generator वास्तविक डेटा से अप्रभेद्य outputs उत्पन्न करता है और discriminator 50/50 पर अनुमान लगाने तक कम हो जाता है। व्यवहार में, वहाँ पहुँचना पूरी तरह से एक और कहानी है।
Training instability वर्षों तक GANs की defining चुनौती थी। Mode collapse — जहाँ generator संभावित outputs के एक संकीर्ण slice को उत्पन्न करना सीखता है — ने शुरुआती architectures को परेशान किया। यदि discriminator बहुत जल्दी बहुत मज़बूत हो जाता है, तो generator को gradient signal vanish हो जाता है और learning stalls हो जाती है। यदि generator एक cheap trick खोजता है जो discriminator को मूर्ख बनाता है, तो यह विविध outputs सीखने के बजाय इसे अथक रूप से exploit करता है। Wasserstein GANs (WGAN) ने इसे एक अलग loss function के साथ संबोधित किया जो अधिक meaningful gradients प्रदान करता है। Progressive growing (ProGAN) ने छवियों को low resolution से high तक बनाया, प्रशिक्षण को बहुत stabilize करते हुए। NVIDIA के StyleGAN और StyleGAN2 ने इसे और परिष्कृत किया, उन प्रसिद्ध "this person does not exist" चेहरों का उत्पादन करते हुए जिन्होंने पहली बार जनता को AI image generation को गंभीरता से लेने के लिए shocked किया।
GANs की वास्तविक superpower हमेशा गति रही है। क्योंकि generation generator network के माध्यम से एक एकल forward pass है, एक प्रशिक्षित GAN milliseconds में एक छवि उत्पन्न कर सकता है। इसकी तुलना diffusion models से करें, जिन्हें 20-50 iterative passes की आवश्यकता होती है। यही कारण है कि GANs के पास real-time applications में अभी भी एक niche है: video game texture upscaling (NVIDIA DLSS एक GAN-जैसी आर्किटेक्चर का उपयोग करता है), real-time face filters, मोबाइल apps में style transfer, और super-resolution। जब आपको 30+ FPS पर छवियों की आवश्यकता होती है, तो diffusion का iterative refinement loop heavy distillation के बिना बहुत धीमा है।
Ian Goodfellow ने 2014 में GANs पेश किए, और architecture एक असाधारण विकास से गुज़रा: DCGAN ने convolutional structure (2015) लाई, conditional GANs ने class-specific generation को सक्षम किया, pix2pix और CycleGAN ने image-to-image translation को संभाला, BigGAN ने ImageNet quality तक scale किया, और StyleGAN ने photorealistic चेहरों को routine बना दिया। लगभग आठ वर्षों के लिए, यदि आपने एक AI-generated छवि देखी, तो यह लगभग निश्चित रूप से एक GAN से आई थी। Diffusion में shift हुआ क्योंकि diffusion models ने उन समस्याओं को हल किया जो GANs नहीं कर सकते थे: training stability, output विविधता, और fine-grained text conditioning। आपको adversarial training का delicate balancing act खेलने की आवश्यकता नहीं थी।
एक ग़लतफ़हमी जिसे सही करना worth है: GANs मरे नहीं हैं। वे image generation के लिए default नहीं हैं, लेकिन adversarial training का सिद्धांत हर जगह दिखाई देता है। GAN-आधारित discriminators super-resolution और compression के लिए perceptual loss functions के रूप में उपयोग किए जाते हैं। Adversarial training हमलों के विरुद्ध मॉडलों को hardens करता है। और कुछ सबसे तेज़ diffusion दृष्टिकोण (जैसे SDXL Turbo में Adversarial Diffusion Distillation) वास्तव में slow diffusion मॉडलों को fast few-step generators में distill करने के लिए एक GAN discriminator का उपयोग करते हैं — एक neat full-circle moment जहाँ GANs अपने उत्तराधिकारियों को तेज़ बनाने में मदद करते हैं।