🧠 Autoencoder: Interactive Simulator

OpenTechLab Jablonec nad Nisou · Science Micro Elementary School

Nakresli vzor vlevo → Síť ho zkomprimuje do 2D bodu → Vpravo uvidíš rekonstrukci.
Vylepšení: heatmap, error highlighting, path recording, tour mode!

Exp: 2.5
1. Vstup (Encoder)
2. Latentní Prostor (8 vzorů)
❤️
😊
👾
🏠
💎
X: 0.00, Y: 0.00 -
X
Y
3. Výstup (Decoder)
Generováno z latentního bodu
Reconstruction Loss:
0.00%

🧬 Co je Autoencoder?

Neuronová síť, která se učí komprimovat data do menší reprezentace (latent space) a pak je zase rekonstruovat. Učí se automaticky najít důležité vzory.

Vstup → Encoder → Latent (2D) → Decoder → Výstup

📊 F1-Score Metrika

Zlepšené rozpoznávání vzorů pomocí F1-Score:

F1 = 2×TP / (2×TP + FP + FN)

Počítá nejen shody (TP), ale i chyby (FP = false positive, FN = false negative). To zajišťuje přesné rozpoznání smajlíka i ostatních vzorů!

🎨 Latentní Prostor

2D reprezentace, kde každý bod odpovídá nějakému obrazu. 8 prototypů je rozmístěno v kruhu. Pohybem mezi nimi vznikají plynulé přechody.

Heatmap: Barevná mapa ukazuje, jak by vypadal výstup v každém bodě prostoru.

⚡ Funkce

Explore: Náhodný bod v prostoru
Tour: Animovaná cesta kolem všech vzorů
Record/Play: Nahraj si svoji cestu a přehraj ji
Error Highlighting: Červeně blikající pixely = největší chyba

🔬 Architektura Autoencoderu

Náš autoencoder komprimuje 100 vstupních hodnot (10×10 mřížka) do 2 čísel v latentním prostoru (bottleneck), ze kterých pak rekonstruuje původních 100 hodnot. Tato 2D reprezentace umožňuje vizualizaci a interaktivní prozkoumání latentního prostoru.

ENCODER BOTTLENECK DECODER ... ... ... 100 neuronů Latent Z₁ Latent Z₂ 2 neurony (2D prostor) ... ... ... 100 neuronů

Důležité: Bottleneck s pouze 2 neurony vytváří informační úzké hrdlo, které nutí síť naučit se kompaktní reprezentaci dat. Právě tyto 2 hodnoty pak můžeme zobrazit jako bod v 2D prostoru a interaktivně s ním pracovat v simulátoru výše.

🎓 Pro pokročilé: Manifold Hypothesis (Hypotéza Variet)

Proč dokáže Autoencoder opravit zašuměný obrázek? Odpověď nabízí matematická Hypotéza Variet. Tvrdí, že reálná data (smysluplné obrazy) nejsou v prostoru náhodně rozeseta, ale leží na nízko-dimenzionální zakřivené ploše (varietě) uvnitř vysoce-dimenzionálního prostoru.

X ∈ ℝ¹⁰⁰ (Vstup) ➔ Z ∈ ℝ² (Latent) ➔ X̂ ∈ ℝ¹⁰⁰ (Rekonstrukce)

V našem případě má vstupní prostor 100 dimenzí (10x10 pixelů). Většina bodů v tomto prostoru je jen náhodný šum. Smysluplné tvary (srdce, čtverec...) tvoří pouze tenkou 2D varietu (náš Latent Space).

Aplikace v simulátoru: Když použijete tlačítko Add Noise, posunete bod mimo tuto varietu (do prostoru šumu). Encoder se však naučil mapovat pouze na varietu. Proto když tento bod promítne zpět, "spadne" zpátky na povrch variety – tím se šum odstraní a zůstane jen čistý tvar.