← AI Terminology
Data Augmentation
Data augmentation is the practice of creating additional training examples by applying label-preserving transformations to existing data — expanding dataset size and diversity without collecting new labelled examples.
It is one of the most effective regularisation strategies in both computer vision and NLP.
It is one of the most effective regularisation strategies in both computer vision and NLP.
Why It Matters in AI
Labelled training data is expensive and scarce. Augmentation multiplies its value: a flipped image of a cat is still a cat; a paraphrased sentence with the same meaning still has the same label. Models trained with augmentation generalise better because they see the same underlying concept presented in many variations. Augmentation is also the signal source for self-supervised contrastive learning methods (SimCLR, DINO).
Key Points
| Aspect | Description |
|---|---|
| NLP | Synonym replacement, back-translation, paraphrase, random deletion/swap, EDA |
| Audio | Time-stretch, pitch-shift, add noise, SpecAugment (mask frequency/time bins) |
| Vision | Flip, rotate, crop, colour jitter, MixUp, CutMix, RandAugment, Gaussian noise |
| Tabular | SMOTE (synthetic minority oversampling for imbalanced classes), Gaussian noise on features |
| AutoAugment | Learns the optimal augmentation policy for a given dataset via reinforcement search |
| Self-supervised | Augmentation creates positive pairs in SimCLR, BYOL, DINO — the learning signal itself |
Simple Analogy
Photographing a product once then using photo editing to show it from 20 different angles, in different lighting, at different sizes — all still correctly labelled as the same product. Data augmentation does this systematically during training so the model learns the concept, not the exact image.
Common Usage Examples
transforms.RandomHorizontalFlip(), transforms.ColorJitter(0.4, 0.4, 0.4)in PyTorch- SpecAugment for speech: randomly mask frequency and time bands in the mel-spectrogram
- NLP back-translation: translate text to French, then back to English — creates paraphrase pairs
- MixUp:
x_mix = λ*x1 + (1-λ)*x2; y_mix = λ*y1 + (1-λ)*y2— blend two examples and labels - Albumentations:
A.Compose([A.RandomRotate90(), A.HorizontalFlip(), A.Normalize()])— fast CV augmentation
Summary
In short: Data augmentation creates diverse training examples from existing data through label-preserving transformations — one of the cheapest and most effective ways to improve model generalisation.