Che cos'è l'overfitting nella computer vision e come prevenirlo?

13 marzo 2025
Imparare cosa sia l'overfitting nella computer vision e come prevenirlo utilizzando l'aumento dei dati, la regolarizzazione e i modelli pre-addestrati.

13 marzo 2025
Imparare cosa sia 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, individuare 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 con i dati di addestramento, ma fatica con le nuove immagini. Ad esempio, un modello di rilevamento degli oggetti addestrato solo su immagini ad alta risoluzione e ben illuminate può fallire quando gli vengono presentate immagini sfocate o in ombra in condizioni reali. L'overfitting limita l'adattabilità di un modello, limitandone l'uso in applicazioni reali come la guida autonoma, l'imaging medico e i sistemi di sicurezza.
In questo articolo analizzeremo cos'è l'overfitting, perché si verifica e come prevenirlo. Inoltre, vedremo come i modelli di visione artificiale come Ultralytics YOLO11 aiutano a ridurre l'overfitting e a migliorare la generalizzazione.
L'overfitting si verifica quando un modello memorizza i dati di addestramento invece di apprendere schemi che si applicano ampiamente a nuovi input. Il modello si concentra troppo sui dati di addestramento, per cui si trova in difficoltà con nuove immagini o situazioni che non ha mai visto prima.
Nella computer vision, l'overfitting può riguardare diversi compiti. Un modello di classificazione addestrato solo su immagini chiare e luminose può avere difficoltà in condizioni di scarsa illuminazione. Un modello di rilevamento degli oggetti che apprende da immagini perfette potrebbe fallire in scene affollate o disordinate. Allo stesso modo, un modello di segmentazione dell'istanza può funzionare bene in ambienti controllati, ma avere problemi con le ombre o la sovrapposizione di oggetti.
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 rilevare i 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 si verifica solitamente a causa di set di dati sbilanciati, eccessiva complessità del modello e sovrallenamento. Ecco le cause principali:
Un approccio ben bilanciato alla complessità del modello, alla qualità del set di dati 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 e si concentra eccessivamente sui dati di addestramento. Invece di imparare modelli generali, memorizza piccoli dettagli, anche irrilevanti come il rumore di fondo. Questo fa sì che il modello ottenga buone prestazioni sui dati di addestramento ma faccia fatica con le nuove immagini, il che significa che non ha veramente imparato a riconoscere i modelli applicabili in situazioni diverse.
L'underfitting si verifica quando un modello è troppo elementare e quindi non coglie modelli importanti nei dati. Questo può accadere quando il modello ha un numero di livelli troppo basso, un tempo di addestramento insufficiente o i dati sono limitati. Di conseguenza, non riesce a riconoscere modelli importanti e fa previsioni imprecise. Questo porta a prestazioni scarse sia sui dati di addestramento che su quelli di test, perché 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 apprendere modelli rilevanti, ma non così tanto da memorizzare i dati invece di riconoscere le relazioni sottostanti.
Ecco alcuni segnali che indicano che un modello è in overfitting:
Per garantire una buona generalizzazione del modello, è necessario testarlo su insiemi di dati diversi che riflettano le condizioni del mondo reale.
L'overfitting non è inevitabile e può essere evitato. Con le tecniche giuste, i modelli di computer vision possono apprendere modelli generali invece di memorizzare i dati di addestramento, rendendoli più affidabili nelle applicazioni reali.
Ecco cinque strategie chiave per evitare l'overfitting nella computer vision.
Il modo migliore per aiutare un modello a funzionare bene su nuovi dati è ampliare il set di dati utilizzando l'incremento dei dati e i dati sintetici. I dati sintetici sono generati al computer invece di essere raccolti da immagini reali. Aiutano a colmare le lacune quando non ci sono abbastanza dati reali.
L'aumento dei dati modifica leggermente le immagini esistenti capovolgendole, ruotandole, ritagliandole o regolandone la luminosità, in modo che il modello non si limiti a memorizzare 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 di auto a guida autonoma possono allenarsi su scene stradali generate al computer per imparare a rilevare 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 apprendimento automatico con molti strati che elaborano i dati invece di un singolo strato, non è sempre migliore. Quando un modello ha troppi strati 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 i neuroni e le 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 profondità ed efficienza del modello consente di apprendere modelli utili senza limitarsi a 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 e preservando l'accuratezza.
Per evitare l'overfitting, è importante monitorare l'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 accurato 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.
La messa a punto di un modello pre-addestrato lo aiuta a mantenere ciò che già conosce durante l'apprendimento di nuovi compiti, in modo che non si limiti a memorizzare i dati di addestramento.
Inoltre, è essenziale garantire un'etichettatura di alta qualità dei set di dati. I dati non etichettati o sbilanciati possono indurre i modelli ad apprendere modelli errati. La pulizia dei dataset, la correzione delle immagini mal etichettate e il bilanciamento delle classi migliorano l'accuratezza e riducono il rischio di overfitting. Un altro approccio efficace è quello dell'addestramento contraddittorio, in cui il modello viene esposto a esempi leggermente modificati o più impegnativi, per metterne alla prova 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 ambienti diversi. Con il miglioramento del deep learning, assicurarsi che i modelli generalizzino correttamente sarà fondamentale per il successo dell'IA nel mondo reale.
Unisciti alla nostra comunità in crescita! Esplorate il nostro repository GitHub per saperne di più sull'intelligenza artificiale. Siete pronti ad avviare i vostri progetti di computer vision? Scoprite le nostre opzioni di licenza. Scoprite l'IA nella guida autonoma e l'IA nell'assistenza sanitaria visitando le nostre pagine dedicate alle soluzioni!