This is a misconception hunt for GAN training instability and mode collapse. Every line below is a Question ::: Answer reveal — read the question, commit to an answer in your head, THEN reveal. If your gut answer differs from the reasoning, you just found a trap worth remembering.
Before we start, three plain-word anchors so nothing here uses an unearned term:
Related builds if a line surprises you: 4.5.01-Generative-Adversarial-Networks-fundamentals, 4.5.07-Wasserstein-GAN-and-improved-training, 3.4.05-Optimization-challenges-in-deep-learning, 4.3.06-Batch-normalization-and-alternatives.
A perfect generator makes the discriminator useless.
True — if pg=pdata everywhere, the optimal judge is D∗(x)=pdata+pgpdata=21 for every x, i.e. pure coin-flipping. It literally cannot do better than guessing.
The vanishing-gradient problem happens because the prefactor 1−D(G(z))−1 shrinks to zero.
False — that prefactor approaches the constant −1, not 0. The gradient dies because a saturated D has ∇xD→0, and that factor multiplies everything to nothing.
The non-saturating loss (maxGlogD(G(z))) changes where the game's fixed points are.
False — it shares the exact same optimum (pg=pdata). It only changes the gradient magnitude early on, when D is confident and G needs a loud signal.
Mode collapse means the generator's outputs are low quality.
False — collapsed outputs are often high quality and fool D well; they just lack variety. Quality and diversity are separate failures.
If training loss is oscillating wildly, the model is definitely diverging.
False — a minimax game is a moving target, so bounded oscillation is normal and can coexist with improving samples. GAN loss curves are poor progress meters (this is a motivation for the WGAN critic value, which does track quality).
A discriminator that is "too good" is always desirable because it classifies accurately.
False — a too-confident D saturates, sends ∇xD→0, and starves G of gradient. You want D strong enough to guide but not so strong it stops teaching.
WGAN's critic outputs a probability just like a standard discriminator.
False — the critic fw(x) outputs an unbounded real number (no sigmoid). That's the whole point: no sigmoid means no saturation ceiling to flatten out on.
Mode collapse and vanishing gradients are the same phenomenon.
False — vanishing gradients is a no-signal failure (nothing learns); mode collapse is a wrong-incentive failure (learning happens, but toward a shortcut). They can even occur together.
The Lipschitz constraint in WGAN is optional decoration.
False — the Wasserstein distance formula only equals the sup over 1-Lipschitz functions. Drop the constraint and fw can blow up to ±∞, making the objective meaningless. Clipping or gradient penalty enforces it.
"D's gradient vanishes, so we should train D more to fix it."
Backwards — over-training D is what caused the saturation. The cure is to weaken/regularize D or switch G to the non-saturating loss, not to strengthen D.
"Since D(G(z))≈0 gives huge D1 in the non-saturating loss, the gradient is guaranteed large."
The large prefactor helps but doesn't guarantee — it multiplies a small ∇xD. It amplifies a fading signal; if D is truly flat, even 1/0.001 times near-zero can stay small. It's a rescue, not immunity.
"Mode collapse is impossible if the generator has enough capacity."
Capacity is irrelevant — collapse is an incentive problem from the game dynamics, not a representation problem. A huge network still collapses if fooling D with a few modes is the easy win.
"The discriminator remembers every mode it has ever punished."
No — D only updates on the samples it currently sees. If G stops producing a mode, Dforgets to check for it (drift), which lets G cycle back to that mode later.
"We can read off generator progress directly from the standard GAN loss going down."
The two losses are adversarial, so G's loss dropping often just means D temporarily lost, not that samples improved. Standard GAN loss does not correlate with sample quality (WGAN's critic value is a fix for exactly this).
"Using log(1−D(G(z))) vs logD(G(z)) is just an algebra rearrangement with no practical difference."
They give different gradients when D is confident: the original vanishes, the non-saturating one amplifies. Same fixed point, wildly different early-training behavior.
Why does the generator get penalized for trying a fresh, genuine mode x2?
Because D hasn't seen G produce x2-type fakes, so it stays suspicious (D(x2) low), giving G a high loss −logD(x2). Honesty is punished short-term; the safe old mode has lower loss.
Why does the Wasserstein distance help cover all modes, not just visible ones?
The critic assigns a smooth real-valued "elevation" everywhere, so its gradient pulls pg toward pdata across the whole space — including regions G currently ignores. A saturating sigmoid gives zero pull there instead.
Why do we run several critic updates per generator update in WGAN?
The Wasserstein estimate is only meaningful when fw is near-optimal (a good 1-Lipschitz "measuring stick"). Under-trained critic = wrong distance = misleading generator gradient, so we sharpen the critic first.
Why does the non-saturating loss give a strong signal precisely when the original gives a weak one?
Both are triggered by D(G(z))≈0. The original then has flat gradient (dead); the non-saturating one has prefactor 1/D→∞, so the same confident-D regime that kills one loss energizes the other.
Why can't we just add a "produce variety" term and be done with mode collapse?
You can nudge it (minibatch discrimination, unrolled GANs, WGAN), but the root cause is that G's objective only rewards fooling Dnow. Any fix must change the incentive so that missing modes actually costs the generator.
What is D∗(x) in a region where pdata(x)=0 but pg(x)>0 (generator hallucinates)?
D∗(x)=0+pg0=0 — the judge correctly flags "pure fake territory". Here G should feel maximum pressure to retreat from that region.
What is D∗(x) where pdata(x)>0 but pg(x)=0 (a missed mode)?
D∗(x)=pdata+0pdata=1 — real data lives here that G never visits. Under a standard sigmoid this is a saturated D=1, so G gets no gradient telling it to cover the mode — exactly why standard GANs abandon modes.
If pdata and pg have no overlap at all (disjoint supports), what happens to a standard discriminator?
It achieves perfect separation, saturates fully (D=1 on real, 0 on fake), and ∇xD→0 everywhere useful — total gradient death. This disjoint-support case is the headline argument for switching to the Wasserstein distance, which still gives a finite, informative value.
What does mode collapse look like at the extreme limit?
G maps every noise z to essentially one output — the whole rich distribution shrinks to a single point. Diversity is zero even though that one sample may perfectly fool D.
At the ideal equilibrium pg=pdata, what gradient does G receive?
Zero net gradient — D∗=21 everywhere gives G no direction to move, which is correct because there's nothing left to improve. The danger is telling this good zero-gradient apart from the bad saturated zero-gradient of a mode-collapsed state.
If you clip WGAN weights too aggressively (tiny c), what breaks?
The critic loses capacity and collapses toward simple functions, so the Wasserstein estimate degrades and gradients weaken — a reason gradient penalty is often preferred over hard clipping (see 4.5.07-Wasserstein-GAN-and-improved-training).
Recall Fastest self-test
Vanishing gradient is caused by ::: a saturated discriminator making ∇xD→0 — NOT the 1−D−1 prefactor.
Mode collapse is fundamentally a ::: bad-incentive problem: G is rewarded for fooling D now, not for covering all modes.
WGAN's core structural change is ::: replacing the sigmoid probability judge with an unbounded 1-Lipschitz critic, giving non-vanishing gradients even on disjoint supports.