Glossario

Sigmoide

Scopri il potere della funzione sigmoide nell'IA. Scopri come consente la non linearità, aiuta la classificazione binaria e guida i progressi dell'intelligenza artificiale!

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

La funzione sigmoide è una funzione di attivazione molto utilizzata nell'apprendimento automatico (ML) e nell'apprendimento profondo (DL). Si caratterizza per la sua curva a forma di "S", matematicamente nota come curva sigmoide. Il ruolo principale della funzione sigmoide è quello di prendere in input qualsiasi numero a valore reale e schiacciarlo in un valore di uscita compreso tra 0 e 1. Questa proprietà la rende particolarmente utile per convertire gli output del modello in punteggi di probabilità, che rappresentano la probabilità di un risultato specifico o di appartenenza a una classe.

Come funziona Sigmoid

La funzione Sigmoide mappa i valori di ingresso nell'intervallo (0, 1). Se i valori di ingresso sono positivi si ottiene un'uscita vicina a 1, se i valori di ingresso sono negativi si ottiene un'uscita vicina a 0 e se l'ingresso è 0 si ottiene un'uscita di 0,5. Questa trasformazione è liscia e differenziabile, il che significa che possiamo calcolare il suo gradiente in qualsiasi punto. Questa differenziabilità è fondamentale per l'addestramento delle reti neurali (NN) che utilizzano algoritmi di ottimizzazione come la discesa del gradiente, che si basano sui gradienti calcolati durante la retropropagazione per aggiornare i pesi del modello.

Applicazioni nell'apprendimento automatico

Le funzioni sigmoidi hanno diverse applicazioni importanti nella ML:

  1. Classificazione binaria: Nei problemi di classificazione binaria (in cui l'output è una delle due classi, ad esempio sì/no, spam/non spam), la funzione Sigmoide viene spesso utilizzata nello strato di output finale di un modello, come la Regressione Logistica o una rete neurale. Il valore di uscita compreso tra 0 e 1 viene interpretato come la probabilità che l'input appartenga alla classe positiva. Viene quindi applicata una soglia (solitamente 0,5) per prendere la decisione finale di classificazione.
  2. Classificazione multi-etichetta: A differenza della classificazione multiclasse in cui ogni ingresso appartiene a una sola classe (spesso gestita da Softmax), la classificazione multietichetta permette a un ingresso di appartenere a più classi contemporaneamente. La sigmoide può essere applicata in modo indipendente a ogni neurone di uscita, fornendo la probabilità che sia presente quella specifica etichetta.
  3. Meccanismi di gating: Le funzioni sigmoidi sono componenti fondamentali dei meccanismi di regolazione delle reti neurali ricorrenti come le LSTM (Long Short-Term Memory) e le GRU (Gated Recurrent Units). Queste porte controllano il flusso di informazioni, decidendo quali informazioni conservare o scartare, e l'intervallo di uscita 0-1 della Sigmoide rappresenta naturalmente il grado di "apertura" o "chiusura" di una porta.
  4. Fiducia nel rilevamento degli oggetti: In alcuni modelli di rilevamento degli oggetti, come le versioni precedenti di Ultralytics YOLOle funzioni sigmoidi (o funzioni logistiche simili) vengono utilizzate nel livello di uscita per prevedere il punteggio di confidenza, ossia la probabilità che un oggetto sia presente all'interno di un rettangolo di selezione proposto e la precisione del rettangolo. Puoi esplorare diversi modelli YOLO nella sezione ModelliUltralytics .

Esempi del mondo reale

  • Probabilità di diagnosi medica: Un modello addestrato sui dati dei pazienti potrebbe utilizzare un livello di uscita sigmoide per prevedere la probabilità (tra 0 e 1) che un paziente sia affetto da una particolare patologia in base ai suoi sintomi e ai risultati dei test. Questo aiuta i medici a prendere decisioni. Scopri come viene utilizzata l'IA nell'analisi delle immagini mediche e le soluzioni di IA più ampie nel settore sanitario.
  • Analisi del sentimento: Per determinare se un testo (come una recensione di un prodotto) esprime un sentimento positivo o negativo, una funzione Sigmoide può fornire la probabilità che il sentimento sia positivo. Per saperne di più sull'analisi del sentiment.

Confronto con altre funzioni di attivazione

Anche se storicamente significativa, la Sigmoide viene spesso sostituita da altre funzioni di attivazione negli strati nascosti delle reti profonde a causa di alcune limitazioni.

  • Sigmoide vs. ReLU (Rectified Linear Unit): La ReLU (e le sue varianti come la Leaky ReLU) è spesso preferita negli strati nascosti perché non soffre del problema del gradiente che svanisce come la Sigmoid per gli ingressi positivi ed è computazionalmente più economica. Tuttavia, gli output di ReLU vanno da 0 a infinito, il che lo rende inadatto a fornire direttamente le probabilità.
  • Sigmoide vs. Tanh (Tangente iperbolica): Anche Tanh ha una forma a S, ma mappa gli ingressi nell'intervallo (-1, 1). Il suo output è centrato sullo zero, il che a volte può portare a una convergenza più rapida durante l'addestramento rispetto all'output non centrato sullo zero della Sigmoide (da 0 a 1). Tuttavia, Tanh soffre anche del problema del gradiente che svanisce.
  • Sigmoide vs. Softmax: Softmax è utilizzato per problemi di classificazione multiclasse. Prende un vettore di punteggi e lo converte in una distribuzione di probabilità in cui tutte le probabilità di uscita si sommano a 1. Sigmoid, al contrario, tratta ogni neurone di uscita in modo indipendente, adatto per compiti binari o multi-label in cui le uscite non devono sommarsi a 1. Framework come PyTorch forniscono implementazioni per tutte queste funzioni di attivazione comuni.

Limitazioni

  1. Gradienti che svaniscono: Per valori di input molto alti o molto bassi, il gradiente della funzione Sigmoide diventa estremamente piccolo (vicino allo zero). Durante la retropropagazione nelle reti profonde, questi piccoli gradienti possono essere moltiplicati insieme molte volte, facendo sì che i gradienti degli strati iniziali diventino incredibilmente piccoli. Questo blocca di fatto l'aggiornamento dei pesi in quegli strati, ostacolando il processo di apprendimento.
  2. Uscita non centrata sullo zero: L'output di Sigmoid è sempre compreso tra 0 e 1, quindi non è centrato sullo zero. Questo può rallentare la convergenza della discesa del gradiente, in quanto gli aggiornamenti dei pesi tendono a muoversi costantemente in direzione positiva o negativa per tutti i pesi di un livello.
  3. Costo computazionale: Rispetto a ReLU, la funzione esponenziale coinvolta nel calcolo della Sigmoide è computazionalmente più costosa.

Nonostante queste limitazioni, la funzione sigmoide rimane uno strumento prezioso, soprattutto per gli strati di uscita nei compiti di classificazione binaria e all'interno di architetture specifiche come le LSTM e le GRU. Puoi gestire e addestrare modelli che utilizzano diverse funzioni di attivazione su piattaforme come Ultralytics HUB.

Leggi tutto