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.