Geek AI 路参与

谷歌大脑提出自动数据增强方法AutoAugment:可迁移至不同数据集

近日,来自谷歌大脑的研究者在 arXiv 上发表论文,提出一种自动搜索合适数据增强策略的方法 AutoAugment,该方法创建一个数据增强策略的搜索空间,利用搜索算法选取适合特定数据集的数据增强策略。此外,从一个数据集中学到的策略能够很好地迁移到其它相似的数据集上。

引言

深度神经网络是强大的机器学习系统,当使用海量数据训练时,深度神经网络往往能很好地工作。数据增强是一种通过随机「增广」来提高数据量和数据多样性的策略 [1-3]。在图像领域,常见的数据增强技术包括将图像平移几个像素,或者水平翻转图像。直观来看,数据增强被用来为模型引入数据域中的不变性:目标分类通常对水平翻转或平移是不敏感的。网络架构也可以被用于对不变性进行硬编码:卷积神经网络适用于平移不变性 [3-6],而物理模型适用于平移、旋转和原子排列的不变性 [7-12]。然而,使用数据增强技术来表达潜在的不变性比直接将不变性硬编码到模型中更简单。

然而,机器学习计算机视觉社区的一个大的关注点是设计出更好的网络架构(例如 [13-21])。人们较少将精力放在寻找引入更多不变性的更好的数据增强方法上。例如,在 ImageNet 上,Alex 等人 [3] 在 2012 年引入的数据增强方法仍然是现在的标准操作,仅有微小的改变。即使对特定数据集找到了数据增强的改进方法,这些方法通常也不能有效地迁移到其他的数据集上。例如,在训练期间对图像进行水平翻转在 CIFAR-10 数据集上是一个有效的数据增强方法,但是在 MNIST 上并不奏效,这是因为这些数据集中出现的对称性不同。最近,对自动学习到的数据增强技术的需求发展成为一个重要的待解决问题 [22]。

在本论文中,作者旨在实现为目标数据集寻找有效数据增强策略的自动化过程。在本文第三节的实现中,每个策略都表示一些可能的数据增强操作的选项和顺序,其中每一个操作是图像处理函数(例如,平移、旋转或色彩归一化),及应用该函数的概率和幅度(magnitude)。作者使用一种搜索算法寻找这些操作的最佳选项和顺序,以使这样训练出的神经网络能获得最佳的验证准确率。在本文的实验中,作者使用增强学习 [23] 作为搜索算法,但是作者认为如果使用更好的算法 [21,24],结果可以得到进一步改进。

作者提出的方法在 CIFAR-10、简化的 CIFAR-10、CIFAR-100、SVHN、简化的 SVHN,以及 ImageNet(不添加额外数据)等数据集上取得了目前最高的准确率。在 CIFAR-10 上的误差率为 1.48%,比之前最先进的模型 [21] 的误差率低 0.65%。在 SVHN 上,作者将目前最低的误差率从 1.30% [25] 降低到了 1.02%。在简化数据集上,本文提出的方法取得了和不使用任何非标注数据的半监督方法相当的性能。在 ImageNet 数据集上,作者提出的方法达到了 83.54% 的 Top-1 准确率。最后,作者展示了在一个任务中找到的策略可以很好地泛化到不同的模型和数据集上。例如,在 ImageNet 上发现的策略能在各种各样的 FGVC 数据集上带来显著的性能提升。即使在那些对在 ImageNet 上预训练好的权重进行调优也帮助不大的数据集上 [26],例如 Stanford Cars [27] 和 FGVC Aircraft [28],使用 ImageNet 上的策略训练可以分别减少 1.16% 和 1.76% 的误差率。这一结果表明迁移数据增强策略为迁移学习提供了一种新的可选方案。

AutoAugment

作者将寻找最佳数据增强策略的问题形式化为一个离散搜索问题。在搜索空间中,一个策略由 5 个子策略组成,每个子策略又包含依次被应用的两个图像处理操作,每个操作也都和两个超参数相关:1)应用操作的概率 2)操作的幅度。

图 1 展示了在搜索空间中的一个包含 5 个子策略的策略示例。第一个子策略指定了依次进行对 X 坐标的剪切(ShearX)和图像翻转操作(Invert)。应用 ShearX 操作的概率是 0.9,并且当应用这个操作时,其幅度为十分之七。接着,作者以 0.8 的概率应用 Invert 操作,该操作不使用幅度信息。作者强调这些操作需要按照指定顺序执行。

图 1:在 SVHN 上发现的一个策略,以及如何使用它在给定用于训练神经网络的原始图像的条件下来生成增强后的数据。这个策略包含 5 个子策略。对于小批量中的每一张图像,作者均匀地随机选取一个子策略去生成一张变换后的图像来训练神经网络。每个子策略由两个操作组成,每个操作都与两个数值相关联:调用操作的概率、操作的幅度。由于存在调用操作的概率,因此该操作在这个小批量中可能不被应用。然而,如果它被应用了,这个应用的幅度就是固定的。作者通过展示即使使用相同的子策略,一个示例图片能够在不同的小批量中被不同地变换,强调了应用子策略的随机性。正如文中所解释的,在 SVHN 上,AutoAugment 更常采取几何变换措施。我们可以从中看出为什么翻转(Invert)在 SVHN 上是一个被普遍选择的操作,因为图像中的数字在这种变换下具有不变性。

表 1:在 CIFAR-10 上的测试集误差率(%)。此误差率越低越好。本文的实验复现了所有基线模型和带 Cutout 的基线模型结果,并且与之前报告的结果 [25,56,58,59] 相匹配。只有 Shake-Shake(26 2x112d)网络例外,该网络比 [58] 中最大的模型拥有更多的滤波器——112 vs 96,而且结果也与之前论文中报告的不同。请注意,在简化的 CIFAR-10 上找到了最好的策略。

表 2:在 CIFAR-100 上的测试集误差率(%)。本文的实验复现了 Wide-ResNet 和 ShakeDrop 的基线模型和 Cutout 模型结果,并且与之前报告的结果 [25,59] 相匹配。请注意,在简化 CIFAR-10 上找到了最佳的策略。

图 2:在 ImageNet 上一个成功的数据增强策略。如文中所描述的,大多数在 ImageNet 上建立的策略使用了基于色彩的转换。

论文:AutoAugment: Learning Augmentation Policies from Data

论文链接:https://arxiv.org/abs/1805.09501

摘要:在本论文中,我们进一步研究了用于图像的数据增强技术,并提出了一个名为「AutoAugment」的简单过程,用来搜索改进的数据增强策略。本文主要的观点是创建一个数据增强策略的搜索空间,直接在感兴趣的数据集上评估特定策略的质量。在「AutoAugment」的实现过程中,我们设计了一个搜索空间,该搜索空间中的一个策略包含了许多子策略,我们为每个小批量(mini-batch)中的每张图像随机选择一个子策略。每个子策略由两个操作组成,每个操作都是类似于平移、旋转或剪切的图像处理函数,以及应用这些函数的概率和幅度(magnitude)。我们使用搜索算法来寻找最佳策略,这样神经网络就能在目标数据集上获得最高的验证准确率。我们的方法在 CIFAR-10、CIFAR-100、SVHN 和 ImageNet 上取得了目前最高的准确率(在不加入额外数据的情况下)。在 ImageNet 上,我们取得了 83.54% 的 Top-1 准确率。在 CIFAR-10 上,我们取得了 1.48% 的误差率,比之前最佳模型的误差率低 0.65%。在简化数据集上,AutoAugment 的性能与不使用任何非标注样本的半监督学习方法相当。最后,从一个数据集中学到的策略能够被很好地迁移到其它相似的数据集上。例如,在 ImageNet 上学到的策略能够让我们在细粒度视觉分类数据集 Stanford Cars 上取得目前最高的准确率,并且不用在额外的数据上对预训练的权重进行调优。

理论谷歌大脑数据增强
1
相关数据
神经网络技术
Neural Network

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

深度神经网络技术
Deep neural network

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

计算机视觉技术
Computer Vision

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

卷积神经网络技术
Convolutional neural network

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

超参数技术
Hyperparameter

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

图像处理技术
Image processing

图像处理是指对图像进行分析、加工、和处理,使其满足视觉、心理或其他要求的技术。 图像处理是信号处理在图像领域上的一个应用。 目前大多数的图像均是以数字形式存储,因而图像处理很多情况下指数字图像处理。

机器学习技术
Machine Learning

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

半监督学习技术
Semi-Supervised Learning

半监督学习属于无监督学习(没有任何标记的训练数据)和监督学习(完全标记的训练数据)之间。许多机器学习研究人员发现,将未标记数据与少量标记数据结合使用可以显着提高学习准确性。对于学习问题的标记数据的获取通常需要熟练的人类代理(例如转录音频片段)或物理实验(例如,确定蛋白质的3D结构或确定在特定位置处是否存在油)。因此与标签处理相关的成本可能使得完全标注的训练集不可行,而获取未标记的数据相对便宜。在这种情况下,半监督学习可能具有很大的实用价值。半监督学习对机器学习也是理论上的兴趣,也是人类学习的典范。

迁移学习技术
Transfer learning

迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都是为了解决单个任务而设计的,但是促进迁移学习的算法的开发是机器学习社区持续关注的话题。 迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

权重技术
Weight

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

分类数据技术
categorical data

一种特征,拥有一组离散的可能值。以某个名为 house style 的分类特征为例,该特征拥有一组离散的可能值(共三个),即 Tudor, ranch, colonial。通过将 house style 表示成分类数据,相应模型可以学习 Tudor、ranch 和 colonial 分别对房价的影响。 有时,离散集中的值是互斥的,只能将其中一个值应用于指定样本。例如,car maker 分类特征可能只允许一个样本有一个值 (Toyota)。在其他情况下,则可以应用多个值。一辆车可能会被喷涂多种不同的颜色,因此,car color 分类特征可能会允许单个样本具有多个值(例如 red 和 white)。

准确率技术
Accuracy

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

机器之心
机器之心

机器之心是国内领先的前沿科技媒体和产业服务平台,关注人工智能、机器人和神经认知科学,坚持为从业者提供高质量内容和多项产业服务。

返回顶部