Data Augmentation

自监督深度学习模型的精确性严重依赖于训练时数据的多样性和数据量。模型要想在更复杂任务上有较好的效果一般会有大量的隐藏单元。一般在训练过程中训练隐藏单元越多需要的数据越多,即任务复杂度与参数量与需要的数据量成正比。由于训练复杂任务时数据的缺乏,迁移学习往往被应用并取得较好的结果但是对于指定任务创建预训练模型依旧严峻。另一种解决数据不足问题的技术便是数据增强即通过在可用数据上转化合成新的数据。数据增强可用来解决训练数据的多样性和数据量的问题。

数据增强类型

数据增强技术依赖于数据的类型。对于常规的数字型数据,常见的技术包括SMOTE或者SMOTE NC等,这些技术在分类任务上可以就解释类别不平衡。对于非结构化的数据,根据数据类型和任务的不同有所不同。

图的数据增强

​这里我们专注于图层级的数据增强。给定M个图的数据集中的一个图G ∈ { G m : m ∈ M },我们可以构造满足以下条件的扩充图G:G∼q(G^∣G),其中q(⋅∣G) 是原始条件下的扩充分布,这事预先定义的,代表着数据分布的人类先验。例如,对于图像分类,旋转和裁剪的应用先对人们进行编码,然后人们将从旋转的图像或其局部补丁中获取相同的基于分类的语义知识。

​ 图数据集来自不同领域,较难获取图像中直观且通用的图数据增强方式。下图是本文总结的4种数据增强手段:
Data Augmentation_第1张图片

节点失活:随机从图中去除掉部分比例的节点来扰动G的完整性,每个节点的失活概率服从i.i.d的均匀分布;
边扰动:随机增加或删除一定比例的边来扰动G的连通性,每个边的增加或者删除的概率亦服从i.i.d的均匀分布;
属性屏蔽:随机去除部分节点的属性信息,迫使模型使用上下文信息来重新构建被屏蔽的顶点属性。
子图划分:使用随机游走的方式从G中提取子图的方法。

视觉中的图像增强

一些简单的转化包括对图像的一些集合转换如平移,旋转,剪切,拉伸;色值空间的转化如色彩丢弃,明暗变化,噪音注入等。
但是这种简单的转化可能会改变原图中几何结构或者光亮会丢失图像中目标的原始特征。因此引入基于深度学习的方法如GAN,神经风格迁移等。
对抗学习是把图像进行转化欺骗判别器的一种方式,简单来说就是给图片加入遮罩来生成不同的增强的图像
Data Augmentation_第2张图片

风格迁移是神经网络从一张图像中提取内容,从另一张图像中提风格然后将两种信息融合组成增强后的图像。比如,增强的图片像输入的图片但是绘制风格不同。
Data Augmentation_第3张图片

图像空间中的增强

  1. 几何增强,图像的翻转,裁剪,旋转平移等
  2. 色彩空间增强,锐化,白平衡,色彩抖动等改变图像的色彩空间

多样性数据增强

  1. mixup,将图片融合提供数据丰富性
  2. cutmix,将一部分区域剪裁掉用其他区域的数据进行随机填充
  3. mosaic,将图片随机裁剪在拼接成一张图作为训练数据

特征空间中的增强

由于是在特征空间做数据增强,所以不受输入数据类型的限制,对于图像、音频以及文本等数据具有通用性。
参考:On Feature Normalization and Data Augmentation(MoEx)

基于GAN的数据增强

使用GAN生成假数据来实现数据增强

基于NAS的数据增强

不同数据特征不同,不同的增强方法带来的收益也不同。让网络找到数据增强方法,自动搜索出合适的数据增强策略。
参考:AutoAugment: Searching for best Augmentation policies Directly on the Dataset of Interest

自然语言处理中的文本增强

一、条件增强,找到并替换句子中的同义词。但是会存在意思完全相反的情况即类别标记保留问题
二、非条件增强,使用预训练模型,数据预处理和扩展,类别标签被追加描述句子。差别在于在pretend中类别标签没有加入单词表在extend中加入了。
三、随机插入/交换/删除,对于文本分类任务较为高效。

回译(back translation)

基本流程是利用翻译模型将语种A的原始文本翻译为语种B的文本表达,最后再直接从语种B的形式翻译回语种A的文本表达,此文本即是原始文本增强后的文本。当然,可以采用一个或多种中间语种。
回译技术的有效性源于迁移学习,将翻译模型学到的关于语义,语法等知识转移到新生成的文本上。但是这里隐含一个先验即翻译模型对不同语种但语义相同的文本具有不变性或者输出近似。

随机词替换

同义词替换(SR):从句子中随机选择非停止词。用随机选择的同义词替换这些单词;
随机插入(RI):随机的找出句中某个不属于停用词集的词,并求出其随机的同义词,将该同义词插入句子的一个随机位置。重复n次;
随机交换(Random Swap, RS):随机的选择句中两个单词并交换它们的位置。重复n次;
随机删除(RD):以概率p随机删除句子中每个单词。

非核心词替换

为避免重要词被替换后而使文本质量受损,故用词典中不重要的词去替换文本中一定比例的不重要词

基于上下文信息的文本增强

训练一个语言模型,对要增强的文本随机去掉部分词后输入预训练模型,把模型输出的前k个词用于替换被mask掉的词。

基于语言生成模型的文本增强

基于文本风格迁移的文本增强

何处进行增强数据

一种是事先执行所有转换,实质上会增强你的数据集的大小。另一种选项是在送入机器学习之前,在小批量(mini-batch)上执行这些转换。
第一个选项叫做线下增强(offline augmentation)。这种方法适用于较小的数据集(smaller dataset)。你最终会增加一定的倍数的数据集,这个倍数等于你转换的个数。
第二种方法叫做线上增强(online augmentation)或在飞行中增强(augmentation on the fly)。这种方法更适用于较大的数据集(larger datasets),因为你无法承受爆炸性增加的规模。另外,你会在喂入模型之前进行小批量的转换。一些机器学习框架支持在线增强,可以再gpu上加速。

参考

深度学习中有哪些数据增强方法?
理解数据增强
数据增强

你可能感兴趣的:(图论和图神经网络,机器学习,数据挖掘,人工智能,深度学习)