Sobes.tech
Junior — Senior

Jakie funkcje aktywacji stosuje się w CV (Swish/SiLU, Mish, GELU)?

sobes.tech AI

Odpowiedź od AI

W wizji komputerowej (CV) często stosuje się nowoczesne funkcje aktywacji, które pomagają poprawić uczenie się sieci neuronowych dzięki bardziej gładkim i adaptacyjnym nieliniowościom w porównaniu z klasycznym ReLU.

  • Swish (SiLU) — funkcja aktywacji zdefiniowana jako (x \cdot \sigma(x)), gdzie (\sigma) to sigmoida. Zapewnia płynny gradient i pomaga uniknąć problemu "martwych neuronów". Często używana w nowoczesnych architekturach, takich jak EfficientNet.

  • Mish — podobna do Swish, ale z bardziej skomplikowaną formułą: (x \cdot \tanh(\ln(1 + e^x))). Posiada właściwości autoregulacji i sprzyja lepszej zbieżności i uogólnianiu.

  • GELU (Gaussian Error Linear Unit) — funkcja w przybliżeniu równa (x \cdot \Phi(x)), gdzie (\Phi(x)) to funkcja dystrybuanty normalnej. Używana w transformatorach i innych modelach, dobrze działa z probabilistycznym podejściem do aktywacji.

Przykład użycia Swish w 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))

Funkcje te pomagają modelom lepiej się uczyć i osiągać wyższą dokładność w zadaniach CV, szczególnie w głębokich sieciach.