Data augmentation means artificially expanding a training set by applying transformations that preserve the meaning of existing examples. It's like teaching a child to recognise a cat: you show the same photo in profile, upside down, in dim light, or up close — it's still a cat, but the brain learns invariance rather than memorising one single image.
How it works
From each original example, we generate plausible variants. The model sees more diversity without having to collect new real-world data, which is often costly or scarce.
| Domain | Common transformations |
|---|---|
| Images | rotation, cropping, flipping, noise, brightness shifts |
| Text | synonyms, back-translation, word masking |
| Audio | time shifting, added noise, pitch change |
More advanced methods such as Mixup blend two examples through linear interpolation:
$$\tilde{x} = \lambda x_i + (1-\lambda) x_j, \quad \tilde{y} = \lambda y_i + (1-\lambda) y_j$$
Why it matters
- Reduces overfitting by exposing the model to more variety.
- Improves generalisation to unseen data.
- Compensates for small or imbalanced datasets.
The pitfall: an overly aggressive transformation can distort the meaning (flipping a "6" yields a "9"; a mirror flip changes medical laterality). Augmentations must stay realistic and consistent with the task.
Augmenting data is not inventing information: it teaches the model what should stay invariant.