Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Sovradattamento (Overfitting)

Scopri come identificare, prevenire e affrontare l'overfitting nel machine learning. Scopri le tecniche per migliorare la generalizzazione del modello e le prestazioni nel mondo reale.

L'overfitting si verifica nel apprendimento automatico (ML) quando un modello apprende i dettagli e i disturbi specifici dei dati di specifici e il rumore dei dati di addestramento fino a che influisce negativamente sulle sue prestazioni su nuovi dati. In sostanza, il modello memorizza gli esempi esempi di addestramento invece di apprendere i modelli sottostanti necessari per generalizzazione. Il risultato è un sistema che raggiunge un'elevata precisione durante lo sviluppo, ma che non riesce a fornire previsioni affidabili quando viene utilizzato in scenari reali.

Comprendere il fenomeno

Nel contesto dell'apprendimento supervisionato, l'obiettivo è quello di creare un modello è quello di creare un modello che si comporti bene su input non visti, detti dati di prova. L'overfitting si verifica quando un modello è troppo complesso rispetto alla quantità di dati disponibili. troppo complesso rispetto alla quantità di dati disponibili, una situazione spesso descritta come alta varianza. Un modello di questo tipo modello coglie le fluttuazioni casuali o il "rumore" nel set di dati come se fossero caratteristiche significative. Questa è una sfida centrale del deep learning (DL), che richiede agli sviluppatori di bilanciare la complessità e la flessibilità, spesso definita come il bias-varianza.

Esempi reali

L'overfitting può avere gravi conseguenze a seconda dell'applicazione:

  • Veicoli autonomi: Consideriamo un sistema di visione per veicoli autonomi addestrato esclusivamente su immagini di autostrade catturate durante il tempo soleggiato. Il modello potrebbe adattarsi in modo eccessivo a queste specifiche condizioni di illuminazione e di texture della strada. Di conseguenza, potrebbe non riuscire a eseguire un di rilevamento degli oggetti in presenza di pioggia, ombre o ambienti urbani, con conseguente rischio per la sicurezza, ombre o ambienti urbani, mettendo a rischio la sicurezza.
  • Diagnostica medica: In IA nel settore sanitario, un modello potrebbe essere addestrato per identificare patologie nelle radiografie. Se il set di dati proviene da un singolo ospedale, il modello potrebbe adattarsi in modo eccessivo agli specifici artefatti specifici delle apparecchiature di imaging di quell'ospedale. Quando viene applicato a immagini mediche di un'altra struttura, le di un'altra struttura, le prestazioni del modello potrebbero diminuire in modo significativo perché ha appreso il rumore dell'apparecchiatura piuttosto che le caratteristiche biologiche della malattia.

Identificare e prevenire l'overfitting

Gli sviluppatori di solito detect 'overfitting monitorando le funzioni di perdita durante l'addestramento. Un chiaro indicatore è quando la perdita dell'addestramento continua a diminuire mentre la perdita dei dati di validazione inizia ad aumentare. Per combattere questo problema, vengono impiegate diverse tecniche:

  • Aumento dei dati: Si tratta di aumentare artificialmente la diversità del set di allenamento. Applicando trasformazioni casuali come la rotazione o il capovolgimento, l'aumento dei dati impedisce al modello di memorizzare l'esatta disposizione dei pixel.
  • Regolarizzazione: Metodi come la regolarizzazione L1/L2 o l'aggiunta di un penalizzano i modelli troppo complessi ignorando di fatto modelli troppo complessi, ignorando di fatto una percentuale di neuroni durante i passaggi di addestramento, costringendo la rete neurale ad imparare rete neurale ad apprendere caratteristiche ridondanti e robuste. caratteristiche robuste e ridondanti.
  • Arresto anticipato: Questa tecnica interrompe il processo di addestramento quando la metrica di validazione smette di di miglioramento, impedendo al modello di apprendere rumore nelle epoche successive.

Overfitting vs. Underfitting

È importante distinguere questo concetto da quello di underfitting. Mentre l'overfitting riguarda un modello troppo complesso e che "si sforza troppo" di adattarsi ai dati di addestramento (alta varianza), l'underfitting si verifica quando un modello è troppo semplice per catturare la tendenza di fondo dei dati (alto bias). modello è troppo semplice per catturare la tendenza sottostante dei dati (bias elevato). Entrambi i casi si traducono in scarse prestazioni predittive, ma per ragioni opposte. prestazioni predittive, ma per ragioni opposte. Per ottenere il modello ottimale è necessario navigare tra questi due estremi.

Attuazione pratica

Biblioteche moderne come ultralytics semplificare l'attuazione delle strategie di prevenzione. Ad esempio, gli utenti possono facilmente applicare arresto anticipato e abbandono quando formazione di un YOLO11 modello.

from ultralytics import YOLO

# Load the YOLO11 model (recommended for latest SOTA performance)
model = YOLO("yolo11n.pt")

# Train with 'patience' for early stopping and 'dropout' for regularization
# This helps the model generalize better to new images
results = model.train(
    data="coco8.yaml",
    epochs=100,
    patience=10,  # Stop if validation loss doesn't improve for 10 epochs
    dropout=0.1,  # Randomly drop 10% of units to prevent co-adaptation
)

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora