Sobes.tech
Junior — Senior

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.