Glossario

Overfitting

Impara a identificare, prevenire e risolvere l'overfitting nell'apprendimento automatico. Scopri le tecniche per migliorare la generalizzazione dei modelli e le prestazioni nel mondo reale.

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

L'overfitting nell'apprendimento automatico (ML) si verifica quando un modello apprende troppo bene i dati di addestramento, catturando il rumore e le fluttuazioni casuali invece del modello sottostante. Questo porta a prestazioni eccellenti sul set di dati di addestramento ma a una scarsa generalizzazione a nuovi dati non visti. In sostanza, il modello diventa troppo complesso e adattato specificamente agli esempi di addestramento, simile a memorizzare le risposte piuttosto che a comprendere i concetti. Si tratta di una sfida comune quando si addestrano modelli di intelligenza artificiale, soprattutto con algoritmi complessi come le reti neurali utilizzate in Ultralytics YOLO per compiti come il rilevamento di oggetti e la segmentazione di immagini.

Capire l'overfitting

L'overfitting si verifica perché i modelli ML mirano a minimizzare gli errori sui dati di addestramento. Se un modello possiede una complessità eccessiva (ad esempio, un numero eccessivo di parametri o strati), può adattarsi anche al rumore casuale presente nel set di formazione. Questo rumore non rappresenta i veri modelli sottostanti ed è improbabile che sia presente nei nuovi set di dati. Immagina di adattare perfettamente un abito alle misure esatte di una persona in un giorno specifico: potrebbe non calzare bene se il suo peso fluttua leggermente o se qualcun altro lo prova. Nel ML, questo "adattamento perfetto" ai dati di addestramento si traduce in inflessibilità e scarse prestazioni sui dati del mondo reale, spesso definite come scarsa generalizzazione.

Il problema opposto è l'underfitting, quando un modello è troppo semplice per catturare la struttura sottostante dei dati. Un modello underfit si comporta male sia con la formazione che con i nuovi dati perché non ha imparato abbastanza. L'obiettivo è trovare un equilibrio ottimale, spesso discusso nel contesto del compromesso bias-varianza, creando un modello che si generalizzi bene ai dati non visti.

Esempi di overfitting nel mondo reale

  • Analisi di immagini mediche: Nell'analisi delle immagini mediche per il rilevamento delle malattie, un modello overfit potrebbe diventare eccezionalmente bravo a identificare le malattie nello specifico set di immagini su cui è stato addestrato, magari apprendendo artefatti o disturbi unici presenti solo in quel set di dati (ad esempio, da uno scanner specifico). Quando gli vengono presentate nuove immagini mediche provenienti da macchine, popolazioni di pazienti o condizioni di imaging diverse, il modello potrebbe non riuscire a generalizzare, portando potenzialmente a diagnosi imprecise in ambito clinico. Ad esempio, un modello addestrato per rilevare i tumori utilizzando le scansioni MRI dell'ospedale A potrebbe adattarsi eccessivamente alle caratteristiche dello scanner MRI specifico di quell'ospedale e non ottenere risultati soddisfacenti con le scansioni dell'ospedale B, anche se la patologia sottostante è identica.
  • Guida autonoma: Un modello di rilevamento di oggetti per un veicolo autonomo addestrato eccessivamente su dati diurni e di tempo sereno potrebbe adattarsi eccessivamente a queste condizioni. Potrebbe avere buone prestazioni nel riconoscimento di pedoni e altri veicoli in piena luce solare, ma avere grosse difficoltà durante le ore notturne, la pioggia, la nebbia o la neve, non riuscendo a rilevare gli oggetti in modo affidabile a causa della mancanza di generalizzazione a questi diversi input visivi, con gravi rischi per la sicurezza.

Prevenire l'overfitting

Diverse tecniche possono aiutare a mitigare l'overfitting e a migliorare la generalizzazione del modello:

  • Semplificare il modello: L'utilizzo di un'architettura del modello meno complessa (meno strati o parametri) può evitare che il modello si adatti al rumore. Anche tecniche come il model pruning possono ridurre la complessità.
  • Aumento dei dati: Aumentare artificialmente le dimensioni e la diversità del set di dati di addestramento aiuta il modello ad apprendere caratteristiche più robuste. Le tecniche di aumento dei dati diUltralytics YOLO includono rotazioni, traslazioni, scalature e spostamenti di colore.
  • Regolarizzazione: L'aggiunta di penalità alla funzione di perdita in base ai parametri del modello scoraggia i modelli troppo complessi. I metodi più comuni includono la regolarizzazione L1 e L2.
  • Arresto anticipato: Monitoraggio delle prestazioni del modello su un set di dati di convalida separato durante l'addestramento e arresto del processo quando le prestazioni di convalida iniziano a peggiorare, anche se le prestazioni di addestramento continuano a migliorare. In questo modo si evita che il modello apprenda i dati di formazione per un numero eccessivo di epoche.
  • Validazione incrociata: Tecniche come la convalida incrociata K-Fold forniscono una stima più robusta delle prestazioni del modello su dati non visti e aiutano a selezionare i modelli che generalizzano meglio.
  • Dropout: L'azzeramento casuale di una frazione di attivazioni dei neuroni durante l'addestramento costringe la rete ad apprendere rappresentazioni più ridondanti, riducendo la dipendenza da neuroni specifici. Vedi la spiegazione del concetto di abbandono.

Comprendendo e affrontando l'overfitting, gli sviluppatori possono costruire modelli di intelligenza artificiale più affidabili ed efficaci. Strumenti come Ultralytics HUB possono aiutare a tracciare gli esperimenti e a valutare i modelli, favorendo l'individuazione e la riduzione dell'overfitting durante il ciclo di vita del modello.

Leggi tutto