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

Regularization

La regolarizzazione pone vincoli a un modello durante l'addestramento affinché generalizzi invece di memorizzare il rumore. Include L1, L2, weight decay, dropout ed early stopping.

La regolarizzazione è qualsiasi modifica al modo in cui viene addestrato un modello pensata per ridurre il suo errore su dati nuovi, anche se l'errore sui dati di addestramento aumenta. Contrasta l'overfitting, che si verifica quando un modello con capacità sufficiente memorizza il rumore e le particolarità degli esempi che ha visto. La regolarizzazione limita la complessità effettiva del modello penalizzando pesi elevati, introducendo rumore, aggiungendo dati vari o interrompendo prima l'addestramento. In termini di bias-varianza, accetta un piccolo aumento del bias in cambio di una maggiore riduzione della varianza.

Penalità L1 e L2#

La forma classica aggiunge una penalità sui pesi alla funzione di perdita: perdita totale = perdita sui dati + λ × penalità. La regolarizzazione L2 penalizza la somma dei quadrati dei pesi, Σw², spingendo ogni peso verso zero in proporzione alla sua grandezza; nei modelli lineari è chiamata regressione ridge. La regolarizzazione L1 penalizza la somma dei valori assoluti dei pesi; la sua attrazione costante porta molti pesi esattamente a zero, perciò la regressione lineare penalizzata con L1, il lasso, funge anche da selezione delle caratteristiche. L'elastic net combina entrambe. L'intensità della penalità λ, chiamata alpha in scikit-learn, è un iperparametro: se è troppo bassa, il modello continua a fare overfitting; se è troppo alta, il modello non apprende a sufficienza. Un polinomio di grado 9 adattato a 12 punti rumorosi di un'onda sinusoidale mostra entrambi i casi di fallimento:

import numpy as np
from sklearn.linear_model import Ridge
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import PolynomialFeatures

rng = np.random.default_rng(0)

# 12 noisy training points from a sine wave, plus clean test points
x_train = rng.uniform(0, 1, (12, 1))
y_train = np.sin(2 * np.pi * x_train[:, 0]) + rng.normal(0, 0.2, 12)
x_test = np.linspace(0, 1, 200)[:, None]
y_test = np.sin(2 * np.pi * x_test[:, 0])

# The same degree-9 polynomial, fit with a growing L2 penalty on its coefficients
for alpha in (0.0, 1e-4, 1e-2, 1.0):
    model = make_pipeline(PolynomialFeatures(9), Ridge(alpha=alpha)).fit(x_train, y_train)
    train_mse = np.mean((model.predict(x_train) - y_train) ** 2)
    test_mse = np.mean((model.predict(x_test) - y_test) ** 2)
    weight_norm = np.linalg.norm(model[-1].coef_)
    print(f"alpha {alpha:g}: train MSE {train_mse:.4f}, test MSE {test_mse:.4f}, |w| {weight_norm:.1f}")

Senza penalità, il polinomio si piega seguendo il rumore: la norma dei coefficienti arriva a circa 425.000, l'errore di addestramento è 0,0148 e quello di test è 0,1859. Una penalità di 0,0001 riduce la norma dei coefficienti a 20,8 e abbassa di undici volte l'errore di test, portandolo a 0,0170, mentre l'errore di addestramento sale a 0,0334. Con un alpha pari a 1, la penalità prevale e il modello non apprende a sufficienza, con un errore di test di 0,3998.

Decadimento dei pesi e dropout nelle reti neurali#

Nelle reti neurali, la regolarizzazione L2 assume solitamente la forma di decadimento dei pesi: ogni aggiornamento riduce anche ciascun peso di una piccola frazione del suo valore. Nel caso della discesa stocastica del gradiente semplice, i due metodi sono equivalenti. Per gli ottimizzatori adattivi come Adam, un termine L2 aggiunto al gradiente viene diviso per il fattore di scala di Adam specifico per parametro, perciò i pesi con gradienti elevati sono appena regolarizzati. Il decadimento dei pesi disaccoppiato applica direttamente la riduzione; l'ottimizzatore AdamW così ottenuto è la scelta standard per i transformer.

Un livello di dropout azzera l'output di ogni unità con probabilità p a ogni passaggio di addestramento e scala gli output rimanenti di 1/(1 − p), impedendo alla rete di dipendere da una singola unità e facendo sì che, di fatto, vengano addestrate molte sottoreti ridotte che condividono i pesi. Durante l'inferenza, tutte le unità restano attive. Negli esperimenti originali, una probabilità di dropout di 0,5 per le unità nascoste è risultata quasi ottimale per un'ampia varietà di reti e attività.

L'addestramento Ultralytics YOLO offre entrambi: weight_decay, 0,0005 per impostazione predefinita, si applica solo ai pesi convoluzionali e lineari, escludendo i bias e i parametri dei livelli di normalizzazione; dropout, 0,0 per impostazione predefinita, agisce subito prima del livello lineare finale dei modelli di classificazione YOLO26.

from ultralytics import YOLO

# Carica un modello di classificazione YOLO26n preaddestrato
model = YOLO("yolo26n-cls.pt")

# Esegui l'addestramento con dropout nella testa di classificazione e un decadimento dei pesi più forte
results = model.train(data="mnist160", epochs=10, dropout=0.2, weight_decay=0.001)

Altre tecniche di regolarizzazione#

  • Aumento dei dati: Ribaltamenti, ritagli, ridimensionamenti, variazioni di colore e mosaici ampliano la varietà delle immagini di addestramento, così il modello vede ogni oggetto in molte più condizioni di quante ne contenga il dataset grezzo.
  • Smussamento delle etichette: Sostituisce i target di classificazione one-hot con target leggermente ammorbiditi, così il modello smette di spingere i propri logit verso una confidenza estrema.
  • Regolarizzazione implicita: Il rumore del gradiente prodotto dall'addestramento con batch piccoli e quello tra batch introdotto dalla normalizzazione batch hanno entrambi un effetto regolarizzante, senza alcun termine esplicito.

L'arresto anticipato regolarizza limitando la durata dell'addestramento. Valuta il modello sui dati di validazione dopo ogni epoca e interrompe l'addestramento quando il punteggio non migliora per un numero prestabilito di epoche, chiamato pazienza, conservando i pesi migliori ottenuti fino a quel momento:

  • Normalizzazione: Ridimensiona gli input o le attivazioni per accelerare e stabilizzare l'addestramento. La normalizzazione batch ha un effetto regolarizzante solo come conseguenza indiretta.
  • Ottimizzazione degli iperparametri: Cerca valori efficaci per le impostazioni di regolarizzazione, come λ, la probabilità di dropout e la pazienza, insieme a tutti gli altri iperparametri.
  • Ensemble di modelli: Riducono la varianza calcolando la media delle previsioni di diversi modelli addestrati in modo indipendente. Il dropout approssima un ensemble di questo tipo all'interno di una sola rete: durante l'addestramento campiona da un numero esponenziale di sottoreti ridotte e, al test, l'esecuzione della rete completa con tutte le unità attive approssima la media di tutte le loro previsioni.

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