Scopri cos'è l'overfitting nella computer vision e come prevenirlo utilizzando l'aumento dei dati, la regolarizzazione e i modelli pre-addestrati.
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 modelli, detect oggetti e analizzare immagini. Tuttavia, le loro prestazioni dipendono dalla loro capacità di generalizzazione 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 dati di addestramento, compreso il rumore non necessario, invece di identificare modelli 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 analizzeremo che cos'è l'overfitting, perché si verifica e come prevenirlo. Analizzeremo anche come i modelli di computer vision come Ultralytics YOLO11 aiutano a ridurre l'overfitting e a migliorare la generalizzazione.
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 controllate di addestramento. Le auto a guida autonoma, ad esempio, devono essere in grado di detect pedoni in condizioni di luce, tempo e ambienti diversi. Un modello che si adatta troppo al suo set di addestramento non sarà affidabile in questi scenari imprevedibili.
L'overfitting di solito si verifica a causa di dataset sbilanciati, eccessiva complessità del modello e sovra-allenamento. Ecco le cause principali:
Un approccio ben bilanciato alla complessità del modello, alla qualità del dataset e alle tecniche di addestramento garantisce una migliore generalizzazione.
L'overfitting e l'underfitting sono due problemi completamente opposti nel deep learning.

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.
Ecco alcuni segnali che indicano che un modello è in overfitting:
Per garantire che un modello si generalizzi bene, deve essere testato su diversi set di dati che riflettano le condizioni del mondo reale.
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.
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.

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 allenarsi su scene stradali generate al computer per imparare a detect gli oggetti in diverse condizioni atmosferiche e di illuminazione. In questo modo il modello diventa più flessibile e affidabile, senza bisogno di migliaia di immagini reali.
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'altra è la semplificazione dell'architettura, riducendo il numero di strati o di neuroni. I modelli pre-addestrati come YOLO11 sono progettati per generalizzare bene tra i vari compiti con un minor numero di parametri, il che li rende 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.
Le tecniche di regolarizzazione impediscono ai modelli di diventare troppo dipendenti da caratteristiche specifiche nei dati di addestramento. Ecco alcune tecniche comunemente utilizzate:
Queste tecniche aiutano a mantenere la flessibilità e l'adattabilità di un modello, riducendo il rischio di overfitting preservando al contempo l'accuratezza.
Per evitare l'overfitting, è importante track apprendimento del modello e assicurarsi che si generalizzi bene a nuovi dati. Ecco un paio di tecniche che aiutano in questo senso:
Queste tecniche aiutano il modello a rimanere bilanciato in modo che impari abbastanza da essere preciso senza concentrarsi troppo solo sui dati di addestramento.
Invece di addestrare da zero, l'uso di modelli pre-addestrati come YOLO11 può ridurre l'overfitting. YOLO11 è stato addestrato su set di dati su larga scala, il che gli consente di generalizzare bene tra diverse condizioni.

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.
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 questo problema, tecniche come l'aumento dei dati, la regolarizzazione e l'uso 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!