Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

Sigmoid

La funzione sigmoide mappa qualsiasi numero reale in un valore compreso tra 0 e 1. Include la formula, il gradiente, le probabilità in uscita, i gate e il codice PyTorch.

La funzione sigmoide, σ(x) = 1 / (1 + e^(−x)), mappa qualsiasi numero reale in un valore tra 0 e 1 lungo una curva a S: gli input molto negativi producono output vicini a 0, quelli molto positivi producono output vicini a 1 e un input pari a 0 produce esattamente 0.5. Nell'apprendimento automatico (ML), «sigmoide» indica quasi sempre questa funzione logistica, la stessa curva che trasforma un punteggio lineare in una probabilità nella regressione logistica. All'interno di una rete neurale (NN), la sigmoide svolge tre ruoli: è stata la funzione di attivazione originale dei livelli nascosti, trasforma il punteggio finale in una probabilità per gli output binari e multi-etichetta e funge da interruttore graduale nei gate delle cellule ricorrenti e di altri livelli con gate. Da allora, nei livelli nascosti si sono affermate funzioni come ReLU, perciò nei modelli attuali la sigmoide si trova soprattutto negli output e nei gate.

Formula e proprietà#

La sigmoide è simmetrica rispetto al punto medio, σ(−x) = 1 − σ(x), e la sua inversa è la funzione logit, log(p / (1 − p)), che riconverte una probabilità in log-odds. Per questo l'output grezzo di una rete prima della sigmoide si chiama logit. La derivata ha una forma compatta, σ′(x) = σ(x)(1 − σ(x)): raggiunge il massimo di 0.25 quando x = 0 e tende a zero quando la curva si appiattisce a entrambe le estremità, un fenomeno chiamato saturazione. Il frammento di codice PyTorch qui sotto calcola gli output e i gradienti in cinque punti:

import torch

x = torch.tensor([-6.0, -2.0, 0.0, 2.0, 6.0], requires_grad=True)
y = torch.sigmoid(x)

# Backpropagate to get the derivative sigmoid(x) * (1 - sigmoid(x)) at each input
y.sum().backward()

print(f"Sigmoid:  {[round(v, 4) for v in y.tolist()]}")
print(f"Gradient: {[round(v, 4) for v in x.grad.tolist()]}")

Stampa i valori della sigmoide [0.0025, 0.1192, 0.5, 0.8808, 0.9975] e i gradienti [0.0025, 0.105, 0.25, 0.105, 0.0025]. In corrispondenza di ±6, l'output dista meno di 0.0025 dal suo limite e il gradiente è 100 volte più piccolo che in zero; quindi un input in quell'intervallo modifica appena i pesi che lo hanno prodotto.

La sigmoide nei livelli nascosti#

Le prime reti multistrato usavano la sigmoide in ogni livello nascosto, causando due problemi. La retropropagazione moltiplica una derivata di attivazione per ogni livello e, poiché la derivata della sigmoide non supera mai 0.25, in dieci livelli sigmoide le sole derivate riducono il gradiente al massimo di un fattore 0.25¹⁰, inferiore a un milionesimo: è il problema del gradiente evanescente. Inoltre, gli output della sigmoide sono sempre positivi; quindi, a ogni aggiornamento, tutti i gradienti dei pesi di un neurone che li riceve hanno lo stesso segno e i pesi possono soltanto oscillare verso il loro valore ottimale. Tanh centra gli output sullo zero e Xavier Glorot e Yoshua Bengio hanno dimostrato nel 2010 che la media positiva della sigmoide porta al regime di saturazione il livello nascosto superiore di una rete profonda inizializzata casualmente. ReLU ha eliminato entrambi i problemi ed è diventata la funzione predefinita per i livelli nascosti; le sue varianti più morbide, come SiLU, x · σ(x), continuano comunque a usare la sigmoide al loro interno come gate.

La sigmoide come livello di output#

Per la classificazione binaria, un singolo output z diventa p = σ(z), la probabilità prevista della classe positiva; applicare a p una soglia di 0,5 equivale ad applicare a z una soglia di 0. L'addestramento abbina la sigmoide all'entropia incrociata binaria, il cui gradiente rispetto al logit è semplicemente p − y, ossia la probabilità prevista meno l'etichetta. Per stabilità numerica, i framework fondono i due calcoli: BCEWithLogitsLoss di PyTorch accetta logit grezzi e applica internamente il trucco log-sum-exp, evitando di calcolare il logaritmo di una probabilità arrotondata esattamente a 0 o 1.

Quando le etichette possono coesistere, un modello usa una sigmoide per etichetta: questa configurazione si chiama classificazione multi-etichetta. La softmax, invece, fa competere le classi per un'unica probabilità totale pari a 1, caratteristica adatta a etichette che si escludono a vicenda:

import torch

# Logits from a classifier for the labels "person", "backpack", and "car"
logits = torch.tensor([2.0, 1.5, -3.0])

# Sigmoid scores each label on its own; softmax makes the labels compete for one total
sigmoid_probs = torch.sigmoid(logits)
softmax_probs = torch.softmax(logits, dim=0)

print(f"Sigmoid: {[round(p, 3) for p in sigmoid_probs.tolist()]}, sum {sigmoid_probs.sum():.3f}")
print(f"Softmax: {[round(p, 3) for p in softmax_probs.tolist()]}, sum {softmax_probs.sum():.3f}")

I punteggi della sigmoide [0.881, 0.818, 0.047] sommano a 1.746, quindi sia «persona» sia «zaino» superano 0.5; la softmax suddivide gli stessi logit in [0.62, 0.376, 0.004] e solo «persona» resta sopra 0.5. I modelli di rilevamento YOLO26 calcolano il punteggio di ogni classe con una sigmoide indipendente, addestrata con BCEWithLogitsLoss; i punteggi delle classi di un riquadro non devono quindi sommare a 1. I modelli pose di YOLO26 applicano una sigmoide al logit di visibilità di ogni keypoint per produrre la probabilità che il keypoint sia visibile.

La sigmoide come gate#

Poiché il suo output è compreso tra 0 e 1, la sigmoide può scalare un altro segnale elemento per elemento, bloccandolo del tutto o lasciandolo passare completamente, mantenendo al contempo la differenziabilità:

  • Le cellule LSTM e GRU: i gate sigmoide decidono quanta memoria precedente conservare, quanto nuovo contenuto scrivere e quanta parte dello stato esporre a ogni passo temporale, mentre tanh modella il contenuto stesso.
  • SwiGLU: i livelli feed-forward di molti modelli linguistici di grandi dimensioni (LLM) moltiplicano una proiezione appresa per una seconda proiezione attivata da SiLU: un gate basato sulla sigmoide.
  • SigLIP: questo modello immagine-testo assegna a ogni coppia immagine-didascalia del batch un punteggio tramite una sigmoide, che indica la probabilità binaria che ci sia una corrispondenza; la sua loss non richiede quindi una normalizzazione sull'intero batch.
  • Funzione logistica: nell'apprendimento automatico è un sinonimo di sigmoide. In matematica, «sigmoide» indica anche altre curve a S, tra cui tanh e la funzione errore.
  • Softmax: normalizza un vettore intero in probabilità la cui somma è 1. Per due classi, applicare softmax ai logit (z₁, z₂) dà per la prima classe σ(z₁ − z₂); quindi una softmax a due output e una sigmoide a un output descrivono lo stesso modello.
  • Tanh: sigmoide riscalata, tanh(x) = 2σ(2x) − 1, con output da −1 a 1 centrati sullo zero e derivata massima pari a 1.
  • Sigmoide hard: approssimazione lineare a tratti che evita l'esponenziale sull'hardware mobile. MobileNetV3 usa ReLU6(x + 3) / 6, che vale 0 per x < −3, 1 per x > 3 e varia linearmente nell'intervallo intermedio.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning