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.