AutoAugment

Data augmentation is a popular technique used to improve generalization performance by creating additional training samples through the augmentation of existing training samples with various strategies like rotation, scaling, flipping, cropping, and brightness or color adjustments. It's a reliable way to increase the size of small datasets and to encourage robust knowledge representations. AutoAugment was introduced to automatically search for optimal data augmentation policies which alleviates the need to manually design data augmentations. They do this by exploring a search space of policies comprised of multiple sub-policies which are randomly selected and applied to each image in a mini-batch. The probability and magnitude of the sub-policies are optimized according to their yielded validation accuracy.

Key Ideas

$$ \theta \leftarrow \theta + \alpha \nabla_{\theta} \mathbb{E}[R(P, \theta)] $$

Results

AutoAugment significantly improved accuracies on the benchmark CIFAR-10, CIFAR-100, SVHN, and ImageNet datasets over established data augmentation strategies, and the learned augmentation policies transferred well across different datasets and tasks without further adaptation. Below is an example for the learned imagenet policy in PyTorch.