Neuronové sítě

Neuronové sítě

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 biasy), 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 obrázků 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, tabulky
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 předpovědi a cíle – např. MSE pro regresi, binary cross-entropy pro binární klasifikaci, categorical cross-entropy pro více tříd, CTC pro rozpoznávání sekvencí beze 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 upraví 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é vize modely, learning rate schedule
Adam Adaptivní kroky (moment + RMS) Rychlá konvergence, robustní NLP, tabulky, menší batch
AdamW Adam se správným weight decay Lepší regularizace Default u transformerů

Regularizace a prevence přeučení

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

Inicializace, normalizace a gradientová stabilita

  • Inicializace: He/Kaiming (ReLU), Xavier/Glorot (tanh/sigmoid) udržují variance 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 gradient clippingem.

Architektury: přehled

  • MLP (plně propojené sítě): tabulková data, malé vize úlohy, metaučení.
  • CNN (konvoluční sítě): lokální filtry, sdílení vah, pooling; excelují v obraze a signálech.
  • RNN/LSTM/GRU: sekvenční závislosti, stav v čase; dnes často nahrazeny 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áří od nízkoúrovňových k vysokonadřazeným reprezentacím. Techniky jako padding, stride, dilated a depthwise separable konvoluce ovlivňují receptivní pole, cenu 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í různé typy vztahů paralelně.
  • Pozicování: sinusoidální či naučené positional encodings vnášejí 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.

Nastavování 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 compute; 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: latency vs. throughput, 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

  • Feature attributions: saliency mapy, Integrated Gradients, SHAP.
  • Konfidenční odhady: kalibrace (temperature scaling), ensembling, MC dropout.
  • Robustnost: adversariální trénink, detekce out-of-distribution, 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 NN (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š velké/nízké LR, špatná inicializace, bug v datovém pipeline Ověřit jeden batch ručně, snížit LR, zapnout grad clipping
Trénink OK, validace špatná Přeučení, datový shift Přidat regularizaci, augmentaci, early stopping
Explodující ztráta Numerická nestabilita, příliš velký krok FP32 master, gradient clipping, menší batch/LR
Pomalu konverguje Nevhodný optimizer/scheduler AdamW + cosine, 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ě.
  • Backprop: efektivní výpočet gradientů kompozice funkcí; složitost 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í kompromis.

Příklady ztrát a výstupních vrstev

  • Regrese: lineární výstup + MSE/MAE; robustní Huberova ztráta.
  • Binární klasifikace: sigmoid + BCE (s vyvážením tříd/posuny prahu).
  • Multitřídová klasifikace: softmax + CCE; label smoothing zlepšuje kalibraci.
  • Segmentace: per-pixel softmax + Dice/Focal loss pro nevyvážené třídy.

Workflow projektu deep learningu

  1. Definujte cíl a metriky, vytvořte datový katalog a protokol experimentů.
  2. Připravte datový pipeline (čtení, validace, augmentace, vyvážení tříd).
  3. Vyberte baseline architekturu a ztrátu; ověřte „sanity check“ na malé podmnožině (přeučit pár vzorků).
  4. Iterujte: hyperparametry, architektury, regularizace; logujte (TensorBoard, Weights&Biases).
  5. Testujte na nezávislém datasetu; proveďte ablace a analýzu chyb.
  6. Připravte export (ONNX), optimalizaci a monitorování v nasazení.

Checklist pro praxi

  • Data: čistá, reprezentativní, bez úniků informací.
  • Baseline: jednoduchý model pro srovnání.
  • LR schedule: warmup + cosine/step, ověřit citlivost.
  • Regularizace: dropout/weight decay/augmentace.
  • Normalizace: vhodná pro daný typ dat a architekturu.
  • Monitoring: tréninkové i produkční metriky, drift.
  • Reprodukovatelnost: semena náhod, zamknuté verze knihoven, export konfigurací.

Závěr

Neuronové sítě jsou univerzální aproximátory, které díky kombinaci hlubokých architektur, efektivních optimalizačních metod a velkých datasetů dokáží řešit komplexní úlohy s přesností přesahující tradiční algoritmy. Porozumění jejich stavebním prvkům – od aktivačních funkcí přes normalizace, pozornost až po strategie škálování a nasazení – umožňuje navrhovat modely, které jsou nejen přesné, ale i robustní, interpretovatelné a provozně efektivní.

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *