Data Augmentation
Making more training examples by transforming the ones you have — the most effective regularizer there is, and it encodes assumptions you should state out loud.
When not to use it
- When the transformation changes the label. Flipping a 6, rotating an X-ray, jittering colour where colour is the signal.
- On text, naively. Most transformations change meaning. Back-translation or model paraphrasing, not synonym swaps.
- At test time, unthinkingly. Test-time augmentation helps and costs inference; know which you're trading.
- Instead of real data, when real data is available. It's a substitute, not an equal.
Reach for something else instead
- More real data — strictly better if you can get it.
- Transfer learning — someone else already saw the variety.
- Architectural invariance — build it in rather than teach it. Same goal, less flexible.
- Generative augmentation — synthesise rather than transform, with the synthetic-data caveats.
Sources & further reading
- Shorten & Khoshgoftaar (2019), A survey on Image Data Augmentation for Deep Learning — the comprehensive map.
- Zhang et al. (2018), mixup: Beyond Empirical Risk Minimization — blending images and labels; works, improves calibration, unexplained.
- Cubuk et al. (2020), RandAugment: Practical automated data augmentation with a reduced search space — two knobs, no search, nearly as good as learned policies.
Primary sources, listed so you can check the claims on this page rather than take them on trust.
Where people go wrong
- Applying a transformation that changes the label and not noticing, because the model still trains.
- Using a vision recipe on text. Synonym substitution is fragile in a way flipping isn't.
- Reaching for dropout before augmentation. Augmentation usually beats it.
- Treating it as free examples rather than as an assertion about your problem.