Sintonizzati su YOLO Vision 2025!
25 settembre 2025
10:00 — 18:00 BST
Evento ibrido
Yolo Vision 2024

Cos'è l'overfitting nella computer vision e come prevenirlo?

Abdelrahman Elgendy

6 minuti di lettura

13 marzo 2025

Scopri cos'è l'overfitting nella computer vision e come prevenirlo utilizzando l'aumento dei dati, la regolarizzazione e i modelli pre-addestrati.

I modelli di computer vision sono progettati per riconoscere schemi, rilevare oggetti e analizzare immagini. Tuttavia, le loro prestazioni dipendono da quanto bene riescono a generalizzare a dati non visti. La generalizzazione è la capacità del modello di funzionare bene su nuove immagini, non solo su quelle su cui è stato addestrato. Un problema comune nell'addestramento di questi modelli è l'overfitting, in cui un modello impara troppo dai suoi dati di addestramento, incluso il rumore non necessario, invece di identificare schemi significativi.

Quando ciò accade, il modello funziona bene sui dati di addestramento, ma ha difficoltà con le nuove immagini. Ad esempio, un modello di object detection addestrato solo su immagini ad alta risoluzione e ben illuminate potrebbe fallire quando vengono presentate immagini sfocate o in ombra in condizioni reali. L'overfitting limita l'adattabilità di un modello, limitandone l'uso in applicazioni del mondo reale come la guida autonoma, l'imaging medico e i sistemi di sicurezza.

In questo articolo, esploreremo cos'è l'overfitting, perché si verifica e come prevenirlo. Esamineremo anche come i modelli di computer vision come Ultralytics YOLO11 aiutano a ridurre l'overfitting e a migliorare la generalizzazione.

Cos'è l'overfitting?

L'overfitting si verifica quando un modello memorizza i dati di training invece di apprendere schemi che si applicano in modo ampio a nuovi input. Il modello si concentra troppo sui dati di training, quindi ha difficoltà con nuove immagini o situazioni che non ha mai visto prima.

Nella computer vision, l'overfitting può influire su diverse attività. Un modello di classificazione addestrato solo su immagini luminose e nitide potrebbe avere difficoltà in condizioni di scarsa illuminazione. Un modello di object detection che apprende da immagini perfette potrebbe fallire in scene affollate o disordinate. Allo stesso modo, un modello di instance segmentation può funzionare bene in ambienti controllati, ma avere problemi con ombre o oggetti sovrapposti.

Questo diventa un problema nelle applicazioni di IA del mondo reale, dove i modelli devono essere in grado di generalizzare al di là delle condizioni di training controllate. Le auto a guida autonoma, ad esempio, devono essere in grado di rilevare i pedoni in diverse condizioni di illuminazione, meteorologiche e ambientali. Un modello che esagera l'adattamento al suo set di training non funzionerà in modo affidabile in scenari così imprevedibili.

Quando e perché si verifica l'overfitting?

L'overfitting di solito si verifica a causa di dataset sbilanciati, eccessiva complessità del modello e sovra-allenamento. Ecco le cause principali:

  • Dati di training limitati: Dataset di piccole dimensioni fanno sì che i modelli memorizzino i pattern piuttosto che generalizzarli. Un modello addestrato su sole 50 immagini di uccelli potrebbe avere difficoltà a rilevare specie di uccelli al di fuori di quel dataset.

  • Modelli complessi con troppi parametri: Le reti profonde con un numero eccessivo di layer e neuroni tendono a memorizzare dettagli specifici piuttosto che concentrarsi sulle caratteristiche essenziali.

  • Mancanza di data augmentation: Senza trasformazioni come cropping, flipping o rotazione, un modello può imparare solo dalle sue immagini di training esatte.

  • Addestramento prolungato: Se un modello elabora i dati di addestramento troppe volte, in quelle che vengono definite epoche, memorizza i dettagli invece di apprendere schemi generali, diventando meno adattabile.

  • Etichette incoerenti o rumorose: Dati etichettati in modo errato fanno sì che un modello impari schemi errati. Questo è comune nei set di dati etichettati manualmente.

Un approccio ben bilanciato alla complessità del modello, alla qualità del dataset e alle tecniche di addestramento garantisce una migliore generalizzazione.

Overfitting vs. underfitting

L'overfitting e l'underfitting sono due problemi completamente opposti nel deep learning.

__wf_reserved_inherit
Fig 1. Confronto tra underfitting, apprendimento ottimale e overfitting nei modelli di computer vision.

L'overfitting si verifica quando un modello è troppo complesso, il che lo porta a concentrarsi eccessivamente sui dati di training. Invece di apprendere schemi generali, memorizza piccoli dettagli, anche quelli irrilevanti come il rumore di fondo. Ciò fa sì che il modello funzioni bene sui dati di training, ma abbia difficoltà con nuove immagini, il che significa che non ha veramente imparato a riconoscere schemi applicabili in situazioni diverse.

L'underfitting si verifica quando un modello è troppo semplice e quindi non coglie importanti schemi nei dati. Ciò può accadere quando il modello ha troppi pochi livelli, un tempo di training insufficiente o i dati sono limitati. Di conseguenza, non riesce a riconoscere schemi importanti ed effettua previsioni inaccurate. Ciò porta a scarse prestazioni sia sui dati di training che sui dati di test perché il modello non ha imparato abbastanza per comprendere correttamente il compito. 

Un modello ben addestrato trova il giusto equilibrio tra complessità e generalizzazione. Dovrebbe essere sufficientemente complesso da apprendere schemi rilevanti, ma non così complesso da memorizzare i dati invece di riconoscere le relazioni sottostanti.

Come identificare l'overfitting

Ecco alcuni segnali che indicano che un modello è in overfitting:

  • Se l'accuratezza dell'addestramento è significativamente superiore all'accuratezza della convalida, è probabile che il modello sia in overfitting.
  • Un divario crescente tra la loss di addestramento e la loss di validazione è un altro forte indicatore.
  • Il modello è eccessivamente sicuro nelle risposte errate, il che dimostra che ha memorizzato i dettagli invece di comprendere gli schemi.

Per garantire che un modello si generalizzi bene, deve essere testato su diversi set di dati che riflettano le condizioni del mondo reale.

Come prevenire l'overfitting nella computer vision

L'overfitting non è inevitabile e può essere prevenuto. Con le giuste tecniche, i modelli di computer vision possono apprendere schemi generali invece di memorizzare i dati di training, rendendoli più affidabili nelle applicazioni del mondo reale. 

Ecco cinque strategie chiave per prevenire l'overfitting nella computer vision.

Aumentare la diversità dei dati con l'aumento e i dati sintetici

Il modo migliore per aiutare un modello a funzionare bene su nuovi dati è espandere il set di dati utilizzando l'aumento dei dati e i dati sintetici. I dati sintetici sono generati dal computer anziché raccolti da immagini del mondo reale. Aiutano a colmare le lacune quando non ci sono abbastanza dati reali.

__wf_reserved_inherit
Fig. 2. La combinazione di dati reali e sintetici riduce l'overfitting e migliora l'accuratezza del rilevamento degli oggetti.

L'aumento dei dati modifica leggermente le immagini esistenti capovolgendo, ruotando, ritagliando o regolando la luminosità, in modo che il modello non si limiti a memorizzare i dettagli, ma impari a riconoscere gli oggetti in diverse situazioni.

I dati sintetici sono utili quando è difficile ottenere immagini reali. Ad esempio, i modelli di auto a guida autonoma possono essere addestrati su scene stradali generate al computer per imparare a rilevare oggetti in diverse condizioni meteorologiche e di illuminazione. Questo rende il modello più flessibile e affidabile senza bisogno di migliaia di immagini del mondo reale.

Ottimizza la complessità e l'architettura del modello

Una rete neurale profonda, che è un tipo di modello di machine learning che ha molti livelli che elaborano i dati invece di un singolo livello, non è sempre migliore. Quando un modello ha troppi livelli o parametri, memorizza i dati di addestramento invece di riconoscere modelli più ampi. Ridurre la complessità non necessaria può aiutare a prevenire l'overfitting.

Per raggiungere questo obiettivo, un approccio è il pruning, che rimuove neuroni e connessioni ridondanti, rendendo il modello più snello ed efficiente. 

Un altro metodo è semplificare l'architettura riducendo il numero di livelli o neuroni. I modelli pre-addestrati come YOLO11 sono progettati per generalizzare bene tra le attività con meno parametri, rendendoli più resistenti all'overfitting rispetto all'addestramento di un modello profondo da zero.

Trovare il giusto equilibrio tra la profondità del modello e l'efficienza lo aiuta a imparare schemi utili senza semplicemente memorizzare i dati di addestramento.

Applicare tecniche di regolarizzazione

Le tecniche di regolarizzazione impediscono ai modelli di diventare troppo dipendenti da caratteristiche specifiche nei dati di addestramento. Ecco alcune tecniche comunemente utilizzate:

  • Dropout disattiva parti casuali del modello durante l'addestramento, in modo che impari a riconoscere diversi pattern invece di fare troppo affidamento su poche caratteristiche.

  • Il decadimento del peso (regolarizzazione L2) scoraggia valori di peso estremi, mantenendo sotto controllo la complessità del modello.

  • La normalizzazione batch aiuta a stabilizzare l'addestramento assicurando che il modello sia meno sensibile alle variazioni nel set di dati.

Queste tecniche aiutano a mantenere la flessibilità e l'adattabilità di un modello, riducendo il rischio di overfitting preservando al contempo l'accuratezza.

Monitorare l'addestramento con la convalida e l'arresto anticipato

Per prevenire l'overfitting, è importante monitorare come il modello apprende e assicurarsi che si generalizzi bene a nuovi dati. Ecco alcune tecniche utili a questo scopo:

  • Early stopping: Termina automaticamente l'addestramento quando il modello smette di migliorare, in modo da non continuare ad apprendere dettagli non necessari.

  • Cross-validation: Divide i dati in parti e addestra il modello su ciascuna di esse. Questo lo aiuta a imparare i pattern invece di memorizzare immagini specifiche.

Queste tecniche aiutano il modello a rimanere bilanciato in modo che impari abbastanza da essere preciso senza concentrarsi troppo solo sui dati di addestramento.

Utilizza modelli pre-addestrati e migliora l'etichettatura dei dataset

Invece di eseguire il training da zero, l'utilizzo di modelli pre-addestrati come YOLO11 può ridurre l'overfitting. YOLO11 è addestrato su set di dati su larga scala, il che gli consente di generalizzare bene in diverse condizioni.

__wf_reserved_inherit
Fig. 3. I modelli di computer vision pre-addestrati migliorano l'accuratezza e prevengono l'overfitting.

Il fine-tuning di un modello pre-addestrato aiuta a mantenere le conoscenze pregresse durante l'apprendimento di nuove attività, evitando la semplice memorizzazione dei dati di training.

Inoltre, è essenziale garantire un'etichettatura di alta qualità del dataset. Dati etichettati in modo errato o sbilanciati possono indurre i modelli a imparare schemi errati. La pulizia dei dataset, la correzione delle immagini etichettate in modo errato e il bilanciamento delle classi migliorano l'accuratezza e riducono il rischio di overfitting. Un altro approccio efficace è il training avversario, in cui il modello è esposto a esempi leggermente alterati o più impegnativi progettati per testarne i limiti.

Punti chiave

L'overfitting è un problema comune nella computer vision. Un modello potrebbe funzionare bene sui dati di training, ma avere difficoltà con le immagini del mondo reale. Per evitarlo, tecniche come l'aumento dei dati, la regolarizzazione e l'utilizzo di modelli pre-addestrati come YOLO11 aiutano a migliorare l'accuratezza e l'adattabilità.

Applicando questi metodi, i modelli di IA possono rimanere affidabili e funzionare bene in diversi ambienti. Con il miglioramento del deep learning, assicurarsi che i modelli si generalizzino correttamente sarà fondamentale per il successo dell'IA nel mondo reale.

Unisciti alla nostra community in crescita! Esplora il nostro repository GitHub per saperne di più sull'IA. Sei pronto per iniziare i tuoi progetti di computer vision? Dai un'occhiata alle nostre opzioni di licenza. Scopri la Vision AI nella guida autonoma e l'IA nel settore sanitario visitando le nostre pagine dedicate alle soluzioni!

Costruiamo insieme il futuro
dell'AI!

Inizia il tuo viaggio con il futuro del machine learning

Inizia gratis
Link copiato negli appunti