🎯 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).

  1. Bierzemy dobre zdjęcia.
  2. Dodajemy do nich sztuczny szum/ziarno.
  3. Uczymy sieć: “Weź to zaszumione zdjęcie zrób z niego to czyste”.
  4. 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.