Deep Learning Data Augmentation
Deep networks learn best from large, varied datasets, yet collecting and labelling data costs time and money. Data augmentation creates new training examples by applying small, realistic changes to the examples you already own. A single photo becomes dozens of slightly different photos, and the network learns to recognize the object under many conditions.
Why Augmentation Works
Think of a child learning what a chair looks like. The child sees chairs from the front, from the side, in bright rooms, and in dim rooms. Each view teaches the same lesson: a chair stays a chair. Augmentation gives a network the same range of experience without new photography.
Original photo of a cat | +-- flipped left to right -> still a cat +-- rotated 15 degrees -> still a cat +-- cropped and zoomed -> still a cat +-- slightly darker -> still a cat 1 photo becomes 5 training examples
The network cannot memorize one exact picture anymore, so overfitting drops and accuracy on new images rises.
Image Augmentation Techniques
Geometric Changes
These techniques move or reshape the image. Common choices include flipping, rotating, shifting, zooming, and cropping.
Colour Changes
These techniques adjust brightness, contrast, saturation, and hue. They prepare the model for different lighting and cameras.
Noise and Blur
Random grain or light blur imitates low-quality cameras and poor conditions.
Random Erasing
This technique hides a random patch of the image. The network learns to use many clues instead of relying on a single feature.
Choosing Safe Transformations
Every change must keep the label correct. A horizontal flip suits cats but harms handwriting recognition, because a flipped digit may look like a different symbol.
| Task | Safe Changes | Risky Changes |
|---|---|---|
| Animal photos | Flip, crop, colour shift | Heavy colour inversion |
| Handwritten digits | Small rotation, shift | Flip, large rotation |
| Medical scans | Small shifts, brightness | Changes that alter anatomy |
| Street signs | Brightness, blur, small zoom | Flip (text reverses) |
Text and Audio Augmentation
Text
Text methods swap words with synonyms, shuffle sentence order slightly, or translate a sentence to another language and back.
Original: "The movie was great" Synonym: "The film was excellent" Back-translation: "The movie was wonderful"
Audio
Audio methods add background noise, shift pitch slightly, change speed, or trim silence.
Augmentation in Code
data_augmentation = keras.Sequential([
layers.RandomFlip("horizontal"),
layers.RandomRotation(0.1),
layers.RandomZoom(0.1),
layers.RandomContrast(0.2)
])
These layers run only during training. Frameworks switch them off at prediction time, so test images stay untouched.
Online Versus Offline Augmentation
Offline: create new files first, store them on disk
(uses more storage, same copies every epoch)
Online: transform each image on the fly during training
(no extra storage, new variation every epoch)
Online augmentation is the usual choice, because each epoch shows the network fresh variations.
Advanced Methods
- Mixup blends two images and their labels together
- CutMix pastes a patch from one image onto another
- Synthetic data uses generative models to create new examples
Best Practices
- Augment only the training set, never validation or test data
- Preview augmented samples to confirm labels still make sense
- Start with mild changes and increase strength gradually
- Compare validation accuracy with and without augmentation
Key Terms
- Augmentation - creating varied copies of training data
- Label preserving - a change that keeps the correct answer the same
- Mixup and CutMix - methods that combine two examples
- Online augmentation - transforming data during training
