浅述几种文本和图像数据增强的方法

简介: 在现实场景中,我们往往收集不到太多的数据,那么为了扩大数据集,可以采用数据增强手段来增加样本,那么平常我们应该怎么做数据增强的呢?什么是数据增强数据增强也叫数据扩增,意思是在不实质性的增加数据的情况下,让有限的数据产生等价于更多数据的价值。

在现实场景中,我们往往收集不到太多的数据,那么为了扩大数据集,可以采用数据增强手段来增加样本,那么平常我们应该怎么做数据增强的呢?

什么是数据增强

数据增强也叫数据扩增,意思是在不实质性的增加数据的情况下,让有限的数据产生等价于更多数据的价值。

数据增强可以分为有监督的数据增强无监督的数据增强方法。其中有监督的数据增强又可以分为单样本数据增强多样本数据增强方法,无监督的数据增强分为生成新的数据学习增强策略两个方向。

数据增强支持音频、图像、文本和视频这四种数据类型,本文主要讲解针对文本和图像的数据增强方法。

文本数据增强方法

针对文本数据来说,传统的数据增强有效方法一个是加噪,另一个是回译,均为有监督方法。加噪即为在原数据的基础上通过替换词、删除词等方式创造和原数据相类似的新数据。回译则是将原有数据翻译为其他语言再翻译回原语。

  • 回译(翻译两次,例如中文到英文,然后英文再到中文)。由于语言逻辑顺序等的不同,回译的方法也往往能够得到和原数据差别较大的新数据。
  • EDA(Easy Data Augmentation for Text Classification Tasks),对同义词进行替换、插入、交换和删除。
  1. 同义词替换(SR: Synonyms Replace):不考虑stopwords,在句子中随机抽取n个词,然后从同义词词典中随机抽取同义词,并进行替换。
  2. 随机插入(RI: Randomly Insert):不考虑stopwords,随机抽取一个词,然后在该词的同义词集合中随机选择一个,插入原句子中的随机位置。该过程可以重复n次。
  3. 随机交换(RS: Randomly Swap) :句子中,随机选择两个词,位置交换。该过程可以重复n次。
  4. 随机删除(RD: Randomly Delete) :句子中的每个词,以概率p随机删除。

除了传统的数据增强之外,我们还可以使用深度学习数据增强技术,如Mixmatch,这是一种半监督方法。(半监督学习方法的提出是为了更好地利用未标注的数据,减轻对于大规模标注数据集的依赖;如今也证明了这是一种强有力的学习范式。)

Mixmatch的工作方式是通过 MixUp 猜测数据扩增方法产生的无标签样本的低熵标签,并把无标签数据和有标签数据混合起来。

传统的数据增广方法有一定的效果,但主要针对小数据量,对于渴求大量训练数据的深度学习模型,传统的方法效果始终有限。而Unsupervised Data Augmentation(UDA)无监督数据扩增方法的提出,为大量数据缺失打开了一扇大门。

MixMatch 算法除了使用普通的数据增广,还有一个秘诀是 Mixup 增广术。而 UDA 的成功,得益于对特定任务使用特定目标的数据增强算法。

UDA与常规噪声比如高斯噪声、dropout 噪声相比,针对不同任务使用不同数据增强方法能够产生更有效的数据。这种方法能够产生有效、真实的噪声,且噪音多样化。

另外,以目标和性能为导向的数据增强策略可以学习如何在原始标记集中找出丢失的或最想要的训练信号(比如图像数据以颜色为目标进行数据增强)。

图像数据增强方法

针对图像数据来说,我们常采用的方法如下:

  1. 采用随机裁剪。裁剪原图像中的一部分,比如裁剪四角、中心或者上下部分等等,但是裁剪的尺寸不宜过小。
  2. 对原图像进行翻转或者镜像。可以水平翻转,也可以垂直翻转。
  3. 对原图像进行旋转。可以把原图像旋转不同的角度来增加样本。
  4. 可以调节原图片亮度或对比度。如变亮或变暗,增大对比度或减小对比度。
  5. 调节原图像的色度。改变R、G、B颜色分量的比例。
  6. 调节图像的饱和度。所谓的饱和度,指的其实是色彩的纯度,纯度越高,表现越鲜明,纯度较低,表现则较黯淡。

除此之外,我们还可以采用将图像进行高斯模糊、锐化、添加噪声以及转换成灰度图像等方法。

工具包

针对中文文本数据,可以使用textda,他是一个中文文本数据增强工具包。

还有eda_nlp,他是一个用于提高文本分类任务性能的简易数据扩充技术。

除此之外,我们还可以使用一些其他开源工具对数据进行增加,如AugLy。他是 Facebook 开源的一个数据增强 Python 库。该库目前支持音频、图像、文本和视频四种模式,一方面可以用现实数据对数据进行增强,另一方面还可以检测出相似内容,消除重复数据带来的干扰。


相关文章
|
11月前
|
数据挖掘 计算机视觉 Python
Python数据分析中图像处理的实用技术点:图像加载与保存、图像转换与增强、特征提取与描述
Python数据分析中图像处理的实用技术点:图像加载与保存、图像转换与增强、特征提取与描述
91 1
Python数据分析中图像处理的实用技术点:图像加载与保存、图像转换与增强、特征提取与描述
|
机器学习/深度学习
深度学习数据增强方法-内含(亮度增强,对比度增强,旋转图图像,翻转图像,仿射变化扩充图像,错切变化扩充图像,HSV数据增强)七种方式进行增强-每种扩充一张实现7倍扩)+ 图像缩放代码-批量
深度学习数据增强方法-内含(亮度增强,对比度增强,旋转图图像,翻转图像,仿射变化扩充图像,错切变化扩充图像,HSV数据增强)七种方式进行增强-每种扩充一张实现7倍扩)+ 图像缩放代码-批量
|
6月前
|
机器学习/深度学习 算法 大数据
提取图像特征方法总结 是那种很传统的方法~
提取图像特征方法总结 是那种很传统的方法~
239 4
|
PyTorch 算法框架/工具
语义分割数据增强——图像和标注同步增强
其中常见的数据增强方式包括:旋转、垂直翻转、水平翻转、放缩、剪裁、归一化等。
684 0
|
机器学习/深度学习 人工智能 文字识别
从模式识别到图像文档分析——浅析场景文本识别研究
文本检测领域经历了从水平文字检测到多方向文字检测再到任意形状文字检测这样越来越有挑战性的应用场景转变。 在复杂场景下,由于光照、遮挡等因素的影响,图像中的文本经常会出现模糊、失真、变形等问题;其次,文本与背景之间偶尔存在相似度较高的情况,文字颜色和背景颜色相近或者噪点过多等情况会严重干扰文本的准确识别;此外,在某些场景下(如手写体、印章、二维码等),不同于常规字体的字形特征也会增加识别难度。复杂场景下的文本识别依然是目前难以解决的问题。
|
人工智能 人机交互
可组合扩散模型主打Any-to-Any生成:文本、图像、视频、音频全都行
可组合扩散模型主打Any-to-Any生成:文本、图像、视频、音频全都行
175 0
|
自然语言处理 算法 测试技术
参数减半、与CLIP一样好,视觉Transformer从像素入手实现图像文本统一
参数减半、与CLIP一样好,视觉Transformer从像素入手实现图像文本统一
126 0
|
编解码 自然语言处理 数据可视化
文本生成图像这么火,你需要了解这些技术的演变(2)
文本生成图像这么火,你需要了解这些技术的演变
188 0
|
传感器 编解码 自然语言处理
文本生成图像这么火,你需要了解这些技术的演变(3)
文本生成图像这么火,你需要了解这些技术的演变
483 0
|
机器学习/深度学习 存储 人工智能
文本生成图像这么火,你需要了解这些技术的演变(1)
文本生成图像这么火,你需要了解这些技术的演变
205 0
下一篇
无影云桌面