
Autoencoder und Variational Autoencoder (VAE)
Autoencoder sind neuronale Netze im unüberwachten Lernen, die Daten komprimieren und rekonstruieren. VAE, eine Weiterentwicklung, integrieren probabilistische Elemente und ermöglichen neben der Rekonstruktion auch generatives Sampling neuer Datenpunkte. Beide sind nützlich für Dimensionsreduktion und Merkmalsextraktion.
Autoencoder
Autoencoder sind darauf ausgelegt, effiziente Darstellungen von Daten zu erlernen. Sie bestehen aus einem Encoder, der die Eingabedaten in eine komprimierte Repräsentation umwandelt, und einem Decoder, der versucht, die ursprünglichen Daten aus dieser Repräsentation zu rekonstruieren. Der Prozess läuft wie folgt ab:
Encoding: Die Eingabedaten werden durch eine oder mehrere Schichten eines neuronalen Netzes komprimiert, um die Daten, durch Reduktion der Dimensionen, zu komprimieren.
Bottleneck: Die encodierten Daten stellen die kompakteste Form der Eingabedaten dar, einen sogenannten "Bottleneck", der die essenziellen Merkmale der Daten enthält.
Decoding: Die komprimierten Daten werden durch weitere Schichten expandiert, um die ursprünglichen Eingabedaten so genau wie möglich zu rekonstruieren.
Lernprozess: Durch Training lernt das Netz, den Bottleneck so zu optimieren, dass die Rekonstruktion der Eingabedaten möglichst fehlerfrei erfolgt.
Autoencoder werden für Dimensionsreduktion, Merkmalsextraktion und als Vorstufe für komplexere Aufgaben, wie Denoising (Rauschunterdrückung) oder Anomaly Detection (Anomalieerkennung), verwendet. Abbildung 16 stellt die Architektur eines Autoencoders schematisch dar. Hierbei stellen die Größe der Balken in der Mitte, schematisch die Dimensionalität der Schichten des neuronalen Netzes dar.
Im kommenden Abschnitt werden die Vor- und Nachteile von Autoencodern genauer betrachtet:
Vorteile:
Effiziente Dimensionsreduktion: Autoencoder ermöglichen eine effektive Reduzierung der Dimensionalität von Daten, indem sie wesentliche Merkmale extrahieren und in einer kompakten Darstellung speichern.
Merkmalsextraktion: Sie können komplexe Datenmuster identifizieren und wichtige Merkmale herausfiltern, die für die Rekonstruktion der Daten entscheidend sind.
Unüberwachtes Lernen: Autoencoder erfordern keine gelabelten Daten und können daher in Situationen eingesetzt werden, in denen nur ungelabelte Daten verfügbar sind.
Vorstufe für Anomalieerkennung und Rauschunterdrückung: Sie können als Vorstufe für fortgeschrittenere Aufgaben wie die Erkennung von Anomalien oder die Beseitigung von Rauschen verwendet werden.
Nachteile:
Rekonstruktionsfehler: Die Qualität der rekonstruierten Daten hängt stark von der Fähigkeit des Autoencoders ab, die wesentlichen Merkmale zu erfassen. Ein unzureichend trainierter Autoencoder kann zu einer schlechten Rekonstruktion führen.
Überanpassung: Wie bei anderen neuronalen Netzen besteht die Gefahr der Überanpassung, insbesondere wenn die Kapazität des Modells zu groß ist oder wenn die Daten nicht ausreichend repräsentativ sind.
Komplexität: Die Optimierung und Auswahl der Hyperparameter eines Autoencoders kann eine Herausforderung darstellen, speziell bei komplexen Architekturen oder großen Datensätzen.
Berechnungsintensivität: Das Training eines Autoencoders kann rechenaufwändig sein, vorwiegend bei großen Datensätzen oder komplexen Netzarchitekturen.
Mehr erfahren: IBM/Was ist ein Autoencoder?, GeeksforGeeks/Autoencoders -Machine Learning, DataCamp/Introduction to Autoencoders
Variational Autoencoder (VAE)
Variational Autoencoder (VAE) sind eine spezielle Art von Autoencoder in der Kategorie der generativen Modelle. Im Gegensatz zu herkömmlichen Autoencodern integrieren VAE eine probabilistische Komponente, indem sie die latenten (komprimierten) Darstellungen der Daten als Wahrscheinlichkeitsverteilungen modellieren. Diese erweiterte Struktur ermöglicht nicht nur die effiziente Rekonstruktion von Daten, sondern auch das generative Sampling neuer, ähnlicher Datenpunkte, was VAEs besonders in der Erzeugung von neuen, realistischen Dateninstanzen nützlich macht. Die Schritte zur Erstellung eines VAEs sind folgende:
Probabilistisches Encoding: Anstatt einer festen Darstellung generiert der Encoder eine Wahrscheinlichkeitsverteilung für jede Dimension des Bottlenecks.
Sampling: Aus dieser Verteilung wird ein Sample gezogen, das als Basis für den Decoding-Prozess dient. Durch das Ziehen von Samples aus der gelernten Verteilung ermöglicht der VAE das Generieren neuer Datenpunkte, die ähnlich zu den Eingabedaten sind.
Rekonstruktion: Der Decoder rekonstruiert die Eingabedaten aus diesem Sample. Dieser Schritt ähnelt dem eines herkömmlichen Autoencoders, bei dem der Decoder den komprimierten Input wieder in die ursprüngliche Datenform umwandelt.
Variational Loss: Der Trainingsprozess minimiert nicht nur den Rekonstruktionsfehler, sondern auch die Divergenz zwischen der gelernten Verteilung und einer vorgegebenen Verteilung, meistens einer Normalverteilung.
Abbildung 17 stellt die Architektur eines VAEs dar. Zu beachten ist, dass im Vergleich zum Autoencoder (vgl. Abbildung 16) vor dem latenten Raum die probabilistische Komponente der Daten gelernt wird, um die Daten im latenten Raum gleichmäßiger zu verteilen als beim Autoencoder.
In Abbildung 18 ist der latente Raum eines VAEs zu sehen und rechts daneben Bilder von Zahlen welche man daraus decoden kann. Jedes Punktecluster im latenten Raum stellt eine Klasse der Zahlen 0-9 dar. Zu beachten ist, dass die Cluster der Klassen nah beieinander liegen und die Cluster gleichmäßiger verteilt sind als sie es bei dem Autoencoder wären.

Im nachfolgenden Abschnitt werden die Vor- und Nachteile von VAEs beleuchtet:
Vorteile:
Probabilistische Repräsentation: VAEs modellieren die Datenverteilung als Wahrscheinlichkeitsverteilung, was eine präzisere und robustere Darstellung der Daten ermöglicht.
Generatives Sampling: Sie ermöglichen das generative Sampling neuer Datenpunkte, die den Eigenschaften der Trainingsdaten ähneln, was sie besonders nützlich in der Generierung von neuen, realistischen Dateninstanzen macht.
Besseres Verständnis der Datenstruktur: Die probabilistische Natur von VAEs ermöglicht ein tiefes Verständnis der zugrundeliegenden Struktur der Daten und ihrer Verteilungen.
Nachteile:
Komplexität: Die Integration probabilistischer Komponenten erhöht die Komplexität des Modells und kann die Modellierung und das Training erschweren.
Schwierigkeiten beim Training: Das Training von VAEs erfordert eine sorgfältige Abwägung zwischen dem Rekonstruktionsfehler und der Divergenz zwischen den gelernten und den vorgegebenen Wahrscheinlichkeitsverteilungen.
Latente Darstellungen: Die Interpretation und Analyse der latenten Darstellungen kann herausfordernd sein, da sie als Wahrscheinlichkeitsverteilungen und nicht als feste Werte vorliegen.
Mehr erfahren: Medium/Understanding Variational Autoencoders (VAEs), Analytics Vidhya/An Overview of Variational Autoencoders (VAEs), GeeksforGeeks/Variational AutoEncoders
Last updated