Quali funzioni di attivazione vengono applicate in CV (Swish/SiLU, Mish, GELU)?
sobes.tech AI
Risposta dell'AI
Nella visione artificiale (CV), si utilizzano spesso funzioni di attivazione moderne che aiutano a migliorare l'addestramento delle reti neurali grazie a non linearità più morbide e adattive rispetto alla classica ReLU.
-
Swish (SiLU) — funzione di attivazione definita come (x \cdot \sigma(x)), dove (\sigma) è la sigmoide. Garantisce un gradiente fluido e aiuta a evitare il problema dei "neuroni morti". È spesso usata in architetture moderne, come EfficientNet.
-
Mish — simile a Swish, ma con una formula più complessa: (x \cdot \tanh(\ln(1 + e^x))). Possiede proprietà di autoregolazione e favorisce una migliore convergenza e generalizzazione.
-
GELU (Gaussian Error Linear Unit) — funzione approssimativamente uguale a (x \cdot \Phi(x)), dove (\Phi(x)) è la funzione di distribuzione cumulativa normale. È usata nei trasformatori e in altri modelli, funzionando bene con un approccio probabilistico all’attivazione.
Esempio di utilizzo di Swish in 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))
Queste funzioni aiutano i modelli a imparare meglio e a raggiungere una maggiore precisione nei compiti di CV, specialmente in reti profonde.