Glossario

Aumento dei dati

Migliora i tuoi modelli di apprendimento automatico con l'aumento dei dati. Scopri le tecniche per aumentare l'accuratezza, ridurre l'overfitting e migliorare la robustezza.

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

L'aumento dei dati è una tecnica utilizzata nell'apprendimento automatico per espandere artificialmente le dimensioni di un set di dati di addestramento creando versioni modificate dei dati esistenti. Questo processo prevede l'applicazione di varie trasformazioni ai dati originali, come la rotazione, il capovolgimento, il ridimensionamento o il ritaglio delle immagini. Aumentando la diversità dei dati di formazione, l'incremento dei dati aiuta a migliorare la capacità di generalizzazione dei modelli di apprendimento automatico, rendendoli più robusti e meno inclini all'overfitting. L'overfitting si verifica quando un modello apprende troppo bene i dati di addestramento, compresi i rumori e i valori anomali, il che può portare a scarse prestazioni su dati nuovi e sconosciuti.

Vantaggi dell'aumento dei dati

L'aumento dei dati offre diversi vantaggi chiave. In primo luogo, aiuta a ridurre l'overfitting esponendo il modello a una gamma più ampia di variazioni durante l'addestramento. In questo modo il modello diventa meno sensibile alle caratteristiche specifiche dei dati di formazione e più capace di generalizzarsi a nuovi dati non visti. In secondo luogo, può migliorare l'accuratezza e le prestazioni dei modelli, soprattutto quando il dataset originale è piccolo o poco vario. Creando un maggior numero di esempi di addestramento, l'aumento dei dati offre al modello maggiori opportunità di apprendere i modelli sottostanti nei dati. Infine, può migliorare la robustezza di un modello, rendendolo più resistente ai cambiamenti dei dati di input, come le variazioni di illuminazione, orientamento o rumore di fondo.

Tecniche comuni di ampliamento dei dati

Per aumentare i dati vengono utilizzate diverse tecniche comuni, in particolare nelle attività di computer vision:

  • Trasformazioni geometriche: Queste includono operazioni come la rotazione, la traduzione, il ridimensionamento, il taglio e il capovolgimento. Ad esempio, ruotando un'immagine di pochi gradi o capovolgendola orizzontalmente si possono creare nuovi esempi di formazione validi.
  • Trasformazioni dello spazio colore: Regolando la luminosità, il contrasto, la saturazione o la tonalità di un'immagine si possono simulare diverse condizioni di illuminazione e migliorare la capacità del modello di generalizzarsi in vari ambienti.
  • Filtri Kernel: L'applicazione di filtri per rendere più nitide o sfocate le immagini può aiutare il modello ad apprendere caratteristiche invarianti a questi cambiamenti.
  • Cancellazione casuale: La mascheratura casuale di parti di un'immagine può aiutare il modello a diventare più robusto in caso di occlusioni o parti mancanti di oggetti.
  • Mescolare le immagini: Tecniche come MixUp e CutMix prevedono la miscelazione delle immagini e delle etichette corrispondenti per creare nuovi esempi di formazione. Ad esempio, MixUp interpola linearmente sia le immagini che le loro etichette.

Aumento dei dati nella visione artificiale

Nella computer vision, l'aumento dei dati è particolarmente utile perché può simulare un'ampia gamma di scenari reali che un modello potrebbe incontrare. Ad esempio, nel rilevamento degli oggetti, un Ultralytics YOLO la prima volta che YOLO viene menzionato in una pagina il modello addestrato sulle immagini aumentate può imparare a rilevare gli oggetti indipendentemente dal loro orientamento, dalle loro dimensioni o dalle condizioni di illuminazione. Questo è fondamentale per applicazioni come i veicoli autonomi, dove il modello deve funzionare in modo affidabile in condizioni diverse e imprevedibili. Ad esempio, applicando varie trasformazioni come la rotazione, il ridimensionamento e l'aggiunta di rumore alle immagini di pedoni e veicoli, un sistema di guida autonoma può essere addestrato a rilevare con precisione questi oggetti in una varietà di scenari reali. Allo stesso modo, nella classificazione delle immagini, l'aggiunta di diverse regolazioni del colore può aiutare il modello a generalizzarsi meglio alle diverse condizioni di illuminazione.

Aumento dei dati in altri settori

Sebbene l'aumento dei dati sia ampiamente utilizzato nella computer vision, è applicabile anche in altri domini come l'elaborazione del linguaggio naturale (NLP) e l'elaborazione audio. In NLP, tecniche come la sostituzione dei sinonimi, la traduzione all'indietro e l'inserimento/cancellazione casuale di parole possono aumentare i dati di testo. Nell'elaborazione audio, l'aggiunta di rumore di fondo, la modifica della tonalità o il time-stretching dell'audio possono creare esempi di formazione diversi.

Applicazioni del mondo reale

  • Sanità: Nell'analisi delle immagini mediche, l'aumento dei dati può essere utilizzato per addestrare i modelli su un numero limitato di immagini mediche. Ad esempio, applicando rotazioni, capovolgimenti e piccole deformazioni alle scansioni di risonanza magnetica, un modello può imparare a rilevare le anomalie in modo più accurato su pazienti e condizioni di imaging diversi.
  • Agricoltura: L'aumento dei dati può aiutare ad addestrare i modelli a rilevare malattie o parassiti delle piante da immagini scattate in diverse condizioni. Aumentando le immagini delle colture con diverse luci, angolazioni e livelli di zoom, i modelli possono funzionare in modo robusto sul campo, aiutando gli agricoltori a identificare tempestivamente i problemi e a intraprendere azioni correttive.

Aumento dei dati rispetto ad altre tecniche

È importante distinguere l'aumento dei dati da altre tecniche correlate:

  • Preelaborazione dei dati: Sebbene sia l'aumento dei dati che la loro pre-elaborazione preparino i dati per l'addestramento del modello, la pre-elaborazione comporta tipicamente fasi come la normalizzazione, la standardizzazione e la gestione dei valori mancanti. Queste fasi sono essenziali per garantire che i dati siano in un formato adatto al modello. L'incremento dei dati, invece, si concentra sull'aumento della diversità dei dati di formazione.
  • Generazione di dati sintetici: I dati sintetici comportano la creazione di punti dati completamente nuovi, spesso utilizzando modelli generativi come le Reti Generative Adversariali (GAN). Si tratta di un'operazione diversa dall'aumento dei dati, che modifica i dati esistenti. I dati sintetici possono essere particolarmente utili quando i dati reali sono scarsi o sensibili, come nel caso di applicazioni mediche o finanziarie.

Strumenti e librerie

Diversi strumenti e librerie supportano l'aumento dei dati. In Python, librerie come OpenCV e TensorFlow forniscono un'ampia gamma di funzioni per la trasformazione delle immagini. Inoltre, librerie specializzate come Albumentations offrono pipeline di incremento altamente ottimizzate e diversificate. Ultralytics HUB fornisce anche strumenti per l'aumento dei dati, rendendo più facile l'integrazione di queste tecniche nel processo di formazione dei modelli. Esplora le tecniche di aumento dei dati come MixUp, Mosaic e Random Perspective per migliorare l'addestramento dei modelli.

Leggi tutto