Generative AI
Bilderzeugung mittels stochastischer Differentialgleichungen und Diffusionsprozessen
Eine umfassende Analyse von Diffusionsmodellen und ihrer Anwendung bei der Bilderzeugung.
Vom Rauschen zum Bild: eine mathematische Lektüre der Diffusionsmodelle
Diffusionsmodelle lassen sich anhand einer scheinbar einfachen Idee verstehen: Wenn wir wissen, wie man ein Bild Schritt für Schritt zerstört, bis es zu Rauschen wird, können wir vielleicht den umgekehrten Weg lernen. Der interessante Teil ist, dass dieser umgekehrte Weg weder darin besteht, Bilder auswendig zu lernen, noch einen klassischen Rauschfilter anzuwenden. Er besteht darin, die lokale Geometrie einer Wahrscheinlichkeitsverteilung zu lernen: wohin sich eine verrauschte Probe bewegen muss, um einem echten Bild immer ähnlicher zu werden.
In diesem Artikel stelle ich eine Implementierung von Diffusionsmodellen vor, die mittels stochastischer Differentialgleichungen (Stochastic Differential Equations, SDEs) formuliert sind, nach dem Rahmenwerk von Song et al. 1. Die Idee ist nicht nur, generierte Bilder zu zeigen, sondern zu erklären, warum die Methode funktioniert, welche Rolle der Score spielt und wie die inverse SDE, das Training durch Denoising Score Matching, die Sampler und die Probability Flow ODE auf natürliche Weise entstehen.
Der zugehörige Code ist auf GitHub verfügbar:
https://github.com/trentisiete/image_generation_difussion_project
1. Das Problem: eine Verteilung in einem riesigen Raum lernen
Ein Bild ist nicht nur eine Matrix aus Pixeln. Aus probabilistischer Sicht ist ein Bild ein Punkt in einem Raum sehr hoher Dimension. Ein RGB-Bild von , wie die von CIFAR-10, lebt in einem Raum der Dimension . Allerdings sind nicht alle Punkte dieses Raums natürliche Bilder. Die meisten sind Rauschen ohne Struktur. Echte Bilder besetzen einen sehr speziellen Bereich: Sie enthalten Kanten, Texturen, Symmetrien, Objekte, Hintergründe, kompatible Farben und Muster, die nicht zufällig entstehen.
Das Ziel eines generativen Modells ist es, die Verteilung der echten Daten anzunähern, die wir mit bezeichnen, um neue Proben generieren zu können:
wobei versucht, zu ähneln.
Die Herausforderung besteht darin, dass nicht explizit bekannt ist. Wir haben Beispiele, aber keine geschlossene Formel der Verteilung. Diffusionsmodelle greifen dieses Problem auf elegante Weise an: Anstatt direkt zu versuchen zu lernen, wie man ein sauberes Bild von Grund auf erzeugt, konstruieren sie zunächst einen Prozess, der die Daten kontrolliert zerstört, und lernen anschließend, ihn umzukehren.
2. Die zentrale Intuition: Zerstören ist einfach, Rekonstruieren ist Lernen
Der Vorwärtsprozess beginnt mit einem echten Bild und fügt schrittweise Rauschen hinzu, bis eine Variable entsteht, die sich einer einfachen Verteilung annähert, normalerweise einer Gauß-Verteilung. Konzeptuell:
Dieser Prozess ist einfach, weil wir ihn selbst definieren. Wir können wählen, wie viel Rauschen hinzugefügt wird und wie sich dieses Rauschen mit der Zeit entwickelt.
Der umgekehrte Prozess ist der eigentlich generative:
Wir gehen von reinem Rauschen aus und entfernen Rauschen, bis wir ein plausibles Bild erhalten. Doch hier taucht die entscheidende Frage auf: Woher weiß das Modell, wohin sich eine verrauschte Probe bewegen soll?
Die Antwort ist der Score:
Dieser Vektor zeigt in die Richtung, in der die logarithmische Dichte der zum Zeitpunkt gestörten Daten am schnellsten zunimmt. Intuitiv gesagt: Wenn ein verrauschtes Bild ist, zeigt der Score an, in welchen Bereich des Raums es sich verschieben sollte, um unter der Verteilung von Bildern mit diesem Rauschniveau wahrscheinlicher zu sein.
Erste wichtige Erkenntnis: Das Modell muss nicht direkt die vollständige Verteilung lernen. Es genügt, ihr Gradientenfeld zu lernen. Statt sich zu fragen „Wie hoch ist die genaue Wahrscheinlichkeit dieses Bildes?“, lernt es „Wohin sollte ich mich bewegen, um in einer wahrscheinlicheren Region zu sein?“.
3. Der Vorwärtsprozess als SDE
In kontinuierlicher Zeit wird der Vorwärts-Diffusionsprozess durch eine stochastische Differentialgleichung ausgedrückt:
wobei:
- die Probe zum Zeitpunkt darstellt.
- der Drift-Term ist, der eine deterministische Entwicklung einführt.
- die Intensität des Rauschens steuert.
- ein Standard-Wiener-Prozess ist, das heißt eine Brownsche Bewegung.
Die SDE kombiniert zwei Effekte. Der Term treibt die Probe auf deterministische Weise, während Zufälligkeit einführt. Im Kontext der Diffusion ist genau diese Zufälligkeit der Mechanismus, der strukturierte Daten in Rauschen verwandelt.
3.1. Variance Exploding SDE
Die VE-SDE wird definiert als:
Hier gibt es keinen deterministischen Drift, da ist. Das Datum behält sein Zentrum, aber seine Varianz nimmt mit der Zeit zu. Deshalb heißt sie Variance Exploding: Die Varianz wächst fortschreitend, bis das ursprüngliche Signal vom Rauschen dominiert wird.
Der Übergang des Vorwärtsprozesses hat Gaußsche Form:
In dieser Familie wird das Datum gestört, indem zunehmend intensiveres Rauschen um das ursprüngliche Bild hinzugefügt wird.
3.2. Variance Preserving SDE
Die VP-SDE hat die Form:
Im Unterschied zur VE-SDE gibt es hier tatsächlich einen Drift. Der Term
zieht das Signal fortschreitend zusammen, während der stochastische Term Rauschen hinzufügt. Die Kombination ist so konzipiert, dass sie die globale Varianz erhält, wenn die Daten normalisiert sind.
Ihr Übergang ist ebenfalls Gaußsch:
Diese Gleichung ist sehr aufschlussreich: Der Mittelwert des Bildes verblasst mit dem Exponentialfaktor, während die Varianz des Rauschens komplementär zunimmt. Das Signal verschwindet, aber nicht abrupt; es löst sich entlang einer kontrollierten Trajektorie auf.
3.3. Sub-VP SDE
Die sub-VP-SDE modifiziert den Diffusionsterm:
Diese Variante behält eine ähnliche Struktur wie die VP-SDE bei, passt aber die Menge des zu jedem Zeitpunkt eingeführten Rauschens an. In der Praxis kann sie bessere Ergebnisse bezüglich der Likelihood liefern, ohne dass dies zwangsläufig mit der besten wahrgenommenen Qualität übereinstimmt.
4. Die mathematische Wende: eine Diffusion umkehren
Bis hierher haben wir nur definiert, wie man ein Bild zerstört. Der generative Teil erscheint, wenn wir das Ergebnis von Anderson über zeitlich umgekehrte Diffusionsprozesse verwenden 2. Wenn der Vorwärtsprozess ist:
dann existiert ein umgekehrter Prozess, der es erlaubt, dieselben Randverteilungen in entgegengesetzter Richtung zu durchlaufen:
wobei die Brownsche Bewegung in umgekehrter Zeit darstellt.
Diese Gleichung enthält den Kern der score-basierten Diffusionsmodelle. Alles Bekannte des Vorwärtsprozesses erscheint in und . Das Unbekannte konzentriert sich in einem einzigen Term:
Das heißt, um die Diffusion umzukehren, müssen wir nicht die gesamte Dynamik von Grund auf lernen. Wir müssen den Score der gestörten Verteilung zu jedem Zeitpunkt schätzen.
Zweite wichtige Erkenntnis: Die Generierung reduziert sich darauf, ein Vektorfeld zu lernen. Wenn das Modell weiß, wie es bei jedem Rauschniveau schätzen kann, wohin die Dichte der Bilder zunimmt, kann es eine Probe vom Rauschen zu einer Region führen, in der realistische Bilder existieren.
In der Praxis wird ein neuronales Netz trainiert, um Folgendes anzunähern:
Ersetzt man den echten Score durch den gelernten Score, bleibt die inverse SDE:
Dies ist die Gleichung, die während des Samplings diskretisiert wird.
5. Wie man den Score trainiert, ohne die Dichte zu kennen
Auf den ersten Blick scheint es, als hätten wir ein zirkuläres Problem. Wir wollen ein Netz trainieren, um anzunähern, aber wir kennen nicht. Wenn wir die Verteilung nicht kennen, wie erhalten wir dann das Trainingslabel?
Der Schlüssel liegt darin, nicht direkt den unbekannten Randscore zu verwenden, sondern den bedingten Score des Störungsprozesses, den wir tatsächlich kennen, weil wir den Vorwärtsprozess selbst definiert haben.
Für viele in der Diffusion verwendete SDEs lässt sich der Vorwärtsübergang als Gauß-Verteilung schreiben:
wobei der Mittelwert zum Zeitpunkt ist und die Varianz des hinzugefügten Rauschens.
Nun berechnen wir den Score dieser Gauß-Verteilung bezüglich . Die logarithmische Dichte, ohne die Konstanten, die nicht von abhängen, ist:
Ableiten nach ergibt:
Diese Gleichung ist einer der elegantesten Punkte der Methode. Wenn wir eine verrauschte Probe aus einem sauberen Bild erzeugen, kennen wir genau, wie der bedingte Score aussehen sollte, der zurück auf den Mittelwert der Störung zeigt.
Dritte wichtige Erkenntnis: Der Prozess des Rauschhinzufügens selbst erzeugt die Trainingslabels. Wir müssen keine Bilder annotieren, nicht kennen, noch eine unlösbare Dichte berechnen. Es genügt, ein Bild zu nehmen, es zu stören und dem Netz beizubringen, den Vektor vorherzusagen, der diese Störung rückgängig macht.
Die Verlustfunktion des Denoising Score Matching in kontinuierlicher Zeit lautet:
Setzt man den gaußschen bedingten Score ein:
Das Netz lernt für jedes Rauschniveau, wie eine gestörte Probe korrigiert werden muss, um zu einer Zone hoher Wahrscheinlichkeit zurückzukehren.
6. Vom Score zum Sampling: wie ein Bild entsteht
Sobald trainiert ist, besteht die Generierung darin, die inverse SDE von bis numerisch zu lösen. Man initialisiert:
normalerweise eine Gauß-Verteilung, und wendet einen Integrator in umgekehrter Zeit an.
6.1. Euler-Maruyama
Euler-Maruyama ist der grundlegende Integrator für SDEs. Diskretisieren wir die Zeit als , kann ein umgekehrter Schritt interpretiert werden als:
mit:
Diese Methode kombiniert eine deterministische, vom Score geleitete Korrektur mit einem zufälligen Term, der die stochastische Natur des Prozesses beibehält.
6.2. Predictor-Corrector
Die Predictor-Corrector-Sampler fügen eine zweite Idee hinzu. Der Predictor bewegt sich in umgekehrter Zeit vorwärts, zum Beispiel mit Euler-Maruyama. Der Corrector hingegen verfeinert die Probe auf demselben Rauschniveau durch Schritte, die von der Langevin-Dynamik inspiriert sind.
Der Corrector kann als eine Art zu sagen betrachtet werden: „Bevor wir zum nächsten Rauschniveau übergehen, passen wir die Probe noch etwas an, damit sie unter wahrscheinlicher wird“. Dies verbessert meist die visuelle Qualität, weil nicht nur in Richtung weniger Rauschen fortgeschritten wird, sondern auch die Position innerhalb jeder Zwischenverteilung korrigiert wird.
6.3. Probability Flow ODE
Der SDE-Rahmen hat eine besonders interessante Eigenschaft: Es existiert eine deterministische ODE, deren Trajektorien dieselben Randverteilungen teilen wie die SDE. Diese Probability Flow ODE wird geschrieben als:
Ersetzt man den echten Score durch den gelernten:
Vierte wichtige Erkenntnis: Dasselbe Score-Modell ermöglicht zwei Arten der Generierung. Eine stochastische, mittels der inversen SDE, und eine deterministische, mittels der Probability-Flow-ODE. Erstere behält Rauschen während des Samplings bei; letztere verwandelt eine Anfangsbedingung in eine einzige Trajektorie.
Die ODE erlaubt auch die Schätzung von Likelihoods mittels der instantanen Formel des Variablenwechsels 3. Wenn sich gemäß einer ODE entwickelt, dann gilt:
Bei SDE-basierter Diffusion erlaubt dies die Berechnung von Metriken wie der NLL oder den Bits Per Dimension (BPD), etwas, das nicht alle generativen Modelle auf natürliche Weise bieten.
7. Bedingte Generierung: den Prozess auf eine Klasse ausrichten
Die unbedingte Generierung erzeugt Bilder, ohne eine Kategorie festzulegen. Um den Prozess auf eine Klasse zu bedingen, kann ein zeitabhängiger Hilfsklassifikator verwendet werden.
Die Herleitung geht von Bayes aus:
Wir nehmen Logarithmen:
Wir leiten nach ab:
da nicht von abhängt.
Diese Gleichung hat eine sehr klare Interpretation: Der bedingte Score ist der unbedingte Score plus eine zusätzliche Kraft, die das Bild in Richtung der gewünschten Klasse drängt.
In der Implementierung wird er angenähert als:
wobei die Intensität der Führung steuert. So lautet die bedingte inverse SDE:
Praktisch gesehen liefert das Score-Modell allgemeines Wissen darüber, wie Bilder aussehen, während der Klassifikator eine semantische Präferenz einführt: „Ich möchte, dass dieses Bild am Ende einem Flugzeug, einem Hund, einem Schiff oder einem Frosch ähnelt.“
8. Imputation: nur erzeugen, was fehlt
Dieselbe Idee lässt sich auch nutzen, um verborgene Regionen eines Bildes zu imputieren. Sei eine binäre Maske, wobei bekannte Pixel anzeigt und zu rekonstruierende Bereiche.
Während des inversen Samplings schlägt das Modell ein vollständiges Bild vor. In jedem Schritt wird jedoch der bekannte Teil durch eine gestörte Version des Originalbildes auf demselben Rauschniveau ersetzt. Die Aktualisierung lässt sich ausdrücken als:
wobei:
- das Originalbild ist, gestört durch den direkten Prozess bis zum Zeitpunkt .
- die vom Modell erzeugte Stichprobe ist.
- das elementweise Produkt bezeichnet.
Die Interpretation ist einfach: Das Modell hat Freiheit, die unbekannten Regionen zu erfinden, muss aber die beobachtete Information respektieren. Diese Strategie verwandelt ein unbedingtes generatives Modell in ein durch Kontext bedingtes Rekonstruktionswerkzeug.
9. Implementierung: Theorie übersetzt in Komponenten
Die Implementierung wurde so organisiert, dass jedes mathematische Konzept eine direkte Entsprechung im Code hatte. Die SDEs wurden als Objekte implementiert, die in der Lage sind, ihre Drift- und Diffusionskoeffizienten, ihre Übergangsverteilungen und die für das Training des Scores notwendigen Operationen bereitzustellen.
Die wichtigsten Elemente waren:
- SDE-Familien: VE-SDE, VP-SDE und Sub-VP SDE.
- Lineare und kosinusförmige Noise-Schedules.
- Score-Modelle basierend auf U-Net.
- Sampler: Euler-Maruyama, Predictor-Corrector, Probability Flow ODE und exponentielle Integratoren.
- Metriken: FID, Inception Score, NLL und BPD.
- Erweiterungen für bedingte Generierung und Imputation.
Die U-Net-Architektur erweist sich als besonders geeignet, weil sie lokale und globale Information kombiniert. In Bildern müssen kleine Strukturen — Kanten, Texturen, Konturen — mit Beziehungen größerer Skala wie Form, Objekt und Hintergrund koexistieren. Die Skip-Verbindungen ermöglichen es, räumliches Detail wiederherzustellen, während die tiefen Schichten Kontext erfassen.
10. Ergebnisse: was man bei der Bilderzeugung beobachtet
Die Experimente wurden hauptsächlich mit CIFAR-10 und MNIST durchgeführt. Um das Verhalten des Systems zu veranschaulichen, werden repräsentative Ergebnisse mit einer linearen VP-SDE und verschiedenen Sampling-Methoden gezeigt.
Die Sequenz zeigt visuell die zentrale Idee der Methode: Die Generierung entsteht nicht schlagartig. Zuerst bilden sich Farbmassen, danach Texturen, später erkennbare Strukturen und schließlich klarer definierte Details. Dieses Verhalten passt zur probabilistischen Interpretation: Am Anfang werden sehr verrauschte und glatte Verteilungen aufgelöst; am Ende wird auf niedrigen Rauschniveaus gearbeitet, wo feine Details wichtig sind.
Bei den Vergleichen neigt Predictor-Corrector dazu, visuell stabilere Ergebnisse zu liefern, weil es zeitlichen Fortschritt und lokale Verfeinerung kombiniert. Euler-Maruyama ist einfacher, benötigt aber meist mehr Schritte. Die Probability Flow ODE bietet eine deterministische Trajektorie und ist besonders relevant, wenn es darum geht, Likelihoods zu schätzen.
11. Metriken: FID, IS und BPD erzählen nicht dieselbe Geschichte
Die quantitative Bewertung erfolgte mit gängigen Metriken für generative Modelle: Fréchet Inception Distance (FID), Inception Score (IS) und Bits Per Dimension (BPD).
Die Ergebnisse zeigen einen wichtigen Punkt: Nicht alle Metriken belohnen dasselbe. In den durchgeführten Läufen erzielte lineare SubVP-SDE die besten relativen perzeptuellen Ergebnisse, mit niedrigerem FID und höherem IS. Dagegen zeichneten sich die Varianten mit kosinusförmigem Schedule bei BPD aus, insbesondere kosinusförmige SubVP-SDE.
Dieser Unterschied ist relevant, weil BPD die probabilistische Anpassung misst, während FID und IS näher an perzeptueller Qualität und semantischer Diversität liegen. Ein Modell kann den Daten eine gute Wahrscheinlichkeit zuweisen und trotzdem nicht die visuell überzeugendsten Stichproben erzeugen. Diese Entkopplung zwischen Likelihood und perzeptueller Qualität ist eine der wichtigsten Lektionen bei der Bewertung generativer Modelle.
Fünfte wichtige Erkenntnis: Das „beste“ Modell hängt davon ab, was „am besten“ bedeutet. Wenn wir visuell überzeugende Bilder suchen, können FID und IS aussagekräftiger sein. Wenn wir probabilistische Modellierung und Likelihood suchen, liefert BPD eine andere Lesart. Die Bewertung muss mehrere Metriken betrachten, nicht nur eine.
12. Bedingte Generierung
Für die bedingte Generierung wurde ein zeitabhängiger Klassifikator verwendet, basierend auf einer Wide-ResNet-Architektur, trainiert darauf, Klassen zu erkennen, auch wenn das Bild durch Rauschen gestört ist.
Der Klassifikator liefert den Term , der den effektiven Score während des Samplings modifiziert. So ist die Generierung nicht mehr vollständig frei, sondern auf eine konkrete Klasse ausgerichtet.
Die bedingte Generierung zeigte, dass der SDE-Rahmen nicht nur dazu dient, zufällige Bilder zu erzeugen, sondern auch das Ergebnis teilweise zu kontrollieren. Der Grad der Kontrolle hängt vom Klassifikator, der Guidance-Skala und der Qualität des Score-Modells ab. Eine zu niedrige Skala kann die Stichprobe nicht ausreichend lenken; eine zu hohe Skala kann Artefakte erzwingen oder die Diversität verringern.
13. Bildimputation
Bei der Imputationsaufgabe wurden von MNIST-Ziffern abgeleitete Masken auf CIFAR-10-Bilder angewendet. Das Modell musste die verborgenen Regionen rekonstruieren und dabei Kohärenz mit dem sichtbaren Kontext bewahren.
Die Imputation ist interessant, weil sie zeigt, dass das Modell nicht nur aus reinem Rauschen generiert. Es kann auch als Prior-Verteilung über natürliche Bilder fungieren: Wenn Information fehlt, schlägt es Inhalt vor, der mit dem Beobachteten kompatibel ist. Mit anderen Worten: Das Modell „gewinnt“ nicht die exakte verlorene Region zurück, sondern erzeugt eine plausible Rekonstruktion unter der gelernten Verteilung.
14. Konvergenz während des Trainings
Ebenfalls verglichen wurde die Entwicklung des Loss während der ersten 50 Epochen für verschiedene SDE-Konfigurationen.
Die Kurven legen nahe, dass lineare SubVP-SDE und VE-SDE früher niedrige Loss-Werte erreichen. Diese Lesart sollte jedoch mit Vorsicht interpretiert werden: eine bessere Minimierung des Trainingsloss garantiert nicht automatisch bessere Bilder. Der Loss misst die Genauigkeit bei der Schätzung des Scores unter dem gewählten Störungsschema, während die generative Qualität auch vom Sampler, vom Noise-Schedule, von der Architektur und davon abhängt, wie sich Fehler während der inversen Integration fortpflanzen.
15. Einschränkungen
Das Projekt weist Einschränkungen auf, die man explizit benennen sollte. Das Training der Score-Modelle und der zeitabhängigen Klassifikatoren ist rechnerisch aufwendig, was die Anzahl der Epochen und die Erschöpfung einiger Vergleiche einschränkte. Die Bewertung von Metriken wie FID erfolgte auf Teilmengen der Daten, sodass die absoluten Werte variieren könnten. Hinzu kommt die inhärente Volatilität der Bewertungsmetriken für generative Modelle: Keine Metrik allein erfasst alle wünschenswerten Aspekte der Generierung.
16. Fazit: was der SDE-Rahmen klarstellt
Die Formulierung mittels SDEs bietet eine besonders klare Art, Diffusionsmodelle zu verstehen. Der direkte Prozess wandelt Daten mittels einer bekannten Dynamik in Rauschen um. Der inverse Prozess ermöglicht die Generierung von Daten, erfordert aber die Kenntnis des Scores der Zwischenverteilungen. Da dieser Score nicht verfügbar ist, wird er mit einem neuronalen Netz approximiert, das mittels Denoising Score Matching trainiert wird.
Das Mächtigste an diesem Ansatz ist, dass viele Teile auf natürliche Weise zusammenpassen:
- Die direkte SDE definiert, wie die Daten korrumpiert werden.
- Der Score gibt an, wie man zu Regionen hoher Wahrscheinlichkeit zurückkehrt.
- Die inverse SDE verwandelt Rauschen in Bilder.
- Die Probability Flow ODE bietet eine deterministische Alternative und ermöglicht die Schätzung von Likelihoods.
- Die Klassifikator-Guidance ermöglicht bedingte Generierung.
- Die Imputation ergibt sich aus der Kombination von inversem Sampling mit Beschränkungen auf bekannte Pixel.
Aus experimenteller Sicht zeigen die Ergebnisse, dass es keine einzige universell überlegene Konfiguration gibt. Lineare SubVP-SDE verhielt sich besser bei perzeptuellen Metriken wie FID und IS, während kosinusförmige Varianten bei BPD herausstachen. Dieser Unterschied verstärkt eine wichtige Idee: Die Bewertung generativer Modelle erfordert es, gleichzeitig visuelle Qualität, Diversität, Stabilität, Rechenkosten und probabilistische Anpassung zu betrachten.
Insgesamt ermöglichte diese Arbeit, Theorie, Implementierung und Experimentierung in einem einzigen Rahmen zu verbinden: von der mathematischen Herleitung des Scores bis zur Bilderzeugung, der bedingten Generierung und der Imputation.
Referenzen
Footnotes
-
Song, Y., Sohl-Dickstein, J., Kingma, D. P., Kumar, A., Ermon, S., & Poole, B. (2021). Score-Based Generative Modeling through Stochastic Differential Equations. In International Conference on Learning Representations (ICLR). ↩
-
Anderson, B. D. (1982). Reverse-time diffusion equation models. Stochastic Processes and their Applications, 13(3), 313-326. ↩
-
Chen, R. T., Rubanova, Y., Bettencourt, J., & Duvenaud, D. K. (2018). Neural ordinary differential equations. In Advances in neural information processing systems (NeurIPS). ↩