Diffusionsmodelle sind eine faszinierende Anwendung von Deep Learning zur Simulation der allmählichen Entwicklung von Daten im Laufe der Zeit. Das Konzept der Generierung mithilfe des Diffusionsmodells besteht darin, einen Datenpunkt iterativ von einem Rauschen in eine Zielverteilung umzuwandeln, bei der es sich um die ursprüngliche Datenverteilung handelt. Diese Transformation wird durch eine Reihe diskreter Schritte durchgeführt. Die Trainingsphase umfasst Vorwärtsdiffusion und Rückwärtsdiffusion.
Im Vorwärtsdiffusionsprozess fügen wir den Daten für eine zufällige Anzahl von Zeitschritten „t“ (‚t‘ kleiner oder gleich der Gesamtzahl der vorgegebenen Zeitschritte) nach und nach Gaußsches Rauschen hinzu, was zu einem verrauschten Bild führt. Im Rückwärtsdiffusionsprozess beginnen wir mit dem verrauschten Bild (verrauscht für „t“ Schritte in der Vorwärtsdiffusion) und trainieren ein UNet-Modell, das dabei hilft, den Rauschpegel zu senken, indem es das dem Originalbild hinzugefügte Rauschen vorhersagt.
Um neue Bilder zu erzeugen, führen wir einfach iterativ eine umgekehrte Diffusion durch. Dazu nehmen wir zunächst eine Probe des Rauschens einer Standard-Gauß-Funktion auf und prognostizieren und entfernen das Rauschen schrittweise über die vorgegebene Anzahl von Zeitschritten, was dazu führt, dass ein Bild entsteht, das der ursprünglichen Datenverteilung ähnelt.