Neuronové sítě: principy, aktivační funkce a architektura

Co jsou neuronové sítě

Neuronové sítě jsou výpočetní modely inspirované strukturou a funkcí biologických neuronů. Učí se mapování vstup → výstup na základě dat – bez explicitního programování pravidel. V moderním pojetí představují parametrizované funkce s miliony až biliony parametrů (váhy a posuny), které se optimalizují minimalizací ztrátové funkce. Neuronové sítě tvoří základ deep learningu, jenž dosahuje špičkových výsledků v rozpoznávání obrazu a řeči, strojovém překladu, generování textu, predikci struktur proteinů či řízení robotů.

Základní stavební prvky: neuron, vrstva, síť

  • Neuron: skalární výstup y = φ(w·x + b), kde x je vektor vstupů, w váhy, b posun a φ nelineární aktivační funkce.
  • Vrstva: vektorová transformace h = φ(Wx + b) (plně propojená/lineární) nebo konvoluce/filtrování (u obrazů a sekvencí).
  • Síť: skládání vrstev (kompozice funkcí). Hloubka (počet vrstev) a šířka (počet jednotek/kanálů) určují kapacitu modelu.

Aktivační funkce a jejich vlastnosti

Funkce Definice Výhody Úskalí Typické použití
ReLU max(0, x) Jednoduchá, rychlá, tlumí saturaci „Mrtvé“ neurony pro velká záporná x Standard v CNN/MLP
Leaky ReLU / PReLU x pro x>0, αx jinak Menší riziko mrtvých neuronů Volba α Obraz, tabulková data
Sigmoid 1/(1+e^{-x}) Pravděpodobnostní interpretace Saturace, mizející gradient Výstupy (BCE), brány LSTM
Tanh Hyperbolický tangens Středění kolem 0 Saturace Sekvence, starší RNN
Softmax e^{z_i}/∑_j e^{z_j} Distribuce nad třídami Citlivost na posun/škálování Multitřídová klasifikace
GELU/SiLU (Swish) Hladké, nelineární Lepší konvergence v praxi Větší výpočetní náročnost Transformery, SOTA modely

Učení: ztrátová funkce, zpětné šíření a optimalizace

  1. Ztrátová funkce L(θ) měří neshodu mezi předpovědí a cílem – například MSE pro regresi, binary cross-entropy pro binární klasifikaci, categorical cross-entropy pro více tříd, CTC pro rozpoznávání sekvencí bez zarovnání.
  2. Forward pass: výpočet výstupů sítě pro daný vstup.
  3. Backpropagation: pomocí pravidla řetězce se vypočítají gradienty ∂L/∂θ pro všechny parametry.
  4. Aktualizace: optimalizátory jako SGD (s momentem), Adam/AdamW, RMSProp upravují parametry ve směru snižování ztráty.

Optimalizátory a praktické rozdíly

Metoda Popis Silné stránky Kdy zvolit
SGD + momentum Průměruje gradienty v čase Dobrá generalizace, jednodušší ladění Velké vision modely, plánování learning rate
Adam Adaptivní kroky (moment + RMS) Rychlá konvergence, robustní NLP, tabulková data, menší batch
AdamW Adam se správným weight decay Lepší regularizace Standard u transformerů

Regularizace a prevence přeučení

  • Weight decay (L2): penalizuje velké váhy, zlepšuje generalizaci.
  • Dropout: náhodně „vypíná“ neurony při tréninku, brání spoluzávislostem.
  • Early stopping: zastavení tréninku při zhoršení validační ztráty.
  • Data augmentace: syntetické variace vstupů (otočení, ořezy, šum, mixup, cutout).
  • Batch/L2 norm: stabilizuje učení, částečně regularizuje.

Inicializace, normalizace a stabilita gradientů

  • Inicializace: He/Kaiming (pro ReLU), Xavier/Glorot (pro tanh/sigmoid) udržují varianci signálu a gradientu.
  • Normalizace: BatchNorm (po kanálech v minibatchi), LayerNorm (po rysech na vzorku), GroupNorm. Volba závisí na architektuře a velikosti batch.
  • Explodující/mizející gradient: řeší se vhodnou nelinearitou, reziduálními spojeními, normami a clipováním gradientů.

Architektury: přehled

  • MLP (plně propojené sítě): vhodné pro tabulková data, malé vision úlohy, metaučení.
  • CNN (konvoluční sítě): lokální filtry, sdílení vah, pooling; excelují v obraze a signálech.
  • RNN/LSTM/GRU: modelují sekvenční závislosti, stav v čase; dnes často nahrazovány transformery.
  • Transformery: self-attention, paralelizace přes sekvenci, škálovatelnost; dominují v NLP, vizi (ViT), řeči a multimodálních úlohách.
  • Autoenkodéry: komprese a rekonstrukce, denoising, reprezentace.
  • VAE a generativní modely: modelování distribucí a generování (VAE, GAN, difuzní modely).
  • Graph Neural Networks: učení na grafech (sítě, molekuly, doporučování).

Konvoluce a prostorové zpracování

Konvoluce aplikuje sadu filtrů na lokální výřezy vstupu, čímž extrahuje hranové, texturové a tvarové rysy. Hierarchie vrstev vytváří reprezentace od nízkoúrovňových po vysoce abstraktní. Techniky jako padding, stride, dilated a depthwise separable konvoluce ovlivňují receptivní pole, výpočetní náročnost a přesnost.

Pozornost (Attention) a transformery

  • Self-attention váží vztahy mezi všemi páry pozic. Pro dotazy Q, klíče K a hodnoty V: softmax(QKᵀ/√d)·V.
  • Vícehlavá pozornost (Multi-Head) zachytává různé typy vztahů paralelně.
  • Pozicování: sinusoidální či naučené positional encodings vnáší informaci o pořadí.
  • Reziduální spojení a LayerNorm stabilizují hluboké sítě.

Dataset, rozdělení a metriky

  • Rozdělení: trénink/validační/test (např. 70/15/15), případně křížová validace.
  • Metriky: přesnost/recall/F1 pro klasifikaci, ROC-AUC; PSNR/SSIM pro obraz, BLEU/ROUGE pro text, WER pro řeč, MAE/RMSE pro regresi.
  • Datová hygiena: žádné úniky labelů, deduplikace, shoda distribucí mezi tréninkem a nasazením.

Nastavení hyperparametrů (tuning)

  • Učicí rychlost, warmup, scheduler (cosine, step, plateau).
  • Velikost batch, počet vrstev/kanálů, dropout, weight decay.
  • Vyhledávání: grid/random/Bayesian, Hyperband/ASHA; early stopping a sdílení checkpointů.

Škálování: data, model, výpočet

  • Scaling laws: chyba klesá s logaritmem velikosti modelu, dat a výpočetních zdrojů; efektivní je škálovat všechny tři složky koordinovaně.
  • Paralelizace: data parallel, model/tensor parallel, pipeline parallel; smíšená přesnost (FP16/BF16) a paměťové optimalizace (checkpointing, FlashAttention).

Nasazení (inference) a MLOps

  • Optimalizace inference: grafové kompilátory (ONNX, TensorRT), kvantizace (INT8/FP8), pruning, distilace menších modelů.
  • Serving: latence vs. propustnost, batchování dotazů, A/B testy, canary deploy, monitoring driftu a výkonnosti.
  • Kontinuální učení: zpětná vazba, aktivní učení, ochrana proti catastrophic forgetting.

Interpretovatelnost a spolehlivost

  • Vyhodnocení příspěvku vlastností: saliency mapy, Integrated Gradients, SHAP.
  • Konfidenční odhady: kalibrace (temperature scaling), ensembling, MC dropout.
  • Robustnost: adversariální trénink, detekce out-of-distribution vzorků, augmentace.

Etika, bias a bezpečnost

  • Nestrannost: audit dat pro demografické zkreslení, metriky spravedlnosti (equalized odds apod.).
  • Soukromí: anonymizace, federované učení, diferencované soukromí.
  • Bezpečnost: odolnost proti datovým otravám (data poisoning), ochrana modelů a API (rate limiting, detekce anomálií).

Speciální paradigmata učení

  • Učení s učitelem: klasifikace, regrese, segmentace.
  • Učení bez učitele: shlukování, samo-učení, kontrastivní učení (SimCLR, MoCo) – učení reprezentací bez labelů.
  • Reinforcement learning: agent maximalizuje kumulativní odměnu; kombinace s neuronovými sítěmi (DQN, PPO) umožňuje rozhodování v sekvencích.

Vstupní a výstupní transformace

  • Embeddings: husté vektory pro slova, tokeny, položky v doporučování; naučené reprezentace zachycují podobnosti.
  • Normalizace vstupů: standardizace/whitening pro rychlejší trénink; škálování pixelů, mel-spektrogramy pro audio.
  • Zpětné mapování: dekodéry, upsampling, transponované konvoluce, beam search u sekvencí.

Typické potíže a „debugging“ tréninku

Symptom Možná příčina Rychlé kroky
Ztráta neklesá Příliš vysoká nebo nízká učicí rychlost, špatná inicializace, chyba v datovém pipeline Ověřit jeden batch ručně, snížit učicí rychlost, zapnout clipping gradientů
Trénink v pořádku, validace špatná Přeučení, posun v datech (datový shift) Přidat regularizaci, augmentaci, early stopping
Explodující ztráta Numerická nestabilita, příliš velký krok optimalizace Použít FP32 master kopii, clipping gradientů, menší batch nebo nižší učicí rychlost
Pomalá konvergence Nevhodný optimalizátor nebo scheduler AdamW + cosine schedule, warmup, lepší normalizace

Matematický základ v kostce

  • Univerzální aproximační věta: MLP s jednou skrytou vrstvou a dostatečným počtem jednotek může aproximovat libovolnou spojitou funkci na kompaktní množině.
  • Backpropagation: efektivní výpočet gradientů kompozice funkcí; složitost je lineární v počtu parametrů díky sdílení mezivýpočtů.
  • Bias–variance trade-off: modely s vysokou kapacitou mají nízký bias, ale hrozí vysoká variance; regularizace a více dat vyrovnávají tento kompromis.

Příklady