Data Augmentation
Data augmentation expands a training set by applying label-preserving transformations, improving generalization and robustness.
More data from the data you have
Data augmentation creates additional training examples by transforming existing ones in ways that change the input but preserve its label. Rotating an image of a cat still shows a cat. By exposing the model to these variations, augmentation acts as a regularizer, teaching invariances, reducing overfitting, and improving robustness, all without collecting new labeled data.
Domain-specific transformations
- Images: flips, crops, rotations, color jitter, cutout, and mixing methods like Mixup and CutMix
- Text: synonym replacement, back-translation, random insertion or deletion of words
- Audio: time stretching, pitch shifting, adding noise, masking spectrogram regions
- Tabular: noise injection and synthetic sampling such as SMOTE for minority classes
Choosing valid transformations
The essential constraint is that transformations must preserve the label and stay realistic. Flipping a photo horizontally is fine for object recognition but wrong for reading digits, where a flipped 3 is not a 3. Augmentation encodes prior knowledge about which variations should not change the answer, so the right set is domain-specific and must be chosen with care.
Learned and automated augmentation
Rather than hand-picking policies, methods like AutoAugment and RandAugment search for effective augmentation strategies automatically, and test-time augmentation averages predictions over several transformed copies of an input to improve accuracy. Augmentation is also central to contrastive self-supervised learning, where two augmented views of the same example form a positive pair. Used well, augmentation is one of the highest-leverage, lowest-cost ways to improve a model.