Autoencoder je typ umělé neuronové sítě, která se učí kopírovat svůj vstup na svůj výstup. Ačkoliv to zní triviálně, síť je navržena tak, aby uprostřed obsahovala „úzké hrdlo“, které ji nutí data komprimovat a naučit se pouze jejich nejpodstatnější vlastnosti (tzv. latentní reprezentaci).
Autoencoder se skládá ze dvou hlavních částí, které jsou symetricky uspořádány kolem středu:
Učení probíhá minimalizací rekonstrukční chyby (Reconstruction Loss). Síť porovnává svůj výstup se svým původním vstupem.
| Typ | Popis | Využití |
|---|---|---|
| Denoising Autoencoder | Na vstup dostane zašuměná data (např. zrnitou fotku) a má za úkol rekonstruovat čistý obraz. | Odstraňování šumu z obrazu a zvuku. |
| Sparse Autoencoder | Nutí síť aktivovat jen malý počet neuronů v úzkém hrdle. | Extrakce unikátních příznaků. |
| Variational (VAE) | Místo pevného vektoru se učí pravděpodobnostní rozdělení dat. | Generování nových dat (obrázků, hudby). |
| Contractive | Je navržen tak, aby byl odolný vůči malým změnám ve vstupních datech. | Velmi stabilní extrakce příznaků. |
Autoencodery jsou ztrátové (lossy) a velmi specifické pro daný dataset. Autoencoder vytrénovaný na fotkách psů nebude schopen kvalitně zrekonstruovat fotky aut, protože se naučil pouze „psí“ příznaky.
Zajímavost: Autoencodery byly jedním z prvních nástrojů pro tzv. Unsupervised Pre-training, který pomohl odstartovat éru hlubokého učení tím, že pomáhal inicializovat váhy ve velmi hlubokých sítích.