🎯 Definicja
Autoenkodery to sieci neuronowe uczące się w sposób nienadzorowany, których celem jest skompresowanie danych wejściowych do ukrytej reprezentacji (Latent Space), a następnie odtworzenie ich z jak najmniejszym błędem.
🔑 Kluczowe punkty
- Struktura: Encoder (kompresja) → Bottleneck (kod) → Decoder (dekompresja).
- Cel: Nauczenie się najważniejszych cech danych (feature extraction) poprzez zmuszenie sieci do “przeciśnięcia” informacji przez wąskie gardło.
- Zastosowania: Usuwanie szumu (Denoising), detekcja anomalii, generowanie danych (VAE - Variational Autoencoders).
📚 Szczegółowe wyjaśnienie
Autoenkoder nie jest uczony klasyfikacji (“to jest kot”), ale tożsamości (“to wejście = to wyjście”). Ponieważ warstwa środkowa (Bottleneck) jest mniejsza niż wejście, sieć nie może po prostu “zapamiętać” danych. Musi nauczyć się ogólnych wzorców (np. kształtów, krawędzi), aby móc je odtworzyć.
Wykrywanie anomalii: Trenujemy autoenkoder na zdrowych danych (np. poprawne transakcje). Sieć uczy się je świetnie kompresować i odtwarzać (mały błąd). Gdy wpuścimy anomalię (np. fraud), sieć “zgłupieje”, bo nigdy nie widziała takiego wzorca. Błąd rekonstrukcji będzie ogromny → ALARM.
💡 Przykład zastosowania
Restaurowanie starych zdjęć (Denoising Autoencoder).
- Bierzemy dobre zdjęcia.
- Dodajemy do nich sztuczny szum/ziarno.
- Uczymy sieć: “Weź to zaszumione zdjęcie → zrób z niego to czyste”.
- Sieć uczy się ignorować szum jako “nieistotną informację”.
📌 Źródła
👽 Brudnopis
- VAE (Variational Autoencoder) pozwala generować nowe twarze/obrazy, bo latent space jest ciągły (można interpolować).
- PCA vs Autoencoder: PCA to liniowy autoenkoder. Głęboki autoenkoder łapie nieliniowe zależności.