Startseite Think Themen Diffusionsmodelle Was sind Diffusionsmodelle?
Erkunden Sie generative KI mit IBM watsonx.ai Für KI-Updates anmelden
Piktogramm-Collage mit Wolken, Kreisdiagramm und Graphen

Veröffentlicht: 21. August, 2024
Mitwirkende: Dave Bergmann, Cole Stryker

Was sind Diffusionsmodelle?

Diffusionsmodelle sind generative Modelle, die hauptsächlich für die Bilderzeugung und andere Aufgaben im Bereich Computer Vision verwendet werden. Diffusionsbasierte neuronale Netze werden durch Deep Learning trainiert, um Proben schrittweise mit zufälligem Rauschen zu „diffundieren“ und diesen Diffusionsprozess dann umzukehren, um qualitativ hochwertige Bilder zu erzeugen.

Diffusionsmodelle gehören zu den neuronalen Netzarchitekturen, die an der Spitze der generativen KI stehen. Sie werden vor allem durch beliebte Text-zu-Bild-Modelle wie Stable Diffusion von Stability AI, DALL-E (ab DALL-E-2) von OpenAI, Midjourney und Imagen von Google repräsentiert. Sie verbessern die Leistung und Stabilität anderer Architekturen für maschinelles Lernen, die für die Bildsynthese verwendet werden, wie Variational Autoencoder (VAE), Generative Adversarial Networks (GAN) und autoregressive Modelle wie PixelCNN.

Die Intuition hinter Diffusionsmodellen ist von der Physik inspiriert, wobei Pixel wie die Moleküle eines Tintentropfens behandelt werden, der sich mit der Zeit in einem Glas Wasser ausbreitet. Ähnlich wie die zufällige Bewegung der Tintenmoleküle schließlich zu ihrer gleichmäßigen Verteilung im Glas führt, führt die zufällige Einbringung von Rauschen in ein Bild schließlich zu etwas, das wie Fernsehrauschen aussieht. Durch die Modellierung dieses Diffusionsprozesses und das anschließende Erlernen, diesen Prozess irgendwie umzukehren, kann ein künstliches Intelligenzmodell neue Bilder erzeugen, indem es einfach Stichproben von zufälligem Rauschen „entrauscht“.

Diffusionsmodelle werden vor allem mit der Bilderzeugung und anderen Bildverarbeitungsaufgaben wie Inpainting und Super-Resolution in Verbindung gebracht, aber ihre Anwendungen erstrecken sich auch auf andere Bereiche wie die Audioerzeugung, das Design von Medikamenten und die Molekülgenerierung. Der Einfachheit halber konzentriert sich dieser Artikel auf die Bilderzeugung.

Generative KI und ML für Unternehmen

Erfahren Sie mehr über die wichtigsten Vorteile, die sich aus der Zusammenarbeit von generativer KI und traditionellen KI-Funktionen ergeben, und darüber, wie Unternehmen generative KI, Foundation Models und ML sicher in ihre Geschäftsabläufe integrieren können.

Ähnliche Inhalte

Newsletter von IBM abonnieren

Geschichte und Theorie von Diffusionsmodellen

Um Diffusionsmodelle zu erklären und zu verstehen, ist es wichtig, zunächst zu beachten, dass der generative Prozess, der heute als „Diffusion“ bezeichnet wird, unabhängig voneinander bei zwei verschiedenen Gelegenheiten durch zwei unterschiedliche mathematische Ansätze entdeckt wurde. Kurz gesagt gibt es mehrere Möglichkeiten, wie Diffusionsmodelle, die konzeptionell einfach, aber mathematisch komplex sind, „funktionieren“ können.

Spätere Entwicklungen haben Ideen aus beiden Ansätzen übernommen und die Vorteile beider Ansätze miteinander kombiniert, um schließlich die modernen Diffusionsmodelle zu entwickeln, die derzeit den Bereich der Bilderzeugung dominieren. Ein kurzer Überblick über die Geschichte und Theorie von Diffusionsmodellen erleichtert somit nicht nur das Verständnis dafür, wie Diffusionsmodelle funktionieren, sondern auch dafür, warum sie funktionieren.

Von der Thermodynamik inspirierte Deep-Learning-Modelle


Von der Physik inspirierte Diffusionsmodelle wurden erstmals von Sohl-Dickstein et al. in ihrem 2015 erschienenen Artikel „Deep Unsupervised Learning using Nonequilibrium Thermodynamics“ vorgestellt. Ihr Algorithmus wandte die Langevin-Dynamik (Link befindet sich außerhalb von ibm.com), eine Methode zur Modellierung der Bewegung molekularer Systeme, an, um die Grundvoraussetzung von Diffusionsmodellen zu untermauern: Daten in Rauschen umwandeln, damit man dann Rauschen in Daten umwandeln kann.


Ein Hinweis zu Wahrscheinlichkeitsdichtefunktionen
Wie die meisten generativen Modelle, wie z. B. Variational Autoencoders (VAEs), modellierte der Sohl-Dickstein-Algorithmus die Wahrscheinlichkeitsdichte: die relative Wahrscheinlichkeit, dass eine zufällig ausgewählte Variable, x, in einen bestimmten Wertebereich fällt. Im Wesentlichen ermöglicht die Modellierung einer Wahrscheinlichkeitsdichtefunktion für einen Trainingsdatensatz einem Algorithmus, dann Stichproben zu generieren, die mit hoher Wahrscheinlichkeit zur Trainingsdatenverteilung passen. Bei der Erzeugung eines neuen Bildes geht das Modell von einer hohen Wahrscheinlichkeit aus, dass die Pixelwerte auf diese spezifische Weise verteilt werden, basierend auf der Wahrscheinlichkeitsverteilung, die es aus Mustern in Trainingsdaten gelernt hat.

Logischerweise erfordern Wahrscheinlichkeitsdichtefunktionen, dass die Wahrscheinlichkeit aller Möglichkeiten 1 ergibt. Anders ausgedrückt: Die prozentuale Wahrscheinlichkeit aller Möglichkeiten muss genau 100 % ergeben. In der Praxis erfordert dies oft eine normalisierende Konstante: einen Wert, der in eine Wahrscheinlichkeitsfunktion integriert wird und die Gesamtwahrscheinlichkeit auf 1 reduziert.

Die Berechnung einer Normierungskonstante, die für alle möglichen Variablenwerte funktioniert, ist oft schwierig: technisch lösbar, aber mit unendlichem Rechenaufwand verbunden. In solchen Fällen müssen wahrscheinlichkeitsbasierte Modelle entweder auf bestimmte Modellarchitekturen beschränkt werden oder es müssen clevere Umgehungslösungen entwickelt werden, die die Normalisierungskonstante auf nachvollziehbare Weise approximieren.

Score-basierte generative Modelle
 

Unabhängig von Sohl-Dicksteins Arbeit entwickelten Yang Song und Stefano Ermon in ihrem 2019 erschienenen Artikel „Generative Modeling by Estimating Gradients of the Data Distribution“ eine Art energiebasiertes Modell (Link befindet sich außerhalb von ibm.com), das sie als „Noise Conditional Score Network” bezeichneten. Ihr Algorithmus modellierte den Gradienten (∇x) des Logarithmus (log) der Wahrscheinlichkeitsdichtefunktion p(X). Der Gradient der Log-Wahrscheinlichkeitsdichtefunktion, geschrieben als XProtokollp(X)wird als Stein-Score oder einfach als „Score-Funktion“ bezeichnet.

Im Gegensatz zu herkömmlichen Wahrscheinlichkeitsdichtefunktionen benötigen Score-Funktionen keine Normierungskonstante, da sie die Wahrscheinlichkeitsdichte nicht direkt modellieren (und daher die Gesamtwahrscheinlichkeit nicht auf 1 normalisieren müssen). Stattdessen werden sie durch Score Matching trainiert: Lernmodellparameter, θ, die ein Modell pθ(x) ergeben, dessen Score – mit anderen Worten, dessen Gradient – mit dem der Datenverteilung q(x) der Trainingsdaten übereinstimmt.

Ein weiterer Vorteil solcher Score-basierter generativer Modelle (SGMs) besteht darin, dass sie im Gegensatz zu wahrscheinlichkeitsbasierten Modellen keine großen Einschränkungen für die Modellarchitektur von pθ(x) mit sich bringen.

Song und Ermon suchten nach Möglichkeiten, die Leistung ihres Modells zu verbessern, und stießen zufällig auf dieselben Techniken, die auch von Sohl-Dickstein et al. verwendet wurden.In ihrem Artikel stellten sie fest, dass „die Verfälschung von Daten mit zufälligem Gaußschem Rauschen die Datenverteilung für eine punktbasierte generative Modellierung zugänglicher macht“. Ihr Modell, das auf der U-Net-Architektur basiert, die ursprünglich für die Bildsegmentierung entwickelt wurde, wandte ebenfalls die Langevin-Dynamik an, um Proben zu generieren.

Denoising Diffusion Probabilistic Models (DDPMs)


2020 schlugen Ho et al. in ihrem bahnbrechenden Artikel „Denoising diffusion probabilistic models“ (DDPMs) vor, Sohl-Dicksteins Ansatz zu verwenden, um mithilfe der Variationsinferenz qualitativ hochwertige Bilder zu erzeugen. In ihrer Arbeit zeigten sie, dass die Maximierung der Evidenzuntergrenze (ELBO) – eine Möglichkeit, wahrscheinlichkeitsbasierte Optimierungsprobleme so umzuschreiben, dass sie handhabbar sind – zum Trainieren von Diffusionsmodellen im Wesentlichen der Kombination von Score-Matching-Zielen entspricht, die zum Trainieren von SGMs verwendet werden.

Durch die Implementierung des Ansatzes von Sohl-Dickstein unter Verwendung von Score Matching zeigten Ho et al., dass Diffusions-Probabilistik-Modelle eine Bildqualität erreichen können, die mit GANs konkurrieren kann, die zu dieser Zeit auf dem neuesten Stand der Technik waren. Diese Zusammenhänge wurden von Song, Ermon, Sohl-Dickstein und anderen (darunter Diederik P. Kingma, dem Erfinder der VAE) in ihrem 2021 erschienenen Artikel „Score-Based Generative Modeling through Stochastic Differential Equations“ weiter untersucht.

Später im selben Jahr veröffentlichten Dhariwal und Nichol unter Nutzung der Erkenntnisse aus dem zuvor erwähnten Artikel „Diffusion Models Beat GANs on Image Synthesis“ und etablierten damit Diffusionsmodelle als neuen Stand der Technik.

DDPMs bleiben im Allgemeinen die vorherrschende Form von Diffusionsmodellen, wenn auch mit Verbesserungen, die durch nachfolgende Forschung vorangetrieben wurden. Zum Beispiel markierte die einflussreiche Arbeit „High-Resolution Image Synthesis with Latent Diffusion Models“ aus dem Jahr 2022 wichtige Fortschritte in Bezug auf Effizienz und Kosteneffektivität.

Wie funktionieren Diffusionsmodelle?

Beim Training diffundieren Diffusionsmodelle einen Datenpunkt schrittweise mit zufälligem Rauschen, bis er zerstört ist, und lernen dann, diesen Diffusionsprozess umzukehren und die ursprüngliche Datenverteilung zu rekonstruieren.

Ein trainiertes Diffusionsmodell kann dann neue Datenpunkte generieren, die den Trainingsdaten ähneln, indem es einfach eine zufällige Anfangsstichprobe reinen Rauschens von Rauschen befreit. Vom Konzept her ähnelt dies einem Denoising-Autoencoder, bei dem die verrauschten Bilder als latente Variablen fungieren.

Die direkte Umwandlung von zufälligem Rauschen in ein kohärentes Bild ist äußerst schwierig und komplex, aber die Umwandlung eines verrauschten Bildes in ein etwas weniger verrauschtes Bild ist relativ einfach und unkompliziert. Diffusionsmodelle formulieren daher den umgekehrten Diffusionsprozess als eine inkrementelle, schrittweise Umwandlung einer einfachen Verteilung (wie Gaußsches Rauschen) in eine komplexere Verteilung (wie ein kohärentes Bild).

Der Prozess des Trainings und anschließenden Bereitstellung einer Diffusion lässt sich in drei Hauptphasen unterteilen:

  • Der Vorwärtsdiffusionsprozess, bei dem ein Bild aus dem Trainingsdatensatz in reines Rauschen umgewandelt wird – in der Regel eine Gaußsche Verteilung.
  • Der umgekehrte Diffusionsprozess, bei dem das Modell die Umkehrung jedes vorherigen Schritts im ursprünglichen Vorwärtsdiffusionsprozess lernt
  • Bilderzeugung, bei der das trainierte Modell eine zufällige Rauschverteilung abtastet und sie mithilfe des umgekehrten Diffusionsprozesses, den es zum Entrauschen einer zufälligen Stichprobe von Gaußschem Rauschen erlernt hat, in eine qualitativ hochwertige Ausgabe umwandelt.
Vorwärtsdiffusionsprozess

Der Zweck des Vorwärtsdiffusionsprozesses besteht darin, saubere Daten aus dem Trainingsdatensatz, wie z. B. ein Bild oder eine Audioaufnahme, in reines Rauschen umzuwandeln. Die gängigste Methode besteht darin, iterativ Gaußsches Rauschen einzufügen, bis die gesamte Datenverteilung gaußsch ist.

Mathematisch wird dieser schrittweise Prozess als Markow-Kette formuliert: eine Art stochastischer Prozess – ein Zufallsprozess, der bestimmten Wahrscheinlichkeitsregeln folgt – zur Modellierung sequenzieller Zeitreihendaten. In einer Markow-Kette wird das Ergebnis jedes Zeitschritts nur durch den unmittelbar vorhergehenden Zeitschritt beeinflusst. Einfach ausgedrückt: xt, der Zustand der Markow-Kette x zum Zeitpunkt t, wird nur direkt von xt-1 beeinflusst. Die mathematische Funktion, die den Übergang von einem beliebigen xt zu xt+1 definiert, wird als Übergangskern bezeichnet.

Zu jedem Zeitpunkt t wird eine kleine Menge Gaußsches Rauschen zu xt-1 hinzugefügt, und das Bild wird dann neu skaliert, um trotz der kontinuierlichen Zufügung zufälliger Pixel eine konstante Bildgröße beizubehalten. In dieser Formulierung ist x0 der ursprüngliche, saubere Datenpunkt. x1 ist der Datenpunkt nach dem ersten Zeitschritt, dem eine geringe Menge an Gaußschem Rauschen hinzugefügt wurde. xT ist der Endzustand des Vorwärtsdiffusionsprozesses. Wenn T groß genug ist – d. h. nach genügend Schritten – konvergiert xT zu reinem Gaußschen Rauschen.

Wir definieren jeden Vorwärtsschritt als F(Xt|Xt-1):den Zustand der Datenverteilung q(xt) vorhersagen, wenn q(xt-1) gegeben ist. Bei einem Standard-DDPM beinhaltet dieser Vorwärtsprozess kein maschinelles Lernen: Das Endergebnis der Markov-Kette ist immer eine Gaußsche Verteilung und erfordert daher keine Optimierung.

Zusätzliches Rauschen


Bei einem DDPM ist das Gaußsche Rauschen, das bei jedem Schritt in der Markov-Kette hinzugefügt wird, weder konstant noch willkürlich. Stattdessen wird das Rauschen aus der Struktur des Originalbildes abgeleitet und die Rate, mit der es hinzugefügt wird, nimmt mit jedem aufeinanderfolgenden Schritt stetig zu.

Durch die Variation der Geräuschmenge wird sowohl die Stabilität des Modelltrainings verbessert als auch die Gesamtleistung gesteigert, indem zwei konkurrierende Prioritäten ausgeglichen werden. Wie Yang Song in seinem Blogbeitrag über Score-basierte generative Modelle feststellte (Link befindet sich außerhalb von ibm.com):

  • Größeres Rauschen verbessert die Fähigkeit des Modells, in Bereichen mit „geringer Dichte“ von Trainingsdaten – visuelle Kategorien und Konzepte, die in Trainingsdaten weniger repräsentiert sind – genau zu lernen, indem diese Bereiche mit verrauschten Daten aufgefüllt werden. Aber es kann auch zu einer Überkorrektur von Daten führen, was die Gesamtgenauigkeit verringert.
  • Ein geringeres Rauschen führt zu einer geringeren Verfälschung der ursprünglichen Datenverteilung, weisen jedoch in Regionen mit geringer Dichte eine schlechte Leistung auf.
  • Um das Beste aus beiden Welten zu erreichen, verwenden Diffusionsmodelle daher mehrere Rauschstufen im Training.

Erinnern Sie sich daran, dass jede Gaußsche (Normal-)Verteilung sowohl einen Mittelwert μ als auch eine Varianz, Σ, hat . Ein weiterer Parameter, β, dient als Skalierungsfaktor für den Mittelwert und die Varianz des Gaußschen Rauschens im Übergangskern, der jeden Schritt in der Vorwärts-Markov-Kette definiert. Wenn Sie den Wert von β in einem bestimmten Schritt ändern, ändert sich auch das in diesem Schritt hinzugefügte Gaußsche Rauschen. β1 ist die Varianz zum Zeitpunkt 1, βt ist die Varianz zum Zeitpunkt t usw. – bis βT.

Der Wert der Rate von β bei jedem Schritt wird wiederum durch den Varianzplan bestimmt.

Varianzplan


Bei jedem Schritt t wird das Bild gegenüber seiner Iteration im vorherigen Schritt leicht verschoben (gemäß dem Mittelwert) und dieser verschobenen Version des Bildes wird Rauschen hinzugefügt (gemäß der Varianz). Das Ausmaß jeder Verschiebung und jedes zusätzlichen Lärms wird durch den Wert von  βt: wenn βt dieser gemäß dem Varianzplan ansteigt, nimmt die Diffusionsrate infolgedessen stetig zu. β ist immer ein Wert zwischen 0 und 1: also 0 < β1 < β2 < … < βT < 1.

Die Wahl eines bestimmten Varianzplans für β ist eine wichtige Überlegung. Er wird in der Regel manuell als Hyperparameter festgelegt – entweder auf einen konstanten Wert fixiert oder nach einer Formel mit einem vorgegebenen Start- und Endwert für β. In dem DDPM-Papier verwendeten Ho et al. einen linearen Zeitplan mit 1.000 Schritten, wobei β1 = 10-4 und βT = 0,02. Spätere Untersuchungen ergaben Leistungs- und Effizienzsteigerungen bei anderen Typen von Zeitplänen, wie z. B. einem Cosinus-Zeitplan[1] oder der Verwendung des Zeitplans selbst als weiteren erlernten Parameter.[2]

Der Wert von βt bestimmt sowohl den Mittelwert als auch die Varianz des Gaußschen Rauschens, das in Schritt t hinzugefügt wird.

  • Der Mittelwert μ des im Zeitschritt t hinzugefügten Gaußschen Rauschens,μtwird wie folgt berechnet: μt=(1-βt)Xt-1Einfach ausgedrückt ist der Durchschnitt des bei jedem Schritt t hinzugefügten Rauschens einfach eine skalierte Version des Bildes aus dem vorherigen Schritt, xt-1. Die Größe von βt bestimmt, wie weit dieser Mittelwert vom vorherigen Schritt abweicht: Wenn βt sehr klein ist, ist diese Verschiebung sehr gering – weil (1-βt)(1-0)1– und das hinzugefügte Rauschen wird daher dem Originalbild sehr ähnlich sein. Mit steigendem Wert von βt wird diese Verschiebung bedeutender.

  • Die Varianz des zum Zeitschritt t hinzugefügten Gaußschen Rauschens wird als berechnet Σ, hatt=βtI, wobei I ist die Einheitsmatrix (Link befindet sich außerhalb von ibm.com). Ein größeres βt führt zu mehr Rauschen. Ein sehr kleines βt führt zu vernachlässigbarem Rauschen.

Zusammenfassend lässt sich sagen, dass bei jedem Schritt t das Bild geringfügig gegenüber seiner Iteration im vorherigen Schritt verschoben wird (gemäß dem Mittelwert) und dieser verschobenen Version des Bildes Rauschen hinzugefügt wird (gemäß der Varianz). Das Ausmaß jeder Verschiebung und jedes zusätzlichen Rauschens wird durch den Wert von βt bestimmt: Wenn βt gemäß dem Varianzplan zunimmt, steigt die Diffusionsrate infolgedessen stetig an.

Da die Hinzufügung des Gaußschen Rauschens allmählich beginnt und das Rauschen selbst immer von der wesentlichen Struktur des Originalbildes im vorherigen Schritt abgeleitet wird, bleiben die wesentlichen Eigenschaften des Originalbildes über viele Schritte hinweg erhalten. Dadurch kann das Modell während des umgekehrten Diffusionsprozesses die Muster und die Struktur der ursprünglichen Datenverteilung sinnvoll erlernen.

Der Reparametrisierungstrick


Ein Nachteil dieses schrittweisen Prozesses ist, dass er umständlich und rechenintensiv ist: Für jedes Bild in einem Trainingsdatensatz, der Tausende oder Millionen von Bildern enthalten kann, würde der Vorwärtsprozess Dutzende oder Hunderte von Einzelschritten erfordern.

Anstatt wiederholt Rauschen hinzuzufügen, kann die Formel für den Vorwärtsprozess auf geschickte Weise umgeschrieben werden, indem der Ausdruck von1βt als neuer Parameter, , neu parametrisiert wird. αt. Durch eine „nette Eigenschaft“ von Markow-Ketten kann dieser neue Parameter weiter zu einem zusätzlichen Parameter erweitert werden, α¯t, abgeleitet aus der iterativen Multiplikation von αt bei jedem fortschreitenden Schritt in der Kette bis zu diesem Punkt. Dieser zusätzliche Parameter spiegelt im Wesentlichen das Signal-Rausch-Verhältnis (SNR) von xt wider: Mit anderen Worten, wie viel vom Originalbild zum Zeitpunkt t übrig bleibt.

Zum Beispiel wurde bei x1, einmal ein kleines Rauschen hinzugefügt. Der Wert von  α¯t liegt nahe bei 1, was bedeutet, dass das Bild immer noch den größten Teil seines ursprünglichen „Signals“ beibehält. In einem späteren Schritt, wie x50, wurde das Rauschen viele Male hinzugefügt. Weil αt=1βt, der Wert von  αt ist immer kleiner als 1. Seit α¯50=α1α2...α49α50, der Wert von  α¯t Bei Schritt 50 liegt es viel näher an 0, was bedeutet, dass ein größerer Teil des Originalbildes durch Rauschen ersetzt wurde. Im Zeitschritt T ist xT ausschließlich Rauschen und der Wert von  α¯t nähert sich 0.

Während die komplexe Herleitung der Gleichung den Rahmen dieses Artikels sprengen würde, gibt es zwei wichtige Erkenntnisse, um die Bedeutung dieses Tricks zur Neuparametrisierung zu verstehen:

  • Der Zustand von x zu jedem Zeitschritt t kann nun definiert werden als Xt=α¯tX0+1-α¯tε0, wobei ε0 ist das Rauschen, das im ersten Schritt hinzugefügt wurde. Da der Wer von α¯t mit jedem Schritt abnimmt, nimmt der Einfluss von x0 ab und der Einfluss von ε0 zu.

  • Weil α¯t von abgeleitet ist 1βt und der Wert von βt durch den Varianzplan bestimmt wird, ermöglicht das Umschreiben der Formel die direkte Berechnung von xt zu jedem Zeitpunktschritt t , ohne den gesamten Prozess Schritt für Schritt durchlaufen zu müssen.
Erfahren Sie mehr über die Herleitung des Reparametrisierungstricks in Diffusionsmodellen
Rückdiffusionsprozess

In Diffusionsmodellen findet der eigentliche maschinelle Lernprozess im umgekehrten Diffusionsprozess statt. Indem das Modell lernt, die Schritte des Vorwärtsprozesses rückwärts auszuführen, lernt es im Wesentlichen, reines Gaußsches Rauschen in ein sauberes Bild umzuwandeln. Sobald das neuronale Netz trainiert wurde, kann diese Fähigkeit genutzt werden, um durch schrittweise Rückdiffusion neue Bilder aus Gaußschem Rauschen zu erzeugen.

Theoretisch kann man sich die Aufgabe des Modells als die einfache Umkehrung der Vorwärtsdiffusion vorstellen. Der Vorwärtsprozess, beginnend mit dem Datenpunkt x0, der aus der realen Datenverteilung q(x) des Trainingsdatensatzes entnommen wurde, ist definiert als F(Xt|Xt-1): das heißt, wenn F(Xt-1)gegeben ist, wird berechnetF(Xt). Das Gegenteil, die umgekehrte Diffusion, würde definiert werden als: F(Xt-1|Xt). Doch in der Praxis ist be die Berechnung von F(Xt-1|Xt) nicht lösbar.

Stattdessen wird die Trainingsaufgabe durch zwei Umgehungslösungen formuliert:

  • Wie bereits beschrieben, wird q(x) durch ein neuronales Netz pθ(x) angenähert, das das eigentliche Diffusionsmodell darstellt. Ziel des Trainings ist es, die Modellparameter θ zu lernen, die die Ausgabe von pθXt-1|Xt ) mit der Ausgabe von q() in Übereinstimmung bringen.Xt-1|Xt ).

  • Dieses Modell, pθ(x), sagt nicht direkt voraus Xt-1noch das spezifische Rauschen, das zwischen xt-1 und xt hinzugefügt wurde. Stattdessen wird das gesamte Rauschen, das in xt vorhanden ist, vorhergesagt und dann ein Teil dieses Rauschens (basierend auf dem Zustand des Varianzplans in diesem Schritt) entfernt, um zu xt-1 zu gelangen. Das ursprüngliche DDPM-Papier vereinfachte diesen Prozess weiter, indem nur der Mittelwert des Gaußschen Rauschens geschätzt wurde, obwohl spätere Modelle oft auch die Varianz vorhersagen.

Erinnern Sie sich noch einmal daran, dass der Mittelwert des bei der Vorwärtsdiffusion hinzugefügten Gaußschen Rauschens nicht willkürlich ist: Obwohl er tatsächlich zufällig ist, wird die Struktur des Rauschens zunächst aus der Struktur des Originalbildes x0 abgeleitet. Durch das Erlernen der genauen Vorhersage des Rauschens durch Rückdiffusion lernt das Modell daher nicht nur, das Bild zu entrauschen, sondern auch implizit die Struktur von x0.

Verlustfunktion für das Training des Diffusionsmodells


Das spezifische Trainingsziel, das für Diffusionsmodelle verwendet wird, ist eng mit dem Rekonstruktionsverlust-Begriff verbunden, der zur Optimierung von Variational Autoencoders (VAEs) verwendet wird. Wie VAEs werden Diffusionsmodelle durch Maximierung der Varianzuntergrenze (VLB), auch Evidenzuntergrenze (ELBO) genannt, einer Kombination mehrerer Verlustterme optimiert.

Die Maximierung des VLB wird in der Variationsinferenz verwendet, um die schwer fassbare Score-Funktion zu approximieren. XProtokoll(p(X)): Anstatt Fehler direkt zu minimieren, wird die Gleichung neu formuliert, indem die minimale Schätzung (oder untere Grenze) der Genauigkeit von Modellvorhersagen maximiert wird.

Die verwendeten Verlustbegriffe spiegeln jeweils die Kullback-Leibler-Divergenz (oder „KL-Divergenz“, üblicherweise als DKL bezeichnet) zwischen den Ergebnissen der Vorwärtsdiffusionsschritte von q und den durch pθ vorhergesagten Rückwärtsschritten wider. Die KL-Divergenz wird verwendet, um den Unterschied zwischen zwei Wahrscheinlichkeitsverteilungen zu messen – beispielsweise zwischen der Verteilung von Pixelwerten in einem Bild und der Verteilung von Pixelwerten in einem anderen.

Insbesondere kombiniert die Verlustfunktion für Diffusionsmodelle drei Verlustbedingungen: LT, Lt und L0.

  •  LT spiegelt die KL-Abweichung zwischen q(XT|X0) und pθ(xT) wider. Mit anderen Worten: die Differenz zwischen dem vollständig geräuschvollen Endergebnis des Vorwärtsprozesses q und dem Ausgangspunkt des Rückwärtsprozesses. Dieser Term kann im Allgemeinen ignoriert werden, da xT gaußverteilt ist und q keine lernbaren Parameter hat.

  • Lt spiegelt die KL-Divergenz zwischen F(Xt-1|Xt,X0) und pθ(Xt-1|Xt) bei jedem Schritt wider. Mit anderen Worten: die Genauigkeit jeder der Entrauschungsvorhersagen von pθ während der Rückwärtsdiffusion im Vergleich zu jedem entsprechenden Rauschschritt während des Vorwärtsdiffusionsprozesses für das Originalbild x0.

  • L0 misst -Protokollpθ(X0|X1)Anders ausgedrückt spiegelt L0 die negative logarithmische Wahrscheinlichkeit der Vorhersage des vollständig entrauschten Bildes x0 durch das Modell wider. Die Steigung von L0 ist der zuvor in diesem Artikel beschriebene Score Matching Term. Die Verlustbedingung ist negativ, sodass die Minimierung der Verlustfunktion der Maximierung der Wahrscheinlichkeit der Modellvorhersagen entspricht.

Obwohl die komplexe mathematische Herleitung den Rahmen dieses Artikels sprengen würde, kann die VLB letztlich auf den mittleren quadratischen Fehler (MSE) zwischen dem vom Modell vorhergesagten Rauschen εθ und dem im Vorwärtsprozess hinzugefügten tatsächlichen Rauschen ε, bei jedem Zeitschritt vereinfacht werden. Dies erklärt, warum das Modell als Ausgabe eine Vorhersage des Rauschens bei jedem Schritt liefert und nicht das entrauschte Bild selbst.

Durch die Berechnung der Steigung der Verlustfunktion während der Backpropagation und die anschließende Anpassung der Modellgewichte zur Minimierung der Verlustfunktion durch Gradientenabstieg werden die Vorhersagen des Modells über den gesamten Trainingsdatensatz hinweg genauer.

Erfahren Sie mehr über die mathematische Ableitung des Diffusionsverlustes
Bilderzeugung mit Diffusionsmodellen

Sobald das Diffusionsmodell gelernt hat, das bei jedem Schritt zu subtrahierende Rauschen genau zu schätzen, kann es verwendet werden, um neue Bilder zu erzeugen, indem es ein zufälliges verrauschtes Bild xT aus der erlernten Datenverteilung auswählt und es für T Schritte entrauscht. Ähnlich wie bei VAEs ermöglicht die Einführung eines leichten Zufallselements in den Stichprobenprozess Diffusionsmodellen, neue Bilder zu erzeugen, die den Trainingsdaten ähneln, anstatt die Trainingsbilder direkt zu reproduzieren.

Anders als beim Rückdiffusionstraining muss die Anzahl der Schritte im Generierungsprozess nicht mit der Anzahl der Schritte im Vorwärtsprozess übereinstimmen. Dies ist möglich, weil das Modell darauf trainiert ist, das gesamte Rauschen bei jedem Bildschritt vorherzusagen, und nicht nur die spezifische Menge an Rauschen, die in diesem Schritt entfernt werden soll.

Weniger Schritte bedeuten eine höhere Geschwindigkeit und geringere Rechenanforderungen, wobei ein potenzieller Kompromiss bei den feinen Details besteht. Mehr Schritte verbessern in der Regel die Genauigkeit, allerdings auf Kosten einer geringeren Geschwindigkeit und höherer Rechenkosten.

 

Geführte Diffusionsmodelle


Während ein Standard-Diffusionsmodell zufällige, qualitativ hochwertige Variationen von Trainingsbildern erzeugen kann, erfordern die praktischen Anwendungen eines Bildgenerierungsmodells in den meisten Fällen eine gewisse Kontrolle über die Ausgabe des Modells. Geführte Diffusionsmodelle ermöglichen es einem Benutzer, die erzeugten Bilder mit spezifischen Anleitungen zu bearbeiten.

Die häufigste Form des geführten Diffusionsmodells ist ein Text-zu-Bild-Diffusionsmodell, bei dem Benutzer die Ausgabe mit einem Prompt wie „eine Giraffe, die einen Zylinder trägt“ beeinflussen können. Dies beinhaltet die Kombination eines Diffusionsmodells mit einem separaten Large Language Model (LLM) zur Interpretation des Text-Prompts, das erstmals von Google in dem Artikel „Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding“ vorgestellt wurde.

Standard-Diffusionsmodelle zielen auf die Vorhersage der unbedingten Score-Funktion ab XProtokollp(X): mit anderen Worten: Die Steigung des Logarithmus der Wahrscheinlichkeit, dass das vom Modell p erzeugte Bild x zu den Trainingsdaten x passt. Geführte Diffusionsmodelle führen eine bestimmte visuelle Kategorie ein, y – zum Beispiel „Giraffe“ – und sagen die bedingte Score-Funktion voraus. XProtokollp(X|y): oder anders ausgedrückt, die Wahrscheinlichkeit von Bild x, vorausgesetzt, es muss in Kategorie y passen.

Methoden für die geführte Diffusion können in zwei Kategorien unterteilt werden:

  • Klassifikator-gesteuerte Diffusion erfordert ein separates Klassifikatormodell, um Vektor-Einbettungen für jede Kategorie y zu erlernen, für die das Diffusionsmodell darauf trainiert wird, visuelle Darstellungen zu erzeugen. Diese Vektoreinbettung wird dann verwendet, um die Ausgabe bei jedem Schritt t zu konditionieren. Das Diffusionsmodell erfordert keine zusätzliche Schulung, kann aber nur Ausgaben in den spezifischen Kategorien konditionieren, die der Klassifikator gelernt hat.

  • Klassifikatorfreie Anleitung erfordert kein separates Modell, aber ein zweistufiges Diffusionsmodell, das speziell für die bedingte Führung trainiert wird. Dies umfasst in der Regel ein zweistufiges Modell: In der ersten Stufe generiert ein Einbettungsalgorithmus wie CLIP (Link befindet sich außerhalb von ibm.com) eine Einbettung y für den Prompt. In der zweiten Stufe verwendet ein Diffusionsmodell diese Einbettung, um seine Ausgabe zu konditionieren. Trotz des zusätzlichen Schulungsaufwands hat dies den Vorteil, dass eine „Zero-Shot“-Anleitung für nicht sichtbare Bildkategorien möglich ist.
Latente Diffusionsmodelle

Trotz ihrer hochmodernen Fähigkeit, qualitativ hochwertige Bilder zu erzeugen, haben herkömmliche Diffusionsmodelle zwei wesentliche Nachteile: Sie sind langsam und rechenintensiv. Diese Nachteile wurden durch die Einführung von latenten Diffusionsmodellen, beginnend mit Stable Diffusion, erheblich reduziert.

Die Prämisse hinter latenten Diffusionsmodellen ist einfach und stützt sich erneut auf die Verbindung zu Variational Autoencoder (VAEs). Anstatt den Diffusionsprozess im hochdimensionalen Pixelraum anzuwenden – also direkt auf die Eingabebilder –, könnte das Modell die Eingaben zunächst in einen niedrigdimensionalen latenten Raum projizieren, um dort den Diffusionsprozess anzuwenden.

Im Wesentlichen verwenden latente Diffusionsmodelle eine VAE-ähnliche Autoencoder-Architektur, um einen Encoder zu trainieren, der latente Darstellungen z von Eingabedaten x ausgibt. Diese latenten Darstellungen werden dann als Eingabe für ein Standard-Diffusionsmodell verwendet, in der Regel unter Verwendung der U-Net-Architektur. Da das Diffusionsmodell mit Daten niedrigerer Dimension arbeitet, wird sein Output dann in ein Decodernetzwerk eingespeist, um die gewünschte endgültige Bildgröße zu erreichen.

Weiterführende Lösungen
IBM watsonx.ai

Trainieren, prüfen, optimieren und implementieren Sie generative KI, Foundation Models und ML-Funktionen problemlos und erstellen Sie KI-Anwendungen in einem Bruchteil der Zeit und zu einem Bruchteil der Daten.

watsonx.ai erkunden

IBM watsonx

Erstellen Sie ganz einfach individuelle KI-Anwendungen für Ihr Unternehmen, verwalten Sie alle Datenquellen und beschleunigen Sie verantwortungsvolle KI-Workflows – alles auf einer Plattform.

Die watsonx-Plattform erkunden

KI-Beratungsleistungen

Stellen Sie sich die Art und Weise, wie Sie mit KI arbeiten, neu vor: Unser vielfältiges, globales Team von mehr als 20.000 KI-Experten kann Ihnen dabei helfen, KI und Automatisierung in Ihrem Unternehmen schnell und sicher zu entwerfen und zu skalieren, indem es mit unserer eigenen IBM watsonx-Technologie und einem offenen Ökosystem von Partnern arbeitet, um jedes KI-Modell in jeder Cloud bereitzustellen, geleitet von Ethik und Vertrauen.

Entdecken Sie unsere IBM KI-Beratungsleistungen
Ressourcen Red-Teaming Text-to-Image-Diffusionsmodelle

In dieser Arbeit schlägt IBM Prompting4Debugging (P4D) als Debugging- und Red-Team-Tool vor, das automatisch problematische Prompts für Diffusionsmodelle findet, um die Zuverlässigkeit eines bereitgestellten Sicherheitsmechanismus zu testen.

Schutz von Diffusionsmodellen

Verbreitungsmodelle können mit versteckten Hintertüren gekapert werden, die Angreifern die Kontrolle über den Bildverarbeitungsprozess ermöglichen. IBM-Forscher haben Möglichkeiten zur Überwachung und Aufrechterhaltung der Modellsicherheit untersucht.

Diffusionsmodelle für die Klangsynthese aus Videos

Die Modellierung von Geräuschen, die durch Interaktionen mit physischen Objekten entstehen, ist für immersive Wahrnehmungserfahrungen in realen und virtuellen Welten von entscheidender Bedeutung. In diesem Dokument schlägt IBM ein physikbasiertes Diffusionsmodell vor, das hochpräzise Trittschallgeräusche für einen leisen Videoclip synthetisieren kann.

Machen Sie den nächsten Schritt

Trainieren, validieren, optimieren und implementieren Sie generative KI, Foundation Models und maschinelle Lernfunktionen mit IBM watsonx.ai, einem Studio der nächsten Generation für AI Builder in Unternehmen. Erstellen Sie KI-Anwendungen mit einem Bruchteil der Zeit und Daten.

watsonx.ai erkunden Live-Demo buchen
Fußnoten

HINWEIS: Alle Links befinden sich außerhalb von ibm.com.

[1] „Improved Denoising Diffusion Probabilistic Models“, arXiv, 18. Februar 2021
[2] „Variational Diffusion Models“, arXiv, zuletzt überarbeitet am 14. April 2023