Einfach erklärt
Ein Autoencoder ist ein künstliches neuronales Netz, das lernt, seine Eingabedaten zunächst zu komprimieren (zu „kodieren“) und anschließend aus dieser komprimierten Darstellung wieder zu rekonstruieren. Das Netz bringt sich selbst bei, welche Merkmale der Daten wirklich wichtig sind, indem es den Unterschied zwischen Eingabe und Ausgabe möglichst klein macht. Autoencoder werden typischerweise ohne Labels trainiert und gehören damit zum un- bzw. selbstüberwachten Lernen.
Typisch ist eine Flaschenhals-Struktur: Die Daten werden in einer inneren Schicht auf weniger Dimensionen reduziert. In diesem komprimierten Raum (latenter Raum) liegen ähnliche Datenpunkte nah beieinander, was sich gut für Merkmalslernen und Dimensionsreduktion eignet.
Beispiele
- Bilder komprimieren
Ein Autoencoder lernt, hochdimensionale Bilder (z. B. 28×28 Pixel) auf einen kurzen Vektor im latenten Raum abzubilden und daraus wieder ein Bild zu erzeugen. Die Rekonstruktion ist nicht perfekt, erhält aber die wichtigsten Strukturen. - Rauschen entfernen (Denoising)
Man gibt ein verrauschtes Bild in den Autoencoder, berechnet den Fehler zur sauberen Version und trainiert das Netz darauf, das Rauschen „wegzurechnen“. So lernt es robuste, rauschunempfindliche Merkmale. - Anomalie-Erkennung
Ein Autoencoder wird nur auf „normalen“ Beispielen trainiert. Weicht ein neues Beispiel stark vom Gelernten ab, steigt der Rekonstruktionsfehler deutlich – das Beispiel kann als Anomalie markiert werden (z. B. Betrugstransaktionen, defekte Sensoren).
Professionelle Definition
Ein Autoencoder ist ein künstliches neuronales Netz mit Encoder–Decoder-Architektur, das im Rahmen unüberwachter bzw. selbstüberwachter Lernverfahren darauf trainiert wird, eine Eingabe xxx in eine niedrigdimensionale latente Repräsentation zzz zu kodieren und daraus eine Rekonstruktion x′x’x′ zu erzeugen, die xxx möglichst ähnlich ist. Die Parameter des Encoders und Decoders werden durch Minimierung einer Rekonstruktionsverlustfunktion (z. B. mittlere quadratische Abweichung oder Kreuzentropie) optimiert.
Das Ziel ist, eine kompakte, informationsreiche Kodierung der Daten zu lernen, die sich für nachgelagerte Aufgaben (Klassifikation, Clustering, Generierung, Anomalie-Erkennung) nutzen lässt.
Typische Merkmale
- Encoder–Decoder-Struktur mit klar getrenntem Kodierungs- und Dekodierungspfad
- Latenter Raum mit meist geringerer Dimensionalität als die Eingabe (undercomplete Autoencoder)
- Un-/selbstüberwachtes Training: Rekonstruiert werden die Eingabedaten selbst, keine externen Ziel-Labels
- Nichtlineare Abbildungen (z. B. ReLU, Sigmoid), wodurch komplexere Strukturen als bei klassischer PCA erfasst werden können
- Rekonstruktionsfehler als zentrales Kriterium für Trainingsziel und oft auch für Anomalie-Scores
Anwendungsfälle
- Dimensionsreduktion & Feature Learning
Autoencoder lernen kompakte, aussagekräftige Merkmale, die anschließend in klassischen ML-Verfahren (z. B. Klassifikatoren, Clustering) genutzt werden können. - Anomalie-Erkennung
Starker Rekonstruktionsfehler deutet darauf hin, dass ein Beispiel nicht zu den gelernten Mustern gehört (z. B. Ausfälle in Sensordaten, Fraud Detection, Produktionsfehler). - Bild- und Signalverarbeitung
Bildrauschunterdrückung, Artefakt-Entfernung, Super-Resolution, Rekonstruktion fehlender Bereiche. - Generative Modelle
Insbesondere Variational Autoencoder (VAE) werden als generative Modelle eingesetzt, um neue Datenpunkte zu sampeln (z. B. neue Bilder oder Audiosignale). - Vortraining tiefer Netze
Autoencoder wurden und werden genutzt, um tiefe Netze layerweise vorzutrainieren und so bessere Initialisierungen für nachfolgendes überwacht trainiertes Fine-Tuning zu erhalten.
Wichtige Varianten
- Undercomplete Autoencoder
Der latente Raum hat weniger Dimensionen als die Eingabe. Dadurch wird das Netz gezwungen, eine komprimierte Repräsentation zu lernen, statt die Eingabe nur zu kopieren. - Denoising Autoencoder
Bekommt eine verrauschte oder beschädigte Version der Eingabe als Input, wird aber gegen die originale, saubere Eingabe trainiert. Dadurch lernt das Modell robuste Merkmale und Rauschunterdrückung. - Sparse Autoencoder
Erzwingt, dass im latenten Vektor nur wenige Neuronen gleichzeitig aktiv sind (z. B. über Sparsity-Regularisierung). Das führt zu interpretierbareren, oftmals disentangled Merkmalen. - Contractive Autoencoder
Fügt einen Regularisierungsterm hinzu, der die Sensitivität der latenten Repräsentation gegenüber kleinen Änderungen der Eingabe begrenzt. Ziel ist eine stabilere, glattere Einbettung im latenten Raum. - Variational Autoencoder (VAE)
Modelliert eine Verteilung im latenten Raum (statt eines einzelnen Punktes) und erlaubt das Sampling neuer Datenpunkte, indem aus dieser Verteilung gezogen und anschließend dekodiert wird. VAEs verbinden Autoencoder mit probabilistischen generativen Modellen.
Quellen
- IBM – „What Is an Autoencoder?“
https://www.ibm.com/think/topics/autoencoder (ibm.com) - Wikipedia – „Autoencoder“
https://en.wikipedia.org/wiki/Autoencoder (wikipedia.org) - TensorFlow – „Intro to Autoencoders“
https://www.tensorflow.org/tutorials/generative/autoencoder (tensorflow.org) - Bank et al. – „Autoencoders“ (Übersichtsartikel)
https://arxiv.org/pdf/2003.05991.pdf (arxiv.org)
Ki Schulungen und Kurse oder auf KI Vorträge