What is Data Augmentation
Artificially expanding training data
Data Augmentation
Data Augmentation is a technique for artificially increasing the volume of training data by creating modified copies of existing data.
Why Use Augmentation
- Increasing dataset size — when there's insufficient data for training
- Preventing overfitting — model learns from diverse variations
- Improving robustness — model generalizes better on new data
- Reducing costs — cheaper than collecting real data
Methods for Images
| Method | Description | |--------|-------------| | Rotation | Rotating by arbitrary angle | | Flipping | Horizontal/vertical mirroring | | Scaling | Zooming in/out | | Cropping | Random crop of image portion | | Brightness/Contrast | Color characteristic adjustments | | Noise | Adding Gaussian noise | | Cutout/Mixup | Modern techniques |
Methods for Text
- Back-translation — translating back and forth through another language
- Synonyms — replacing words with synonyms
- Insertion/deletion — random words
- Shuffling — changing word order
- Generation — creating new texts using LLM
Methods for Audio
- Playback speed modification
- Pitch shifting
- Adding background noise
- Time warping
Tools
- imgaug — image augmentation library (Python)
- Albumentations — fast image augmentation
- nlpaug — text augmentation
- audiomentations — audio augmentation
- TensorFlow/PyTorch — built-in transform layers