RandAugment

RandAugment

https://arxiv.org/pdf/1909.13719.pdf

最近的工作表明,数据增强有可能显著提高深度学习模型的泛化能力。最近,自动增强策略导致了图像分类和物体检测的最先进结果。虽然这些策略是为了提高验证精度而优化的,但它们也导致了半监督学习的最先进结果,并提高了对图像常见损坏的鲁棒性。大规模采用这些方法的一个障碍是单独的搜索阶段,这增加了训练的复杂性并可能大大增加计算成本。

此外,由于单独的搜索阶段,这些方法无法根据模型或数据集的大小来调整正则化强度。自动增强策略通常是通过在小数据集上训练小模型并随后应用于训练更大的模型来发现的。在这项工作中,我们消除了这两个障碍。RandAugment的搜索空间大大减少,这使得它可以在目标任务上进行训练,不需要单独的代理任务。此外,由于参数化,正则化的强度可以根据不同的模型和数据集大小进行调整。

RandAugment可以在不同的任务和数据集上统一使用,并且开箱即用,在CIFAR-10/100、SVHN和ImageNet上匹配或超越了之前所有的自动增强方法。在ImageNet数据集上,我们实现了85.0%的准确率,比之前最先进的方法提高了0.6%,比基线增强方法提高了1.0%。在物体检测方面,RandAugment比基线增强提高了1.0-1.3%,在COCO上比AutoAugment提高了0.3%mAP。最后,由于其可解释的超参数,RandAugment可用于研究不同模型和数据集大小下的数据增强的作用。代码可在线查阅。

在这里插入图片描述

表1. RandAugment与其他增强方法的预测性能相匹配,甚至超过了其他增强方法的预测性能,而搜索空间却大大减少。我们报告了在CIFAR-10[22]、SVHN[34]和ImageNet[6]分类任务中,AutoAugment(AA)[5]、Fast AutoAugment[25]、Population Based Augment(PBA)[20]和提议的RandAugment(RA)的搜索空间大小和测试精度。提出的架构包括PyramidNet[15]、Wide-ResNet-28-10[53]、ResNet-50[17]和EfficientNet-B7[47]。搜索空间大小以可能的增强策略数量的数量级来报告。所有的准确率都是交叉验证或测试分割上的百分比。破折号表示没有结果。

1. Introduction

尽管学习到的数据增强策略有很多好处,但计算要求以及两个单独的优化程序所增加的复杂性可能是令人望而却步的。神经结构搜索(NAS)的最初介绍实现了一个类似的场景,即双重优化程序带来了卓越的预测性能,但最初的实施被证明在复杂性和计算需求方面令人望而却步。随后的工作加速了训练效率和程序的功效[30, 38, 28, 29],最终使该方法可用于基于可微分过程的统一优化[30]。在学习增强的情况下,后续工作发现了更有效的搜索方法[20,25],但这些方法仍然需要单独的优化过程,这显著增加了训练机器学习模型的计算成本和复杂性。

自动数据增强的最初表述是假定在一个小的代理任务上进行单独的搜索,其结果可以转移到一个更大的目标任务上[59, 58]。这种提法提出了一个强有力的假设,即代理任务提供了对大任务的预测性指示[28, 2]。在学习数据增强的情况下,我们提供实验证据来挑战这一核心假设。特别是,我们证明了这种策略是次优的,因为增强的强度在很大程度上取决于模型和数据集的大小。这些结果表明,如果能够取消代理任务上的单独搜索阶段,改进数据增强是可能的

在这项工作中,我们提出了一种实用的自动数据增强方法–称为RandAugment–它不需要单独的搜索。为了取消单独的搜索,我们发现有必要大幅减少数据增强的搜索空间。参数空间的减少实际上是如此之大,以至于简单的网格搜索就足以找到一个数据增强策略,该策略优于所有采用单独搜索阶段的学习增强方法。我们的贡献可以总结为以下几点。

  • 我们证明,数据增强的最佳强度取决于模型大小和训练集大小。这一观察表明,在较小的代理任务上单独优化增强策略可能是学习和转移增强策略的次优选择。

  • 我们介绍了一个包含2个可解释的超参数的极大简化的数据增强搜索空间。人们可以采用简单的网格搜索来为模型和数据集定制增强策略,从而消除了对单独搜索过程的需求。

  • 利用这个公式,我们在CIFAR[22]、SVHN[34]和ImageNet[6]上展示了最先进的结果。在物体检测方面[27],我们的方法与最先进的方法相差0.3% mAP。在ImageNet上,我们达到了最先进的85.0%的准确率,比以前的方法增加了0.6%,比基线增强增加了1.0%。

RandAugment的一些发展是受到最近对数据增强策略搜索的改进的启发。例如,Population Based Augmentation(PBA)[20]发现,在训练过程中,最优的增强幅度会增加,这启发了我们不对每个转换的最优幅度进行搜索,而是有一个固定的幅度计划,我们在第3节中详细讨论。此外,Fast AutoAugment[25]的作者发现,为密度匹配(density matching)而训练的数据增强策略可以提高泛化精度,这启发了我们改进增强的一阶可微项(见第4.7节)。

在这里插入图片描述

3. Methods

RandAugment的主要目标是消除对代理任务中单独搜索阶段的需求。我们希望取消搜索阶段的原因是,单独的搜索阶段会使训练明显复杂化,而且计算成本很高。更重要的是,代理任务可能提供次优的结果(见第4.1节)。为了消除单独的搜索阶段,我们希望将数据增强策略的参数折叠到训练模型的超参数中。鉴于以前的学习增强方法包含30多个参数[5, 25, 20],我们专注于大大减少数据增强的参数空间。

以前的工作表明,学到的增强策略的主要好处来自于增加例子的多样性[5, 20, 25]。事实上,以前的工作列举了一个策略,即从K=14个可用的变换中选择应用哪些变换,以及应用每个变换的概率。

在这里插入图片描述

为了减少参数空间,但仍然保持图像的多样性,我们用一个无参数的程序来取代学习到的策略和应用每个变换的概率,即总是以统一的概率 1 / K 1/K 1/K选择一个变换。给定训练图像的N个变换,RandAugment可以表达 K N K^N KN个潜在的策略。

最后一组要考虑的参数是每个增强幅度的大小。继[5]之后,我们采用同样的线性尺度来表示每个变换的强度。简而言之,每个变换都驻留在一个从0到10的整数尺度上,其中10的值表示一个给定的变换的最大尺度。

一个数据增强策略包括为每个增强确定一个整数[5, 25, 20]。为了进一步减少参数空间,我们观察到每个变换的学习幅度在训练期间遵循类似的时间表(例如[20]中的图4),并假设 a single global distortion M可能足以为所有变换提供参数。我们在训练过程中对M的时间表进行了四种方法的实验:恒定幅度、随机幅度、线性增加的幅度和具有增加上限的随机幅度。这个实验的细节可以在附录A.1.1中找到。

由此产生的算法包含两个参数N和M,可以用两行Python代码简单表达(图2)。这两个参数都是可以解释的,如N和M的值越大,正则化的强度越大。可以采用标准的方法来有效地进行超参数优化[45, 14],但是鉴于搜索空间极小,我们发现简单的网格搜索已经足够(第4.1节)

在这里插入图片描述

图4. 当RandAugment中包含更多的转换时,平均性能得到提高。所有panels都报告了使用RandAugment训练的Wide-ResNet-28-2模型架构[53](N=3,M=4)的CIFAR-10验证精度中值,该模型使用随机抽样的转换子集。训练中不包括其他数据增强。误差条表示第30和第70百分位数(Error bars indicate 30th and 70th percentile)。(a) 随机抽样的转换子集的中位精度。(b) 有和没有Rotate transformation的子集的准确率中位数。© 有和没有translate-x变换的子集的准确率中位数。(d)有无posterize变换的子集的中位精度。虚线表示在没有任何增强的情况下训练的模型的准确性。

A.1.1 Magnitude methods

随机幅度是在两个值之间均匀地随机取样distortion幅度。恒定幅度在训练过程中把distortion幅度设定为一个恒定的数字。一个线性增加的幅度在训练期间将distortion幅度插在两个值之间。上限增加的随机幅度与随机幅度类似,但在训练过程中上限是线性增加的。在初步实验中,我们发现所有策略的效果都一样好。因此,我们选择了一个恒定的幅度,因为这个策略只包括一个超参数,我们在接下来的工作中采用了这个策略。我们尝试不同幅度策略的实验结果可以见于表7。

在这里插入图片描述

表7. 所有的幅度方法都在CIFAR10和Wide-ResNet-28-10上运行了200个epochs。报告的精度是在验证集上对该幅度方法的最佳超参数设置进行10次运行的平均值。所有搜索到的magnitude methods都尝试了48种不同的超参数设置。

4.1. Systematic failures of a separate proxy task

学习数据增强的一个前提是构建一个小型的代理任务,该任务可能反映了一个较大的任务[58,59,5]。虽然这一假设足以识别学习到的增强策略以提高性能[5,57,36,25,20],但尚不清楚这一假设是否过于严格,并可能导致数据增强策略的次优。
在这第一部分中,我们对以下假设提出质疑:用一个小型代理任务来表述问题适合用于学习数据的扩充。特别地,我们将从两个通常限制实现小型代理任务的独立维度来探讨这个问题:模型大小和数据集大小。

为了探索这一假设,我们系统地测量了数据增强策略对CIFAR-10的影响。首先,我们训练一个Wide-ResNet架构系列[53],其中模型的大小可以通过卷积核数量的拓宽参数进行系统性的改变。对于这些网络中的每一个,我们在cifar10上训练模型,并与使用默认数据增强(即flip left-right and random translations)训练的基线模型相比,测量最终的准确性。在从[0,30]2的统一线性尺度上参数化的global distortion magnitudes M范围内,使用额外的K=14数据增强(见方法)来训练Wide-ResNet模型.
在这里插入图片描述
图3. 最佳的增强幅度取决于模型的大小和训练集。所有结果都报告了Wide-ResNet模型架构的CIFAR-10验证精度[53],平均为20次随机初始化,其中N=1。(a) Wid-ResNet-28-2、Wide-ResNet-28-7和Wide-ResNet-28-10在不同失真程度下的准确度。模型在45K训练集的例子上训练了200个epoch。正方形表示达到最大精度的失真幅度。(b) 7个Wide-ResNet-28架构的最佳distortion magnitude,不同的拓宽参数(k)。© 三个训练集大小(1K、4K和10K)的Wide-ResNet-28-10在不同的distortion magnitude下的准确度。正方形表示达到最大精度的distortion magnitude。(d) 8个训练集大小的最佳distortion magnitude。虚线表示AutoAugment策略[5]中变形幅度的比例期望值。

图3a展示了三个Wide-ResNet模型在不断增加的distortion magnitude中训练出来的模型的相对准确率。方形表示达到最高精度的distortion magnitude。请注意,尽管存在测量噪声,图3a显示了不同distortion magnitude的系统趋势。特别是,将所有的Wide-ResNet架构与最佳distortion magnitude作对比,可以看出在网络规模增加的情况下有明显的单调趋势(图3b)。也就是说,更大的网络需要更大的数据distortion magnitude来实现正则化。图1强调了不同大小的模型的最佳distortion magnitude的视觉差异。相反,基于[5]的学习策略为所有架构提供了一个固定的distortion magnitude(图3b,虚线),这显然是次优的。

构建小型代理任务的第二个维度是在训练数据的一个小子集上训练该代理。图3c显示了在不同数量的CIFAR-10训练数据中,Wide-ResNet-28-10在不断增加的distortion magnitude中训练的相对精度增益。方形表示达到最高精度的distortion magnitude。请注意,尽管有测量噪音,图3c显示了不同失真程度的系统趋势。我们首先观察到,在较小的训练集上训练的模型可以从数据增强中获得更多的改进(例如,3.0%对图3c中的1.5%)。此外,我们看到,在更大的数据集上训练的模型的最佳distortion magnitude更大。乍一看,这可能不符合较小的数据集需要更强的正则化的期望。图3d表明,最佳distortion magnitude随着训练集的大小而单调地增加。这种反直觉行为的一个假设是,好的数据增强会导致小数据集的低信噪比。不管怎么说,这种趋势强调了在更大的数据集上增加数据增强强度的必要性,以及在由训练数据的一个子集组成的代理任务上优化所学的增强策略的缺点。 也就是说,学习到的增强可能会学习到更适合于代理任务的增强强度,而不是感兴趣的大任务。

增强强度对数据集和模型规模的依赖性表明,一个小的代理任务可能为一个大的任务的性能提供一个次优的指标。这个经验结果表明,为了找到一个最佳的数据增强政策,可能需要一个独特的策略。特别是,我们在这项工作中建议把重点放在模型权重和数据增强策略的统一优化上。图3表明,仅仅在所有的变换中寻找一个共同的distortion magnitude M,就可以提供足够的收益,超过所学的优化方法[5]。此外,我们看到,优化个别的幅度会进一步导致性能的轻微改善(见附录中的A.1.2节)。

此外,图3a和3c表明,仅仅对几个distortion magnitude进行采样就足以达到良好的效果。再加上第二个自由参数N,我们认为这些结果规定了一种学习增强策略的算法。在随后的章节中,我们通过最小网格搜索来确定两个自由参数N和M,指定RandAugment,并将这些结果与基于代理任务的计算量很大的学习数据增强进行比较。
在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值