Diffusionsmodelle erklärt: die Mathematik hinter Stable Diffusion
Die Grundidee
Diffusionsmodelle gehören zur Familie der generativen Modelle mit latenten Variablen. Ihre Idee ist elegant: Statt Daten direkt zu erzeugen, lernt das Modell, sie zu entrauschen.
Im Training werden Datenbeispiele über Schritte schrittweise mit gaußschem Rauschen verfälscht, bis sie praktisch nicht mehr von reinem Rauschen zu unterscheiden sind. Anschließend lernt das Modell, diesen Prozess umzukehren und das Rauschen Schritt für Schritt vorherzusagen und zu entfernen.
Der Vorwärtsprozess
Ausgehend von einer sauberen Probe definiert der Vorwärtsprozess eine Markov-Kette, die nach und nach Rauschen hinzufügt:
wobei ein fester Rauschplan ist. Eine nützliche Eigenschaft: kann direkt aus in geschlossener Form gesampelt werden. Setzen wir und :
Oder äquivalent über den Reparametrisierungstrick:
Für gilt und .
Der Rückwärtsprozess
Der Rückwärtsprozess lernt, Schritt für Schritt zu entrauschen:
Das Netz wird darauf trainiert, das hinzugefügte Rauschen vorherzusagen. Das Trainingsziel vereinfacht sich zu:
Damit wird das Problem zu einer Denoising-Regression: Rauschen vorhersagen und den MSE minimieren.
Die Netzarchitektur: U-Net
Das Denoising-Netz ist ein U-Net, also eine Encoder-Decoder-Architektur mit Skip Connections zwischen korrespondierenden Feature Maps von Encoder und Decoder.
Input x_t + timestep embedding
↓
[Conv] → [ResBlock] → [Attention] → [Downsample]
↓ ↓
[Conv] → [ResBlock] → [Attention] → [Downsample]
↓
Middle Block (ResBlock + Attention)
↓
[Upsample] → [ResBlock] → [Attention]
↓
[Upsample] → [ResBlock] → [Attention]
↓
Output (predicted noise ε)
Der Zeitschritt wird als sinusförmiges Embedding kodiert, ähnlich den Positionskodierungen von Transformers, und per FiLM-Conditioning in jeden ResBlock eingespeist.
Rauschpläne
Der Plan steuert, wie schnell sich Rauschen ansammelt. Häufige Varianten:
- Linear (DDPM): steigt linear von auf
- Kosinus (verbessertes DDPM): — verhindert zu starke Verrauschung in frühen Schritten
- Flow Matching (u. a. Stable Diffusion 3, Flux): gerade Pfade durch den Daten-Rausch-Raum für schnelleres Sampling
DDIM: schnelleres Sampling
Ein Standard-DDPM benötigt Denoising-Schritte für ein Bild. DDIM (Denoising Diffusion Implicit Models) formuliert den Rückwärtsprozess als nicht-markovsche Kette und ermöglicht dadurch Generierung in 20–50 Schritten bei vergleichbarer Qualität.
Der DDIM-Aktualisierungsschritt:
Latente Diffusionsmodelle
Stable Diffusion arbeitet im latenten Raum, nicht direkt im Pixelraum. Ein Variational Autoencoder (VAE) komprimiert zunächst das Bild:
Der Diffusionsprozess läuft auf dem latenten , typischerweise für ein -Bild. Das reduziert den Rechenaufwand gegenüber Pixelraum-Diffusion ungefähr um den Faktor 48.
Classifier-Free Guidance
Um die Generierung in Richtung eines Textprompts zu lenken, interpoliert Classifier-Free Guidance zwischen bedingten und unbedingten Vorhersagen:
Die Guidance-Skala steuert den Kompromiss zwischen Sample-Qualität (höheres ) und Vielfalt (niedrigeres ). Typische Werte liegen bei 7–15.
Wichtigste Erkenntnisse
- Diffusionsmodelle formulieren Generierung als iteratives Denoising mit einem einfachen Regressionsziel
- Der Vorwärtsprozess definiert analytisch aus in einem Schritt und macht das Training dadurch effizient
- DDIM reduziert die Inferenz von 1000 auf etwa 20–50 Schritte ohne Retraining
- Latente Diffusion verschiebt den Prozess in einen komprimierten VAE-Latentraum und macht hochauflösende Generierung praktikabel
- Classifier-Free Guidance ist der wichtigste Hebel für Ausgabetreue und Prompt-Adhärenz