Diffusion Models 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.
Diffusion Models 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 Diffusion Models 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“.
Diffusion models 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.
Um Diffusion Models 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 Diffusion Models erleichtert somit nicht nur das Verständnis dafür, wie Diffusion Models funktionieren, sondern auch dafür, warum sie funktionieren.
Von der Physik inspirierte Diffusion Models 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 an, eine Methode zur Modellierung der Bewegung molekularer Systeme für die Untermauerung der Grundprämisse von Diffusion Models: Daten in Rauschen umwandeln, damit Rauschen wiederum in Daten umgewandelt werden kann.
Wie die meisten generativen Modelle, wie z. B. Variational Autoencoder (VAEs), modellierte der Sohl-Dickstein-Algorithmus die Wahrscheinlichkeitsdichte: die relative Wahrscheinlichkeit, dass eine zufällig gezogene 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: theoretisch 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.
Unabhängig von der Arbeit von Sohl-Dickstein entwickelten Yang Song und Stefano Ermon in ihrem Artikel „Generative Modeling by Estimating Gradients of the Data Distribution“ aus dem Jahr 2019 eine Art energiebasiertes Modell, das sie als „ Noise Conditional Score Network“ bezeichneten. Ihr Algorithmus modellierte den Gradienten (∇x) des Logarithmus () der Wahrscheinlichkeitsdichtefunktion . Der Gradient der Log-Wahrscheinlichkeitsdichtefunktion, geschrieben als 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.
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.
Beim Training diffundieren Diffusion Models 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 Diffusion Model 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 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 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.
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 scorebasierte generative Modelle feststellte:
Erinnern Sie sich daran, dass jede Gaußsche (Normal-)Verteilung sowohl einen Mittelwert als auch eine Varianz, . 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.
Bei jedem Schritt twird 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 Rauschens wird durch den Wert von βt bestimmt: Wenn βt gemäß dem Varianzplan zunimmt, steigt die Diffusionsrate infolgedessen stetig an. β 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.
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.
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 von als neuer Parameter, , neu parametrisiert wird. . Durch eine „nette Eigenschaft“ von Markow-Ketten kann dieser neue Parameter weiter zu einem zusätzlichen Parameter erweitert werden, , abgeleitet aus der iterativen Multiplikation von 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 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 , der Wert von ist immer kleiner als 1. Seit , der Wert von 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 vollständig Rauschen und der Wert von 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:
In Diffusion Models findet der eigentliche Machine Learning Prozess 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 : das heißt, wenn gegeben ist, wird berechnet. Das Gegenteil, die umgekehrte Diffusion, würde definiert werden als: . Doch in der Praxis ist be die Berechnung von nicht lösbar.
Stattdessen wird die Trainingsaufgabe durch zwei Umgehungslösungen formuliert:
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.
Das für Diffusion Models verwendete spezifische Trainingsziel ist eng mit dem Rekonstruktionsverlust-Begriff verwandt, der zur Optimierung von Variational Autoencodern (VAEs) verwendet wird. Wie VAEs werden auch Diffusionsmodelle optimiert, indem die Variationsuntergrenze (VLB), auch Evidenzuntergrenze (ELBO) genannt, einer Kombination mehrerer Verlustbegriffe maximiert wird.
Die Maximierung des VLB wird in der Variationsinferenz verwendet, um die schwer fassbare Score-Funktion zu approximieren. : 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 Loss Function für Diffusion Models drei Verlustbedingungen: LT, Lt und L0.
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 Loss Function 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.
Sobald das Diffusion Model 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.
Während ein Standard Diffusion Model 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 Diffusion Models ermöglichen es einem Benutzer, die erzeugten Bilder mit spezifischen Anleitungen zu bearbeiten.
Die häufigste Form des geführten Diffusion Models 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 Diffusion Models 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 Diffusion Models zielen auf die Vorhersage der unbedingten Bewertungsfunktion ∇xlogp(x) ab: mit anderen Worten, den Gradienten des Logarithmus der Wahrscheinlichkeit, dass das vom Modell p generierte Bild x zu den Trainingsdaten x passt. Geführte Diffusionsmodelle führen eine bestimmte visuelle Kategorie y ein – beispielsweise „Giraffe“ – und sagen die bedingte Score-Funktion ∇xlogp(x|y) voraus: mit anderen Worten, die Wahrscheinlichkeit, dass Bild x in die Kategorie y passen muss.
Methoden für die geführte Diffusion können in zwei Kategorien unterteilt werden:
Trotz ihrer hochmodernen Fähigkeit, qualitativ hochwertige Bilder zu erzeugen, haben herkömmliche Diffusion Models zwei wesentliche Nachteile: Sie sind langsam und rechenintensiv. Diese Nachteile wurden durch die Einführung von latenten Diffusion Models, beginnend mit Stable Diffusion, erheblich reduziert.
Die Prämisse hinter latenten Diffusion Models 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 Diffusion Models 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 Diffusion Model verwendet, in der Regel unter Verwendung der U-Net-Architektur. Da das Diffusion Model mit Daten niedrigerer Dimension arbeitet, wird sein Output dann in ein Decodernetzwerk eingespeist, um die gewünschte endgültige Bildgröße zu erreichen.
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.
Setzen Sie KI in Ihrem Unternehmen ein – mit branchenführendem Fachwissen im Bereich KI und dem Lösungsportfolio von IBM an Ihrer Seite.
Erfinden Sie kritische Workflows und Abläufe neu, indem Sie KI einsetzen, um Erfahrungen, Entscheidungsfindung in Echtzeit und den geschäftlichen Nutzen zu maximieren.
HINWEIS: Alle Links befinden sich außerhalb von ibm.com.
[1] „Improved Denoising Diffusion Probabilistic Models“, arXiv, 18. Februar 2021
[2] „Variator Diffusion Models“, arXiv, zuletzt überarbeitet am 14. April 2023
IBM web domains
ibm.com, ibm.org, ibm-zcouncil.com, insights-on-business.com, jazz.net, mobilebusinessinsights.com, promontory.com, proveit.com, ptech.org, s81c.com, securityintelligence.com, skillsbuild.org, softlayer.com, storagecommunity.org, think-exchange.com, thoughtsoncloud.com, alphaevents.webcasts.com, ibm-cloud.github.io, ibmbigdatahub.com, bluemix.net, mybluemix.net, ibm.net, ibmcloud.com, galasa.dev, blueworkslive.com, swiss-quantum.ch, blueworkslive.com, cloudant.com, ibm.ie, ibm.fr, ibm.com.br, ibm.co, ibm.ca, community.watsonanalytics.com, datapower.com, skills.yourlearning.ibm.com, bluewolf.com, carbondesignsystem.com, openliberty.io