AutoAugment is an automated approach to find data augmentation policies from data. It formulates the problem of finding the best augmentation policy as a discrete search problem. It consists of two components: a search algorithm and a search space.
At a high level, the search algorithm (implemented as a controller RNN) samples a data augmentation policy $S$, which has information about what image processing operation to use, the probability of using the operation in each batch, and the magnitude of the operation. The policy $S$ is used to train a neural network with a fixed architecture, whose validation accuracy $R$ is sent back to update the controller. Since $R$ is not differentiable, the controller will be updated by policy gradient methods.
The operations used are from PIL, a popular Python image library: all functions in PIL that accept an image as input and output an image. It additionally uses two other augmentation techniques: Cutout and SamplePairing. The operations searched over are ShearX/Y, TranslateX/Y, Rotate, AutoContrast, Invert, Equalize, Solarize, Posterize, Contrast, Color, Brightness, Sharpness, Cutout and Sample Pairing.
Source: AutoAugment: Learning Augmentation Policies from DataPaper | Code | Results | Date | Stars |
---|
Task | Papers | Share |
---|---|---|
Image Classification | 25 | 20.33% |
Object Detection | 13 | 10.57% |
General Classification | 8 | 6.50% |
Domain Generalization | 6 | 4.88% |
Semantic Segmentation | 5 | 4.07% |
Image Augmentation | 5 | 4.07% |
Diversity | 4 | 3.25% |
Fine-Grained Image Classification | 4 | 3.25% |
Image Retrieval | 3 | 2.44% |
Component | Type |
|
---|---|---|
ColorJitter
|
Image Data Augmentation | (optional) |
Cutout
|
Image Data Augmentation | (optional) |
LSTM
|
Recurrent Neural Networks |