Scopri come il livellamento delle etichette previene il sovradattamento e migliora la generalizzazione del modello. Scopri come implementare questa tecnica con Ultralytics per ottenere risultati migliori.
Il livellamento delle etichette è una tecnica di regolarizzazione ampiamente utilizzata nell'apprendimento automatico per migliorare la generalizzazione dei modelli e prevenire il sovradattamento. Quando si addestrano le reti neurali, l'obiettivo è in genere quello di ridurre al minimo l'errore tra le previsioni e la verità di base. Tuttavia, se un modello diventa troppo sicuro delle proprie previsioni, assegnando una probabilità vicina al 100% a una singola classe, spesso inizia a memorizzare il rumore specifico nei dati di addestramento piuttosto che apprendere modelli robusti. Questo fenomeno, noto come overfitting, degrada le prestazioni su esempi nuovi e non visti. Il livellamento delle etichette affronta questo problema scoraggiando il modello dal fare previsioni con assoluta certezza, essenzialmente dicendo alla rete che c'è sempre un piccolo margine di errore.
Per comprendere come funziona il livellamento delle etichette, è utile confrontarlo con gli obiettivi "rigidi" standard. Nel
tradizionale apprendimento supervisionato, le etichette di classificazione
sono solitamente rappresentate tramite codifica one-hot. Ad esempio,
in un compito che distingue tra cani e gatti, un'immagine di "cane" avrebbe un vettore target di
[0, 1]Per adattarsi perfettamente a questo, il modello spinge i suoi punteggi interni, noti come
logit, verso l'infinito, il che può portare
a gradienti instabili e incapacità di adattamento.
Il livellamento delle etichette sostituisce questi rigidi 1 e 0 con obiettivi "soft". Invece di una probabilità target di
1.0, potrebbe essere assegnata la classe corretta 0.9, mentre la massa di probabilità rimanente
(0.1) è distribuito uniformemente tra le classi errate. Questo sottile spostamento modifica l'obiettivo dell' funzione di loss, come ad esempio
entropia incrociata, impedendo il
funzione di attivazione (di solito
Softmax) dalla saturazione. Il risultato è un modello che apprende
cluster più stretti di classi nello spazio delle caratteristiche e produce migliori
calibrazione del modello, il che significa che le
probabilità previste riflettono in modo più accurato la reale verosimiglianza della correttezza.
Questa tecnica è particolarmente critica nei domini in cui l'ambiguità dei dati è intrinseca o i set di dati sono soggetti a errori di etichettatura .
I moderni framework di deep learning semplificano l'applicazione di questa tecnica. Utilizzando il
ultralytics pacchetto, è possibile integrare facilmente il livellamento delle etichette nella pipeline di addestramento per
classificazione delle immagini o attività di rilevamento. Questo
viene spesso fatto per ottenere prestazioni extra da modelli all'avanguardia come
YOLO26.
L'esempio seguente mostra come addestrare un modello di classificazione con la funzione di livellamento delle etichette abilitata:
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)
È utile distinguere il livellamento delle etichette da altre strategie di regolarizzazione per capire quando utilizzarlo.
Mitigando il problema del gradiente che svanisce negli strati finali e incoraggiando il modello ad apprendere caratteristiche più robuste, il livellamento delle etichette rimane un elemento fondamentale nelle moderne architetture di deep learning.