Definition
Data augmentation is a regularization technique used in machine learning to artificially increase the diversity and size of training datasets. By applying various transformations to existing data samples, augmentation creates new training examples without collecting additional real data. In computer vision, common augmentation techniques include: - **Geometric**: Rotation, flipping, cropping, scaling, translation - **Photometric**: Brightness, contrast, saturation, hue adjustments - **Noise**: Gaussian noise, blur, compression artifacts - **Advanced**: Mixup, CutMix, AutoAugment, RandAugment Data augmentation helps models generalize better by exposing them to variations they might encounter in the real world. It's particularly valuable when labeled data is limited or expensive to collect. Modern deep learning frameworks like PyTorch and TensorFlow include built-in augmentation pipelines. Advanced techniques like learned augmentation policies (AutoAugment) can automatically discover optimal augmentation strategies for specific datasets. While data augmentation is powerful, it has limitations - it cannot create truly novel objects or scenarios. This is where synthetic data generation provides complementary capabilities, offering unlimited new training examples rather than just variations of existing ones.
Examples
- Rotating and flipping images to teach models orientation invariance
- Adjusting brightness and contrast to handle different lighting conditions
- Using CutMix to combine portions of different training images