题目:AutoAugment:Learning Augmentation Strategies from Data
出处:IEEE Conference on Computer Vision and Pattern Recognition(CVPR,2019),计算机视觉顶级会议。
摘要:数据增强是提高现代图像分类器精度的有效技术。然而,当前的数据增强实现是手动设计的。在本文中,我们描述了一个称为AutoAugment的简单过程,以自动搜索改进的数据增强策略。在我们的实现中,我们设计了一个搜索空间,其中一个策略由多个子策略组成,其中一个子策略是为每个小批量中的每个图像随机选择的。子策略由两个操作组成,每个操作都是图像处理功能,如平移、旋转或剪切,以及应用这些功能的概率和大小。我们使用搜索算法来寻找最佳策略,以便神经网络在目标数据集上产生最高的验证精度。我们的方法在CIFAR-10、CIFAR-100、SVHN和ImageNet上实现了最先进的精度(无需额外数据)。在ImageNet上,我们获得了83.5%的Top-1精度,比之前83.1%的记录高出了0.4%。在CIFAR-10上,我们实现了1.5%的错误率,这比以前的最新状态好0.6%。我们发现,增强策略可以在数据集之间转移。在ImageNet上学习到的政策可以很好地传输到其他数据集,如Oxford Flowers, Caltech-101, Oxford-IIT Pets, FGVC Aircraft 和 Stanford Cars。
1,引言
深度神经网络是一种强大的机器学习系统,当对大量数据进行训练时,它往往工作得很好。数据增强是一种通过随机“增强”数据来增加数据量和多样性的有效技术[3、54、29];在图像领域,常见的增强包括通过几个像素平移图像,或水平翻转图像。直观地说,数据评估用于训练一个关于数据域不变性的模型:对分类对象通常水平翻转或平移。网络体系结构也可用于硬编码不变性:卷积网络烘焙平移不变性【16、32、25、29】。然而,使用数据增强将潜在的内方差合并到模型体系结构中比直接将不变性硬编码更容易。
然而,机器学习和计算机视觉界的一大焦点是设计更好的网络体系结构(例如,[55、59、20、58、64、19、72、23、48])。人们很少关注寻找更好的数据增强方法,这些方法包含更多的不变性。例如,在ImageNet上,2012年引入的[29]数据增强方法仍然是标准,但变化不大。即使对特定数据集发现了增强改进,它们通常也不能有效地传输到其他数据集。例如,由于这些数据集中存在不同的对称性,训练期间图像的水平翻转在CIFAR-10上是一种有效的数据增强方法,而在MNIST上则不是。最近,自动学习数据增强的需求作为一个尚未解决的重要问题被提出。
在本文中,我们的目标是自动化为目标数据集找到有效数据增强策略的过程。在我们的实现(第3节)中,每个策略都表达了可能的增强操作的几种选择和顺序选择。其中,每个操作都是一个图像处理功能(例如,平移、旋转或颜色归一化),应用该功能的概率以及应用它们的幅度。我们使用搜索算法来找到这些操作的最佳选择和顺序,以便训练神经网络产生最佳的验证精度。在我们的实验中,我们使用强化学习(Enhancement Learning)[71]作为搜索算法,但我们相信,如果使用更好的算法,结果会得到进一步改善[48,39]。
我们的大量实验表明,AutoAugment在两个用例中实现了出色的改进:1)AutoAugment可以直接应用于感兴趣的数据集,以找到最佳的增强策略(AutoAugment direct),2)学习的策略可以迁移到新的数据集(AutoAugment transfer)。首先,对于直接应用,我们的方法在诸如CIFAR-10、简化CIFAR-10、CIFAR-100、SVHN、简化SVHN和ImageNet等数据集上实现了最先进的准确性(无需额外数据)。在CIFAR-10上,我们实现了1.5%的错误率,这比以前的最先进技术要好0.6个百分点[48]。在SVHN上,我们将最先进的错误率从1.3%[12]提高到1.0%。在简化的数据集上,我们的方法在不使用任何未标记数据的情况下实现了与半监督方法相当的性能。在ImageNet上,我们实现了83.5%的顶级精度,比之前83.1%的记录提高了0.4%。第二,如果直接应用成本过高,那么迁移增强策略可能是一个很好的选择。对于传输增强策略,我们证明了在一个任务上找到的策略可以很好地泛化到不同的模型和数据集。例如,ImageNet上的策略导致了各种FGVC数据集的显著改进。即使在ImageNet上预先训练的微调权重对数据集没有显著帮助[26],例如斯坦福汽车[27]和FGVC飞机[38],使用ImageNet策略的训练也会分别减少1.2%和1.8%的测试集误差。这一结果表明,传输数据增强策略为标准权重传输学习提供了一种替代方法。我们的结果总结如表所示
2,相关工作
常用的图像识别数据增强方法都是手动设计的,最好的增强策略是特定于数据集的。例如,在MNIST上,大多数排名靠前的模型使用弹性变形、缩放、平移和旋转【54、8、62、52】。在自然图像数据集(如CIFAR-10和ImageNet)上,随机裁剪、图像镜像和颜色偏移/白化更为常见[29]。由于这些方法是手动设计的,因此需要专家知识和时间。我们从原则中的数据学习数据增强策略的方法可以用于任何数据集,而不仅仅是一个。
本文介绍了一种从数据中自动查找数据增强策略的方法。我们的方法受到架构搜索最新进展的启发,其中强化学习和进化被用于从数据中发现模型架构【71、4、72、7、35、13、34、46、49、63、48、9】。尽管这些方法在人类设计的体系结构上有所改进,但仅使用体系结构搜索还不可能克服CIFAR-10上2%的错误率障碍。
先前对学习数据增强的尝试包括智能增强,它提出了一种通过合并同一类中的两个或多个样本自动生成增强数据的网络[33]。Tran等人使用贝叶斯方法,根据从训练集学习到的分布生成数据【61】。DeVries和Taylor在学习的特征空间中使用简单的变换来增强数据[11]。
生成性对抗网络也被用于生成额外数据(例如,[45、41、70、2、56])。我们的方法与生成模型之间的关键区别在于,我们的方法生成象征性转换操作,而生成模型(如GANs)直接生成增强数据。Ratner等人的工作是一个例外,他们使用GANs生成描述数据增强策略的序列[47]。
3,AutoAugment:直接在感兴趣的数据集上搜索最佳配置策略
我们将寻找最佳策略的问题表述为一个离散搜索问题(见图1)。我们的方法由两部分组成:搜索算法和搜索空间。在较高的层次上,搜索算法(作为控制器RNN实现)对数据增强策略 S 进行采样,该策略包含有关要使用的图像处理操作、在每个批次中使用该操作的概率以及操作的大小的信息。我们的方法的关键在于,策略S将用于训练具有固定结构的神经网络,其验证精度R将被发送回以更新控制器。由于R是不可微的,控制器将通过策略梯度方法进行更新。在下一节中,我们将详细描述这两个组件。
图1:我们使用搜索方法(如强化学习)搜索更好的数据挖掘策略的框架。控制器RNN从搜索空间预测增强策略。将具有固定体系结构的子网络训练为收敛,以达到精度R。奖励R将与策略梯度方法一起使用,以更新控制器,使其能够随着时间的推移生成更好的策略。
搜索空间详细信息:在我们的搜索空间中,一个策略由5个子策略组成,每个子策略由两个按顺序应用的图像操作组成。此外,每个操作还与两个超参数相关:1)应用操作的概率,2)操作的大小。图2显示了在我们的搜索空间中具有5个子策略的策略示例。第一个子策略指定顺序应用ShearX,然后是Invert。应用ShearX的概率为0.9,应用时,震级为7/10。然后应用概率为0.8的反转。反转操作不使用幅值信息。我们强调这些操作是按指定的顺序应用的。
图2:SVHN上的策略之一,以及如何在给定用于训练神经网络的原始图像的情况下使用SVHN生成增强数据。该策略有5个子策略。对于小批量中的每一幅图像,我们在随机域中统一选择一个子策略来生成变换后的图像来训练神经网络。每个子策略由2个操作组成,每个操作与两个数值关联:调用操作的概率和操作的大小。有可能调用某个操作,因此该操作可能不会应用于该小批量中。但是,如果应用,它将与固定磁场一起应用。我们强调了应用子策略的随机性,通过展示一幅图像如何在不同的小批量中进行不同的转换,即使使用相同的子策略。如文中所述,在SVHN上,几何变换更常通过自动增强进行选择。可以看出为什么反转是SVHN上常见的选择操作,因为图像中的数字对该变换是不变的。
我们在实验中使用的操作来自流行的Python图像库PIL。为了通用性,我们考虑了PIL中接受图像作为输入的所有函数,输出图像。我们还使用了另外两种有希望增强技术:Cutout(12)和SamplePair(24)。我们搜索的操作有剪切X/Y、平移X/Y、旋转、自动对比、反转、均衡、偏振、后锐化、对比度、颜色、亮度、锐度、剪切【12】、样本配对【24】。2我们的搜索空间总共有16个操作。每个操作还具有默认的量级范围,第4节将对此进行更详细的描述。我们将磁单元的范围离散为10个值(均匀间距),以便我们可以使用离散搜索算法来找到它们。类似地,我们还将该操作应用于11个值(均匀间距)的概率离散化。在(16×10×11)2个可能性的空间中查找每个子策略成为一个搜索问题。然而,我们的目标是找到5个这样的子政策,以增加多样性。然后,包含5个子策略的搜索空间大约有(16×10×11)10≈2.9×1032可能性。
附录中的表1显示了我们使用的16个操作及其默认值范围。注意,在我们的搜索空间中没有明确的“身份”操作;此操作是隐式的,可以通过调用概率设置为0的操作来实现。
搜索算法详细信息:我们在实验中使用的搜索算法使用了强化学习,其灵感来自【71,4,72,5】。搜索算法有两个组成部分:一个是控制器,它是一个递归神经网络;另一个是训练算法,它是最近的策略优化算法[53]。在每一步中,控制器预测softmax产生的决策;然后将预测作为嵌入输入下一步。控制器总共有30个softmax预测,以预测5个子策略,每个子策略有2个操作,每个操作需要操作类型、幅度和可能性。
控制器RNN训练:控制器使用奖励信号进行训练,奖励信号是该策略在改善“子模型”(作为搜索过程的一部分训练的神经网络)泛化方面的表现。在我们的实验中,我们留出了一个验证集来衡量子模型的一般化程度。子模型使用在训练集(不包含验证集)上应用5个子策略生成的增强数据进行训练。对于小批量中的每个示例,随机选择5个子策略中的一个来增强图像。然后在验证集上评估子模型以测量精度,该精度用作训练递归网络控制器的奖励信号。在每个数据集上,控制器对大约15000个策略进行采样。
控制器RNN和训练超参数的体系结构:我们按照[72]中的训练程序和超参数来训练控制器。更具体的说,控制器RNN是一层LSTM【21】,每层有100个隐藏单元,与每个架构决策相关的两个卷积单元(其中B通常为5)有2×5B softmax预测。控制器RNN的10B预测中的每一个都与概率相关。子网络的联合概率是这些10B软最大值上所有概率的乘积。该联合概率用于计算控制器RNN的梯度。梯度通过子网络的验证精度进行缩放,以更新控制器RNN,从而控制器为坏子网络分配低概率,为好子网络分配高概率。与[72]类似,我们采用近端策略优化(PPO)[53],学习率为0.00035。为了鼓励探索,我们还使用了权重为0.00001的熵惩罚。在我们的实现中,基线函数是以前奖励的指数移动平均值,权重为0.95。控制器的权重在-0.1和0.1之间均匀初始化。为了方便起见,我们选择使用PPO来训练控制器,尽管之前的工作表明,其他方法(例如增强随机搜索和进化策略)也可以表现得很好,甚至稍好一些[30]。
在搜索结束时,我们将最好的5个策略中的子策略连接到一个策略中(有25个子策略)。最后一个包含25个子策略的策略用于训练每个数据集的模型。
上述搜索算法是我们可以用来找到最佳策略的许多可能的搜索算法之一。可能会使用不同的离散搜索算法,如遗传规划[48],甚至随机搜索[6],来改进本文的结果。
4,实验和结果
实验总结。在本节中,我们实证研究了自动增强在两个用例中的性能:直接自动增强和自动增强传输。首先,我们将对AutoAugment进行基准测试,在高度竞争的数据集上直接搜索最佳增强策略:CIFAR-10【28】、CIFAR-100【28】、SVHN【42】(第4.1节)和ImageNet【10】(第4.2节)数据集。我们的结果表明,直接应用Au-toAugment可以显著改善基线模型,并在这些具有挑战性的数据集上产生最先进的精度。接下来,我们将研究评估策略在数据集之间的可转移性。更具体地说,我们将把Ima-geNet上的最佳增强策略转移到细粒度分类数据集,如牛津102 Flowers、加州理工学院101、牛津IIIT Pets、FGVC Air-craft、斯坦福汽车(第4.3节)。我们的结果还表明,增强策略具有令人惊讶的可转移性,并在这些数据集的强基线模型上产生了显著的改进。最后,在第5节中,我们将比较AutoAugment与其他自动数据增强方法进行了比较,并表明AutoAugment明显优于其他自动数据增强方法。
CIFAR-10、CIFAR-100、SVHN结果:虽然CIFAR-10有50000个训练示例,但我们在一个称为“简化CIFAR-10”的较小数据集上搜索最佳策略,该数据集由4000个随机选择的示例组成,以节省在增强搜索过程中训练子模型的时间(我们发现,生成的策略似乎对这个数字不敏感)。我们发现,在固定的训练时间内,允许子模型训练更多的时间段,而不是训练数据更多的时间段。对于子模型架构,我们使用小型Wide-ResNet-40-2(40层-2的加宽系数)模型[67],并训练120个批次。使用一个小而宽的ResNet是为了提高计算效率,因为每个子模型都是从头开始训练的,以计算控制器的梯度更新。我们使用
的重量衰减,学习率为0.01,余弦学习衰减为一个退火周期[36]。
在搜索精简版CIFAR-10期间发现的策略随后用于在CIFAR-10、精简版CIFAR-10和CIFAR-100上训练最终型号。如上所述,我们将最佳5个策略中的子策略关联起来,形成一个包含25个子策略的单一策略,用于CIFAR数据集上的所有AuTougment实验。
基线预处理遵循最先进的CIFAR-10模型的惯例:标准化数据,使用50%概率的水平翻转、零填充和随机裁剪,最后使用16x16像素进行剪切【17、65、48、72】。除了标准基线预处理之外,还应用了自动增强策略:在一幅图像上,我们首先应用现有基线方法提供的基线增强,然后应用自动增强策略,然后应用剪切。我们没有优化剪切区域大小,而是使用建议的16像素值【12】。注意,由于剪切是搜索空间中的一种操作,因此可以在同一图像上使用两次剪切:第一次使用学习区域大小,第二次使用固定区域大小。实际上,由于在第一次应用中进行剪切操作的可能性很小,因此通常在给定图像上使用一次剪切。
在CIFAR-10上,自动增强主要拾取基于颜色的变换。例如,CIFAR-10上最常用的变换是均衡器、自动对比、颜色和亮度(有关它们的描述,请参阅附录中的表1)。像ShearX和ShearY这样的几何变换很少出现在好的策略中。此外,转换反转几乎从未应用于成功的策略中。CIFAR-10上的政策包含在附录中。下面,我们描述了我们在使用简化CIFAR-10上的策略的CIFAR数据集。
表2:CIFAR-10、CIFAR-100和SVHN数据集上的测试集错误率(%)。越低越好。我们在实验中复制了基线模型和带切口的基线模型的所有结果,并与之前报告的结果相匹配【67、17、65、12】。两个例外是Shake-Shake(26 2x112d),它比[17]中最大的模型有更多的过滤器–112对96,以及在SVHN上训练的Shake-Shake模型,这些结果以前没有报道过。有关更多详细信息,请参阅文本。
CIFAR-10结果:在表2中,我们展示了不同神经网络架构下的测试集准确性。我们在TensorFlow[1]中实现了Wide-ResNet-28-10[67]、Shake-Shake[17]和ShakeDrop[65]模型,并找到了权重衰减和学习率超参数,这些参数为基线增强的常规训练提供了最佳的验证集准确性。除了对Wide-ResNet-28-10使用余弦学习衰减外,其他超参数与介绍模型的论文中报告的相同【67、17、65】。然后,我们使用相同的模型和超参数来评估AutoAugment的测试集准确性。对于变形虫,我们使用了[48]中用于基线扩增和自动扩增的相同超参数。从表中可以看出,我们使用抖动下降模型实现了1.5%的错误率,这比最先进的模型要好0.6个百分点。请注意,这一增益远远大于变形虫-B对抗ShakeDrop(0.2%)和ShakeDrop对抗ShakeDrop(0.2%)之前获得的增益。参考文献[68]报告,在CIFAR-10上训练的宽-ResNet-28-10模型的性能提高了1.1%。
我们还评估了在最近提出的CIFAR-10测试集上使用Autoaugment训练的最佳模型【50】。Recht等人[50]报告称,在这个新数据集上,Shake-Shake(26 2x64d)+Cutout-per-形式最好,错误率为7.0%(相对于原始CIFAR-10测试集的错误率高出4.1%)。此外,金字塔网+ShakeDrop在新数据集上的错误率为7.7%(相对于原始测试集高出4.6%)。我们的最佳模型,金字塔网+自动增强训练的ShakeDrop实现了4.4%的错误率(比原始集的错误率高2.9%)。与在这个新数据集上评估的其他模型相比,我们的模型在精度上的下降幅度要小得多。
CIFAR-100结果:我们还在CIFAR-100上训练模型,使用与reduced-CIFAR-10上相同的自动增强策略;结果如表2所示。同样,我们在该数据集上获得了最先进的结果,通过ShakeDrop正则化打破了之前12.19%的错误率记录【65】。最后,我们在简化的CIFAR-10上应用相同的自动增强策略来训练模型(我们使用相同的4000个示例训练集来寻找最佳策略)。与半监督学习社区使用的实验惯例类似【60、40、51、31、44】,我们在4000个标记样本上进行训练。但我们在训练期间不使用46000个未标记样本。我们的结果如表2所示。我们注意到,与完整数据集相比,在缩减的数据集上,自动增强带来的准确性改进更为显著。随着训练集大小的增长,我们预计数据增强的效果将降低。然而,在接下来的部分中,我们将展示,即使对于SVHN和ImageNet这样的大型数据集,自动增强仍然可以提高泛化精度。
SVHN结果:我们使用SVHN数据集进行了实验,该数据集包含73257个训练示例(也称为“核心训练集”),以及531131个额外的训练示例。测试集有26032个示例。为了节省搜索时间,我们创建了一个简化的SVHN数据集,其中包含从核心训练集中随机抽样的1000个示例。我们使用AutoAugment查找最佳策略。子模型的模型架构和训练过程与上述CIFAR-10实验相同。
SVHN上选择的策略与CIFAR-10上选择的转换不同。例如,SVHN上最常用的变换是In-vert、Equalize、ShearX/Y和Rotate。如上所述,转换反转几乎从未在CIFAR-10上使用,但它在成功的SVHN策略中非常常见。实际上,这是有道理的,因为数字的特定颜色不如数字及其背景的相对颜色重要。此外,几何变换ShearX/Y是SVHN上最常用的两种变换。这也可以通过SVHN中图像的一般特性来理解:房屋编号在数据集中通常是自然剪切和倾斜的,因此通过数据增强来学习这些变换的不变性是很有帮助的。图2中的SVHN示例显示了五个成功的子策略。
搜索结束后,我们将5个最佳策略串联起来,并将它们应用于使用标准增强策略训练已经在SVHN上表现良好的体系结构。对于全面训练,我们遵循Wide ResNet论文[67]中提到的使用核心训练集和额外数据的通用程序。通过保留训练集的最后7325个样本来构建验证集。我们根据验证集性能调整权重衰减和学习速率。其他超参数和训练细节与介绍模型的论文中的相同【67,17】。一个例外是,由于完整SVHN数据集的规模很大,我们只针对160个批次(而不是1800个)训练了Shake-Shake模型。基线预处理包括按照【12】中所述的步骤,将数据标准化,并将剪切区域大小设置为20x20像素。自动增强结果将基线预处理与在SVHN上学习的策略相结合。一个例外是,我们不在简化的SVHN上使用截断,因为它显著降低了精度。表2显示了本实验结果的总结。从表中可以看出,我们使用这两种模型都达到了最先进的精度。我们还测试了简化SVHN上的最佳策略(找到最佳策略的1000个示例训练集)。缩减集上的自动增广结果再次与领先的半监督方法相当,其范围从5.42%到3.86%[40]。(见表2)。我们再次看到,与完整数据集相比,AutoAugment在简化数据集上带来了更显著的改进。
ImageNet结果:与上述实验类似,我们使用ImageNet训练集的一个缩减子集,包含120个类(随机选择)和6000个样本,来搜索策略。我们使用余弦衰减训练了200个批次的宽ResNet 40-2。重量衰减10−使用5,学习率为0.1。ImageNet上的最佳策略与CIFAR-10上的策略相似,重点是基于颜色的转换。一个不同之处是,通常在ImageNet策略上使用几何变换Rotate。图3显示了最好的策略之一。
图3:ImageNet上成功的策略之一。如本文所述,ImageNet上的大多数策略都使用基于颜色的转换。
同样,我们将5个最佳策略组合为总共25个子策略,以创建ImageNet训练的最终策略。然后,我们使用270个批次的ResNet-50和ResNet-200模型,使用此策略从头开始在完整的ImageNet上进行训练。我们使用的批量大小为4096,学习率为1.6。在90、180和240岁时,我们的学习速度下降了10倍。对于基线增强,我们使用标准的初始风格预处理,将像素值缩放到[-1,1],以50%的概率水平翻转,以及颜色的随机扭曲【22,59】。对于使用AutoAugment训练的模型,我们使用基线预处理和在ImageNet上学习的策略。我们发现,去除颜色的随机扭曲不会改变自动增强的结果。
我们的ImageNet结果如表3所示。从结果可以看出,AutoAugment在从ResNet-50到最先进的变形虫等一系列模型中都比广泛使用的初始预处理[59]有所改进。其次,将AutoAugment应用于变形虫C将其top-1和top-5的准确率从83.1%/96.1%提高到83.5%/96.5%。考虑到在5000张图像上显示了最佳增强策略,这一改进是值得注意的。我们预计,当有更多的计算可用时,结果会更好,以便Autoaugment可以使用更多的图像来发现更好的诊断策略。83.5%/96.5%的准确率也是该数据集上最先进的前1/前5准确率(不含multicrop/ensembling)。
表3:验证设置ImageNet上的Top-1/Top-5精度(%)。越高越好。具有基线增强结果的ResNet-50取自【20】。在我们的实验中复制了具有初始风格预处理的变形虫B、C结果,并与文献[48]先前报道的结果相匹配。存在一个更好的结果,即85.4%的Top-1错误率[37],但他们的方法使用了大量弱标记的额外数据。参考文献[68]报告,ResNet-50模型的性能提高了1.5%。
5,学习到的增强策略到其他数据集的可移植性
在本节中,我们将我们的搜索与之前尝试的自动数据扩充方法进行比较。我们还讨论了我们的结果与我们通过几次消融实验做出的一些设计决定的相关性。
AutoAugment与其他自动数据扩充方法的比较:在许多以前的数据扩充方法中,最值得注意的是[47]的工作。【47】中的设置类似于GANs【18】:生成器学习提出增强策略(一系列图像处理操作),以便增强的图像可以欺骗罪犯。我们的方法与他们的不同之处在于,我们的方法试图直接优化分类精度,而他们的方法只是试图确保增强图像与当前训练图像相似。
为了公平地进行比较,我们进行了与[47]中所述类似的实验。我们使用第4.1节中的相同策略训练了一个ResNet-32和一个ResNet-56,以将我们的方法与[47]中的结果进行比较。通过对ResNet-32进行基线数据扩充训练,我们得到了与[47]对ResNet-56(在[47]中称为Heur)相同的错误。因此,我们训练了一名ResNet-32和一名ResNet-56。我们表明,对于这两种模型,自动增强都会带来更高的改进(∼3.0%)。
表5:CIFAR-10上的测试集错误率(%)采用不同的自动数据扩充方法。MF和LSTM结果取自【47】,它们适用于ResNet-56。
训练步骤与子策略数量之间的关系:我们工作的一个重要方面是在训练期间随机应用子策略。每个映像仅由每个小批量中可用的多个子策略中的一个子策略进行扩充,由于每个转换都有与其相关联的应用概率,因此该子策略本身具有进一步的随机性。我们发现,这种随机性要求每个子策略有一定数量的epoch才能使AutoAugment有效。由于每个子模型都接受了5个子策略的训练,因此在模型能够充分受益于所有子策略之前,它们需要接受80-100多个批次的训练。这就是为什么我们选择训练120个批次的子模特。在模型从中受益之前,每个子策略都需要应用一定次数。学习策略后,对整个模型进行更长时间的训练(例如,CIFAR-10上的Shake-Shake为1800个历元,ImageNet上的ResNet-50为270个历元),这允许我们使用更多的子策略。
跨数据集和体系结构的可移植性:需要注意的是,上述策略可以很好地转换到许多模型体系结构和数据集。例如,在Wide-ResNet-40-2和简化的CIFAR-10上学习的政策导致了在完整的CIFAR-10和CIFAR-100上训练的所有其他模型体系结构上所描述的改进。类似地,在Wide-ResNet-40-2和reduced ImageNet上学习的策略导致了在具有不同数据和类分布的FGVC数据集上训练的初始v4的显著改进。即使在不同的数据集上学习,也从未发现自动增强策略会损害模型的性能,而在简化的SVHN上进行剪切则不是这样(表2)。附录中给出了ImageNet和SVHN的最佳策略,希望能帮助研究人员提高相关图像分类任务的泛化精度。
尽管观察到了可转移性,但我们发现,在最接近目标的数据分布上学习的策略产生了最佳性能:在SVHN上进行训练时,使用在简化的CIFAR-10上学习的最佳策略与基线检查相比,确实略微提高了泛化精度,但不如应用SVHN学习的策略显著。
6,消融实验
更改子策略的数量:我们的假设是,随着子策略数量的增加,神经网络在相同的点上进行训练,具有更大的扩展多样性,这将提高泛化精度。为了验证这一假设,我们研究了CIFAR-10上经过充分训练的宽ResNet-28-10模型的平均验证精度,作为训练中使用的子策略数量的函数。我们从500个好的子策略池中随机选择子策略集,并用每个子策略集训练200个批次的Wide-ResNet-28-10模型。对于每个集合大小,我们对子策略进行了五次不同的采样,以获得更好的统计数据。该模型的训练细节与上述在CIFAR-10上训练的Wide-ResNet-28-10相同。图4显示了验证集的平均准确度与训练中使用的子策略数量的函数关系,证实了验证准确度随着子策略的增加而提高,最多可达约20个子策略。
图4:在CIFAR-10上训练的Wide ResNet-28-10的验证错误(平均5次以上)与使用AutoAugment进行训练时使用的随机选择子策略(500个良好子策略中的一个)的数量有关。条形图表示每个数字的有效误差范围。
将增强策略中的概率和大小随机化:我们在CIFAR-10上采用自动增强策略,并将概率和大小随机化其中的每个操作。我们使用与之前相同的训练程序,针对随机概率和大小的20个不同实例训练Wide-ResNet-28-10【67】。我们发现平均误差为3.0%(标准偏差为0.1%),比原始自动增强策略的结果差0.4%(见表2)。
随机策略的性能:接下来,我们将整个策略、操作以及概率和大小随机化。该实验平均20次,平均准确率为3.1%(标准偏差为0.1%),比仅随机概率和大小略差。最佳随机策略实现的误差为3.0%(平均超过5次独立运行)。这表明,即使使用随机抽样策略进行自动评估,也会带来明显的改善。
消融实验表明,即使是从我们的搜索空间中随机抽样的数据评估策略也可以使CIFAR-10比基线增强策略有所改进。然而,随机策略的改善程度低于自动增强策略(错误率分别为2.6%±0.1%和3.0%±0.1%)。此外,在自动增强策略中学习到的概率和幅度信息似乎很重要,因为当这些参数随机化时,其有效性会显著降低。我们再次强调,为了方便起见,我们使用RL训练控制器,也可以使用增强随机搜索和进化策略。本文的主要贡献在于我们的数据扩充方法和搜索空间的构建;不适用于离散优化方法。