Generator and discriminator dynamics
4.5.7· AI-ML › Generative Models
The Two-Player Game Setup
Hum kya optimize kar rahe hain?
GANs ek minimax optimization problem solve karte hain. Hum simultaneously:
- Maximize kar rahe hain D ki ability ko real vs fake classify karne ki (D sahi rehna chahta hai)
- Minimize kar rahe hain G ki detectability ko (G chahta hai D ko fool kare)
Yeh form kyun? Chalo ise first principles se derive karte hain:
-
D kya karta hai? D ek binary classifier hai jo probability output karta hai ki input real hai.
- Real data ke liye: D ko 1 ke close output karna chahiye, toh hum chahte hain bada ho (high probability ka log)
- Fake data ke liye: D ko 0 ke close output karna chahiye, toh hum chahte hain bada ho (high probability ka log ki yeh fake hai)
-
Expectations kyun? Hum se saare possible real samples aur prior se saare possible noise vectors par average karte hain.
-
Log kyun? Logarithm products ko sums mein convert karta hai (easier optimization) aur numerical stability provide karta hai. Yeh maximum likelihood estimation se natural choice hai:
- D ka task: correct classification ki likelihood maximize karna
- Binary outcomes ke saath MLE → binary cross-entropy → log probabilities
Training Dynamics: The Alternating Dance

Phase 1: D Optimization (k steps)
k iterations ke liye (typically k=1 ya k=5):
- Sample mini-batch m real examples ka se
- Sample mini-batch m noise vectors ka se
- Generate fakes:
- D ko update karo gradient ascent se:
Yeh step kyun? Hum D ko ek supervised learning task de rahe hain: "Yeh real images hain (label=1) aur yeh fake images hain (label=0). Inhe alag karna seekho." Hum ascend karte hain (descend nahi) kyunki hum D ka objective maximize kar rahe hain.
Phase 2: G Optimization (1 step)
- Naya mini-batch sample karo m noise vectors ka
- G ko update karo gradient descent se:
Yeh step kyun? G chahta hai D fail kare. Jab , iska matlab hai D sochta hai fake real hai, toh , G ko low (good) loss milta hai.
The Nash Equilibrium: Optimal D*
First principles se derivation:
Fixed G ke liye, hum maximize karna chahte hain:
(Humne expectations ko integrals mein convert kiya definition use karke)
Integrals combine karo:
Maximize karne ke liye, ke w.r.t. derivative lo aur zero set karo:
Cross-multiply karo:
Therefore:
Iska matlab kya hai? D Bayes-optimal probability output karta hai. Yeh ratio hai "yeh real data se aane ki kitni likelihood hai" aur "yeh kisi bhi source se aane ki kitni likelihood hai" ka.
Perfect equilibrium par: , toh har jagah. Discriminator real aur fake mein fark nahi kar sakta!
Training Stability aur Collapse Modes
Mode Collapse
Kya hota hai: G discover karta hai ki ek type ka output produce karna D ko fool karta hai, toh woh sirf wahi ek mode produce karta hai, real data ki diversity ignore karke.
Kyun hota hai: G ka objective D ko expectation par fool karna hai, sab modes cover karna nahi. Agar ek mode hamesha D ko fool kare, toh yeh ek local minimum hai.
Dynamics:
- G multiple modes se samples produce karta hai
- D seekhta hai zyaadatar modes sahi classify karna
- G notice karta hai ek mode abhi bhi D ko fool karta hai
- G saari capacity us mode par shift karta hai
- D eventually us mode ko seekh leta hai
- G doosre mode par switch karta hai (mode hopping)
Mathematical cause: Objective z par average karta hai. Agar D ek region mein weak hai, G usse exploit kar sakta hai kai z values ko us region mein map karke.
Oscillation aur Non-Convergence
Kya hota hai: D aur G bina converge hue ek doosre ka peecha karte hain. Loss oscillate karta hai.
Kyun hota hai: Minimax game mein good gradient dynamics nahi ho sakti. Jab D bahut strong ho jaata hai, G ke gradients vanish ho jaate hain. Jab G bahut accha ho jaata hai, D ka task impossible ho jaata hai, gradients explode karte hain.
Visualization: Imagine karo do players ek circular track par daud rahe hain, har ek doosre ki tail chase kar raha hai. Koi pakad nahi paata, bas loop karte rehte hain hamesha.
Practical Training Considerations
k choose karna (D steps per G step)
- k = 1: Balanced training. D aur G milke improve karte hain. Risk: D itna strong nahi reh sakta ki good gradients provide kare.
- k > 1 (e.g., k=5): D ko G se aage rakho. G ke liye strong gradients ensure karta hai. Risk: D bahut strong ho sakta hai, G ke vanishing gradients cause karte hue.
- Adaptive k: k badhao agar D loss spike kare (G jeet raha hai), ghataao agar G loss spike kare (D jeet raha hai).
Kyun matter karta hai: G ke gradient ki quality D ki strength par depend karti hai. Bahut weak D → G galat cheezein seekhta hai. Bahut strong D → G bilkul nahi seekhta.
Learning Rates
Typical setup: , (D thoda faster seekhta hai).
Asymmetric kyun? D ka task (classification) G ke task (generation) se easier hai. Agar dono same rate par seekhein, D dominate karta hai.
Batch Normalization Pitfall
Issue: D mein Batch norm ek batch ke samples ke beech correlation create karta hai. Agar poora batch real ho ya poora batch fake ho, D individual sample features ki jagah batch statistics exploit karna seekh leta hai.
Solution: D train karte waqt real aur fake samples ke liye alag batches use karo. Har batch type ke andar batch norm alag apply karo.
Connections
- 4.5.01-Introduction-to-Generative-Adversarial-Networks: Yeh two-player game concept ko expand karta hai
- 4.5.06-GAN-training-algorithm: In dynamics ka practical implementation
- 4.5.08-Mode-collapse-in-GANs: Collapse failure mode mein deep dive
- 4.5.09-Waserstein-GAN: Alternative formulation jo training stabilize karta hai
- 3.2.04-Binary-cross-entropy-loss: D ka loss function exactly yahi hai
- 3.4.05-Vanishing-gradients: Non-saturating loss kyun zaroori hai
- 5.3.02-Nash-equilibrium: GAN equilibrium ki game theory foundation
Recall Ek 12-Saal-Ke Bachche Ko Explain Karo
Imagine karo tum realistic portraits draw karna seekh rahe ho, aur tumhari art teacher tumhara kaam check kar rahi hai.
Pehle, tumhare drawings bahut bure hain - koi detail nahi wale stick figures. Tumhari teacher instantly jaanti hai ki yeh fake hain. Woh kehti hai: "Shading add karo, proportions theek karo." Tum thoda improve karte ho.
Practice karne ke baad, tumhare drawings better ho jaate hain. Ab tumhari teacher ko aur dhyaan se dekhna padta hai. Woh keh sakti hai: "Aankhein abhi bhi galat hain, aur real logon ki skin perfectly smooth nahi hoti." Tum aur detail add karna seekhte ho.
Yeh back-and-forth chalta rehta hai. Tum (Generator) apni teacher ko fool karne ki koshish karte rehte ho. Woh (Discriminator) mistakes pakadne mein better hoti rehti hai. Har round mein, tum dono improve karte ho.
Eventually, tum itne acche ho jaate ho ki tumhari expert teacher bhi sirf guess kar sakti hai ki drawing tumhari hai ya real photo - woh sirf 50% time sahi hoti hai, coin flip ki tarah! Tabhi tum game "jeet" lete ho. Lekin kabhi kabhi, tum discover kar sakte ho ki ek specific pose draw karna hamesha teacher ko fool karta hai. Toh tum sirf wahi ek pose baar baar draw karte ho. Yeh boring hai aur goal nahi hai - tumhe kai alag cheezein draw karne aani chahiye. Ise "mode collapse" kehte hain.
Key yeh hai: tumhe chahiye ki tumhari teacher acchi ho (lekin fool karna impossible nahi) taaki woh tumhe improve karne ka useful feedback de sake!
#flashcards/ai-ml
GAN mein do roles kya hain aur har ek kya optimize karta hai? :: Generator (G) objective function minimize karne ki koshish karta hai realistic fakes create karke. Discriminator (D) objective function maximize karne ki koshish karta hai real vs fake samples sahi classify karke.
GAN minimax objective function kya hai?
Generator GAN objective ka pehla term kyun ignore karta hai?
GAN training mein vanishing gradient problem kya hai?
Non-saturating Generator loss kya hai aur ise kyun use kiya jaata hai?
Fixed generator ke liye optimal discriminator formula kya hai?
GAN equilibrium par jab , toh kya hota hai? :: saare x ke liye. Discriminator real ko fake se distinguish nahi kar sakta kyunki dono same distribution se aate hain, effectively randomly guess karta hai.