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
- 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í.
- Forward pass: výpočet výstupů sítě pro daný vstup.
- Backpropagation: pomocí pravidla řetězce se vypočítají gradienty
∂L/∂θ pro všechny parametry.
- 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