Label Smoothing
Lo smoothing delle etichette combina ogni target one-hot di addestramento con una distribuzione uniforme, limitando l'eccessiva sicurezza e migliorando la calibrazione dei classificatori.
Il label smoothing è una tecnica di regolarizzazione per modelli di classificazione di apprendimento profondo che sostituisce ogni target one-hot rigido nei dati di addestramento con una versione più morbida: la maggior parte della probabilità resta assegnata alla classe corretta, mentre una piccola quota, determinata dal fattore di smoothing ε, viene distribuita uniformemente tra tutte le classi. Addestrare una rete neurale su questi target morbidi impedisce alla rete di spingere i logit verso valori estremi per raggiungere una confidenza del 100%, riducendo così l'overfitting e producendo probabilità meglio calibrate. Szegedy et al. lo hanno descritto nell'articolo su Inception-v3, usando ε = 0.1 per le 1.000 classi di ImageNet; oggi è un'opzione standard per addestrare modelli di classificazione delle immagini, traduzione e riconoscimento vocale.
Come funziona il label smoothing#
Con K classi e fattore di smoothing ε, ogni target diventa (1 − ε) · y + ε / K, dove y è l'etichetta one-hot. Con tre classi ed ε = 0.1, l'etichetta [1, 0, 0] diventa circa [0.933, 0.033, 0.033]. Con un target rigido, la cross-entropy continua a diminuire man mano che il logit corretto aumenta rispetto agli altri; così la funzione di perdita premia differenze sempre maggiori tra i logit e l'output softmax si satura. Con un target smussato, la perdita raggiunge il minimo a una differenza finita pari a ln((1 − ε + ε / K) / (ε / K)), circa 3.3 in questo esempio, e poi torna ad aumentare; i gradienti spingono così le predizioni troppo sicure verso valori più moderati. I modelli di rilevamento Ultralytics YOLO26 addestrano le predizioni delle classi con un tipo correlato di target morbido: il task-aligned assigner ridimensiona il target di classe di ogni anchor positivo in base all'allineamento del punteggio e del riquadro previsti con l'oggetto, perciò la maggior parte dei target è inferiore a 1.
La CrossEntropyLoss di PyTorch applica la formula tramite l'argomento label_smoothing:
import torch
from torch import nn
# The correct class is index 0 of three; hard and smoothed versions of the same loss
target = torch.tensor([0])
hard_loss = nn.CrossEntropyLoss()
smooth_loss = nn.CrossEntropyLoss(label_smoothing=0.1)
# Score the correct class increasingly far above the other two
for gap in [1.0, 3.0, 6.0, 12.0]:
logits = torch.tensor([[gap, 0.0, 0.0]])
hard = hard_loss(logits, target).item()
smooth = smooth_loss(logits, target).item()
print(f"Logit gap {gap:>4}: hard loss {hard:.3f}, smoothed loss {smooth:.3f}")La perdita rigida scende da 0.551 a 0.000 all'aumentare della differenza, mentre la perdita smussata raggiunge il minimo di 0.295 vicino a una differenza di 3 e risale a 0.800 con una differenza di 12: una confidenza estrema ha quindi un costo maggiore di una moderata.
Effetti sulla calibrazione e sulle caratteristiche apprese#
Müller, Kornblith e Hinton hanno scoperto che il label smoothing migliora la calibrazione del modello, cioè fa sì che le probabilità previste riflettano la frequenza con cui le predizioni sono effettivamente corrette. Hanno inoltre dimostrato che concentra le caratteristiche dello strato penultimo di ogni classe in gruppi compatti e uniformemente distanziati. Questa compressione elimina le informazioni sulle classi errate a cui un'immagine somiglia; di conseguenza, i modelli insegnanti addestrati con label smoothing trasferivano molto meno ai modelli studenti tramite la distillazione della conoscenza.
Applicazioni nel mondo reale#
Il label smoothing è più utile quando le etichette sono rumorose, ambigue o numerose.
- Classificazione su scala ImageNet: ImageNet contiene immagini etichettate in modo errato e foto con diversi oggetti validi. Le ricette di addestramento per reti convoluzionali e Vision Transformer, incluso DeiT, usano ε = 0.1, così il modello non si adatta mai con certezza assoluta a un'etichetta dubbia.
- Traduzione automatica: il Transformer originale usava l'ammorbidimento delle etichette con ε = 0.1. Gli autori hanno riferito che aumentava la perplexity, perché il modello imparava a essere meno sicuro, migliorando al contempo la precisione e il punteggio BLEU.
- Analisi delle immagini mediche: gli annotatori esperti spesso non concordano sulle scansioni borderline. Gli obiettivi ammorbiditi impediscono a un classificatore diagnostico di trattare ogni etichetta controversa come certa, e punteggi meglio calibrati rendono più affidabili le soglie di triage clinico.
Il label smoothing a confronto con tecniche correlate#
- Distillazione della conoscenza: la distillazione usa anche obiettivi morbidi, ricavati dalle previsioni di un modello insegnante, che registrano quali classi si assomigliano. Gli obiettivi dell'ammorbidimento delle etichette assegnano la stessa piccola quota a ogni classe errata.
- Scalatura della temperatura: la scalatura della temperatura calibra a posteriori un modello addestrato dividendo i suoi logit per un'unica costante appresa, senza modificare i pesi.
- Livello Dropout: il dropout regolarizza la rete azzerando attivazioni casuali durante l'addestramento, mentre l'ammorbidimento delle etichette regolarizza attraverso gli obiettivi di addestramento.
- CutMix: CutMix e mixup sono metodi di aumento dei dati che fondono due immagini di addestramento e mescolano le relative etichette nella stessa proporzione; il target morbido deriva così direttamente dall'input. CutMix assegna a ogni etichetta un peso in base all'area coperta dal ritaglio incollato, mentre mixup assegna a entrambi i pixel e alle etichette un peso determinato da un unico fattore estratto da una distribuzione Beta.










