NeurIPS 2020 | AWS Auto-Aug: 利用权重共享思想的新型自动数据增强方法解读

导读:在NeurIPS 2020上,商汤研究院工具链的搜索和决策团队提出了一项基于权重共享的新型自动数据增强方法。该工作以多项有启发性的实验现象为动机,第一次从权重共享角度思考自动数据增强,实现了既高效又有效的增强策略搜索算法。该方法在多个图像分类数据集上取得了优秀的表现,尤其在CIFAR-10数据集上刷新了当时的SOTA性能。

论文名称:Improving Auto-Augment via Augmentation-Wise Weight Sharing

背景与挑战

数据增强是深度学习中被广泛运用的一项正则化技术,其被用于提升数据分布的多样性。例如对图像数据,常用的操作有仿射变换、调整色相/饱和度/曝光、锐化等。最近一些自动数据增强算法被提出,其旨在自动搜索一些数据增强策略(通常可表示为各个操作的概率分布),使得在这些策略下进行训练的模型可以得到更好的性能表现。这些自动算法已经取得了显著的成果,在许多任务上远远超过了人工设计的增强策略。然而,这项技术仍然存在挑战:

1.速度:一个最直接的搜索方式是每次从头训练模型,以其最终的验证集性能为指标来评估增强策略并更新。这需要成千上万次的反复训练,开销巨大。只有Google最早的自动数据增强[1] 使用了这样的搜索方式。我们把这个搜索方式称为“原始任务”。

2.可靠性:后续许多自动增强算法选择牺牲可靠性来换取效率。这些算法大都采用了迭代近似的思想,设计了一项“代理任务”代替“原始任务”,即:只完整地训练一次模型;每隔一个或数个模型优化迭代步数,就选择一次指标来评估、更新数据增强策略。然而最近一些神经网络架构搜索(NAS)的工作指出,对训练早期的模型进行评估往往是不准确的(早期表现优秀的模型,在后期不一定仍然优秀)。这在我们的实验中也得到了验证。如下图,不同数据增强策略下的模型,在训练过程中的相对排名变化很大。

一个更理想的自动数据增强算法需要同时兼顾效率与可靠性。为实现这一点,我们观察了带有数据增强的训练过程。通过发现的一些性质,同时借由NAS领域的权重共享策略,我们提出了一种新型自动数据增强算法。

动机

1.数据增强的性质

我们不妨先从另一项正则化手段入手:早停(Early Stopping),即在验证集误差开始显著上升时停止训练。早停非常符合直觉,其也许能体现过拟合带来的负面影响往往是在后期才显露出来的。因此,我们猜想数据增强也有类似性质:数据增强主要是在后期提升模型的泛化能力。为了验证这一点,我们在CIFAR10上使用Google AutoAug [1]对ResNet18在不同阶段进行了数据增强。即:我们始终训练300轮(epoch)模型,但只在开头或结尾的Naug轮里进行数据增强。结果如下图,蓝色实线代表在开头数个轮次的训练中带有数据增强,橙色虚线代表在末尾数个轮次的训练中带有数据增强。例如图中标出的蓝点表示在第1至第75个轮次里使用了数据增强,而在第76至第300个轮次里未使用。

由图可见数据增强确实在后期作用更加显著。例如均只在x轮采用数据增强,那么将x轮放在训练后期比放在前期会带来更大的提升;同时,为了达到相同的精度,在后期进行增强相比在前期进行增强,需要的轮数更少。

2.权重共享的思想

既然数据增强在后期更加重要,我们大可利用这一点,尝试将前期不太重要的阶段“共享”起来,只聚焦在后期进行评估和搜索,来达到提升效率的目的。受NAS中权重共享思想的启发,我们提出了一个新的“代理任务”,它把模型的训练过程分为前期、后期两阶段。在前期,模型会在一个“共享策略”的增强下进行训练,得到“共享权重”;在后期我们才真正进行策略评估和搜索,模型会在当前正在被搜索的策略的增强下进行训练,得到最终的验证集性能并用于更新策略。

方法介绍

1.问题建模与搜索算法

自动数据增强旨在自动搜索能使验证集性能最好的数据增强策略。原始任务需要反复从头训练模型,并以最终验证集准确度作为评估指标。这是一个典型的双层优化问题(ω表示分类器模型的权重,θ表示自动数据增强策略的权重):

直接求解双层优化问题会非常耗时。而对于我们的分阶段代理任务,在早期我们会选取一个能够代表各种策略的共享策略,在其增强下训练一个共享的模型权重

在后期我们则会让分类器模型继承早期的共享权重,进行fine-tune和策略搜索
由于早期训练使用的策略是共享策略,与搜索过程完全解耦,因此共享权重只需训练一次即可用于后续的全部搜索,显著提升了搜索效率。我们将这一权重共享思想称为“Augmentation-wiseWeight Sharing”。

于是当前问题转化为:如何选取具有代表性的共享策略?经过推导发现,一个均匀分布下的策略,可以使单独训练和共享训练的增强操作采样分布之间的KL散度最小。至此,我们便可以得到完整的AWS Auto-Aug搜索算法:

2.搜索空间与搜索策略

为了与先前工作进行更公平的对比,我们选择了与其几乎一致的搜索空间(我们甚至在搜索空间中去掉了更强大的增强操作:Cutout与Sample Pairing)。对于搜索策略,由于我们提出的方法是通用的,任何启发式搜索算法均适用。实验中我们发现PPO强化学习算法(也是Google AutoAug使用的算法)已经有了足够好的表现。

实验结果

1.表现对比

我们在3个最主流的图像分类数据集和4个主流模型上进了算法表现对比。结果如下,在各数据集、各模型上我们均取得了最优表现;尤其是在未使用额外数据的CIFAR-10上,在我们搜索得到的数据增强策略下,PyramidNet取得了新的SOTA性能(旧的SOTA性能为Adv. AA [2] 策略下的PyramidNet):
2.时间开销对比

我们以OHL AutoAug [3] 的时间开销为基准(1x),以WideResNet-28x10在CIFAR-10上使用Cutout的错误率为基准(0%),对比各方法的时间开销和相对误差降低如下。可见我们的方法在可接受的计算量内取得了很好的表现。
3.代理任务可靠性对比

为了验证我们所选择代理任务相比其他代理任务的高可靠性,我们计算了在搜索过程中取得的准确度和最终准确度的相关性,结果如图所示:
4.消融实验

为了验证我们搜索得到的策略的有效性,我们将我们的策略和Google AutoAug的策略中概率最高的增强操作逐个去除,并观察性能的变化。结果如下表所示,可见我们搜索得到的策略确实更有效。
5.搜索过程展示

最后,我们还展示了我们的策略分布在整个搜索过程中的变化。如下图所示(左右分别对应CIFAR-10、ImageNet),增强操作在最初均为均匀分布(图中做了平滑);随着搜索进程推进,多数操作的概率开始趋向0,而为数不多的数个操作的概率则不断增大,体现出分化的过程。

结语

在这项工作中我们提出了一种利用权重共享思想的新型自动数据增强方法。该方法很好地解决了自动数据增强的评估效率与评估可靠性之间的矛盾问题,充足的实验结果也验证了其的高效性和有效性。最后,我们还期待这项工作中的现象或蕴含的思想能够对更多的超参数优化工作带来帮助和启发。如果您希望作进一步讨论,欢迎与我们联系:tiankeyu.00@gmail.com。

References

[1] Cubuk, Ekin D., et al. "Autoaugment: Learning augmentation policies from data." arXiv preprint arXiv:1805.09501 (2018).
[2] Zhang, Xinyu, et al. "Adversarial autoaugment." arXiv preprint arXiv:1912.11188 (2019).
[3] Lin, Chen, et al. "Online hyper-parameter learning for auto-augmentation strategy."Proceedings of the IEEE International Conference on Computer Vision. 2019.

AMiner学术头条
AMiner学术头条

AMiner平台由清华大学计算机系研发,拥有我国完全自主知识产权。系统2006年上线,吸引了全球220个国家/地区800多万独立IP访问,数据下载量230万次,年度访问量1000万,成为学术搜索和社会网络挖掘研究的重要数据和实验平台。

https://www.aminer.cn/
专栏二维码
理论NeurIPS 2020数据增强
1
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

超参数优化技术

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

概率分布技术

概率分布(probability distribution)或简称分布,是概率论的一个概念。广义地,它指称随机变量的概率性质--当我们说概率空间中的两个随机变量具有同样的分布(或同分布)时,我们是无法用概率来区别它们的。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

验证集技术

验证数据集是用于调整分类器超参数(即模型结构)的一组数据集,它有时也被称为开发集(dev set)。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

启发式搜索技术

计算机科学的两大基础目标,就是发现可证明其运行效率良好且可得最佳解或次佳解的算法。而启发式算法则试图一次提供一个或全部目标。例如它常能发现很不错的解,但也没办法证明它不会得到较坏的解;它通常可在合理时间解出答案,但也没办法知道它是否每次都可以这样的速度求解。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

策略搜索技术

策略搜索是强化学习中的一个子领域,其重点是为给定的策略找到合适的表示参数。它非常适合机器人学,因为它可以处理高维状态和动作空间这类机器人学习中的主要挑战。

图像分类技术

图像分类,根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法。它利用计算机对图像进行定量分析,把图像或图像中的每个像元或区域划归为若干个类别中的某一种,以代替人的视觉判读。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

模型优化技术

像卷积神经网络(CNN)这样的深度学习模型具有大量的参数;实际上,我们可以调用这些超参数,因为它们原本在模型中并没有被优化。你可以网格搜索这些超参数的最优值,但需要大量硬件计算和时间。改进模型的最佳方法之一是基于在你的领域进行过深入研究的专家的设计和体系结构,他们通常拥有强大的硬件可供使用。常见的简单模型优化技巧包括迁移学习、dropout、学习率调整等

仿射变换技术

仿射变换,又称仿射映射,是指在几何中,一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间。 一个对向量平移,与旋转放大缩小的仿射映射为 上式在齐次坐标上,等价于下面的式子 在分形的研究里,收缩平移仿射映射可以制造制具有自相似性的分形

推荐文章
暂无评论
暂无评论~