AutoAugment: 从数据中学习增强策略.

大多数数据增强是手工设计的。本文提出了一种自动搜索数据增强的策略AutoAugment,为网络处理每批图像时随机选择一种子策略。每个子策略包含两个操作,其中的每个操作都是一个图像处理函数。通过搜索可以在目标数据集上取得最佳策略,也可以将学习的策略迁移到其他数据集上。

图像分类任务中的数据增强能够使得网络学习数据中潜在的不变性(如水平翻转或平移对目标类别没有影响),尽管卷积神经网络本身能够硬编码这种不变性,通过数据增强来学习不变性更容易。

MNIST数据集上,常用的手工策略包括弹性扭曲、缩放、平移和旋转。而在CIFAR-10ImageNet等自然数据集上,随机裁剪、图像镜像和颜色漂移、白化更常用。不同数据集适用的增强策略理应是不同的。AutoAugment可以自动从数据集中搜索最佳增强策略。

搜索最佳策略的问题可以被定义为一个离散搜索问题,包括一个搜索算法和一个搜索空间。搜索算法是通过RNN控制器实现的,它对数据增强策略$S$进行采样,并将该策略应用到固定结构的网络训练中,验证集准确率$R$传回控制器并通过策略梯度方法更新。

搜索空间中的每个策略包含$5$个子策略,每个子策略包含两个顺序应用的图像操作,每个操作还包含应用该操作的概率和使用该操作的程度这两个超参数。在训练每个批量图像时随机选择一个子策略。 下图展示了在SVHN数字数据集上搜索的一些子策略。

作者共选择了$16$种图像处理操作,如下表所示。

对于每种操作,将应用强度离散化为均匀的$10$个值,并将应用该操作的概率离散化为$11$个值,由于需要同时寻找$5$组子策略,每组子策略包含$2$个操作,因此搜索空间大小为$(16\times 10\times 11)^{10}≈2.9\times 10^{32}$。

RNN控制器循环产生$30$组softmax预测结果,分别对应$5$个子策略,每个子策略的$2$个操作,每个操作的类型、程度和概率。在训练模型时,每批次数据随机选择一个子策略增强,并在验证集上评估子模型的性能,验证准确率作为训练控制器的奖励信号,在每个数据集上控制器采样约$15000$个策略梯度。

AutoAugment在不同数据集上搜索后,应用数据增强训练模型能够有效地提高模型表现:

使用AutoAugment在特定数据集上搜索通常耗费大量资源,作者验证了将搜索得到的增强方法迁移到另一个数据集上,进而验证寻找到的方法是否在原数据集上过拟合以及学习到通用的转换。作者将在ImageNet上寻找到的策略应用到其他几个大小相似的FGVC数据集上,均得到更好的表现:

作者展示了在CIFAR-10SVHNImageNet上搜索得到的最佳子策略。

CIFAR-10(一个小型自然图像数据集)上,AutoAugment主要选择了基于颜色的增强,如均衡化、自动对比度、颜色和亮度变化;而很少使用几何变换,如剪切;几乎不使用像素翻转。

SVHN(一个街景门牌号码数据集)上,AutoAugment主要选择了像素翻转、均衡化、剪切和旋转;其中几何变换ShearX/Y是最常用的两个变换,这是因为数据集中的门牌号通常是自然倾斜的。

ImageNet(一个大型自然图像数据集)上,AutoAugment也侧重于选择基于颜色的变换,也常用旋转几何变换。