Autoencoder und VAE
Kurz: Ein Autoencoder lernt, Daten in einen kleinen Code zu komprimieren und daraus wieder zu rekonstruieren. Der Code (latenter Raum) enthält das Wesentliche. Ein VAE macht daraus ein Modell, mit dem man neue Daten erzeugen kann.
Genauer: Das Netz hat eine Engstelle: Eingabe → Encoder → kleiner Vektor → Decoder → Rekonstruktion. Verlust: Unterschied zwischen Eingabe und Ausgabe. Es lernt ohne Labels (unüberwacht).
Im Detail
- Verwendung: Rauschentfernung, Anomalie-Erkennung (schlecht rekonstruierbare Daten sind ungewöhnlich), Dimensionsreduktion, Vorstufe für Bildgenerierung.
- VAE (Variational Autoencoder): Der Encoder gibt eine Verteilung (Mittelwert und Streuung) statt eines Punktes aus. Ein zusätzlicher Verlust (KL) hält den latenten Raum glatt. Man kann zufällige Punkte ziehen und decodieren und so neue Beispiele erhalten.
- Latenter Raum: Nahe Punkte ergeben ähnliche Bilder, Interpolieren ergibt sanfte Übergänge.
- Diffusion: Stable Diffusion nutzt einen VAE, um Bilder in einen kleineren latenten Raum zu bringen, siehe Bildgenerierung mit Diffusionsmodellen.
- VQ-VAE: Diskrete Codes statt Zahlen, Grundlage vieler Bild- und Audio-Tokenizer.
- GAN als Konkurrent: Generator und Diskriminator treten gegeneinander an, siehe GANs: Generator gegen Diskriminator.
Siehe auch: Hauptkomponentenanalyse (PCA), Lernarten: überwacht, unüberwacht, verstärkend