Was ist ein Autoencoder?
Entdecken Sie IBM® watsonx.ai
Abstrakte Darstellung des maschinellen Lernens

Veröffentlicht: 23. November 2023
Mitwirkende: Dave Bergmann, Cole Stryker

Was ist ein Autoencoder?

Ein Autoencoder ist eine Art Architektur für neuronale Netze, die darauf ausgelegt ist, Eingabedaten effizient zu komprimieren (kodieren), um sie auf ihre wesentlichen Merkmale zu reduzieren, und dann die ursprüngliche Eingabe aus dieser komprimierten Darstellung zu rekonstruieren (dekodieren).

Durch unüberwachtes maschinelles Lernen werden Autoencoder darauf trainiert, latente Variablen der Eingabedaten zu entdecken: versteckte oder zufällige Variablen, die, obwohl sie nicht direkt beobachtbar sind, die Art und Weise, wie Daten verteilt werden, grundlegend beeinflussen. Zusammenfassend werden die latenten Variablen eines bestimmten Satzes von Eingabedaten als latenter Raum bezeichnet. Während des Trainings lernt der Autoencoder, mit welchen latenten Variablen die Originaldaten am genauesten rekonstruiert werden können: Diese Latenzraumdarstellung repräsentiert somit nur die wichtigsten Informationen, die in der ursprünglichen Eingabe enthalten sind.

Die meisten Arten von Autoencodern werden für Aufgaben der künstlichen Intelligenz im Zusammenhang mit der Merkmalsextraktion verwendet, z. B. Datenkomprimierung, Bildrauschunterdrückung, Anomalieerkennung und Gesichtserkennung. Bestimmte Arten von Autoencodern, wie Variational Autoencoder (VAEs) und Adversarial-Autoencoder (AAEs), passen die Architektur von Autoencodern an generative Aufgaben an, wie die Erzeugung von Bildern oder Zeitreihen.

Schauen Sie sich IBM® watsonx.ai näher an

Ein Enterprise Studio der nächsten Generation für KI-Entwickler, um KI-Modelle zu trainieren, zu prüfen, zu optimieren und bereitzustellen. Testen Sie IBM Watsonx.ai kostenlos.

Ähnliche Inhalte

Newsletter von IBM abonnieren

Autoencoder vs. Encoder-Decoder

Obwohl alle Autoencoder-Modelle sowohl einen Encoder als auch einen Decoder enthalten, sind nicht alle Encoder-Decoder-Modelle Autoencoder.

Encoder-Decoder-Frameworks, bei denen ein Encoder-Netz Schlüsselmerkmale der Eingabedaten extrahiert und ein Decoder-Netz diese extrahierten Merkmalsdaten als Eingabe verwendet, werden in einer Vielzahl von Deep-Learning-Modellen verwendet, beispielsweise in den verwendeten Convolutional Neural Network (CNN)-Architekturen in Computer-Vision-Aufgaben wie Bildsegmentierung oder den Architekturen rekurrenter neuronaler Netze (RNN), die in Sequenz-zu-Sequenz-Aufgaben (seq2seq) eingesetzt werden.

In den meisten Anwendungen von Encoder-Decoder-Modellen unterscheidet sich die Ausgabe des neuronalen Netzes von seiner Eingabe. Bei Bildsegmentierungsmodellen wie U-Net extrahiert das Encoder-Netzwerk beispielsweise Feature-Daten aus dem Eingabebild, um die semantische Klassifizierung unterschiedlicher Pixel zu bestimmen. Mit dieser Feature-Karte und diesen pixelweisen Klassifizierungen konstruiert das Decoder-Netzwerk dann Segmentierungsmasken für jedes Objekt oder jeden Bereiche im Bild. Das Ziel dieser Encoder-Decoder-Modelle ist es, Pixel genau nach ihrer semantischen Klasse zu kennzeichnen: Sie werden durch überwachtes Lernen trainiert, wobei die Vorhersagen des Modells anhand eines „Ground-Truth“-Datensatzes von Bildern optimiert werden, die von menschlichen Experten gekennzeichnet wurden.

Autoencoder beziehen sich auf eine bestimmte Teilmenge von Encoder-Decoder-Architekturen, die über unüberwachtes Lernen geschult werden, um ihre eigenen Eingabedaten wiederherzustellen.

Da sie nicht auf gekennzeichneten Trainingsdaten basieren, gelten Autoencoder nicht als überwachte Lernmethode. Wie alle Methoden des unüberwachten Lernens werden Autoencoder trainiert, um verborgene Muster in unmarkierten Daten zu entdecken, anstatt bekannte Muster vorherzusagen, die in markierten Trainingsdaten gezeigt werden. Wie überwachte Lernmodelle – und im Gegensatz zu den meisten Beispielen des unüberwachten Lernens – haben Autoencoder jedoch eine Grundwahrheit, an der sie ihre Ausgabe messen können: die ursprüngliche Eingabe selbst (oder eine modifizierte Version davon). Aus diesem Grund gelten sie als „selbstüberwachtes Lernen“ – daher Autoencoder.

Wie funktionieren Autoencoder?

Autoencoder entdecken latente Variablen, indem sie Eingabedaten durch einen „Engpass“ leiten, bevor sie den Decoder erreichen. Dies zwingt den Encoder zu lernen, nur die Informationen zu extrahieren und weiterzuleiten, die für eine genaue Rekonstruktion der ursprünglichen Eingabe am förderlichsten sind.

Obwohl verschiedene Varianten von Autoencodern bestimmte Elemente ihres künstlichen neuronalen Netzes ändern, um sie am besten an bestimmte Ziele und Datentypen anzupassen, haben alle Autoencoder wichtige Strukturelemente gemeinsam:

Der Encoder umfasst Schichten, die eine komprimierte Darstellung der Eingabedaten durch Dimensionsreduktion kodieren. In einem typischen Autoencoder enthalten die verborgenen Schichten des neuronalen Netzes eine immer geringere Anzahl von Knoten als die Eingabeschicht: Während die Daten die Encoderschichten durchlaufen, werden sie durch den Prozess des „Stauchens“ in weniger Dimensionen komprimiert.

Der Engpass (oder „Code“) enthält die am stärksten komprimierte Darstellung der Eingabe: Er ist sowohl die Ausgangsschicht des Encodernetzes als auch die Eingangsschicht des Decodernetzes. Ein grundlegendes Ziel des Entwurfs und Trainings eines Autoencoders besteht darin, die Mindestanzahl wichtiger Merkmale (oder Abmessungen) zu ermitteln, die für eine effektive Rekonstruktion der Eingabedaten erforderlich sind. Die aus dieser Schicht austretende Latent-Raum-Darstellung, also der Code, wird dann in den Decoder eingespeist.

Der Decoder besteht aus verborgenen Schichten mit einer zunehmend größeren Anzahl von Knoten, die die codierte Darstellung der Daten dekomprimieren (oder decodieren) und die Daten schließlich wieder in ihre ursprüngliche Form vor der Codierung wiederherstellen. Diese rekonstruierte Ausgabe wird dann mit der „Ground Truth“ verglichen – was in den meisten Fällen einfach die ursprüngliche Eingabe ist – um die Wirksamkeit des Autoencoders zu messen. Die Differenz zwischen der Ausgangs- und der Ground-Truth wird als Rekonstruktionsfehler bezeichnet.

In einigen Anwendungen von Autoencodern kann der Decoder nach dem Training verworfen werden: In solchen Fällen besteht der einzige Zweck des Decoders darin, den Encoder zu trainieren – ähnlich wie die Rolle des Discriminators in einem generativen adversen Netzwerk (GAN) –, der dann als Komponente eines anderen neuronalen Netzes verwendet wird. In vielen Autoencodern erfüllt der Decoder nach dem Training weiterhin einen Zweck: Beispielsweise gibt der Decoder in VAEs neue Datenproben aus.

Einer der Hauptvorteile der Verwendung von Autoencodern gegenüber anderen Dimensionalitätstechniken wie Principal Component Analysis (PCA) besteht darin, dass Autoencoder komplexe nicht lineare Korrelationen erfassen können. Dementsprechend sind die in Autoencodern verwendeten Aktivierungsfunktionen typischerweise nichtlineare Funktionen wie die Sigmoidfunktion.

Verschiedene Arten von Autoencodern nehmen Anpassungen an dieser Struktur vor, um sie besser an unterschiedliche Aufgaben und Datentypen anzupassen. Neben der Auswahl des geeigneten Typs eines neuronalen Netzes – z. B. einer CNN-basierten Architektur, einer RNN-basierten Architektur wie dem Long Short-Term Memory, einer Transformer-Architektur oder einem einfachen neuronalen Vanilla-Feed-Forward-Netz – umfasst der Entwurf eines Autoencoders mehrere Hyperparameter:

  • Codegröße: Die Größe des Engpasses bestimmt, wie stark die Daten komprimiert werden sollen. Die Codegröße kann auch als Regularisierungsbegriff verwendet werden: Anpassungen der Codegröße sind eine Möglichkeit, der Über- oder Unteranpassung entgegenzuwirken.
  • Anzahl der Schichten: Die Tiefe des Autoencoders wird anhand der Anzahl der Schichten im Encoder und Decoder gemessen. Eine höhere Tiefe sorgt für eine größere Komplexität, während eine geringere Tiefe für eine höhere Verarbeitungsgeschwindigkeit sorgt.
  • Anzahl der Knoten pro Schicht: Im Allgemeinen nimmt die Anzahl der Knoten (oder „Neuronen“) mit jeder Encoderschicht ab, erreicht am Engpass ein Minimum und nimmt mit jeder Schicht der Decoderschicht zu – obwohl in bestimmten Varianten, wie z. B. Autoencodern mit geringer Dichte dies nicht immer der Fall ist. Die Anzahl der Neuronen kann auch je nach Art der Eingabedaten variieren: Beispielsweise würde ein Autoencoder, der mit großen Bildern arbeitet, mehr Neuronen benötigen als einer, der mit kleineren Bildern arbeitet.
  • Verlustfunktion: Beim Training eines Autoencoders wird die Verlustfunktion, die den Rekonstruktionsverlust zwischen Ausgabe und Eingabe misst, verwendet, um die Modellgewichte durch Gradientenabstieg während der Backpropagation zu optimieren. Die idealen Algorithmen für die Verlustfunktion hängen von der Aufgabe ab, für die der Autoencoder verwendet wird.
Untervollständige Autoencoder

Untervollständige Autoencoder sind eine einfache Autoencoder-Struktur, die hauptsächlich zur Dimensionsreduzierung verwendet wird. Ihre verborgenen Schichten enthalten weniger Knoten als ihre Eingabe- und Ausgabeschichten, und die Kapazität ihres Engpasses ist festgelegt.

Das Ziel dieses Engpasses besteht darin, eine Überanpassung des Autoencoders an seine Trainingsdaten zu verhindern. Ohne ausreichende Begrenzung der Kapazität des Engpasses tendiert das Netz dazu, die Identitätsfunktion zwischen Eingabe und Ausgabe zu erlernen: Mit anderen Worten, es kann lernen, den Rekonstruktionsverlust zu minimieren, indem es die Eingabe einfach direkt kopiert. Da die Daten stark komprimiert werden müssen, muss das neuronale Netz lernen, nur die für die Rekonstruktion wichtigsten Merkmale zu behalten.

Wenn der Encoder und der Decoder jedoch über eine ausreichend hohe Kapazität verfügen, d. h. wenn sie große oder komplexe Dateneingaben verarbeiten, kann der Autoencoder (selbst bei einem Engpass) die Identitätsfunktion trotzdem lernen, so dass sie nutzlos ist. Dies macht unvollständige Autoencoder unflexibel und schränkt ihre Kapazität ein.

Regularisierte Autoencoder

Regularisierte Autoencoder beheben die Mängel untervollständiger Autoencoder durch die Einführung von Regularisierung: Techniken, die die Art und Weise, wie das Modell den Rekonstruktionsfehler berechnet, einschränken oder verändern. Diese Regularisierungsbedingungen verringern nicht nur die Überanpassung, sondern ermöglichen es dem Autoencoder auch, nützliche Merkmale oder Funktionen zu lernen.

Sparse Autoencoder

Sparse Autoencoders (SAEs) erzwingen eine Sparsamkeitsbeschränkung : Anstatt einen Informationsengpass zu schaffen, indem sie die Anzahl der Knoten in jeder versteckten Schicht reduzieren, schaffen SAEs einen Engpass, indem sie die Anzahl der Knoten, die gleichzeitig aktiviert werden können, reduzieren.

Während ein standardmäßiger untervollständiger Autoencoder das gesamte neuronale Netz für jede Beobachtung nutzt, werden Autoencoder mit einer Sparsity-Funktion für jedes Neuron bestraft, das über einen bestimmten Schwellenwert hinaus aktiviert wurde. Dadurch können Encoder und Decoder eine höhere Kapazität haben, ohne dass das Risiko einer Überanpassung an Trainingsdaten besteht (da nicht alle Neuronen aktiviert werden). Außerdem können versteckte Schichten Knoten enthalten, die der Entdeckung spezifischer Merkmale gewidmet sind: Die Sparsamkeitsfunktion stellt sicher, dass es sich nur dann „lohnt“, diese Knoten zu aktivieren, wenn die genannten Merkmale vorhanden sind.

Obwohl die Berechnung des Rekonstruktionsfehlers und die anschließende Optimierung der Parametergewichte durch Backpropagation separat erfolgen, wird diese Optimierung durch diese Sparsity-Funktion reguliert . Der Autoencoder ist somit gezwungen, die effektivste Latenzraumdarstellung innerhalb der gegebenen Sparsity-Beschränkungen zu lernen.

Die Funktionen, die verwendet werden, um eine Sparsity-Einschränkung aufzuerlegen, sind typischerweise L1-Regularisierung oder KL-Divergenz.

KL-Divergenz
Die Kullback-Leibler (KL)-Divergenz misst die Differenz zwischen zwei Wahrscheinlichkeitsverteilungen. Bei Verwendung im Kontext von SAEs ist die dem Netzwerk nach jedem Trainings-Batch zugewiesene Strafe proportional zur KL-Divergenz zwischen der Zielverteilung der Aktivierungswerte, der gewünschten Sparsity und der tatsächlichen Verteilung der Aktivierungswerte. Wie später in diesem Artikel erörtert wird, wird die KL-Divergenz auch verwendet, um die Genauigkeit von Wahrscheinlichkeitsverteilungen zu optimieren, die von Variational Autoencodern (VAEs) gelernt werden.

Kontraktive Autoencoder

Sie wurden erstmals 2011 von Forschern der Université deMontréal1vorgestellt. vorgestellt. Kontraktive Autoencoder sind so konzipiert, dass sie unempfindlich gegenüber geringfügigen Abweichungen (oder „Rauschen“) in den Eingabedaten sind, um eine Überanpassung zu vermeiden und wesentliche Informationen effektiver zu erfassen.

Dies wird erreicht, indem beim Training ein Regularisierungsterm hinzugefügt wird, der das Netz dafür bestraft, dass es die Ausgabe als Reaktion auf unzureichend große Änderungen der Eingabe ändert. Dieser Strafbegriff wird anhand von zwei mathematischen Konzepten berechnet:

  • Die Jacobi-Matrix enthält alle Ableitungen erster Ordnung einer Funktion, die für die Backpropagation verwendet werden können. Es stellt dar, wie sich die Gradienten des Netzwerks ändern, wenn die Eingabe geändert wird.
  • Die Frobeniusnorm wird als „die Quadratwurzel der Summe der absoluten Quadrate ihrer Elemente berechnet.“2 Sie misst die durchschnittliche Verstärkung der Matrix entlang der einzelnen orthogonalen Richtung im Raum.3

Konkret handelt es sich bei dem Strafbegriff um die Frobeniusnorm der Jacobi-Matrix der Neuronenaktivierungen im Encoder-Netzwerk in Bezug auf die Eingabe. Dieser Strafbegriff und der Verlustfunktionsalgorithmus, der zur Reduzierung des Rekonstruktionsfehlers verwendet wird, sind gegensätzlich: Die Rekonstruktionsverlustfunktion neigt dazu, Variationen in den Eingabedaten zu beobachten, während der Strafbegriff dazu neigt, sie zu ignorieren. Durch die Kombination beider Begriffe wird das Netz gezwungen, eine komprimierte Darstellung der Eingabe zu lernen, die nur die wichtigsten Variablen enthält.

Denoising-Autoencoder

Denoising-Autoencoder erhalten teilweise verfälschte Eingabedaten und werden darauf trainiert, die ursprüngliche Eingabe wiederherzustellen, indem unbrauchbare Informationen durch Dimensionalitätsreduktion entfernt werden.

Im Gegensatz zu den meisten Autoencodern verfügen Denoising-Autoencoder nicht über die Ground-Truth-Daten als Eingabe. Stattdessen wird den Originaldaten gaußsches Rauschen hinzugefügt, z. B. zufälliges Rauschen in einem Bild, und der Denoising Autoencoder (DAE) lernt, es herauszufiltern. Während des Modelltrainings wird der Rekonstruktionsfehler der entrauschten Ausgabe nicht gegen die beschädigten Eingabedaten, sondern gegen das Originalbild gemessen.

Diese Trainingstechnik verhindert nicht nur eine Überanpassung, sondern macht Denoising-Autoencoder auch sehr nützlich für die Bereinigung von verrauschten oder beschädigten Bild- und Audiodateien. Denoising-Autoencoder dienten auch als grundlegende Trainingsparadigmen für hochmoderne Bilderzeugungsmodelle wie Stable Diffusion.4

Variational Autoencoder

Variational Autoencoder (VAEs) sind generative Modelle, die komprimierte Darstellungen ihrer Trainingsdaten als Wahrscheinlichkeitsverteilungen erlernen,die zur Erzeugung neuer Beispieldaten verwendet werden, indem Variationen dieser erlernten Darstellungen erstellt werden.

Der grundlegende Unterschied zwischen VAEs und anderen Arten von Autoencodern besteht darin, dass die meisten Autoencoder diskrete latente Raummodelle lernen, während VAEs kontinuierliche latente Variablenmodelle lernen. Anstelle eines einzigen Kodierungsvektors für den latenten Raum modellieren die VAEs zwei verschiedene Vektoren: einen Vektor der Mittelwerte „μ“ und einen Vektor der Standardabweichungen „σ“. Da diese Vektoren latente Attribute als Wahrscheinlichkeitsverteilung erfassen , d . h.sie lernen eine stochastische Codierung anstelle einer deterministischen Codierung, ermöglichen VAEs Interpolation und Zufallsstichproben, was ihre Möglichkeiten und Anwendungsfälle erheblich erweitert. Dies bedeutet, dass VAEs generative KI-Modelle sind.

Einfacher ausgedrückt: VAEs lernen, wichtige Merkmale aus den Eingaben in den Datensätzen, auf denen sie trainiert wurden, auf eine flexible, annähernde Weise zu kodieren, die es ihnen ermöglicht, neue Stichproben zu generieren, die den ursprünglichen Trainingsdaten ähneln. Die Verlustfunktion zur Minimierung des Rekonstruktionsfehlers wird von der KL-Divergenz zwischen der Wahrscheinlichkeitsverteilung von Trainingsdaten (die priorale Verteilung) und der Verteilung der von den VAE erfassten latenten Variablen (posteriore Verteilung) geregelt. Diese regulierte Verlustfunktion ermöglicht es den VAEs, neue Stichproben zu erzeugen, die den Daten ähneln, auf denen sie trainiert wurden, und gleichzeitig eine Überanpassung zu vermeiden, was in diesem Fall bedeuten würde, dass neue Stichproben generiert werden, die zu sehr mit den ursprünglichen Daten übereinstimmen.

Um eine neue Stichprobe zu generieren, tastet die VAE einen zufälligen latenten Vektor (ε) innerhalb der gaußschen Einheit ab (Link befindet sich außerhalb von ibm.com) – mit anderen Worten, wählt einen zufälligen Startpunkt innerhalb der Normalverteilung aus – verschiebt ihn um den Mittelwert der latenten Verteilung ( μ) und skaliert ihn um die Varianz der latenten Verteilung (μ). Dieser Vorgang wird als Reparametrisierungstrick bezeichnet5 und vermeidet eine direkte Stichprobe der Variationsverteilung: Da der Prozess zufällig ist, weist er keine Ableitung auf – wodurch die Notwendigkeit einer Backpropagation über den Stichprobenprozess entfällt.

Wenn eine VAE für generative Aufgaben verwendet wird, kann der Encoder nach dem Training meist verworfen werden. Fortgeschrittenere Weiterentwicklungen von VAEs, wie z. B. bedingte VAEs, geben dem Benutzer mehr Kontrolle über generierte Samples, indem sie bedingte Eingaben bereitstellen, die den Ausgang des Encoders modifizieren.

Anwendungsfälle für Autoencoder

Sowohl generative als auch deterministische Autoencoder haben eine Vielzahl von Anwendungsfällen in verschiedenen Bereichen und Datentypen.

  • Datenkomprimierung: Autoencoder lernen natürlich eine komprimierte Darstellung von Eingabedaten.
  • Verringerung der Dimensionalität: Die von Autoencodern erfassten Codierungen können als Eingabe für größere, zusammengesetzte neuronale Netze verwendet werden. Durch die Dimensionsreduzierung komplexer Daten können für andere Aufgaben relevante Merkmale extrahiert und die Rechengeschwindigkeit und -effizienz erhöht werden.
  • Erkennung von Anomalien und Gesichtserkennung: Autoencoder können Anomalien, Betrug oder andere Defekte erkennen – und umgekehrt eine echte Übereinstimmung bestätigen -, indem sie den Rekonstruktionsverlust der untersuchten Daten im Verhältnis zum „normalen“ oder „echten“ Beispiel, mit dem sie verglichen werden, bestimmen.
  • Bildentrauschung und Audioentrauschung: Denoising-Autoencoder können störende Artefakte oder Verfälschungen entfernen, die nicht mit der vom Netz erlernten latenten Raumdarstellung übereinstimmen.
  • Bildrekonstruktion: Durch Umkehrung der für die Rauschunterdrückung erlernten Techniken können Autoencoder fehlende Elemente eines Bildes ergänzen. Sie können auf ähnliche Weise zum Kolorieren von Bildern verwendet werden.
  • Generative Aufgaben: VAEs und Adversarial Autoencoder (AAEs), die probabilistische Verteilungen ähnlich denen von VAEs lernen, aber anstelle der KL-Divergenz ein Adversarial-Discriminator-Netz (ähnlich generativen Adversarial-Netzen) verwenden, wurden mit großem Erfolg für generative Aufgaben eingesetzt. Zu den wichtigsten generativen Anwendungen von Autoencodern gehören das ursprüngliche Dall-E-Modell von OpenAI zur Bildgenerierung6 und sogar die Generierung molekularer Strukturen, die für Medikamente verwendet werden.7
Weiterführende Lösungen
watsonx.ai

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

watsonx.ai erkunden

Autoencoder-Ressourcen Überwachtes vs. unüberwachtes Lernen: Was ist der Unterschied?

In diesem Artikel werden die Grundlagen zweier datenwissenschaftlicher Ansätze untersucht: überwachtes und unüberwachtes Lernen. Finden Sie heraus, welcher Ansatz für Ihre Situation der richtige ist.

Deep Learning und Reinforcement Learning

Eine Einführung in zwei der begehrtesten Disziplinen im maschinellen Lernen. Lernen Sie zunächst die Theorie hinter neuronalen Netzen und verschiedenen modernen Deep-Learning-Architekturen kennen. Sobald Sie einige Deep-Learning-Modelle entwickelt haben, konzentriert sich der Kurs auf Reinforcement Learning.

Das neue Geodaten-Foundation Model von IBM

Das watsonx.ai-Modell, das in Zusammenarbeit von IBM mit der NASA entstanden ist, wurde speziell dafür entwickelt, Satellitendaten in hochauflösende Karten von Überschwemmungen, Bränden und anderen Landschaftsveränderungen zu konvertieren, um die vergangene Beschaffenheit von Landschaften auf unserem Planeten darzustellen und Hinweise auf die Zukunft zu geben. IBM baute das Modell auf einem maskierten Autoencoder zur Videoverarbeitung auf und passte es an Satellitenaufnahmen an.

Machen Sie den nächsten Schritt

Trainieren, validieren, optimieren und implementieren Sie generative KI, Foundation Models und maschinelles Lernen mit Leichtigkeit und erstellen Sie KI-Anwendungen in einem Bruchteil der Zeit und mit einem Bruchteil der Daten mit IBM watsonx.ai, einem Unternehmensstudio der nächsten Generation für KI-Entwickler.

Kostenlosen Test starten Buchen Sie eine Live-Demo
Fußnoten

1 „Contractive Auto-Encoders: Explicit Invariance While Feature Extraction“, Proceedings of the 28th International Conference on Machine Learning, Juli 2011
„Frobenius-Norm , Wolfram Mathworld
3 „Matrix Norms“, UC Berkeley, Februar 2021
4 „High-Resolution Image Synthesis With Latent Diffusion Models“, Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Juni 2022
5 „Auto-Encoding Variational Bayes“, arXiv, Dezember 2013 (zuletzt aktualisiert am 10. Dezember 2022)
6 „DALL-E: Creating Images from Text“, OpenAI, 5. Januar 2021
7 „Junction Tree Variational Autoencoder for Molecular Graph Generation“, Proceedings of the 35th International Conference on Machine Learning, Juli 2018