Computer Vision SystemsData Augmentation (AutoAugment, Mixup, Synthetic Data)Medium⏱️ ~3 min

AutoAugment: Automated Policy Discovery

AutoAugment automates the design of augmentation policies by treating policy selection as a search problem. A policy consists of 5 to 25 sub policies, where each sub policy applies two operations sequentially with associated probabilities and magnitude ranges. For example, one sub policy might rotate by 15 to 30 degrees with 0.8 probability, then adjust contrast by a factor of 1.1 to 1.5 with 0.6 probability. The search procedure trains a controller using reinforcement learning that proposes candidate policies, evaluates them by training a proxy model for a few epochs, and iterates to maximize validation accuracy. The economics of AutoAugment matter significantly in production. A typical search evaluates thousands of candidate policies over 12 to 48 hours on a small GPU cluster. Google's original implementation trained proxy models for 5 to 10 epochs each to estimate policy quality, then selected the top performers for full evaluation. To reduce cost, teams use weight sharing where models for different policies share base weights, cutting evaluations by an order of magnitude. Population based exploration replaces random search with evolutionary methods that prune poor candidates early. Once discovered, an AutoAugment policy becomes a versioned artifact stored alongside training configurations. During daily production training at companies like Google and NVIDIA, the policy sampler randomly selects one sub policy per image and applies its two operations with the specified probabilities and magnitudes. The discovered policies are dataset specific but transfer across model architectures. Google reported that learned policies improved top 1 accuracy on ImageNet by roughly 1 percent for ResNet and EfficientNet models, with larger gains of 2 to 5 percentage points on smaller datasets like CIFAR 10 or SVHN where the search could explore more aggressively. The tradeoff centers on search cost versus accuracy gain. If you retrain models weekly and cannot allocate GPUs for multi day searches, use strong fixed policies with operations like random crops, flips, rotations, and color jitter. If you have the compute budget and train on a stable dataset, invest in AutoAugment search once and reuse the policy across experiments. Monitor for policy overfitting: policies discovered on small proxy models or data subsets can overfit and show reduced gains on the full model.
💡 Key Takeaways
Search cost: 12 to 48 hours on small GPU cluster evaluating thousands of candidate policies with proxy models trained 5 to 10 epochs each
Policy structure: 5 to 25 sub policies, each with 2 operations having probability and magnitude parameters
Accuracy improvement: 1 percent gain on ImageNet for ResNet and EfficientNet, 2 to 5 percent on smaller datasets like CIFAR 10
Transfer learning: Policies discovered on one architecture transfer to others on the same dataset, amortizing search cost
Cost reduction techniques: Weight sharing and population based exploration reduce evaluations by an order of magnitude versus naive search
Policy overfitting risk: Policies discovered on small proxy models can lose effectiveness on full scale training, validate on held out slices
📌 Examples
Google ImageNet policy: Discovered policy with 25 sub policies including operations like posterize, solarize, rotate, shear, and color transforms, stored as versioned artifact and applied to all ResNet and EfficientNet training jobs
NVIDIA CIFAR 10 search: 24 hour search on 4 GPUs using weight sharing evaluated 5,000 policies, final policy improved WideResNet accuracy from 96.1 to 97.4 percent top 1
← Back to Data Augmentation (AutoAugment, Mixup, Synthetic Data) Overview
AutoAugment: Automated Policy Discovery | Data Augmentation (AutoAugment, Mixup, Synthetic Data) - System Overflow