Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

Sharon Y. Li作者Panda编译

自动化数据增强:实践、理论和新方向

对当今需要大量数据的机器学习模型而言,数据增强是一种具有显著价值的技术——既可用于缓解数据量不足的问题,也可用于提升模型的稳健性。常规的数据增强技术往往依赖相关领域的专家,耗时耗力成本高昂,因此研究者开始探索自动化数据增强技术。近日,斯坦福大学 AI 实验室(SAIL)发表了一篇题为《自动化数据增强:实践、理论和新方向》的博客文章,介绍了这一领域及近期的相关研究进展。

图像分类文本分类等应用中,当今使用的几乎所有表现最好的机器学习模型几乎都会用到数据增强技术。启发式的数据增强方案往往需要依靠具有丰富领域知识的人类专家进行人工调整,但这可能导致所得到的增强方案是次优的。本文将概述性地介绍数据增强研究领域近期的研究成果,包括用于自动化搜索变换函数的过程的新算法、帮助我们理解实践中常用的多种增强技术的理论见解、一种利用数据增强修补有缺陷模型并提升其在数据的关键子集上的表现的新框架。

为什么要使用数据增强?

深度神经网络等现代机器学习模型的参数量可能多达数十亿,并且还需要大量有标注的训练数据——但这些数据往往难以获取。针对数据稀缺的问题,人们正越来越多地使用数据增强技术,即人为扩展有标注训练数据集的技术。现如今,几乎所有最先进的图像分类模型都会使用数据增强,而且这类技术在自然语言理解等其它研究方向也正得到愈加广泛的应用。本文的目的是概括性地介绍这一激动人心的研究领域的近期研究成果。

图 1:启发式数据增强会应用一个明确确定的变换函数序列,而这些函数和序列是由人类专家设计调整的。数据经过增强后,可用于训练下游模型。

启发式数据增强方案往往需要组合使用一组简单的变换函数(TF),比如旋转和翻转(见图 1)。由人类专家精心选取的数据增强方案可以为模型的表现带来提升。但在实践中,这样的启发式策略可能导致最终模型的表现差异巨大,由此可能无法为当前最佳的模型提供所需的增强。


数据增强领域有待解决的难题

常规数据增强方法的局限性表明这一领域还存在很大的研究进步空间。下面总结了数据增强领域一些具有挑战性的难题:

  • 从人工设计到自动搜索算法:不同于执行次优的人工搜索,我们要如何设计可学习的算法来寻找优于人类设计的启发式方法的增强策略?

  • 从实践到理论理解:尽管在实际应用中增强技术的设计研发进展速度很快,但由于缺乏分析工具,我们仍然难以理解这类技术的好处。该如何从理论上理解实践中使用的各种数据增强技术?

  • 从粗粒度到细粒度的模型质量保证:尽管现有的大多数数据增强方法的关注重点都是提升模型的整体性能,但通常还需在更细的粒度上关注数据的关键子集。当模型在数据的重要子集上的预测结果不一致时,我们该如何利用数据增强来缩减在相关指标上的表现差距?


本文将介绍为了克服上述难题而提出的新思想和近期研究成果。

实际应用的可学习数据增强方法

可学习数据增强很有发展潜力——让我们可以搜索更强大的参数化方法和变换函数的组成成分。在使用自动化数据增强方面,最大的难题也许是如何在变换空间上执行搜索。由于这个搜索空间中变换函数及相关参数的数量非常庞大,因此根本无法实现完全搜索。为了有效且高效地探索变换函数空间以及寻找表现优于人类设计的启发式方法的增强策略,我们该如何设计可学习的算法?针对这一难题,近期出现了下列一些方法。

TANDA:用于数据增强的变换对抗网络

为了解决这一难题,Ratner et al. 在 2017 年提出了 TANDA,这个用于学习增强策略的框架采用的方法是将数据增强过程建模为用户所提供的变换函数(TF)序列。举个例子,这些变换函数可能包括「旋转 5°」或「平移 2 个像素」。

究其核心,该框架由两个组件构成:(1)学习一个用于产生有用的增强数据点的变换函数序列生成器;(2)使用该序列生成器增强用于下游模型的训练集。尤其需要说明的是,该变换函数生成器基于 GAN 框架(Goodfellow et al. 2014),其训练目标是让生成的图像看起来足够真实,使之能骗过一个判别器网络。这里的基本假设是:这些变换要么会得到看起来像真的一样的图像,要么就会得到看起来不同于真实图像但判别器却无法区分的垃圾图像。如图 2 所示,生成器的目标是产生一个变换函数序列,并使得增强得到的数据点能够骗过判别器;而判别器的目标则是让原始训练集中的数据点得到接近 1 的值,让增强得到的数据点得到接近 0 的值。

图 2:使用 TANDA 实现自动化数据增强(Ratner et al.2017)。这里采用了对抗式方法训练变换函数序列生成器,以得到与训练数据相比足够真实的增强数据。

AutoAugment 与进一步改进

谷歌的 Cubuk et al. 于 2018 年开发了一种自动增强技术 AutoAugment,它也使用了相似的框架,并且学习到的增强策略达到了当前最佳表现。在这项研究中,变换函数序列生成器的学习目标是直接优化最终模型的验证准确度。为了降低 AutoAugment 的计算成本,之后又有研究者提出了一些新改进,包括 RandAugment(Cubuk et al. 2019)和 Adversarial AutoAugment(Zhang et al. 2019),它们在图像分类基准上创造了新的当前最佳(SOTA)。

对数据增强的理论理解

尽管在实际应用中数据增强技术的设计研发进展速度很快,但我们还是难以精准理解这类技术的好处。即使是更简单的模型,我们也不能很好地理解在增强数据上训练会如何影响学习过程、参数和决策表面。不仅如此,由于现代机器学习流程中执行数据增强的方式多种多样,而且还涉及不同的任务和领域,因此理解这一过程的问题的实际难度还要更上一层楼,也就更难获得普适的变换模型了。为了从理论上描述和理解实践中使用的各种数据增强技术,我们应该怎么做?为了解决这一难题,斯坦福大学的 SAIL 实验室从核(kernel)角度并在简化的线性设置下对数据增强进行了理论研究。

作为核(kernel)的数据增强

Dao et al. 2019 开发了一种理论框架,该框架将数据增强建模为了马尔可夫链(Markov Chain),通过一个变换函数的随机序列来执行增强,这类似于实际应用的数据增强执行方式。研究表明,在训练数据集上应用马尔可夫链(结合使用一个 k - 最近邻分类器)的效果类似于使用核分类器(kernel classifier),其中核是基础变换的一个函数。

基于核理论和数据增强之间的联系,Dao et al. 2019 表明在增强数据上的核分类器可近似地分解为两个组件:(1)经过变换的特征的一个平均化版本;(2)一个数据依赖型的方差正则化项。这暗含了一个对数据增强的更细致的解释——即可通过同时引入不变性和降低模型复杂度来提升泛化能力。Dao et al. 2019 通过实验验证了这种近似方法的质量,并给出了其与其它提升泛化能力的技术的关系,包括在不变学习方面的研究(van der Wilk et al. 2018)以及在稳健优化方面的进展(robust optimization)。

在简化的线性设置下的数据增强

以上研究有一个局限,即难以确定在所得到的核上的特定变换的效果。此外,我们还不清楚如何在核方法上有效地应用数据增强以得到与神经网络相当的性能。斯坦福大学 SAIL 在更近期的一项研究中考虑了一种更简单的线性设置,其可以建模图像增强领域常用的各种各样的线性变换,如图 3 所示。

理论见解。通过思考一种过参数化的线性模型(其中训练数据处于一个低维空间中),SAIL 得到了一些理论见解。研究表明,标签不变的变换可以为训练数据添加新的信息,而通过添加位于训练数据范围外的新数据点,可以降低岭估计器的估计误差。此外,他们还发现混合(Zhang et al., 2017)可通过在训练数据上缩减训练数据相对于 L2 正则化项的权重来发挥正则化的作用。

图 3:数据增强中常用的线性变换示意图

理论启发带来了新的当前最佳。SAIL 的理论研究得到的一大见解是:不同的变换(及变换的组合)会得到非常不同的最终性能表现。基于这一观察,可知道某些特定的变换事实上要优于另一些。在此基础上,SAIL 提出一种基于不确定性的随机采样方案,即在变换之后的数据点中,选取那些损失最高的数据点,即那些「能提供最多信息的数据点」(见图 4)。相比于 RandAugment,通过在三个不同的 CNN 架构上研究发现,这种采样方案可通过寻找更有用的变换来实现更高的准确度,这也帮助对应的模型达到了常用基准的当前最佳水平。比如,使用 Wide-ResNet-28-10 时,新方法在 CIFAR-10 上比 RandAugment 优 0.59%,在 CIFAR-100 上比 RandAugment 优 1.24%。这项研究的论文:http://stanford.edu/~senwu/publications/data_augmentation_draft.pdf 。相关代码也将会发布。

图 4:用于数据增强的基于不确定性的随机采样方案。每个变换函数都是从一个预先指定的操作集合中随机采样得到的。这里选取变换后损失最高的数据点来进行最终的模型训练。

新方向:用于模型修补的数据增强

当前大多数机器学习研究都仍然是为了解决固定的任务。但是,在现实世界中,部署中的机器学习模型可能会因数据分布中出现意料之外的变化而发生故障。这会导致一个令人担忧的问题,即该怎样合适地实现从模型构建到模型维护的过渡?SAIL 在他们最新的一项研究中提出了模型修补(model patching)——这是首个利用数据增强来缓解部署中有缺陷模型的性能问题的框架。

模型修补的一个医疗用例

下面提供一个具体的案例。在皮肤癌检测任务上,研究已经表明标准分类器在皮肤癌数据的两个子分组上的表现差异极大,这是由于分类器会将彩色绷带与良性图像关联起来(见图 5 左图)。SAIL 的另一项研究(Oakden-Rayner et al., 2019)已经研究过这种性能差异,并指出原因是分类器依赖于子分组中特定的特征,比如彩色绷带。

图 5:在一个皮肤癌数据集上训练的一个标准模型在有或无彩色绷带的恶性肿瘤图像上表现出了子分组性能差异。GradCAM 说明基础模型会将彩色斑点与良性皮肤病变错误地关联起来。使用了模型修补之后,两个子分组的恶性病变都能被正确地预测出来。

为了修补已部署模型中的这种缺陷,领域专家必须通过人工数据清理来消除子分组之间的差异,比如使用 Photoshop 移除皮肤癌数据上的标记(Winkler et al. 2019),然后使用修改后的数据重新训练模型。这做起来超级累人!我们能通过某种方法以规定的方式借助样本增强来实现各子分组数据量的平衡吗?SAIL 提出的模型修补新框架就是通过这种方法来解决这一问题的。

CLAMP:用于模型修补的类条件学习增强

模型修补的概念框架由两个阶段构成(如图 6 所示):

  • 学习不同子分组之间的子分组间变换。这些变换是保留了类别的映射,允许从语义上改变数据点的子分组身份(比如,添加或移除彩色绷带)。

  • 重新训练以使用增强后的数据修补模型,促进分类器稳健地应对数据的变化。

图 6:使用数据增强的模型修补框架。突出标示的框包含的样本中某个类别的子分组 A 和子分组 B 的表现不一样。条件生成模型在经过训练之后可将一个子分组的数据转换到另一个子分组(A→B 或 B→A)。

SAIL 提出的 CLAMP 是其提出的首个端到端模型修补框架的一种实例。其中组合使用了一种全新的一致性正则化器与一个稳健型训练目标;这个训练目标的灵感来自近期的分组分布的稳健型优化(GDRO,Sagawa et al. 2019)。SAIL 将 GDRO 扩展成了一种类别条件式的训练目标,其可联合优化每个类别中最差的子分组的性能。CLAMP 可以平衡每个类别中子分组的性能表现,可将性能差距降低至原来的 1/24。在皮肤癌检测数据集 ISIC 上,相比于稳健训练基准,CLAMP 将稳健准确度提升了 11.7%。在图 5 的可视化中还可以看到,CLAMP 可以成功去除模型对假特征的依赖(彩色绷带),而将注意力放在皮肤病变上——这才是真正的相关特征。

结果表明这种模型修补框架是自动化模型维护过程的一个很有潜力的研究方向。事实上,模型修补正发展成为一个最新的突破性领域,对于安全性至关重要的系统,这种方法能缓解一些重大问题;比如对于医疗系统,可帮助模型生成没有伪影的 MRI 扫描图像;对于自动驾驶系统,可提升感知模型在非常规物体或路况上的表现。SAIL 预计模型修补将在许多其它领域应用中得到广泛采用。

作者介绍:Sharon Y. Li目前在斯坦福人工智能实验室从事博士后研究工作。博士就读于康奈尔大学,曾师从图灵奖获得者约翰霍普克罗夫特教授。她将于今年秋季加入威斯康辛麦迪逊分校计算机系任职助理教授。她曾入选全美福布斯30岁以下精英人物榜单。

原文链接:https://ai.stanford.edu/blog/data-augmentation/

理论
11
相关数据
权重技术

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

机器学习技术

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

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

自然语言理解技术

自然语言理解是人工智能的核心课题之一,也被广泛认为是最困难和最具标志性的任务。最经典的两个人工智能思想实验——图灵测试和中文房间,都是围绕自然语言理解来构建的。自然语言理解在人工智能技术体系中的重要性不言而喻,它一方面承载着机器和人的交流,另一方面直达知识和逻辑。自然语言理解也是人工智能学者孜孜以求的圣杯,机器学习的巨擘 Michael I. Jordan 就曾经在 Reddit 上的 AMA(Ask Me Anything)栏目中畅想用十亿美元建立一个专门用于自然语言理解的实验室。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

基准技术

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

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

文本分类技术

该技术可被用于理解、组织和分类结构化或非结构化文本文档。文本挖掘所使用的模型有词袋(BOW)模型、语言模型(ngram)和主题模型。隐马尔可夫模型通常用于词性标注(POS)。其涵盖的主要任务有句法分析、情绪分析和垃圾信息检测。

数据清理技术

数据清理(data cleansing)指删除、更正数据库中错误、不完整、格式有误或多余的数据。数据清理不仅仅更正错误,同样加强来自各个单独信息系统不同数据间的一致性。专门的数据清理软件能够自动检测数据文件,更正错误数据,并用全企业一致的格式整合数据。

神经网络技术

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

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

正则化技术

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

图像增强技术

图像增强技术用于增强图像中的有用信息,它可以是一个失真的过程,其目的是要改善图像的视觉效果,针对给定图像的应用场合。它通过有目的地强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征,使之改善图像质量、丰富信息量,加强图像判读和识别效果,满足某些特殊分析的需要。

图像分类技术

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

深度神经网络技术

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

马尔可夫链技术

马尔可夫链,又称离散时间马尔可夫链,因俄国数学家安德烈·马尔可夫得名,为状态空间中经过从一个状态到另一个状态的转换的随机过程。该过程要求具备“无记忆”的性质:下一状态的概率分布只能由当前状态决定,在时间序列中它前面的事件均与之无关。这种特定类型的“无记忆性”称作马尔可夫性质。

推荐文章
CLAMP方法中,如果我不知道我的样本属于哪个subgroup,能用这个方法吗?