Sobes.tech
Junior — Senior

Jaké funkce aktivace se používají v CV (Swish/SiLU, Mish, GELU)?

sobes.tech AI

Odpověď od AI

V počítačovém vidění (CV) se často používají moderní aktivační funkce, které pomáhají zlepšit trénink neuronových sítí díky hladším a adaptivnějším nelinearitám ve srovnání s klasickým ReLU.

  • Swish (SiLU) — aktivační funkce definovaná jako (x \cdot \sigma(x)), kde (\sigma) je sigmoid. Zajišťuje plynulý gradient a pomáhá vyhnout se problému "mrtvých neuronů". Často se používá v moderních architekturách, například EfficientNet.

  • Mish — podobná Swish, ale s složitější formulí: (x \cdot \tanh(\ln(1 + e^x))). Má vlastnosti autoregulace a podporuje lepší konvergenci a zobecnění.

  • GELU (Gaussian Error Linear Unit) — funkce přibližně rovná (x \cdot \Phi(x)), kde (\Phi(x)) je kumulativní distribuční funkce normálního rozdělení. Používá se v transformátorech a dalších modelech, dobře funguje s pravděpodobnostním přístupem k aktivaci.

Příklad použití Swish v PyTorch:

import torch
import torch.nn.functional as F

def swish(x):
    return x * torch.sigmoid(x)

x = torch.tensor([-1.0, 0.0, 1.0, 2.0])
print(swish(x))

Tyto funkce pomáhají modelům lépe se učit a dosahovat vyšší přesnosti v úlohách CV, zejména v hlubokých sítích.