Cos'è la data augmentation?

7 maggio 2024

Autori

Jacob Murel Ph.D.

Senior Technical Content Creator

Eda Kavlakoglu

Program Manager

La data augmentation utilizza dati preesistenti per creare nuovi campioni di dati in grado di migliorare l'ottimizzazione e la generalizzabilità del modello.

Nel suo senso più generale, la data augmentation denota metodi per integrare i cosiddetti set di dati incompleti fornendo punti dati mancanti al fine di aumentare l'analizzabilità del set di dati.1 Ciò si manifesta nel machine learning generando copie modificate di dati preesistenti per aumentare le dimensioni e la diversità di un set di dati. Pertanto, per quanto riguarda il machine learning, i dati aumentati possono essere intesi come la fornitura artificiale di dati del mondo reale potenzialmente assenti.

La data augmentation migliora l'ottimizzazione e la generalizzazione dei modelli di machine learning. In altre parole, la data augmentation può ridurre l'overfitting e migliorare la robustezza del modello.2 Il fatto che set di dati grandi e diversificati equivalgano a migliori prestazioni del modello è un assioma del machine learning. Tuttavia, per una serie di ragioni (da problemi di etica e privacy al semplice dispendioso sforzo di compilazione manuale dei dati necessari), acquisire dati sufficienti può essere difficile. La data augmentation fornisce un mezzo efficace per aumentare le dimensioni e la variabilità dei set di dati. In effetti, i ricercatori utilizzano ampiamente la data augmentation per correggere i set di dati sbilanciati.3

Molti framework di deep learning, come PyTorch, Keras e Tensorflow, forniscono funzioni per aumentare i dati, principalmente set di dati di immagini. Il pacchetto Python Ablumentations (disponibile su Github) è adottato anche in molti progetti open source. Albumentations consente di aumentare i dati di immagini e testo.

Dati aumentati e dati sintetici

Tieni presente la data augmentation è distinta dai dati sintetici. Certo, entrambi sono algoritmi generativi che aggiungono nuovi dati a una raccolta di dati per migliorare le prestazioni dei modelli di machine learning. I dati sintetici, tuttavia, si riferiscono alla generazione automatica di dati completamente artificiali. Un esempio è l'utilizzo di immagini generate al computer, anziché di dati del mondo reale, per addestrare un modello di rilevamento di oggetti. Al contrario, la data augmentation copia i dati esistenti e li trasforma per aumentare la diversità e la quantità di dati in un determinato set.

Design 3D di palline che rotolano su una pista

Le ultime notizie e insight sull'AI 


Scopri notizie e insight selezionati da esperti in materia di AI, cloud e molto altro nella newsletter settimanale Think. 

Tecniche di data augmentation

Esistono diversi metodi di data augmentation. Le tecniche specifiche utilizzate per aumentare i dati dipendono dalla natura dei dati con cui un utente sta lavorando. Si noti che la data augmentation viene in genere implementata durante la pre-elaborazione del set di dati di addestramento. Alcuni studi indagano l'effetto della data augmentation sulla convalida o sul set di test, ma le applicazioni della data augmentation al di fuori dei set di addestramento sono più rare.4

Image augmentation

La data augmentation è stata ampiamente implementata nella ricerca per una serie di attività di computer vision, dalla classificazione delle immagini al rilevamento degli oggetti. Pertanto, c'è una vasta ricerca su come le immagini aumentate migliorino le prestazioni delle reti neurali convoluzionali (CNN) all'avanguardia nell'elaborazione delle immagini.

Molti tutorial e risorse non accademiche classificano la data augmentation relativa alle immagini in due categorie: trasformazioni geometriche e trasformazioni fotometriche (o spazio colore). Entrambe consistono in una manipolazione relativamente semplice di file immagine. La prima categoria indica tecniche che alterano lo spazio e il layout dell'immagine originale, come il ridimensionamento, lo zoom o i cambiamenti di orientamento (ad esempio, capovolgimento orizzontale). Le trasformazioni fotometriche alterano i canali RGB (rosso-verde-blu) di un'immagine. Esempi di trasformazione fotometrica includono la regolazione della saturazione e la scala di grigi di un'immagine.5

Alcune fonti classificano l'iniezione di rumore con le trasformazioni geometriche,6 mentre altre la classificano con le trasformazioni fotometriche.7 L'iniezione di rumore inserisce pixel casuali neri, bianchi o a colori in un'immagine secondo una distribuzione gaussiana.

Come illustra l'iniezione di rumore, la classificazione binaria delle tecniche di image augmentation in geometriche e fotometriche non riesce a coprire l'intera gamma di possibili strategie di image augmentation. Le tecniche di image augmentation escluse sono il filtraggio con kernel (nitidezza o sfocatura di un'immagine) e la miscelazione di immagini. Un esempio di quest'ultima è il ritaglio casuale e il patching. Questa tecnica campiona in modo casuale sezioni da diverse immagini per creare una nuova immagine. Questa nuova immagine è un composito composto dalle sezioni campionate delle immagini di input. Una tecnica correlata è la cancellazione casuale, che elimina una parte casuale di un'immagine.8 Tali attività sono utili nelle attività di riconoscimento delle immagini, poiché i casi d'uso del mondo reale possono richiedere alle macchine di identificare oggetti parzialmente oscurati.

Un altro tipo di augmentation è l'instance-level augmentation. L'instance-level augmentation copia essenzialmente le regioni etichettate (ad esempio, i riquadri di delimitazione) da un'immagine e le inserisce in un'altra immagine. Questo approccio addestra l'immagine a identificare gli oggetti su sfondi diversi e gli oggetti oscurati da altri oggetti. L'instance-level augmentation è un approccio particolarmente importante per le attività di riconoscimento specifiche della regione, come il rilevamento degli oggetti e le attività di segmentazione delle immagini.9

Text augmentation

Come l'image augmentation, la text augmentation è costituita da molte tecniche e metodi utilizzati in una serie di attività di elaborazione del linguaggio naturale (NLP). Alcune risorse dividono la text augmentation in metodi basati su regole (o "facili") e neurali. Naturalmente, come per la divisione binaria delle tecniche di image augmentation, questa categorizzazione non è onnicomprensiva.

Gli approcci basati su regole includono tecniche di ricerca e sostituzione relativamente semplici, come la cancellazione o l'inserimento casuale. Gli approcci basati su regole comprendono anche la sostituzione dei sinonimi. In questa strategia, una o più parole in una stringa vengono sostituite con i rispettivi sinonimi registrati in un thesaurus predefinito, come WordNet o il Paraphrase Database. L'inversione e la passivazione della frase, in cui l'oggetto e il soggetto vengono scambiati, sono anch'essi esempi di approcci basati su regole.10

Secondo la loro classificazione, i metodi neurali utilizzano reti neurali per generare nuovi campioni di testo dai dati di input. Un metodo neurale degno di nota è la traduzione inversa. Utilizza la traduzione automatica per tradurre i dati di input in una lingua di destinazione e poi di nuovo nella lingua di input originale. In questo modo, la traduzione inversa utilizza le variazioni linguistiche che risultano dalle traduzioni automatiche per generare variazioni semantiche nel set di dati in una sola lingua, ai fini dell'augmentation. La ricerca suggerisce che ciò è efficace per migliorare le prestazioni del modello di traduzione automatica.11

Un'altra strategia è la combinazione di text augmentation. Questo approccio implementa metodi di eliminazione e inserimento basati su regole utilizzando incorporamenti di reti neurali. In particolare, i trasformatori pre-addestrati (ad esempio, BERT) generano incorporamenti di testo a livello di parola o frase, trasformando il testo in punti vettoriali, come in un modello bag of words. La trasformazione del testo in punti vettoriali mira generalmente a catturare la similitudine linguistica, ovvero si ritiene che parole o frasi più vicine l'una all'altra nello spazio vettoriale condividano significati o frequenze simili. La combinazione di augmentation interpola stringhe di testo entro una distanza specificata l'una dall'altra per produrre nuovi dati che sono un'aggregazione dei dati di input.12

Ricerche recenti

Molti utenti hanno difficoltà a identificare quali strategie di data augmentation implementare. Le tecniche di data augmentation variano in termini di efficacia tra set di dati e attività? La ricerca comparativa sulle tecniche di data augmentation suggerisce che più forme di augmentation hanno un impatto positivo maggiore di una, ma la determinazione della combinazione ottimale di tecniche dipende dal set di dati e dalle attività.13 Ma come si fa a selezionare le tecniche ottimali?

Automazione dell'augmentation

Per risolvere questo problema, la ricerca si è rivolta all'automazione della data augmentation. Un approccio di automazione dell'augmentation utilizza l'apprendimento per rinforzo per identificare le tecniche di augmentation che restituiscono la massima precisione di convalida su un set di dati.14 Questo approccio ha dimostrato di implementare strategie che migliorano le prestazioni sia sui dati in entrata che in uscita dai campioni.15 Un altro approccio promettente per l'automazione dell'augmentation identifica e aumenta i falsi positivi dagli output dei classificatori. In questo modo, l'automazione dell'augmentation identifica le migliori strategie per correggere gli elementi spesso classificati in modo errato.16

Reti generative

Più recentemente, la ricerca si è rivolta a reti e modelli generativi per identificare strategie di augmentation ottimali dipendenti dall'attività17 e dalla classe.18 Questo include anche il lavoro con le reti generative avversarie (GAN). Le GAN sono reti di deep learning in genere utilizzate per generare dati sintetici e una ricerca recente ne indaga l'utilizzo per la data augmentation. Ad esempio, alcuni esperimenti suggeriscono che l'augmentation di dati sintetici di set di immagini mediche migliorano le prestazioni dei modelli di classificazione19 e segmentazione20 più delle augmentation classiche. Allo stesso modo, la ricerca sulla text augmentation utilizza i modelli linguistici di grandi dimensioni (LLM) e i chatbot per generare dati aumentati. Questi esperimenti utilizzano gli LLM per generare campioni aumentati di dati di input con tecniche di combinazione e sinonimizzazione, mostrando un impatto positivo maggiore per i modelli di classificazione del testo rispetto all'augmentation classica.21

Ricercatori e sviluppatori adottano ampiamente tecniche di data augmentation durante l'addestramento di modelli per varie attività di machine learning. Al contrario, i dati sintetici sono un'area di ricerca relativamente più recente. Gli esperimenti comparativi su dati sintetici rispetto a quelli reali mostrano risultati contrastanti, con modelli addestrati interamente su dati sintetici a volte con prestazioni superiori e a volte inferiori a modelli addestrati su dati del mondo reale. Forse non sorprende che questa ricerca suggerisca che i dati sintetici siano più utili quando riflettono le caratteristiche dei dati del mondo reale.22

Mixture of Experts | Podcast

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Soluzioni correlate
Strumenti e soluzioni per l'analytics

Per prosperare, le aziende devono utilizzare i dati per fidelizzare i clienti, automatizzare i processi aziendali e innovare con soluzioni basate sull'AI.

Esplora le soluzioni di analytics
Servizi di consulenza per dati e analytics

Sblocca il valore dei dati aziendali con IBM Consulting e crea un'organizzazione basata su insight in grado di generare vantaggi aziendali.

Esplora i servizi di analytics
IBM Cognos Analytics

Introduzione a Cognos Analytics 12.0, insight basati sull'AI per prendere decisioni migliori.

Esplora Cognos Analytics
Fasi successive

Per prosperare, le aziende devono utilizzare i dati per fidelizzare i clienti, automatizzare i processi aziendali e innovare con soluzioni basate sull'AI.

Esplora le soluzioni di analytics Esplora i servizi di analytics
Note a piè di pagina

f Martin Tanner and Wing Hung Wong, "The Calculation of Posterior Distributions by Data Augmentation", Journal of the American Statistical Association, Vol. 82, N. 398 (1987), pagg. 528-540.

2 Sylvestre-Alvise Rebuffi, Sven Gowal, Dan Andrei Calian, Florian Stimberg, Olivia Wiles, and Timothy A Mann, "Data Augmentation Can Improve Robustness", Advances in Neural Information Processing Systems, Vol. 34, 2021, https://proceedings.neurips.cc/paper_files/paper/2021/hash/fb4c48608ce8825b558ccf07169a3421-Abstract.html.

3 Manisha Saini and Seba Susan, "Tackling class imbalance in computer vision: A contemporary review", Artificial Intelligence Review, Vol. 54, 2023, https://link.springer.com/article/10.1007/s10462-023-10557-6.

4 Fabio Perez, Cristina Vasconcelos, Sandra Avila ed Eduardo Valle, "Data Augmentation for Skin Lesion Analysis", OR 2.0 Context-Aware Operating Theaters, Computer Assisted Robotic Endoscopy, Clinical Image-Based Procedures, and Skin Image Analysis, 2018, https://link.springer.com/chapter/10.1007/978-3-030-01201-4_33.

5 Connor Shorten e Taghi M. Khoshgoftaa, "A survey on Image Data Augmentation for Deep Learning", Journal of Big Data, 2019, https://journalofbigdata.springeropen.com/articles/10.1186/s40537-019-0197-0.

6 Duc Haba, Data Augmentation with Python, Packt Publishing, 2023.

7 Mingle Xu, Sook Yoon, Alvaro Fuentes e Dong Sun Park, "A Comprehensive Survey of Image Augmentation Techniques for Deep Learning", Patter Recognition, Vol. 137, https://www.sciencedirect.com/science/article/pii/S0031320323000481.

8 Connor Shorten e Taghi M. Khoshgoftaa, "A survey on Image Data Augmentation for Deep Learning", Journal of Big Data, 2019, https://journalofbigdata.springeropen.com/articles/10.1186/s40537-019-0197-0. Terrance DeVries e Graham W. Taylor, "Improved Regularization of Convolutional Neural Networks with Cutout", 2017, https://arxiv.org/abs/1708.04552.

9 Zhiqiang Shen, Mingyang Huang, Jianping Shi, Xiangyang Xue e Thomas S. Huang, "Towards Instance-Level Image-To-Image Translation", Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2019, pagg. 3683-3692, https://openaccess.thecvf.com/content_CVPR_2019/html/Shen_Towards_Instance-Level_Image-To-Image_Translation_CVPR_2019_paper.html. Golnaz Ghiasi, Yin Cui, Aravind Srinivas, Rui Qian, Tsung-Yi Lin, Ekin D. Cubuk, Quoc V. Le e Barret Zoph, "Simple Copy-Paste Is a Strong Data Augmentation Method for Instance Segmentation", Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2021, pagg. 2918-2928, https://openaccess.thecvf.com/content/CVPR2021/html/Ghiasi_Simple_Copy-Paste_Is_a_Strong_Data_Augmentation_Method_for_Instance_CVPR_2021_paper.html.

10 Connor Shorten, Taghi M. Khoshgoftaar and Borko Furht, "Text Data Augmentation for Deep Learning", Journal of Big Data, 2021, https://journalofbigdata.springeropen.com/articles/10.1186/s40537-021-00492-0. Junghyun Min, R. Thomas McCoy, Dipanjan Das, Emily Pitler e Tal Linzen, "Syntactic Data Augmentation Increases Robustness to Inference Heuristics", Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, 2020, pagg. 2339-2352, https://aclanthology.org/2020.acl-main.212/.

11 Connor Shorten, Taghi M. Khoshgoftaar e Borko Furht, "Text Data Augmentation for Deep Learning", Journal of Big Data, 2021, https://journalofbigdata.springeropen.com/articles/10.1186/s40537-021-00492-0. Rico Sennrich, Barry Haddow e Alexandra Birch, "Improving Neural Machine Translation Models with Monolingual Data", Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics, 2016, pagg. 86-96, https://aclanthology.org/P16-1009/.

12 Connor Shorten, Taghi M. Khoshgoftaar e Borko Furht, "Text Data Augmentation for Deep Learning", Journal of Big Data, 2021, https://journalofbigdata.springeropen.com/articles/10.1186/s40537-021-00492-0. Lichao Sun, Congying Xia, Wenpeng Yin, Tingting Liang, Philip Yu e Lifang He, "Mixup-Transformer: Dynamic Data Augmentation for NLP Tasks", Proceedings of the 28th International Conference on Computational Linguistics, 2020, https://aclanthology.org/2020.coling-main.305/. Hongyu Guo, Yongyi Mao e Richong Zhang, "Augmenting Data with Mixup for Sentence Classification: An Empirical Study", 2019. https://arxiv.org/abs/1905.08941.

13 Suorong Yang, Weikang Xiao, Mengchen Zhang, Suhan Guo, Jian Zhao e Furao Shen, "Image Data Augmentation for Deep Learning: A Survey", 2023, https://arxiv.org/pdf/2204.08610.pdf. Alhassan Mumuni e Fuseini Mumuni, "Data augmentation: A comprehensive survey of modern approaches", Array, Vol. 16, 2022, https://www.sciencedirect.com/science/article/pii/S2590005622000911. Evgin Goveri, "Medical image data augmentation: techniques, comparisons and interpretations", Artificial Intelligence Review, Vol. 56, 2023, pagg. 12561-12605, https://link.springer.com/article/10.1007/s10462-023-10453-z.

14 Ekin D. Cubuk, Barret Zoph, Dandelion Mane, Vijay Vasudevan e Quoc V. Le, "AutoAugment: Learning Augmentation Strategies From Data", Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2019, pagg. 113-123, https://openaccess.thecvf.com/content_CVPR_2019/papers/Cubuk_AutoAugment_Learning_Augmentation_Strategies_From_Data_CVPR_2019_paper.pdf.

15 Barret Zoph, Ekin D. Cubuk, Golnaz Ghiasi, Tsung-Yi Lin, Jonathon Shlens e Quoc V. Le, "Learning Data Augmentation Strategies for Object Detection", Proceedings of the 16th European Conference on Computer Vision, 2020, https://link.springer.com/chapter/10.1007/978-3-030-58583-9_34.

16 Sandareka Wickramanayake, Wynne Hsu, and Mong Li Lee, "Explanation-based Data Augmentation for Image Classification", Advances in Neural Information Processing Systems, Vol. 34, 2021, https://proceedings.neurips.cc/paper_files/paper/2021/hash/af3b6a54e9e9338abc54258e3406e485-Abstract.html.

17 rishna Chaitanya, Neerav Karani, Christian F. Baumgartner, Anton Becker, Olivio Donati, and Ender Konukoglu, "Semi-supervised and Task-Driven Data Augmentation", Proceedings of the 26th International Conference on Information Processing in Medical Imaging, 2019, https://link.springer.com/chapter/10.1007/978-3-030-20351-1_3.

18 Cédric Rommel, Thomas Moreau, Joseph Paillard e Alexandre Gramfort, "ADDA: Class-wise Automatic Differentiable Data Augmentation for EEG Signals", International Conference on Learning Representations, 2022, https://iclr.cc/virtual/2022/poster/7154.

19 Maayan Frid-Adar, Idit Diamant, Eyal Klang, Michal Amitai, Jacob Goldberger, and Hayit Greenspan, "GAN-based synthetic medical image augmentation for increased CNN performance in liver lesion classification", Neurocomputing, 2018, pagg. 321-331, https://www.sciencedirect.com/science/article/abs/pii/S0925231218310749.

20 Veit Sandfort, Ke Yan, Perry Pickhardt, and Ronald Summers, "Data augmentation using generative adversarial networks (CycleGAN) to improve generalizability in CT segmentation tasks", Scientific Reports, 2019, https://www.nature.com/articles/s41598-019-52737-x.

21 Kang Min Yoo, Dongju Park, Jaewook Kang, Sang-Woo Lee, and Woomyoung Park, "GPT3Mix: Leveraging Large-scale Language Models for Text Augmentation", Findings of the Association for Computational Linguistics: EMNLP 2021, pagg. 2225-2239, https://aclanthology.org/2021.findings-emnlp.192/. Haixing Dai, Zhengliang Liu, Wenxiong Liao, Xiaoke Huang, Yihan Cao, Zihao Wu, Lin Zhao, Shaochen Xu, Wei Liu, Ninghao Liu, Sheng Li, Dajiang Zhu, Hongmin Cai, Lichao Sun, Quanzheng Li, Dinggang Shen, Tianming Liu e Xiang Li, "AugGPT: Leveraging ChatGPT for Text Data Augmentation", 2023, https://arxiv.org/abs/2302.13007.

22 Bram Vanherle, Steven Moonen, Frank Van Reeth e Nick Michiels, "Analysis of Training Object Detection Models with Synthetic Data", 33rd British Machine Vision Conference, 2022, https://bmvc2022.mpi-inf.mpg.de/0833.pdf. Martin Georg Ljungqvist, Otto Nordander, Markus Skans, Arvid Mildner, Tony Liu e Pierre Nugues, "Object Detector Differences When Using Synthetic and Real Training Data", SN Computer Science, Vol. 4, 2023, https://link.springer.com/article/10.1007/s42979-023-01704-5. Lei Kang, Marcal Rusinol, Alicia Fornes, Pau Riba e Mauricio Villegas, "Unsupervised Writer Adaptation for Synthetic-to-Real Handwritten Word Recognition", Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision (WACV), 2020, pagg. 3502-3511, https://openaccess.thecvf.com/content_WACV_2020/html/Kang_Unsupervised_Writer_Adaptation_for_Synthetic-to-Real_Handwritten_Word_Recognition_WACV_2020_paper.html.