Sobes.tech
Junior — Senior

Milyen aktivációs függvényeket alkalmaznak a CV-ben (Swish/SiLU, Mish, GELU)?

sobes.tech MI

Válasz az MI-től

A számítógépes látásban (CV) gyakran alkalmaznak modern aktivációs függvényeket, amelyek segítenek javítani a neurális hálózatok tanulását simább és adaptívabb nemlinearitások révén a klasszikus ReLU-hoz képest.

  • Swish (SiLU) — aktivációs függvény, amelyet (x \cdot \sigma(x))ként határoznak meg, ahol (\sigma) a szigmoid. Sima gradienset biztosít, és segít elkerülni a "halott neuron" problémát. Gyakran használják modern architektúrákban, például az EfficientNet-ben.

  • Mish — hasonló a Swish-hez, de összetettebb formulával: (x \cdot \tanh(\ln(1 + e^x))). Saját szabályozási tulajdonságokkal rendelkezik, és elősegíti a jobb konvergenciát és általánosítást.

  • GELU (Gaussian Error Linear Unit) — közelítőleg egyenlő (x \cdot \Phi(x))-vel, ahol (\Phi(x)) a normális eloszlás kumulatív eloszlásfüggvénye. Transzformátorokban és más modellekben használják, jól működik valószínűségi megközelítéssel az aktiválásban.

Példa a Swish használatára PyTorch-ban:

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))

Ezek a függvények segítik a modelleket jobban tanulni és magasabb pontosságot elérni CV feladatokban, különösen mély hálózatokban.