Proč se v deep learningu používají různé architektury
Konvoluční (CNN), rekurentní (RNN) a Transformer architektury představují tři zásadně odlišné přístupy ke zpracování dat. Liší se strukturálními induktivními předpoklady (lokalitou a translační invariancí u CNN, kauzalitou a pamětí u RNN, plně propojenou pozorností u Transformerů), výpočetní složitostí, možnostmi paralelizace i typickými oblastmi nasazení. Správná volba ovlivňuje přesnost, latenci, paměťové nároky i náklady na trénink a inferenci.
Společný rámec: vrstvy, normalizace, nelinearity a učení
- Vrstvy: lineární/afinní transformace, konvoluce, rekurence, pozornost; často prokládané nelinearitami (ReLU, GELU, Tanh) a normalizačními vrstvami (BatchNorm, LayerNorm, RMSNorm).
- Reziduální propojení: zkracují cestu gradientu a stabilizují trénink hlubokých modelů.
- Ztrátové funkce: křížová entropie pro klasifikaci, MSE/L1 pro regresi, sekvenční ztráty s maskováním, kontrastní ztráty při učení bez dohledu.
- Optimalizace: Adam/AdamW s úbytkem vah, plánovače rychlosti učení (cosine, warmup), mixup/cutmix, vyhlazování štítků; regularizace (dropout, stochastic depth).
Konvoluční neuronové sítě (CNN): princip a stavební kameny
CNN využívají lokální receptivní pole, sdílení vah a často také pooling k extrakci translačně invariantních příznaků. Přirozeně se hodí pro obrazová a mřížková data, uplatnění však nacházejí i v oblasti zvuku (spektrogramy) a při zpracování jednorozměrných signálů.
- Konvoluce: 1D/2D/3D; standardní, dilatované (zvětšují dosah bez ztráty rozlišení), separovatelné (depthwise separable) pro snížení výpočetní náročnosti.
- Pooling: max/average/adaptivní; snižuje rozlišení a zvyšuje odolnost vůči posunu a šumu.
- BatchNorm + ReLU/GELU: standardní bloky (např. Conv–BN–ReLU) stabilizují trénink.
Typické architektury CNN a trendy
- VGG/ResNet: hluboké sítě s reziduálními propojeními; ResNet umožnil efektivně trénovat stovky vrstev.
- Inception/GoogLeNet: paralelní větve s různými kernely; efektivní extrakce příznaků ve více měřítkách.
- MobileNet/EfficientNet: separovatelné depthwise konvoluce, kombinované škálování (šířky/hloubky/rozlišení) pro efektivní nasazení na okrajových zařízeních (edge).
- UNet/FPN: architektury encoder–decoder s reziduálními propojeními pro segmentaci; zachovávají jemné detaily.
- Konvoluční alternativy k pozornosti: ConvNeXt, hybridní architektury s lokální pozorností pro lepší škálovatelnost.
Silné a slabé stránky CNN
- Výhody: vhodné induktivní předpoklady pro obrazová data, menší nároky na množství dat, efektivní inference, stabilní trénink.
- Omezení: obtížné modelování vztahů na velkou vzdálenost a globálních vztahů; pevné mřížky a lokální filtry mohou pro zachycení kontextu vyžadovat hluboké vrstvení.
Rekurentní neuronové sítě (RNN): kauzalita a paměť
RNN zpracovávají sekvence postupně a aktualizují skrytý stav. Jsou přirozeně kauzální a hodí se pro časové řady a sekvenční modelování.
- Vanilla RNN: jednoduché, ale u dlouhých kontextů trpí mizejícím či explodujícím gradientem.
- LSTM/GRU: mechanismy s branami (vstupní, výstupní a zapomínací brány) zlepšují uchovávání informací.
- Obousměrné RNN: využívají minulý i budoucí kontext (nekausální inference – vhodná pro offline úlohy).
Architektury založené na RNN
- Seq2Seq s pozorností: architektura encoder–decoder, v níž pozornost řeší „úzké hrdlo“ dané pevnou délkou kontextu.
- CTC (Connectionist Temporal Classification): metoda zarovnání bez explicitních anotací (ASR, OCR).
- Temporal ConvNets/WaveNet: kauzální dilatované konvoluce jako rychlejší alternativa k rekurentním sítím.
Výhody a omezení RNN
- Výhody: přirozená kauzalita, malá paměťová stopa při zpracování dlouhých datových proudů, vhodnost pro aplikace s nízkou latencí.
- Omezení: obtížná paralelizace při tréninku, problémy se závislostmi na velmi dlouhé vzdálenosti (i u LSTM), složitější stabilizace.
Transformery: pozornost jako univerzální operátor
Transformery nahrazují rekurenci i konvoluce mechanismem self-attention, který umožňuje modelovat všechny dvojice tokenů v sekvenci. Zlepšuje se tím práce s dlouhým kontextem a umožňuje rozsáhlá paralelizace na GPU/TPU, přináší to však kvadratickou složitost O(n²) vzhledem k délce sekvence.
Stavební bloky Transformeru
- Vstupní embedování a poziční informace: sinusoidní, naučené, relativní (pro lepší generalizaci na různé délky) a rotační (RoPE).
- Multi-Head Self-Attention (MHSA): více hlav promítá tokeny do různých „projekčních prostorů“. Každá hlava: Q = XWQ, K = XWK, V = XWV, skóre = softmax(QKᵀ/√d)V.
- Feed-forward síť (FFN/MLP): dvě lineární vrstvy s nelinearitou (GELU/SiLU), často s šířkou odpovídající 3–8násobku skryté dimenze.
- Normalizace a reziduální propojení: Pre-LN (LayerNorm před bloky) stabilizuje trénink hlubokých modelů.
- Maskování: kauzální masky u dekodérů (jazykové modely), plná pozornost u enkodérů (modely typu BERT).
Varianty Transformerů
- Pouze enkodér: modely typu BERT pro porozumění (maskované učení), klasifikaci a vyhledávání (retrieval).
- Pouze dekodér: autoregresivní LLM (generování textu, kódu, multimodální dekodéry).
- Encoder–Decoder: seq2seq (překlad, shrnutí); cross-attention propojuje zdrojovou a cílovou sekvenci.
- Efektivní pozornost: Linformer, Performer, Longformer, BigBird (řídká či lineární složitost), flash-attention pro efektivní implementaci.
- Vision Transformery (ViT, Swin): rozdělení obrazu na patche, hierarchická okna a posuny; hybridní architektury s konvolucemi.
- Transformery pro zvuk a časové řady: spektrální tokenizace, lokální pozornost, Nystromovy metody.
Porovnání induktivních předpokladů a volba vhodné architektury
- Obrazy: CNN/ViT; u menších datových souborů obvykle vítězí CNN (díky silným induktivním předpokladům), u velkých datových souborů ViT dohánějí jejich náskok nebo je překonávají.
- Časové řady a streamování: RNN/Temporal CNN pro nízkou latenci; Transformery pro dlouhý kontext a vícerozměrné vztahy.
- Jazyk a sekvence tokenů: Transformery (špičková výkonnost); pro vestavěná či okrajová zařízení může být vhodná malá RNN/CNN.
- Segmentace a hustá predikce: UNet/FPN (CNN) nebo U-ViT/Segmenter (Transformer) podle velikosti datového souboru a hardwaru.
Metriky a výpočetní nároky
- Složitost: CNN ~ O(k²·C) na pixel/patch; RNN ~ O(n·d²) při sekvenčním zpracování; self-attention v Transformerech ~ O(n²·d) (paměť i výpočet).
- Paralelizace: Transformery a CNN se dobře škálují z hlediska dat i modelu; RNN zpracovávají sekvence (pomalý trénink, rychlá inference datového proudu).
- Spotřeba energie: pozornost klade značné nároky na přístup do paměti; efektivní implementace (kvantizace, řídké výpočty) jsou klíčové pro snížení nákladů.
Regularizace a stabilita tréninku
- CNN: rozšiřování dat (převrácení, ořez, změna barev), mixup/cutmix; BatchNorm jako implicitní regularizace.
- RNN: ořezávání gradientů, variační dropout, ortogonální inicializace; pečlivé nastavení LSTM/GRU.
- Transformery: dropout/attention dropout, vyhlazování štítků, úbytek vah (AdamW), warmup, stabilní normalizace (RMSNorm), správné škálování inicializace a FP16/BF16 s APEX/ZeRO.
Škálování modelů a emergentní chování
Zvyšování množství dat, počtu parametrů a výpočetního rozpočtu se obvykle řídí zákony škálování, podle nichž přínosy rostou podlineárně. U Transformerů se po překročení určitých prahových hodnot objevují emergentní schopnosti (skládání dílčích schopností, následování instrukcí). U CNN se škáluje rozlišení, hloubka a šířka; u RNN spíše velikost skrytého stavu a počet vrstev.
Efektivní využití parametrů a adaptace
- Transfer learning: předtrénované enkodéry (CNN/ViT/BERT) s doladěním (fine-tuning).
- Adaptéry/LoRA: nízkorozměrné aktualizace vah (low-rank) umožňují levné dolaďování Transformerů pro konkrétní úlohy.
- Prořezávání a destilace: zmenšování modelů (strukturované/n strukturované) a přenos znalostí do menších sítí.
- Kvantizace: INT8/INT4 pro inferenci na CPU/okrajových zařízeních; pozor na ztrátu přesnosti u pozornosti a normalizace.
Multimodální a hybridní architektury
- CNN + Transformer: konvoluční počáteční blok pro lokální textury + globální self-attention pro zachycení vztahů na velkou vzdálenost.
- RNN + Attention: klasická architektura seq2seq; pro ASR/MT je stále relevantní, pokud jsou klíčové kauzalita a latence.
- CLIP-like a Perceiver-IO: jednotná pozornost napříč modalitami s latentními reprezentacemi pevné velikosti.
Interpretovatelnost a vysvětlitelnost
- CNN: saliency/Grad-CAM, vizualizace filtrů a aktivací.
- RNN: analýza skrytých stavů a bran, funkcí vlivu; globální interpretace je obtížnější.
- Transformery: mapy pozornosti, metody atribuce, „mechanistická interpretovatelnost“ hlav a neuronů MLP; pozor, intenzitu pozornosti nelze automaticky považovat za kauzalitu.
Nasazení a provoz (MLOps)
- Pipeline: kvalita a správa dat, verzování datových souborů, reprodukovatelnost (seed, determinismus), CI/CD pro modely.
- Monitoring: drift dat a výkonnosti, detekce dat mimo distribuci (out-of-distribution), bezpečnostní aktualizace závislostí.
- Serving: dávkové zpracování/streamování, A/B testy, postupné nasazení (canary release); u Transformerů cache klíčů a hodnot (KV-cache) pro urychlení autoregresivního generování.
Bezpečnost a etika
- Robustnost: útoky na vstupy (adversarial), otrava dat (data poisoning), prompt injection u LLM; obrana na straně dat i modelu.
- Soukromí: diferenciální soukromí, federované učení, šifrování během tréninku/inference (HE/MPC – s dopadem na výkon).
- Bias a spravedlnost: audit tréninkových dat, metriky spravedlnosti, lidská kontrola výstupů.
Praktický rozhodovací strom (zjednodušený)
- Máte obrazová data a málo dat či hardwarových zdrojů? Začněte s CNN a transfer learningem; pro velké datové soubory a předtrénování zvažte ViT/hybridní architekturu.
- Potřebujete nízkou latenci při zpracování datového proudu? RNN/Temporal CNN; pokud potřebujete dlouhý kontext a máte výkonnější hardware, zvolte efektivní Transformery.
- Text, kód, multimodální generování? Transformery (enkodér/dekodér podle úlohy), s PEFT (LoRA) pro adaptaci.
Nástin případových studií
- Průmyslová vizuální inspekce: EfficientNet/UNet → inference v reálném čase na okrajovém zařízení, kvantizace INT8.
- Predikce poptávky: GRU se statickými příznaky + pozornost; záložní možností je Transformer Encoder pro zachycení dlouhodobých závislostí.
- Strojový překlad: Transformer encoder–decoder, sdílený tokenizer, dlouhé sekvence s efektivní pozorností.
Nejčastější úskalí a jak se jim vyhnout
- Nedostatečná regularizace: přeučení; využijte rozšiřování dat, dropout, předčasné zastavení tréninku, mixup.
- Nesprávně nastavená rychlost učení a warmup: u Transformerů mohou vést k nestabilnímu tréninku; používejte warmup a AdamW.
- Nekompatibilní normalizace: BatchNorm při malých dávkách (CNN) → zvažte GroupNorm/LayerNorm.
- Podcenění nákladů spojených s délkou sekvence: u Transformerů roste spotřeba paměti kvadraticky – řešením je zkracování sekvence, práce s okny, efektivní attention, přechod na FP8/bfloat16.
Závěr
CNN, RNN a Transformery nejsou vzájemně zaměnitelné – každá skupina architektur přináší jinou kombinaci induktivních předpokladů, výpočetních kompromisů a provozních nároků. CNN vynikají při zpracování obrazových a mřížkových dat s menším počtem vzorků, RNN se uplatňují v kauzálních datových proudech s nízkou latencí a Transformery jsou univerzálním standardem pro dlouhý kontext a generativní úlohy. Úspěch v praxi závisí na realistickém odhadu zdrojů, vhodném výběru architektury, důsledné optimalizaci (regularizace, škálování, PEFT) a robustním MLOps. V mnoha aplikacích vítězí hybridní přístup, který kombinuje silné stránky jednotlivých paradigmat.
