Cos'è l'overfitting nella computer vision e come prevenirlo?
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 pattern, rilevare oggetti e analizzare immagini. Tuttavia, le loro prestazioni dipendono da quanto bene riescono a generalizzare su 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, includendo rumore non necessario, anziché identificare pattern 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 se presentato con immagini sfocate o in ombra in condizioni del mondo reale. 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.
Che cos'è l'overfitting?#
L'overfitting si verifica quando un modello memorizza i dati di addestramento invece di apprendere schemi applicabili in modo ampio a nuovi input. Il modello si concentra troppo sui dati di addestramento, quindi ha difficoltà con nuove immagini o situazioni che non ha mai incontrato prima.
Nella computer vision, l'overfitting può influenzare diversi compiti. 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 impara da immagini perfette potrebbe fallire in scene affollate o disordinate. Allo stesso modo, un modello di segmentazione di istanze potrebbe funzionare bene in contesti controllati ma avere problemi con ombre o oggetti sovrapposti.
Questo diventa un problema nelle applicazioni AI del mondo reale, dove i modelli devono essere in grado di generalizzare oltre le condizioni di addestramento controllate. Le auto a guida autonoma, per esempio, devono essere in grado di rilevare i pedoni in diverse condizioni di illuminazione, meteo e ambiente. Un modello che va in overfitting sul proprio set di addestramento non funzionerà in modo affidabile in scenari così imprevedibili.
Quando e perché si verifica l'overfitting?#
L'overfitting si verifica solitamente a causa di set di dati sbilanciati, eccessiva complessità del modello e addestramento prolungato. Ecco le cause principali:
- Dati di addestramento limitati: set di dati piccoli portano i modelli a memorizzare schemi anziché generalizzarli. Un modello addestrato su sole 50 immagini di uccelli potrebbe faticare a rilevare specie di uccelli al di fuori di quel set di dati.
- Modelli complessi con troppi parametri: le reti profonde con strati e neuroni eccessivi tendono a memorizzare dettagli fini invece di concentrarsi sulle caratteristiche essenziali.
- Mancanza di data augmentation: Senza trasformazioni come il ritaglio (cropping), il ribaltamento (flipping) o la rotazione, un modello potrebbe imparare solo dalle sue esatte immagini di addestramento.
- Addestramento prolungato: Se un modello attraversa i dati di addestramento troppe volte, un processo noto come epochs, memorizza i dettagli invece di apprendere pattern generali, rendendolo meno adattabile.
- Etichette incoerenti o rumorose: dati etichettati in modo errato portano un modello ad apprendere schemi sbagliati. Questo è comune nei set di dati etichettati manualmente.
Un approccio ben bilanciato alla complessità del modello, alla qualità dei dati 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.

Fig 1. Confronto tra underfitting, apprendimento ottimale e overfitting nei modelli di computer vision.
L'overfitting si verifica quando un modello è troppo complesso, risultando eccessivamente focalizzato sui dati di addestramento. Invece di imparare schemi generali, memorizza piccoli dettagli, anche irrilevanti come il rumore di fondo. Ciò fa sì che il modello funzioni bene sui dati di addestramento ma fatichi con nuove immagini, il che significa che non ha imparato davvero a riconoscere schemi applicabili in situazioni diverse.
L'underfitting si verifica quando un modello è troppo semplice, perdendo così schemi importanti nei dati. Questo può accadere quando il modello ha pochi strati, non abbastanza tempo di addestramento o i dati sono limitati. Di conseguenza, non riesce a riconoscere schemi importanti ed effettua previsioni imprecise. Ciò porta a prestazioni scadenti sia sui dati di addestramento che su quelli di test, poiché il modello non ha imparato abbastanza per comprendere correttamente il compito.
Un modello ben addestrato trova l'equilibrio tra complessità e generalizzazione. Dovrebbe essere abbastanza complesso da imparare 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 fase di overfitting:
- Se l'accuratezza in fase di addestramento è significativamente superiore all'accuratezza in fase di validazione, è probabile che il modello sia in overfitting.
- Un divario crescente tra la perdita di addestramento e la perdita di validazione è un altro forte indicatore.
- Il modello è troppo sicuro di risposte errate, il che mostra che ha memorizzato dettagli invece di comprendere gli schemi.
Per garantire che un modello generalizzi bene, deve essere testato su set di dati diversi che riflettano le condizioni del mondo reale.
Come prevenire l'overfitting nella computer vision#
L'overfitting non è inevitabile e può essere prevenuto. Con le tecniche giuste, i modelli di computer vision possono imparare schemi generali anziché memorizzare i dati di addestramento, diventando così più affidabili nelle applicazioni reali.
Ecco cinque strategie chiave per prevenire l'overfitting nella computer vision.
Aumenta la diversità dei dati con augmentation e dati sintetici#
Il modo migliore per aiutare un modello a funzionare bene su nuovi dati è espandere il dataset utilizzando la data augmentation e i synthetic data. I dati sintetici sono generati al computer anziché raccolti da immagini del mondo reale. Aiutano a colmare le lacune quando non ci sono abbastanza dati reali.

Fig 2. La combinazione di dati del mondo reale e sintetici riduce l'overfitting e migliora l'accuratezza del rilevamento degli oggetti.
La data augmentation modifica leggermente le immagini esistenti tramite ribaltamento, rotazione, ritaglio o regolazione della luminosità, in modo che il modello non memorizzi solo i dettagli ma impari a riconoscere gli oggetti in situazioni diverse.
I dati sintetici sono utili quando è difficile ottenere immagini reali. Ad esempio, i modelli per auto a guida autonoma possono addestrarsi 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 dover ricorrere a migliaia di immagini reali.
Ottimizza la complessità e l'architettura del modello#
Una profonda neural network, che è un tipo di modello di machine learning dotato di molti strati che elaborano i dati anziché un unico strato, non è sempre migliore. Quando un modello ha troppi strati o parametri, memorizza i dati di addestramento anziché riconoscere pattern più ampi. Ridurre la complessità non necessaria può aiutare a prevenire l'overfitting.
Per ottenere ciò, un approccio è il pruning, che rimuove neuroni e connessioni ridondanti, rendendo il modello più snello ed efficiente.
Un altro modo è semplificare l'architettura riducendo il numero di layer o neuroni. I modelli pre-addestrati come Ultralytics YOLO11 sono progettati per generalizzare bene tra i task con un minor numero di parametri, rendendoli più resistenti all'overfitting rispetto all'addestramento di un modello profondo da zero.
Trovare il giusto equilibrio tra profondità del modello ed efficienza lo aiuta ad apprendere schemi utili senza limitarsi a memorizzare i dati di addestramento.
Applica tecniche di regolarizzazione#
Le regularization techniques 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 schemi diversi invece di fare troppo affidamento su poche caratteristiche.
- Weight decay (regolarizzazione L2) scoraggia valori di peso estremi, mantenendo sotto controllo la complessità del modello.
- Batch normalization 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 pur preservando l'accuratezza.
Monitora l'addestramento con validazione e arresto anticipato (early stopping)#
Per prevenire l'overfitting, è importante monitorare come apprende il modello e assicurarsi che generalizzi bene su nuovi dati. Ecco un paio di tecniche che aiutano in questo:
- Early stopping: termina automaticamente l'addestramento quando il modello smette di migliorare, in modo che non continui a imparare dettagli non necessari.
- Cross-validation: divide i dati in parti e addestra il modello su ciascuna di esse. Questo lo aiuta a imparare schemi invece di memorizzare immagini specifiche.
Queste tecniche aiutano il modello a rimanere equilibrato in modo che impari abbastanza per essere accurato senza concentrarsi troppo solo sui dati di addestramento.
Usa modelli pre-addestrati e migliora l'etichettatura dei dati#
Invece di addestrare da zero, l'uso di modelli pre-addestrati come Ultralytics YOLO11 può ridurre l'overfitting. YOLO11 è addestrato su dataset su larga scala, il che gli consente di generalizzare bene in diverse condizioni.

Fig 3. I modelli di computer vision preaddestrati migliorano l'accuratezza e prevengono l'overfitting.
Il fine-tuning di un modello pre-addestrato lo aiuta a mantenere ciò che già sa mentre impara nuovi compiti, in modo che non memorizzi semplicemente i dati di addestramento.
Inoltre, garantire un'etichettatura del dataset di alta qualità è essenziale. Dati etichettati in modo errato o sbilanciati possono indurre in errore i modelli, portandoli ad apprendere pattern incorretti. Pulire i dataset, correggere le immagini etichettate erroneamente e bilanciare le classi migliora l'accuratezza e riduce il rischio di overfitting. Un altro approccio efficace è l'adversarial training, in cui il modello viene 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 addestramento ma avere difficoltà con le immagini del mondo reale. Per evitare ciò, tecniche come la data augmentation, la regolarizzazione e l'uso di modelli pre-addestrati come Ultralytics YOLO11 aiutano a migliorare l'accuratezza e l'adattabilità.
Applicando questi metodi, i modelli di AI possono rimanere affidabili e funzionare bene in diversi ambienti. Con il miglioramento del deep learning, assicurarsi che i modelli generalizzino correttamente sarà la chiave per il successo dell'AI nel mondo reale.
Unisciti alla nostra crescente community! Esplora il nostro GitHub repository per saperne di più sull'IA. Pronto a iniziare i tuoi progetti di computer vision? Dai un'occhiata alle nostre licensing options. Scopri la vision AI in self-driving e l'AI in healthcare visitando le nostre pagine delle soluzioni!






