Computing Library › Machine Learning
Machine Learning

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

Kronos motion — lego machine

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.