Regularization

[regularizèiscion]

Famiglia di tecniche per evitare che un modello faccia overfitting. Tieni il modello "semplice" forzandolo a non specializzarsi troppo sui dati di training.

La regolarizzazione è qualunque tecnica che aiuta un modello a generalizzare meglio sui dati nuovi, evitando l'overfitting. Detta in altro modo: tenere il modello "semplice" e onesto.

Tecniche principali:

  • L1 (Lasso): aggiunge alla loss la somma dei valori assoluti dei pesi. Spinge i pesi inutili a zero. Risultato: modello sparso, alcuni parametri spariscono.
  • L2 (Ridge / Weight Decay): aggiunge la somma dei quadrati dei pesi. Spinge tutti i pesi verso zero senza azzerarli. Standard nei Transformer, sempre 0.01-0.1.
  • Dropout: spegne neuroni a caso. Vedi dropout.
  • Data augmentation: gonfi il dataset con varianti (rotazioni, ritagli, traduzioni). Più dati = meno overfitting. Per le immagini è obbligatorio.
  • Early stopping: smetti il training quando la validation loss inizia a salire.
  • Batch / Layer normalization: hanno effetto regolarizzante secondario. Vedi batch normalization e layer normalization.
  • Label smoothing: invece di etichette dure (0 o 1), usi etichette morbide (0.05 e 0.95). Modello meno sicuro, più robusto.

Quando usare cosa? Dipende dal problema. Per LLM grossi spesso basta weight decay + dropout leggero. Per modelli piccoli su pochi dati: tutto il pacchetto, anche con la mano pesante.

Errore tipico: pensare che più regolarizzazione = meglio. Falso. Troppa regolarizzazione → underfitting, modello che non impara nulla.