Mode collapse is when a GAN's generator gives up on variety and produces the same few outputs over and over — even though each one still looks convincing. The samples pass; the distribution behind them does not.
Where you meet it
- Your GAN project trains "successfully", yet every generated digit is a 3, or every face is the same face.
- Sharp, believable samples paired with a terrible diversity score (FID, precision/recall) — quality without coverage.
- A paper's method section promising to "address mode collapse", and you want to know what actually broke.
- Comparing GANs with VAEs or diffusion models: GANs give crisp samples but can silently drop whole chunks of the data; VAEs blur but tend to cover.
What it does
It exposes the gap between two things that are easy to confuse. A GAN is trained so that each sample looks real. What you actually want is that the set of all samples matches the real data — every cluster, every rare case. Mode collapse is what it looks like when the first goal is met and the second is quietly abandoned.
Every fake passes the test; the collection of fakes is still a lie.
How it works
The generator's reward is exactly one thing: fool the discriminator right now. Nothing in that objective asks it to cover the data — "be diverse" is simply not a term in the loss. So if one cluster reliably fools the current D, the greedy move is to send every input there. In noise-to-output terms, the generator stops using its input at all:
healthy: z ──▶ G ──▶ many different x (all modes covered)
collapsed: z ──▶ G ──▶ almost the same x* (one mode, every z)
Ian Goodfellow's name for this — the generator squeezing many inputs onto one output — is the "Helvetica scenario". And it is rarely a clean stop. Train D a little further and it learns to reject x*; the generator just hops to a different mode that now fools D; D catches up; the generator hops again. The two can cycle through a small handful of outputs indefinitely, never settling and never covering. In real training the collapse is usually partial — a few modes vanish while the rest survive — which is exactly why it slips by unnoticed.
Watch out
- You can't see it in a handful of samples. Cherry-pick five outputs and they look great — each one is realistic. Collapse only shows up across many samples, or in a diversity metric. Pretty samples are not proof of coverage.
- The loss won't warn you. Generator loss can look perfectly healthy while collapsed — fooling
Dis what the loss rewards, and a collapsed generator does precisely that. - It is not the same failure as non-convergence. A GAN that oscillates, or whose generator gradient vanishes, is unstable; a collapsed GAN can be perfectly stable and still wrong. Same word "failure", different disease, different fix.
A GAN can win every round and still lose the distribution.
Go deeper
Mode Collapse heißt: der Generator eines GANs gibt die Vielfalt auf und produziert immer wieder dieselben paar Ausgaben — obwohl jede einzelne überzeugend aussieht. Die Samples bestehen den Test; die Verteilung dahinter nicht.
Wo es vorkommt
- Dein GAN-Projekt trainiert „erfolgreich", aber jede erzeugte Ziffer ist eine 3, oder jedes Gesicht ist dasselbe.
- Scharfe, glaubwürdige Samples bei mieser Vielfalts-Kennzahl (FID, Precision/Recall) — Qualität ohne Abdeckung.
- Der Methodenteil eines Papers verspricht, „Mode Collapse zu adressieren", und du willst wissen, was da eigentlich kaputtgeht.
- GANs neben VAEs oder Diffusionsmodellen: GANs liefern knackige Samples, können aber still ganze Teile der Daten fallen lassen; VAEs sind matschig, decken aber eher alles ab.
Was es tut
Es legt die Lücke zwischen zwei leicht verwechselbaren Dingen offen. Ein GAN wird darauf trainiert, dass jedes einzelne Sample echt aussieht. Was du eigentlich willst, ist, dass die Menge aller Samples zu den echten Daten passt — jeder Cluster, jeder seltene Fall. Mode Collapse ist, wie es aussieht, wenn das erste Ziel erfüllt und das zweite stillschweigend aufgegeben ist.
Jede Fälschung besteht den Test; die Sammlung der Fälschungen ist trotzdem gelogen.
Wie es funktioniert
Die Belohnung des Generators ist genau eine Sache: den Diskriminator jetzt gerade täuschen. Nichts an diesem Ziel verlangt, die Daten abzudecken — „sei vielfältig" ist schlicht kein Term im Loss. Täuscht also ein Cluster das aktuelle D zuverlässig, ist der gierige Zug, jede Eingabe genau dorthin zu schicken. In Rauschen-zu-Ausgabe-Begriffen: der Generator benutzt seine Eingabe gar nicht mehr:
gesund: z ──▶ G ──▶ viele verschiedene x (alle Modi abgedeckt)
kollabiert: z ──▶ G ──▶ fast dasselbe x* (ein Modus, jedes z)
Ian Goodfellows Name dafür — der Generator presst viele Eingaben auf eine Ausgabe — ist das „Helvetica-Szenario". Und es ist selten ein sauberer Stopp. Trainiere D etwas weiter, lernt es, x* abzulehnen; der Generator springt einfach zu einem anderen Modus, der D jetzt täuscht; D holt auf; der Generator springt wieder. Beide können ewig durch eine Handvoll Ausgaben kreisen, ohne sich je festzulegen und ohne je abzudecken. Im echten Training ist der Kollaps meist partiell — ein paar Modi verschwinden, der Rest überlebt — und genau deshalb bleibt er oft unbemerkt.
Worauf achten
- In einer Handvoll Samples siehst du es nicht. Fünf herausgepickte Ausgaben sehen top aus — jede ist realistisch. Der Kollaps zeigt sich erst über viele Samples oder in einer Vielfalts-Kennzahl. Schöne Samples sind kein Beweis für Abdeckung.
- Der Loss warnt dich nicht. Der Generator-Loss kann bei Kollaps völlig gesund aussehen — Täuschen ist, was der Loss belohnt, und genau das tut ein kollabierter Generator.
- Es ist nicht dasselbe wie Nicht-Konvergenz. Ein GAN, das oszilliert oder dessen Generator-Gradient verschwindet, ist instabil; ein kollabiertes GAN kann völlig stabil und trotzdem falsch sein. Gleiches Wort „Fehler", andere Krankheit, anderes Gegenmittel.
Ein GAN kann jede Runde gewinnen und trotzdem die Verteilung verlieren.