Architektury hlubokého učení: CNN, RNN a Transformer modely

Proč různé architektury v deep learningu

Konvoluční (CNN), rekurentní (RNN) a Transformer architektury představují tři zásadně odlišné přístupy ke zpracování dat. Liší se ve strukturních induktivních bias (lokalita a translační invariance u CNN, kauzalita a paměť u RNN, plně konektivní pozornost u Transformerů), výpočetní složitosti, paralelizovatelnosti a typických doménách nasazení. Správná volba ovlivňuje přesnost, latenci, paměťovou náročnost i náklady na trénink a inference.

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 normalizacemi (BatchNorm, LayerNorm, RMSNorm).
  • Reziduální konektory: zkracují gradientovou cestu 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 u učení bez dohledu.
  • Optimalizace: Adam/AdamW s váhovým rozpadem, plánovače učení (cosine, warmup), mixup/cutmix, label smoothing; 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 pooling pro extrakci translačně invariantních znaků. Jsou přirozeně vhodné pro obrazová a mřížková data, ale uplatní se i v audio doméně (spektrogramy) či 1D signálech.

  • Konvoluce: 1D/2D/3D; standardní, dilatované (rozšířený dosah bez ztráty rozlišení), separabilní (depthwise separable) pro snížení výpočetní náročnosti.
  • Pooling: max/average/adaptivní; snižuje rozlišení a zvyšuje robustnost vůči posunu a šumu.
  • BatchNorm + ReLU/GELU: standardní bloky (např. Conv–BN–ReLU) stabilizují trénink.

Typické CNN architektury a trendy

  • VGG/ResNet: hluboké sítě s reziduálními skip konektory; ResNet umožnil efektivní trénink stovek vrstev.
  • Inception/GoogLeNet: paralelní větve s různými velikostmi kernelů; efektivní extrakce víceúrovňových znaků.
  • MobileNet/EfficientNet: depthwise separabilní konvoluce, compound scaling (šířka/hloubka/rozlišení) pro efektivitu na okraji (edge).
  • UNet/FPN: encoder–decoder se skip konektory pro segmentaci; zachování jemných detailů.
  • Konvoluční náhrady pozornosti: ConvNeXt, hybridy s lokální pozorností pro škálovatelnost.

Silné a slabé stránky CNN

  • Výhody: vynikající induktivní bias pro obrazy, nižší datové požadavky, efektivní inference, stabilní trénink.
  • Omezení: obtížná modelace dlouhého dosahu a globálních závislostí; pevné mřížky a lokální filtry mohou vyžadovat hluboké sklady vrstev pro kontext.

Rekurentní neuronové sítě (RNN): kauzalita a paměť

RNN zpracovávají sekvence sekvenčně a aktualizují skrytý stav. Jsou přirozeně kauzální a vhodné pro časové řady a sekvenční modelování.

  • Vanilla RNN: jednoduché, ale trpí mizejícími a explodujícími gradienty u dlouhých kontextů.
  • LSTM/GRU: gated mechanismy (vstupní, výstupní a zapomínací brány) zlepšují udržení informace.
  • Bidirectional RNN: využívají minulý i budoucí kontext (nekausální inference – vhodné pro offline úlohy).

Architektury nad RNN

  • Seq2Seq s pozorností: encoder–decoder, kde pozornost řeší „bottleneck“ pevné délky kontextu.
  • CTC (Connectionist Temporal Classification): pro zarovnání bez explicitních anotací (ASR, OCR).
  • Temporal ConvNets/WaveNet: kauzální dilatované konvoluce jako rychlejší alternativa k rekurencím.

Výhody a limity RNN

  • Výhody: přirozená kauzalita, nízká paměťová náročnost pro dlouhé proudy dat, vhodné pro nízkou latenci.
  • Omezení: špatná paralelizace při tréninku, potíže s extrémně dlouhými závislostmi (i u LSTM), složitější stabilizace.

Transformery: pozornost jako univerzální operátor

Transformery opouštějí rekurenci i konvoluce ve prospěch self-attention, která umožňuje modelovat všechny páry tokenů v sekvenci. To zlepšuje přístup k dlouhému kontextu a masivní paralelizaci na GPU/TPU, avšak přináší kvadratickou složitost O() vzhledem k délce sekvence.

Stavební bloky Transformeru

  • Vstupní embedding a poziční informace: sinusoidální, naučené, relativní (pro lepší generalizaci délky), 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 rozšířenou šířkou 3–8× skryté dimenze.
  • Normalizace a rezidua: 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ů (BERT-like).

Varianty Transformerů

  • Encoder-only: styl BERT pro porozumění (maskované učení), klasifikaci, retrieval.
  • Decoder-only: autoregresivní LLM (generace textu, kódu, multimodální dekodéry).
  • Encoder–Decoder: seq2seq (překlad, sumarizace); cross-attention spojuje zdroj a cíl.
  • Efektivní pozornost: Linformer, Performer, Longformer, BigBird (řidší/lineární složitost), flash-attention pro efektivní implementaci.
  • Vision Transformers (ViT, Swin): patchování obrazu, hierarchické okna/skluz; hybridy s konvolucemi.
  • Audio/Time-Series Transformers: spektrální tokenizace, lokální pozornost, Nystromovy metody.

Porovnání induktivních bias a kdy sáhnout po které architektuře

  • Obrazy: CNN/ViT; u malých dat CNN typicky vítězí (silný bias), u velkých dat ViT dohání a překonává.
  • Časové řady a streamování: RNN/Temporal CNN pro nízkou latenci; Transformers pro dlouhý kontext a multivariantní vztahy.
  • Jazyk a tokenové sekvence: Transformers (state-of-the-art); u embedded/edge zařízení může dávat smysl malé RNN/CNN.
  • Segmentace a husté predikce: UNet/FPN (CNN) nebo U-ViT/Segmenter (Transformer) dle velikosti datasetu a hardware.

Metriky a výpočetní nároky

  • Složitost: CNN ~ O(k²·C) na pixel/patch; RNN ~ O(n·d²) sekvenčně; Transformer self-attention ~ O(n²·d) (paměť i výpočet).
  • Paralelizace: Transformers a CNN dobře škálují datově i modelově; RNN jsou sekvenční (pomalejší trénink, rychlá streamová inference).
  • Energetika: pozornost dominuje paměťovým přístupům; efektivní implementace (kvantizace, sparsita) jsou klíčové pro náklady.

Regularizace a stabilita tréninku

  • CNN: data augmentace (flip, crop, color jitter), mixup/cutmix; BatchNorm jako implicitní regularizér.
  • RNN: ořezávání gradientu (gradient clipping), variational dropout, ortogonální inicializace; pečlivé nastavení LSTM/GRU.
  • Transformers: dropout/attention dropout, label smoothing, weight decay (AdamW), warmup, stabilní LN (RMSNorm), správná škála inicializace a FP16/BF16 s APEX/ZeRO.

Škálování modelů a emergentní chování

Zvětšování dat, parametrů a výpočetního rozpočtu typicky sleduje škálovací zákony se sublineárními zisky. U Transformerů se objevují emergentní schopnosti (kompozice, následování instrukcí) po překročení určitých prahů. U CNN se škáluje rozlišení, hloubka a šířka; u RNN spíše délka skrytého stavu a počet vrstev.

Parametrová efektivita a adaptace

  • Transfer learning: předtrénované encodery (CNN/ViT/BERT) s doladěním (fine-tuningem).
  • Adaptery/LoRA: nízkorozměrné aktualizace vah (low-rank) umožňují levné task-specific ladění Transformerů.
  • Pruning a distilace: zmenšení modelů (structured/unstructured) a převod znalostí do menších sítí.
  • Kvantizace: INT8/INT4 pro inference na CPU/edge; pozor na přesnost u pozornosti a normalizací.

Více-modalitní a hybridní architektury

  • CNN + Transformer: konvoluční vstupní modul pro lokální textury + globální self-attention pro dlouhý dosah.
  • RNN + Attention: klasický seq2seq; u ASR/MT stále relevantní, pokud je klíčová kauzalita a nízká latence.
  • CLIP-like a Perceiver-IO: unifikovaná pozornost napříč modality s latentními reprezentacemi pevné velikosti.

Interpretovatelnost a vysvětlitelnost

  • CNN: saliency mapy/Grad-CAM, vizualizace filtrů a aktivací.
  • RNN: analýza skrytých stavů a bran, funkce vlivu; obtížnější globální interpretace.
  • Transformers: attention mapy, atribuce, „mechanistická interpretace“ hlav a MLP neuronů; pozor na mylný výklad intenzity pozornosti jako kauzality.

Nasazení a provoz (MLOps)

  • Pipeline: datová hygiena, verze datasetů, reprodukovatelnost (seed, determinismus), CI/CD pro modely.
  • Monitoring: drift dat a výkonu, detekce out-of-distribution, bezpečnostní aktualizace závislostí.
  • Serving: batching/streaming, A/B testy, canary release; pro Transformery cache klíčů/hodnot (KV-cache) pro zrychlení autoregrese.

Bezpečnost a etika

  • Robustnost: útoky na vstupy (adversariální), otrava dat (data poisoning), prompt injection u LLM; obrana cestou dat i modelu.
  • Soukromí: diferencované soukromí, federované učení, šifrování během tréninku/inference (HE/MPC – vliv na výkon).
  • Bias a spravedlnost: audit tréninkových dat, metriky fairness, lidská kontrola výstupů.

Praktický rozhodovací strom (zjednodušení)

  • Máte obrazy a málo dat/hardwaru? Začněte CNN + transfer learning; pro velká data a předtrénink zvažte ViT/hybrid.
  • Potřebujete nízkou latenci na streamu? RNN/Temporal CNN; pokud dlouhý kontext a výkonný hardware, efektivní Transformery.
  • Text, kód, multimodální generace? Transformery (encoder/decoder dle úkolu), s PEFT (LoRA) pro adaptaci.

Case-study nástřely

  • Průmyslová vizuální inspekce: EfficientNet/UNet → real-time inference na edge, kvantizace INT8.
  • Predikce poptávky: GRU se statickými rysy + attention; fallback na Transformer Encoder pro dlouhé závislosti.
  • Strojový překlad: encoder–decoder Transformer, sdílený tokenizer, dlouhé sekvence s efektivní pozorností.

Nejčastější úskalí a jak se jim vyhnout

  • Nedostatečný regularizační rozpočet: přeučení; využijte data augmentaci, dropout, early stopping, mixup.
  • Špatná škála učení a warmup: u Transformerů vede k divergujícímu tréninku; používejte warmup a AdamW.
  • Nekompatibilní normalizace: BatchNorm v malých batchích (CNN) → zvažte Group/LayerNorm.
  • Podcenění nákladů na sekvenční délku: u Transformerů roste paměť kv