Diffusion über Diffusionsmodelle?

Nov 26 2022
Hochfahren in diffusionsbasierten Bildgenerierungsmodellen Ich war vor drei Wochen ein Diffusions-Noob, aber angesichts der Begeisterung wollte ich auf den Diffusionszug aufspringen (was ich meiner Meinung nach in der Lage war). Das Tempo, in dem neue Entwicklungen im Bereich der diffusionsbasierten Bilderzeugung (DbIG) stattfinden, ist überwältigend.

Hochfahren von diffusionsbasierten Bilderzeugungsmodellen

Von Dall-E 2 generiertes Bild mit der Eingabeaufforderung „Diffused about Diffusion Models art“

Ich war vor drei Wochen ein Diffusions-Noob, aber angesichts der Begeisterung wollte ich auf den Diffusionszug aufspringen (was ich meiner Meinung nach konnte). Das Tempo, in dem neue Entwicklungen im Bereich der diffusionsbasierten Bilderzeugung (DbIG) stattfinden, ist überwältigend. Es wird schwer zu verstehen, wo die Reise beginnen soll. In diesem Beitrag teile ich meine Reise, die für andere nützlich sein könnte, die eine starke grundlegende Basis aufbauen möchten, um die Welt der Diffusionsmodelle (DM) zu verstehen, einschließlich des Verständnisses der Mathematik.

Anmerkung 1 : Ich werde notwendigerweise nicht im Detail auf eine der Techniken eingehen, sondern einen Weg von einem Papier zum anderen skizzieren. Ich glaube, es gibt eine Überdosis an Blogs/Videos/Papieren, die über verschiedene Techniken sprechen. Auf der anderen Seite habe ich keinen Blog gefunden, der dabei hilft, eine starke Grundlage in DbIG aufzubauen.

Anmerkung 2 : Ich brauchte ungefähr 3 Wochen engagierter Anstrengung, um von den Grundlagen zu beginnen und von Grund auf aufzubauen. Wenn Sie ein tiefes Verständnis aufbauen möchten, widmen Sie etwa 2 Wochen Ihrer Zeit, insbesondere wenn Sie mit der Mathematik von Variational Auto Encoders nicht vertraut sind und ein intuitives Gefühl für DM-Mathematik bekommen möchten.

Lass uns anfangen.

Schritt-1: Frühes Diffusionsmodell

Deep Unsupervised Learning using Nonequilibrium Thermodynamics [2015] – Dies ist das erste Papier, das die Ideen rund um die Verwendung von „Diffusionswahrscheinlichkeitsmodellen“ vorstellt. Während das Papier leicht fertig ist, wenn Sie die Mathematik überspringen, erfordert das Verständnis der Mathematik eine Vertrautheit mit Variationsschlussfolgerungen. Ich würde empfehlen, sich mit Variational Auto Encoders (VAE) vertraut zu machen, um der Mathematik zu folgen.

Variations-Auto-Encoder [Optional] : Obwohl es keine Voraussetzung für das Verständnis von Diffusionsmodellen ist, hilft ein gutes Verständnis von VAE, die grundlegenden Einheiten des Diffusionsprozesses und die Mathematik dahinter zu verstehen.

Schritt-2: DDPM

DDPM: Denoising Diffusion Probabilistic Models [2020] – Das hat den Wahnsinn um DM für die Bilderzeugung ausgelöst.

Tiefer in DDPM einsteigen:

  • Erläuterung des DDPM-Papiers – Was sind Diffusionsmodelle? [Blog], Einführung in Diffusionsmodelle für maschinelles Lernen [Blog]
  • Die Mathematik – Diffusionsmodelle | Papiererklärung | Math Explained [YouTube]-Video, das die Mathematik im Detail behandelt. Sehr nützlich, um einen Schritt-für-Schritt-Einblick in die Mathematik zu bekommen [Sehr empfehlenswert]
  • Code — Ich hatte immer noch einige Verwirrung, die beseitigt wurde, indem ich dem Code folgte/DM mit Diffusion Models | neu codierte PyTorch Implementation [YouTube], Diffusion-Models-pytorch [Github], Diffusion models from scratch in PyTorch [YouTube]
  • Verständnis der Äquivalenz von DDPM und Score- basierter Generierung – Generative Modellierung durch Schätzung von Gradienten der Datenverteilung [Blog]
  • Verbesserte Techniken zum Trainieren punktebasierter generativer Modelle [2020]
  • Score-basierte generative Modellierung durch stochastische Differentialgleichungen [2020]

U-Net : DDPM verwendete zuerst die U-Net-Architektur für DM, was meiner Meinung nach genauso wichtig ist wie der Diffusionsprozess selbst, um qualitativ hochwertige Bilder zu erzeugen. Obwohl das Verständnis von U-Net nicht erforderlich ist, um den Prozess zu verstehen, aber wenn Sie fortgeschritteneren Arbeiten folgen möchten (Zeitschrittcodierung, Textkonditionierung), ist es wichtig zu wissen, wie U-Net funktioniert.

  • U-Net: Convolutional Networks for Biomedical Image Segmentation [2015] – The U-Net Paper
  • Fully Convolutional Networks for Semantic Segmentation [2014] – FCN-Papier, das die Inspiration für U-Net ist
  • U-Net im Detail verstehen – U-Net-Architektur verstehen und von Grund auf neu erstellen [Youtube]
  • Dekonvolutionen – Ein Leitfaden zur Faltungsarithmetik für Deep Learning , Upsampling mit transponierter Faltung , Dekonvolution und Schachbrettartefakten

DDIM : Implizite Diffusions-Denoising-Modelle [Oktober 2020] – Alternative populäre Sampling-Strategie von DM aus der punktzahlbasierten Literatur.

Schritt-4: DM wird als Standardauswahl für die Bilderzeugung etabliert

  • Verbesserte Denoising-Diffusions-Wahrscheinlichkeitsmodelle [Februar 2021] – Verbesserungen an DDPM.
  • Diffusionsmodelle schlagen GANs bei der Bildsynthese [Mai 2021] – Weitere Verbesserungen an IDDPM. In diesem Dokument wurde auch die Idee der „Klassifikatorführung“ eingeführt, um die Erzeugungsqualität zu verbessern und eine Möglichkeit bereitzustellen, die Erzeugungsleistung zu steuern. Ich glaube, dass dies die Grundlage für die Folgearbeiten zu DbIG gelegt hat.
  • Classifier-Free Diffusion Guidance [Juli 2022] – Verbesserte Ergebnisse durch Konditionierung des U-Net-Modells und Befolgung eines Trainings im „Dropout“-Stil. Dies ist eine Alternative zur Klassifikatorführung, die das Trainieren eines alternativen Bildklassifikators erfordert.
  • Pseudonumerische Methoden für Diffusionsmodelle auf Verteilern [September 2021] – Verbesserung der Abtastgeschwindigkeit.
  • Bildsuperauflösung durch iterative Verfeinerung [April 2021] – Nicht für die Bilderzeugung, aber der Schlüssel zum Verständnis zukünftiger bildkonditionierter DM und der Kaskadierung zur Verbesserung der Bildauflösung.

Drei Zeitungen machten Verbreitungsmodelle zu Titelseitenmaterial.

Stable Diffusion : High-Resolution Image Synthesis with Latent Diffusion Models [Dezember 2021] — Machte ihren Code Open-Source, was zur Demokratisierung von DM beitrug. Hat geholfen, die Rechenkomplexität zu verbessern. Konditionierung durch Queraufmerksamkeit usw. Stable Diffusion im Detail verstehen — Die illustrierte Stable Diffusion .

Dall-E 2 : Hierarchical Text-Conditional Image Generation with CLIP Latents [Apr 2022] – Nicht Open Source, aber eine Online-Demo. Es wurde ein zusätzlicher Schritt zur Verwendung von CLIP-Bildeinbettungen zur Bedingung und zum Konvertieren von Text-CLIP-Einbettungen in Bildeinbettungen hinzugefügt.

Imagen : Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding [Mai 2022] – Papier von Google, mit folgender Änderung – Verwendung von Nur-Text-Einbettungen (T5), Schwellenwertführung, kaskadiertes Modell.

Schritt-7: Andere beliebte Diffusionspapiere für die Bilderzeugung bis etwa Oktober 2022 [Optional]

  • SDEdit: Geführte Bildsynthese und -bearbeitung mit stochastischen Differentialgleichungen [Aug 2021]
  • Palette: Bild-zu-Bild-Diffusionsmodelle [November 2021]
  • GLIDE: Auf dem Weg zur fotorealistischen Bilderzeugung und -bearbeitung mit textgeführten Diffusionsmodellen [Dezember 2021]
  • Semantische Bildsynthese über Diffusionsmodelle [Juni 2022]
  • Ein Bild sagt ein Wort: Personalisierung der Text-zu-Bild-Generierung mithilfe von Textinversion [Aug 2022][Textinversion]
  • DreamBooth: Feinabstimmung von Text-zu-Bild-Diffusionsmodellen für die subjektgesteuerte Generierung [August 2022]
  • Prompt-to-Prompt Bildbearbeitung mit Cross Attention Control [August 2022]
  • Imagic: Textbasierte Bearbeitung realer Bilder mit Diffusionsmodellen [Okt 2022]
  • MagicMix: Semantisches Mischen mit Diffusionsmodellen [Okt 2022]

Das ist es Leute. Viel Spaß beim Diffusen.

Ich habe diese magische Reise wirklich genossen, ein Bild aus Urknallstrahlungen zu erschaffen . Wenn Sie der Meinung sind, dass es ein Papier/einen Blog/ein Video gibt, das Ihnen geholfen hat, in den Diffusionszug einzusteigen, teilen Sie es mir bitte mit.

Danksagungen : Ich möchte Sen He , Jerry Wu und Tao Xiang aufrichtig dafür danken, dass sie mir bei dieser Erkundung geholfen und mich von Zeit zu Zeit in die richtige Richtung gewiesen haben.

Schlussbemerkung : Ich habe dieses Wissen in kurzer Zeit aufgebaut, daher könnte mein Verständnis einige Fehler enthalten. Bitte teilen Sie mir mit, wenn etwas, was ich hier gesagt habe, sachlich falsch ist.