Scopri come la funzione di attivazione SiLU (Swish) aumenta le prestazioni dell'apprendimento profondo in attività di AI come il rilevamento di oggetti e l'NLP.
La Sigmoid Linear Unit (SiLU), nota anche come funzione Swish, è una funzione di attivazione utilizzata nelle reti neurali (NN). Le funzioni di attivazione sono componenti fondamentali che introducono la non linearità nella rete, consentendole di apprendere modelli complessi dai dati. SiLU è stata sviluppata dai ricercatori di Google Brain e ha guadagnato popolarità grazie alla sua efficacia in diversi compiti di deep learning, spesso superando funzioni più vecchie come ReLU nei modelli più profondi.
L'importanza di SiLU deriva dalle sue proprietà uniche che possono portare a un miglioramento delle prestazioni del modello e delle dinamiche di formazione. A differenza della funzione ReLU, ampiamente utilizzata, SiLU è liscia e non monotona. Ciò significa che il suo output non aumenta strettamente con l'input, consentendo di modellare funzioni più complesse. La morbidezza aiuta l'ottimizzazione basata sul gradiente, evitando bruschi cambiamenti durante l'addestramento. Le ricerche, tra cui quella originale di Swish, suggeriscono che la sostituzione di ReLU con SiLU può migliorare l'accuratezza della classificazione su dataset difficili come ImageNet, in particolare nelle reti molto profonde. Il suo meccanismo di autoregolazione aiuta a regolare il flusso di informazioni, attenuando potenzialmente problemi come quello del gradiente che svanisce.
SiLU offre un profilo diverso rispetto ad altre funzioni di attivazione comuni:
SiLU è versatile ed è stato applicato con successo in diversi ambiti in cui si utilizzano modelli di deep learning:
SiLU è facilmente disponibile nei principali framework di deep learning, come ad esempio PyTorch (come torch.nn.SiLU
, documentato qui) e TensorFlow (come tf.keras.activations.swish
, documentato qui). Piattaforme come Ultralytics HUB supporto formazione e distribuzione di modelli che utilizzano componenti così avanzati.