Label Smoothing
Scopri come il label smoothing previene l'overfitting e migliora la generalizzazione dei modelli. Impara a implementare questa tecnica con Ultralytics YOLO26 per ottenere risultati migliori.
Lo smoothing delle etichette è una tecnica di regolarizzazione ampiamente utilizzata nel machine learning per migliorare la generalizzazione del modello e prevenire l'overfitting. Durante l'addestramento delle reti neurali, l'obiettivo è generalmente ridurre al minimo l'errore tra le predizioni e i dati di riferimento. Tuttavia, se un modello diventa eccessivamente sicuro delle proprie predizioni, assegnando una probabilità quasi del 100% a una singola classe, spesso inizia a memorizzare il rumore specifico presente nei dati di addestramento invece di apprendere pattern robusti. Questo fenomeno, noto come overfitting, riduce le prestazioni su esempi nuovi e mai osservati. Lo smoothing delle etichette affronta questo problema scoraggiando il modello dal fare predizioni con certezza assoluta, comunicando essenzialmente alla rete che esiste sempre un piccolo margine di errore.
Il meccanismo dei target soft#
Per capire come funziona lo smoothing delle etichette, è utile confrontarlo con i target "hard" standard. Nell'apprendimento supervisionato tradizionale, le etichette di classificazione sono generalmente rappresentate tramite codifica one-hot. Ad esempio, in un'attività che distingue tra gatti e cani, l'immagine di un "cane" avrebbe un vettore target pari a [0, 1]. Per corrispondere perfettamente a questo vettore, il modello spinge i propri punteggi interni, noti come logit, verso l'infinito, causando potenzialmente gradienti instabili e l'incapacità di adattarsi.
Lo smoothing delle etichette sostituisce questi rigidi valori 1 e 0 con target "soft". Invece di una probabilità target pari a 1.0, alla classe corretta potrebbe essere assegnato 0.9, mentre la massa di probabilità rimanente (0.1) viene distribuita uniformemente tra le classi errate. Questo sottile cambiamento modifica l'obiettivo della funzione di perdita, come la cross-entropy, impedendo alla funzione di attivazione (di solito Softmax) di saturarsi. Il risultato è un modello che apprende cluster di classi più compatti nello spazio delle feature e produce una migliore calibrazione del modello, ovvero probabilità predette che riflettono più accuratamente la reale probabilità di correttezza.
Applicazioni nel mondo reale#
Questa tecnica è particolarmente importante nei domini in cui l'ambiguità dei dati è intrinseca o i dataset sono soggetti a errori di annotazione.
- Diagnosi medica: nel campo dell'AI nel settore sanitario, i dati clinici raramente sono privi di ambiguità. Ad esempio, nell'analisi di immagini mediche, una scansione potrebbe mostrare caratteristiche altamente indicative di una patologia, ma non definitive. L'addestramento con etichette hard obbliga il modello a ignorare questa incertezza. Applicando lo smoothing delle etichette, il modello conserva un certo grado di cautela, fondamentale per i sistemi di supporto alle decisioni, nei quali un'eccessiva sicurezza potrebbe portare a una diagnosi errata.
- Classificazione di immagini su larga scala: i grandi dataset pubblici come ImageNet contengono spesso immagini etichettate in modo errato o immagini con più oggetti validi. Se un modello cerca di adattarsi a questi esempi rumorosi con una [confidenza](https://ultralytics-translation-1.invalid del 100%, apprende associazioni errate. Lo smoothing delle etichette funge da protezione contro il rumore nelle etichette, assicurando che alcuni dati errati non distorcano drasticamente i pesi del modello finali.
Implementazione del label smoothing con Ultralytics#
I moderni framework di deep learning semplificano l'applicazione di questa tecnica. Utilizzando il pacchetto ultralytics, puoi integrare facilmente lo smoothing delle etichette nella tua pipeline di addestramento per attività di classificazione delle immagini o rilevamento. Questa procedura viene spesso utilizzata per ottenere prestazioni aggiuntive da modelli all'avanguardia come YOLO26.
L'esempio seguente mostra come addestrare un modello di classificazione con lo smoothing delle etichette attivato:
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Train with label_smoothing set to 0.1
# The target for the correct class becomes 1.0 - 0.5 * 0.1 = 0.95 (depending on implementation specifics)
model.train(data="mnist", epochs=5, label_smoothing=0.1)Confronto con concetti correlati#
Per capire quando utilizzarlo, è utile distinguere lo smoothing delle etichette da altre strategie di regolarizzazione.
- Rispetto al dropout: un layer di dropout disattiva casualmente alcuni neuroni durante l'addestramento, costringendo la rete ad apprendere rappresentazioni ridondanti. Sebbene entrambi prevengano l'overfitting, il dropout modifica dinamicamente l'architettura della rete, mentre lo smoothing delle etichette modifica il target dell'ottimizzazione, ovvero le etichette stesse.
- Rispetto alla distillazione della conoscenza: entrambe le tecniche prevedono l'addestramento su target soft. Tuttavia, nella distillazione della conoscenza, i target soft provengono da un modello "teacher" e contengono informazioni apprese (ad esempio, "questa immagine assomiglia per il 10% a un gatto"). Al contrario, lo smoothing delle etichette utilizza target soft "non informativi" derivati matematicamente (ad esempio, "assegna una probabilità del 10% a tutte le altre classi in modo uniforme").
- Rispetto all'aumento dei dati: le strategie di data augmentation modificano i dati di input (rotazione, ritaglio, modifica dei colori) per aumentarne la varietà. Lo smoothing delle etichette modifica le aspettative sull'output. I workflow di addestramento completi sulla Ultralytics Platform combinano spesso augmentation, dropout e smoothing delle etichette per ottenere la massima accuratezza.
Mitigando il problema del gradiente evanescente negli strati finali e incoraggiando il modello ad apprendere feature più robuste, lo smoothing delle etichette rimane un elemento fondamentale nelle moderne architetture di deep learning.









