0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于基本图像处理技术的数据增强方法

深度学习自然语言处理 来源:赛尔实验室 作者:赛尔实验室 2022-08-13 10:52 次阅读

什么是数据增强

数据增强(Data Augmentation)是一种通过让有限的数据产生更多的等价数据来人工扩展训练数据集的技术。它是克服训练数据不足的有效手段,目前在深度学习的各个领域中应用广泛。但是由于生成的数据与真实数据之间的差异,也不可避免地带来了噪声问题。

为什么需要数据增强

深度神经网络在许多任务中表现良好,但这些网络通常需要大量数据才能避免过度拟合。遗憾的是,许多场景无法获得大量数据,例如医学图像分析。数据增强技术的存在是为了解决这个问题,这是针对有限数据问题的解决方案。数据增强一套技术,可提高训练数据集的大小和质量,以便您可以使用它们来构建更好的深度学习模型。在计算视觉领域,生成增强图像相对容易。即使引入噪声或裁剪图像的一部分,模型仍可以对图像进行分类,数据增强有一系列简单有效的方法可供选择,有一些机器学习库来进行计算视觉领域的数据增强,比如:imgaug(https://github.com/aleju/imgaug)它封装了很多数据增强算法,给开发者提供了方便。但是在自然语言处理领域中,由于自然语言本身是离散的抽象符号,微小的变化就可能会导致含义的巨大偏差,所以数据增强算法并不常用。很多自然语言处理任务在真正落地的时候,往往会遇到数据量不足的问题,自然语言的数据增强算法值得我们深入研究。接下来我们先介绍计算视觉领域的数据增强方法,再介绍自然语言处理领域的数据增强算法,希望能对大家有所启发。

计算视觉数据增强

计算视觉领域的数据增强算法大致可以分为两类:第一类是基于基本图像处理技术的数据增强,第二个类别是基于深度学习的数据增强算法。


下面先介绍基于基本图像处理技术的数据增强方法:

几何变换(Geometric Transformations):由于训练集与测试集合中可能存在潜在的位置偏差,使得模型在测试集中很难达到训练集中的效果,几何变换可以有效地克服训练数据中存在的位置偏差,而且易于实现,许多图像处理库都包含这个功能。

颜色变换(Color Space):图片在输入计算机之前,通常会被编码为张量(高度×宽度×颜色通道),所以可以在色彩通道空间进行数据增强,比如将某种颜色通道关闭,或者改变亮度值。

旋转 | 反射变换(Rotation/Reflection):选择一个角度,左右旋转图像,可以改变图像内容朝向。关于旋转角度需要慎重考虑,角度太大或者太小都不合适,适宜的角度是1度 到 20度。

噪声注入(Noise Injection):从高斯分布中采样出的随机值矩阵加入到图像的RGB像素中,通过向图像添加噪点可以帮助CNN学习更强大的功能。

内核过滤器(Kernel Filters):内核滤镜是在图像处理中一种非常流行的技术,比如锐化和模糊。将特定功能的内核滤镜与图像进行卷积操作,就可以得到增强后的数据。直观上,数据增强生成的图像可能会使得模型面对这种类型的图像具有更高的鲁棒性。

混合图像(Mix):通过平均图像像素值将图像混合在一起是一种非常违反直觉的数据增强方法。对于人来说,混合图像生成的数据似乎没有意义。虽然这种方法缺乏可解释性,但是作为一种简单有效的数据增强算法,有一系列的工作进行相关的研究。Inoue在图像每个像素点混合像素值来混合图像,Summers和Dinneen又尝试以非线性的方法来混合图像,Takahashi和Matsubara通过随机图像裁剪和拼接来混合图像,以及后来的mixup方法均取得了不错的成果。

随机擦除(Random Erasing):随机擦除是Zhong等人开发的数据增强技术。他们受到Dropout机制的启发,随机选取图片中的一部分,将这部分图片删除,这项技术可以提高模型在图片被部分遮挡的情况下性能,除此之外还可以确保网络关注整个图像,而不只是其中的一部分。

缩放变换(Zoom):图像按照一定的比例进行放大和缩小并不改变图像中的内容,可以增加模型的泛化性能。

移动(Translation):向左,向右,向上或向下移动图像可以避免数据中的位置偏差,比如在人脸识别数据集合中,如果所有图像都居中,使用这种数据增强方法可以避免可能出现的位置偏差导致的错误。

翻转变换(Flipping):通常是关于水平或者竖直的轴进行图像翻转操作,这种扩充是最容易实现的扩充,并且已经证明对ImageNet数据集有效。

裁剪(Cropping):如果输入数据集合的大小是变化的,裁剪可以作为数据预处理的一个手段,通过裁剪图像的中央色块,可以得到新的数据。在实际使用过程之中,这些数据增强算法不是只使用一种,而是使用一套数据增强策略,在AutoAugment这篇文章中,作者尝试让模型自动选择数据增强策略。

d370ce78-1a84-11ed-ba43-dac502259ad0.jpg

第二个类别是基于深度学习的数据增强算法:

特征空间增强(Feature Space Augmentation):神经网络可以将图像这种高维向量映射为低维向量,之前讨论的所有图像数据增强方法都应用于输入空间中的图像。现在可以在特征空间进行数据增强操作,例如:SMOTE算法,它是一种流行的增强方法,通过将k个最近的邻居合并以形成新实例来缓解类不平衡问题。

对抗生成(Adversarial Training):对抗攻击表明,图像表示的健壮性远不及预期的健壮性,Moosavi-Dezfooli等人充分证明了这一点。对抗生成可以改善学习的决策边界中的薄弱环节,提高模型的鲁棒性。

基于GAN的数据增强(GAN-based Data Augmentation):使用 GAN 生成模型来生成更多的数据,可用作解决类别不平衡问题的过采样技术。

神经风格转换(Neural Style Transfer):通过神经网络风格迁移来生成不同风格的数据,防止模型过拟合。

如果想要阅读更多的细节,请参考这篇文章:

https://link.springer.com/article/10.1186/s40537-019-0197-0

自然语言处理数据增强

在自然语言处理领域,被验证为有效的数据增强算法相对要少很多,下面我们介绍几种常见方法。

同义词词典(Thesaurus):Zhang Xiang等人提出了Character-level Convolutional Networks for Text Classification,通过实验,他们发现可以将单词替换为它的同义词进行数据增强,这种同义词替换的方法可以在很短的时间内生成大量的数据。

随机插入(Randomly Insert):随机选择一个单词,选择它的一个同义词,插入原句子中的随机位置,举一个例子:“我爱中国” —> “喜欢我爱中国”。

随机交换(Randomly Swap):随机选择一对单词,交换位置。

随机删除(Randomly Delete):随机删除句子中的单词。

语法树结构替换:通过语法树结构,精准地替换单词。

加噪(NoiseMix) (https://github.com/noisemix/noisemix):类似于图像领域的加噪,NoiseMix提供9种单词级别和2种句子级别的扰动来生成更多的句子,例如:这是一本很棒的书,但是他们的运送太慢了。->这是本很棒的书,但是运送太慢了。

情境增强(Contextual Augmentation):这种数据增强算法是用于文本分类任务的独立领域的数据扩充。通过用标签条件的双向语言模型预测的其他单词替换单词,可以增强监督数据集中的文本。

生成对抗网络:利用生成对抗网络的方法来生成和原数据同分布的数据,来制造更多的数据。在自然语言处理领域,有很多关于生成对抗网络的工作:

Generating Text via Adversarial Training

GANS for Sequences of Discrete Elements with the Gumbel-softmax Distribution

SeqGAN: Sequence Generative Adversarial Nets with Policy Gradient

回译技术(Back Translation):回译技术是NLP在机器翻译中经常使用的一个数据增强的方法。其本质就是快速产生一些翻译结果达到增加数据的目的。回译的方法可以增加文本数据的多样性,相比替换词来说,有时可以改变句法结构等,并保留语义信息。但是,回译的方法产生的数据严重依赖于翻译的质量。

扩句-缩句-句法:先将句子压缩,得到句子的缩写,然后再扩写,通过这种方法生成的句子和原句子具有相似的结构,但是可能会带来语义信息的损失。

无监督数据扩增(Unsupervised Data Augmentation):通常的数据增强算法都是为有监督任务服务,这个方法是针对无监督学习任务进行数据增强的算法,UDA方法生成无监督数据与原始无监督数据具备分布的一致性,而以前的方法通常只是应用高斯噪声和Dropout噪声(无法保证一致性)。(https://arxiv.org/abs/1904.12848)

此外,这个仓库(https://github.com/quincyliang/nlp-data-augmentation)中介绍了一些自然语言处理中的数据增强技术。

总结

数据增强是增大数据规模,减轻模型过拟合的有效方法,但是,数据增强不能保证总是有利的。在数据非常有限的域中,这可能导致进一步过度拟合。因此,重要的是要考虑搜索算法来推导增强数据的最佳子集,以便训练深度学习模型。

虽然相比于计算视觉,自然语言处理领域中的数据增强应用更少,难度也要更大,但是同时也意味着更大的机遇。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4762

    浏览量

    100522
  • nlp
    nlp
    +关注

    关注

    1

    文章

    487

    浏览量

    22006
  • 计算视觉
    +关注

    关注

    0

    文章

    5

    浏览量

    1519

原文标题:一文了解NLP和CV领域的数据增强

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【每天学点AI】实战图像增强技术在人工智能图像处理中的应用

    图像增强(ImageEnhancement)是人工智能和计算机视觉中一项重要的技术,也是人工智能数据集预处理的一个重要步骤。它旨在提高
    的头像 发表于 11-22 17:14 31次阅读
    【每天学点AI】实战<b class='flag-5'>图像</b><b class='flag-5'>增强</b><b class='flag-5'>技术</b>在人工智能<b class='flag-5'>图像</b><b class='flag-5'>处理</b>中的应用

    傅里叶变换与图像处理技术的区别

    在数字信号处理图像分析领域,傅里叶变换和图像处理技术是两个核心概念。尽管它们在实际应用中常常交织在一起,但它们在本质上有着明显的区别。 傅
    的头像 发表于 11-14 09:30 194次阅读

    基于差分卷积神经网络的低照度车牌图像增强网络

    网络,将车牌的纹理信息解耦为水平垂直和对角线两个方向,对不同尺度空间的低照度图像进行纹理增强。为了避免增强结果局部过曝或低曝,该方法使用YCbCr颜色空间的损失函数来优化模型。
    的头像 发表于 11-11 10:29 112次阅读
    基于差分卷积神经网络的低照度车牌<b class='flag-5'>图像</b><b class='flag-5'>增强</b>网络

    图像采集卡:增强视觉数据采集

    图像采集卡介绍:在视觉数据采集领域,图像采集卡在捕获和处理来自各种来源的图像或视频方面发挥着关键作用。在本文中,我们将深入探讨
    的头像 发表于 09-24 11:06 257次阅读
    <b class='flag-5'>图像</b>采集卡:<b class='flag-5'>增强</b>视觉<b class='flag-5'>数据</b>采集

    图像识别算法的提升有哪些

    方法数据增强 数据增强是提高图像识别算法性能的一种有效
    的头像 发表于 07-16 11:12 589次阅读

    图像识别技术包括自然语言处理

    图像识别技术与自然语言处理是人工智能领域的两个重要分支,它们在很多方面有着密切的联系,但也存在一些区别。 一、图像识别技术与自然语言
    的头像 发表于 07-16 10:54 620次阅读

    图像识别技术的原理是什么

    图像识别技术是一种利用计算机视觉和机器学习技术图像进行分析和理解的技术。它可以帮助计算机识别和理解图像
    的头像 发表于 07-16 10:46 822次阅读

    机器人视觉技术图像分割方法有哪些

    机器人视觉技术是人工智能领域的一个重要分支,它涉及到图像处理、模式识别、机器学习等多个学科。图像分割是机器人视觉技术中的一个重要环节,它的目
    的头像 发表于 07-04 11:34 750次阅读

    FPGA设计经验之图像处理

    设计基本方法: 1.阵列结构结合流水线处理设计 例如RGB图像,包括三组数据处理时需要并行三通道后,每个通道进行分别的串行流水
    发表于 06-12 16:26

    荣耀终端有限公司“图像处理方法及装置”专利公布

    荣耀终端有限公司已获批“图像处理方法及装置”专利,该项技术主要运用于电子设备领域,旨在解决传统成像存在的图像质量缺陷,提升用户视觉体验。
    的头像 发表于 05-23 09:46 340次阅读
    荣耀终端有限公司“<b class='flag-5'>图像</b><b class='flag-5'>处理</b><b class='flag-5'>方法</b>及装置”专利公布

    基于TOF深度相机的图像处理专利获授权

    该专利主要涉及图像处理技术领域,特别是针对基于TOF深度相机的图像处理方法和存储媒介进行了深入研
    的头像 发表于 04-15 10:04 379次阅读
    基于TOF深度相机的<b class='flag-5'>图像</b><b class='flag-5'>处理</b>专利获授权

    基于图像处理技术的螺纹几何参数测量系统设计

    摘要:针对螺纹几何参数测量过程中,传统人工测量效率低、仪器昂贵、耗时费力、偶伴有人为误差等不足。本研究采用非接触测量的方法, 利用计算机视觉的图像处理技术,通过系统标定、
    的头像 发表于 01-15 11:13 829次阅读
    基于<b class='flag-5'>图像</b><b class='flag-5'>处理</b><b class='flag-5'>技术</b>的螺纹几何参数测量系统设计

    FPGA图像处理之CLAHE算法

    在FPGA图像处理--CLAHE算法(一)中介绍了为啥要用CLAHE算法来做图像增强
    的头像 发表于 01-04 12:23 2392次阅读
    FPGA<b class='flag-5'>图像</b><b class='flag-5'>处理</b>之CLAHE算法

    如何解决极端环境视频图像处理的画质大幅下降问题?

    除了视频图像处理技术外,图像增强技术可针对给定图像
    的头像 发表于 12-11 11:11 542次阅读

    FPGA图像处理方法

    图像细节。 FPGA 图像处理方法 1、图像增强 两大方法
    的头像 发表于 12-02 13:15 1063次阅读