La data augmentation (o aumento dei dati) è un insieme di tecniche utilizzate nel campo dell'apprendimento automatico per incrementare la quantità e la varietà dei dati di addestramento disponibili, senza dover raccogliere nuovi campioni reali.
Il processo viene realizzato applicando trasformazioni idonee ai dati disponibili (preservando l'obiettivo dell'apprendimento) o generando nuovi campioni sintetici. Tali tecniche sono diffusamente impiegate con i modelli di apprendimento profondo auto-supervisionato, ad es. nell'apprendimento per contrasto, al fine di attenuare il rischio di sovradattamento e migliorare la capacità di generalizzazione su dati mai visti.
Motivazione
Nell'apprendimento supervisionato, un modello parametrizzato da un vettore di pesi viene addestrato minimizzando il rischio empirico su un insieme di dati di addestramento :
dove rappresenta la funzione di perdita (loss function), un input e l'output ad esso relativo.
Quando la dimensione del dataset è ridotta rispetto alla capacità del modello (numero di parametri), la minimizzazione del rischio empirico può portare a memorizzare il rumore del dataset invece di apprendere la reale distribuzione sottostante . La data augmentation introduce un operatore di trasformazione stocastico , con parametri , estendendo il rischio empirico sul nuovo insieme trasformato:
Dal punto di vista della regolarizzazione, questo processo induce invarianza nelle rappresentazioni apprese dal modello rispetto alle trasformazioni definite da .
Tecniche principali
Le strategie di augmentation variano significativamente a seconda del dominio e della tipologia dei dati trattati.
Elaborazione delle immagini
Nel campo della visione artificiale, le tecniche si dividono principalmente in geometriche, fotometriche e generative:
Trasformazioni geometriche: rotazioni, traslazioni, ritagli casuali (random cropping), ribaltamenti (flip) orizzontali/verticali e deformazioni elastiche. Trasformazioni fotometriche: variazione della luminosità, del contrasto, della saturazione del colore (color jittering) e introduzione di rumore (ad es. rumore gaussiano). Tecniche di miscelazione (mixing): Mixup: Genera nuovi campioni combinando linearmente coppie di immagini e le relative etichette:
con estratto da una distribuzione . CutMix: Sostituisce una regione rettangolare dell'immagine con un riquadro tagliato da un'altra immagine, regolando proporzionalmente le etichette: l'etichetta di un nuovo campione non è più un valore rigido (ad es. "100% Cane"), ma una miscela percentuale (soft label) basata su quanta superficie delle due immagini originali è presente nel risultato finale.
Trattamento del linguaggio naturale
Nell'elaborazione del linguaggio naturale, la manipolazione del testo richiede di preservare la coerenza sintattica e semantica:
Sostituzione di parole: Sostituzione di termini con sinonimi presi da basi di conoscenza (ad es. WordNet) o selezionati tramite modelli linguistici contestuali (ad es. BERT o GPT). Back-translation (traduzione inversa): Traduzione di una frase da una lingua di origine a una lingua intermedia e successiva ri-traduzione in per produrre parafrasi strutturalmente differenti ma semanticamente equivalenti. Easy Data Augmentation (EDA): Include tecniche quali inserimento casuale, scambio di parole casuale ed eliminazione casuale.
Dati audio e segnali
Sui segnali temporali e nello spettro audio si utilizzano comunemente: Time shifting e Time stretching: Traslazione o variazione della velocità del segnale senza alterarne l'altezza (pitch). Pitch Shifting: Variazione della frequenza fondamentale del segnale preservandone la durata. SpecAugment: Applicazione di mascheramento causale direttamente sullo spettrogramma del segnale sia sull'asse del tempo che su quello delle frequenze.
Data augmentation automatica e generativa
Invece di selezionare manualmente le trasformazioni, nelle tecniche più recenti la ricerca di politiche ottimali di augmentation è automatizzata:
AutoAugment: Utilizza l'apprendimento per rinforzo per cercare la combinazione di trasformazioni che massimizza l'accuratezza del modello su un dataset di validazione. RandAugment: Riduce lo spazio di ricerca di AutoAugment applicando casualmente un numero fisso di trasformazioni con una grandezza globale . GAN e modelli di diffusione: Vengono impiegati per modellare la distribuzione sottostante dei dati e campionare nuove istanze completamente sintetiche ad alta fedeltà.
Vantaggi e limitazioni
Vantaggi Riduzione dell'overfitting e miglioramento delle capacità di generalizzazione. Aumento della robustezza del modello rispetto a variazioni o rumore nei dati del mondo reale. Mitigazione dello sbilanciamento delle classi (class imbalance) incrementando i campioni delle classi sottorappresentate.
Limitazioni Rischio di label shift o perdita di significato semantico (ad es. la rotazione di una cifra 6 di 180° la trasforma in un 9, cambiando l'etichetta corretta). Incremento dei costi di calcolo durante la fase di addestramento. Rischio di introduzione di bias se le trasformazioni scelte non riflettono la reale variabilità del contesto operativo.
Note
Voci correlate
Apprendimento auto-supervisionato Apprendimento per contrasto Apprendimento profondo Elaborazione del linguaggio naturale Ingegnerizzazione delle caratteristiche Sovradattamento Rete generativa avversaria Visione artificiale
Categoria:Apprendimento automatico Categoria:Apprendimento profondo