4 Punkte von GN⁺ 2024-05-27 | 1 Kommentare | Auf WhatsApp teilen

Generative Modellierung

  • Das grundlegende Problem der generativen Modellierung besteht darin, ausgehend von einer Stichprobe von Samples aus einer unbekannten Verteilung x∼p(x) neue Samples aus dieser Verteilung zu erzeugen.

1.1 Denoising-Diffusionsmodelle

  • Anstatt Datenpunkte deterministisch auf eine Normalverteilung abzubilden, wird ein Verfahren verwendet, das Punkte probabilistisch abbildet, indem zufälliges Rauschen beigemischt wird.
  • Diese Methode mag zunächst seltsam erscheinen, doch über mehrere Schritte hinweg wird sauberen Datenpunkten eine kleine Menge Rauschen hinzugefügt, bis sie wie reines Rauschen aussehen.
  • Betrachtet man in jedem Schritt den verrauschten Datenpunkt, lässt sich ungefähr erkennen, wo sich der Datenpunkt im vorherigen Schritt befand.
  • Lernt man diesen Prozess in umgekehrter Richtung, können Samples aus der Verteilung p(x) erzeugt werden.
  • Das ähnelt einem physikalischen Diffusionsprozess.

DDP-Modell

  • Das DDP-Modell steht für Denoising Diffusion Probabilistic Models.
  • Neuere Entwicklungen basieren auf der Sprache und Mathematik dieser Arbeit.

2.1 Rauschen hinzufügen und entfernen

  • Um das Eingabebild x0 auf einen Punkt einer Standardnormalverteilung abzubilden, wird ein Vorwärts-Diffusionsprozess verwendet, bei dem über die Zeitschritte t=1,2,…,T schrittweise Rauschen hinzugefügt wird.
  • Jeder Zeitschritt erzeugt ein neues Bild, indem dem vorherigen Bild eine kleine Menge zufälligen Rauschens beigemischt wird.
  • Dieser Prozess ist iterativ; jeder Schritt hängt nur vom vorherigen Zeitschritt ab, und das hinzugefügte Rauschen ist unabhängig von früheren Rausch-Samples.
  • Durch das Erlernen des Rückwärtsprozesses wird aus dem verrauschten Bild xt die Verteilung der weniger verrauschten Version xt-1 des vorherigen Schritts vorhergesagt.

2.2 Denoising-Training

  • q(xt−1∣xt) ist für sehr kleine Rauschmengen näherungsweise gaußsch.
  • Dies ist ein altes Ergebnis aus der statistischen Physik.
  • Dadurch kann die Rückwärtsverteilung gelernt werden.
  • Mithilfe der KL-Divergenz wird für alle Trainingsbeispiele x0 der Unterschied zwischen q(xt−1∣xt,x0) und pθ(xt−1∣xt) minimiert.
  • Die endgültige Verlustfunktion vereinfacht sich zu einem Problem der Rauschvorhersage.

2.3 Sampling

  • Nachdem das Rauschschätzmodell ϵθ(xt,t) trainiert wurde, kann es verwendet werden, um das Bild x0 zu samplen.
  • Dazu wird ein reines Rauschbild xT∼N(0,I) gesampelt, und für die Zeitschritte von T bis 1 wird das Rauschen vorhergesagt; anhand des vorhergesagten Rauschens wird dann ein entrauschtes Bild gesampelt.

2.4 Zusammenfassung und Beispiele

  • Es wird die zugrunde liegende Verteilung eines Bilddatensatzes gelernt, und ein Vorwärtsprozess zur Rauschzugabe wird definiert, der das Bild x0 schrittweise in das reine Rauschen xT überführt.
  • Anschließend wird der Rückwärtsprozess gelernt, um aus xt die Verteilung von xt-1 vorherzusagen.
  • Mit der KL-Divergenz wird sichergestellt, dass die gelernte Verteilung der bekannten Verteilung des Datensatzes möglichst nahekommt.
  • Schließlich wird alles auf ein Problem der Rauschvorhersage vereinfacht.

Weiterentwicklungen

3.1 Schnelle Generierung

  • Der größte Nachteil früher Diffusionsmodelle war die Generierungsgeschwindigkeit.
  • Inzwischen wurden viele Techniken entwickelt, um die Generierung zu beschleunigen; einige lassen sich direkt auf vortrainierte Modelle anwenden, andere erfordern das Training neuer Modelle.

Score Matching und schnelle Sampler

  • Diffusionsmodelle haben eine bemerkenswerte Verbindung zu Differentialgleichungen, wodurch viele schnelle Sampler entwickelt wurden.
  • Die Vorhersage der Rauschrichtung ist äquivalent zum Gradienten der Log-Likelihood des Vorwärtsprozesses.
  • Dies bildet die Grundlage scorebasierter Modelle, die den Score eines verrauschten Datensatzes lernen und entlang des Score-Felds neue Samples erzeugen.

Meinung von GN⁺

  1. Verständnis von Diffusionsmodellen: Diffusionsmodelle können nicht nur für die Bildgenerierung, sondern auch in vielen anderen Bereichen eingesetzt werden, darunter Animation, Videogenerierung, 3D-Modellierung, Vorhersage von Proteinstrukturen und Pfadplanung in der Robotik.
  2. Komplexität des Trainingsprozesses: Der Trainingsprozess von Diffusionsmodellen ist komplex, ermöglicht aber die Erzeugung sehr ausgefeilter Bilder.
  3. Techniken für schnelle Generierung: Techniken für schnelle Generierung verbessern die Praxistauglichkeit von Diffusionsmodellen erheblich.
  4. Scorebasierte Modelle: Scorebasierte Modelle arbeiten auf ähnliche Weise wie Diffusionsmodelle und tragen dazu bei, die Sampling-Geschwindigkeit zu erhöhen.
  5. Zu berücksichtigende Punkte bei der Einführung: Bei der Einführung von Diffusionsmodellen sollten Trainingszeit, Rechenressourcen und die Komplexität des Modells berücksichtigt werden.

1 Kommentare

 
GN⁺ 2024-05-27

Hacker-News-Kommentare

  • Ich habe erfahren, dass Diffusionsmodelle schon vor der Theorie des Score Matching entwickelt wurden. Dass OpenAI 250 Millionen Bilder trainierte, obwohl eine theoretische Erklärung fehlte, war ein ambitionierter Versuch.
  • Die Trainingsschleife scheint fehlerhaft zu sein. Da x0 und eps nicht zur Darstellung von xt verwendet werden, wirkt es so, als würde zufälliges Rauschen vorhergesagt.
  • Ich suche nach der besten Python-Bibliothek unter Apache- oder MIT-Lizenz für Diffusion Transformers.
  • Danke fürs Teilen. Ich habe Einblicke gewonnen, wie Diffusionsmodelle funktionieren. Zufälligkeit ist mächtig. Jetzt ist es Zeit, in einer unangemessenen Sprache zu programmieren.
  • Für Leute, die die Kommentare lesen, gibt es nicht viel zusammenzufassen. Dieser Beitrag ist eine Zusammenfassung von Stable Diffusion.
  • 2022 habe ich Zeichnen gelernt und war vom Auftauchen von KI-Kunstmodellen wie Stable Diffusion überrascht. Der Computer ist ein besserer Künstler geworden als ich. Je stärker KI in kreative Arbeit eindringt, desto mehr möchte ich das alles abschaffen.