Wprowadzenie
Autoencoder (autoenkoder) to rodzaj sieci neuronowej uczonej w sposób nienadzorowany (unsupervised), której zadaniem jest nauczenie się efektywnej, skompresowanej reprezentacji danych wejściowych, a następnie odtworzenie ich z jak największą dokładnością.
Architektura Autoencodera
Składa się z dwóch głównych części:
- Encoder (Kodownik) – kompresuje dane wejściowe do mniejszej, latentnej przestrzeni (Bottleneck to warstwa w autoenkodzie o najmniejszej liczbie neuronów, stanowiąca skompresowaną reprezentację danych.To miejsce, gdzie dane są najbardziej zagęszczone i mają najmniejszą wymiarowość.)
- Decoder (Dekoder) – odtwarza dane z kompresowanej reprezentacji
Główne typy Autoencoderów
- Vanilla Autoencoder – podstawowa wersja
- Denoising Autoencoder – uczy się usuwać szum z danych
- Sparse Autoencoder – wymusza rzadką aktywację neuronów
- Variational Autoencoder (Variational Autoencoder to typ autoenkodera, który jest modelem generatywnym probabilistycznym.Zamiast kodować dane do pojedynczego punktu w przestrzeni latentnej, VAE koduje je jako rozkład prawdopodobieństwa.) – generatywny model probabilistyczny (bardzo popularny)
- Convolutional Autoencoder (Convolutional Autoencoder to autoenkoder wykorzystujący warstwy konwolucyjne zamiast w pełni połączonych.Jest szczególnie efektywny w przetwarzaniu danych obrazowych ze względu na zdolność do wychwytywania lokalnych wzorców przestrzennych.) – do obrazów
- Transformer Autoencoder – używany w modelach językowych i multimodowych
Zastosowania
- Redukcja wymiarowości danych (Sprostowanie ClaudeStwierdzenie, że autoenkodery są lepszą alternatywą dla PCA jest zbyt stanowcze. PCA ma swoje zalety: jest deterministyczna, szybsza, łatwiejsza do interpretacji i nie wymaga uczenia. Wybór zależy od konkretnego zastosowania.)
- Usuwanie szumu (denoising)
- Generowanie nowych danych (zwłaszcza VAE)
- Wykrywanie anomalii (anomaly detection)
- Kompresja obrazów i wideo
- Pre-trening w modelach self-supervised learning
- Feature extraction do dalszych zadań nadzorowanych
Zalety i wady
- Zalety: uczenie nienadzorowane, dobra kompresja, przydatny w generatywnym AI
- Wady: może nauczyć się trywialnej kopii (identity function), trudność w interpretacji Latent space to przestrzeń ukrytych reprezentacji danych w autoenkodzie, zwykle o mniejszej wymiarowości niż dane wejściowe.W tej przestrzeni dane są reprezentowane w postaci skompresowanej, zachowując najważniejsze cechy., VAE może cierpieć na Posterior collapse to problem w VAE, gdy model ignoruje zmienne latentne i dekoder uczy się generować dane bez ich użycia.Prowadzi to do utraty zdolności generatywnych modelu.