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

    文章

    4572

    浏览量

    98743
  • nlp
    nlp
    +关注

    关注

    1

    文章

    463

    浏览量

    21819
  • 计算视觉
    +关注

    关注

    0

    文章

    5

    浏览量

    1494

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

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

收藏 人收藏

    评论

    相关推荐

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

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

    FPGA图像处理之CLAHE算法

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

    FPGA图像处理方法

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

    图像增强三大类别介绍

    图像增强图像模式识别中非常重要的图像处理过程。图像增强
    的头像 发表于 11-14 14:34 665次阅读

    医疗图像处理的关键领域及技术挑战

    医疗图像处理的最后一部分涉及对所获取信息的管理,包括用于图像数据存储、检索和传输的各种技术。制定了若干标准和
    发表于 10-31 11:43 334次阅读
    医疗<b class='flag-5'>图像</b><b class='flag-5'>处理</b>的关键领域及<b class='flag-5'>技术</b>挑战

    机器视觉之图像增强图像处理

    一、图像处理技术概述1.定义对原始获取图像进行一系列的运算处理,称为图像
    的头像 发表于 10-26 08:07 458次阅读
    机器视觉之<b class='flag-5'>图像</b><b class='flag-5'>增强</b>和<b class='flag-5'>图像</b><b class='flag-5'>处理</b>

    机器视觉之图像增强图像处理

    对原始获取图像进行一系列的运算处理,称为图像处理图像处理是机器视觉
    发表于 10-23 10:43 227次阅读
    机器视觉之<b class='flag-5'>图像</b><b class='flag-5'>增强</b>和<b class='flag-5'>图像</b><b class='flag-5'>处理</b>

    机器视觉:图像处理技术图像增强技术

    对原始获取图像进行一系列的运算处理,称为图像处理图像处理是机器视觉
    发表于 10-20 10:17 371次阅读
    机器视觉:<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><b class='flag-5'>技术</b>

    机器视觉(五):频域图像增强处理

    频域法是在图像的频率变化域中对图像的变换值进行某种运算处理,然后再变回空间域中。
    的头像 发表于 10-19 14:24 735次阅读
    机器视觉(五):频域<b class='flag-5'>图像</b><b class='flag-5'>增强</b><b class='flag-5'>处理</b>

    图像处理方法研究

    图像处理的主要目的是消除图像中无关的信息,恢复有用的真实信息,增强有关信息的可检测性、最大限度地简化数据,从而改进特征提取、
    发表于 09-20 09:35 218次阅读

    工业相机拍摄的图像比较暗,如何增强图像亮度

    通过工业相机采集图像后,增强图像亮度的方法
    的头像 发表于 08-29 11:34 997次阅读
    工业相机拍摄的<b class='flag-5'>图像</b>比较暗,如何<b class='flag-5'>增强</b><b class='flag-5'>图像</b>亮度

    如何使用机器学习处理图像

    图像处理是利用复杂的算法对图像进行技术分析。在图像处理中,
    的头像 发表于 07-24 15:00 455次阅读

    基于FPGA的图像处理之直方图均衡

    最近一直在用FPGA调图像处理相关的算法,主要是集中在图像增强和增晰方面。
    发表于 06-29 09:23 704次阅读
    基于FPGA的<b class='flag-5'>图像</b><b class='flag-5'>处理</b>之直方图均衡

    图像处理与机器视觉

    常用的图像增强处理方式包括灰度变换、直方图修正、图像锐化、噪声去除、几何畸变校正、频域滤波和彩色增强等。由于
    发表于 06-20 15:41 3次下载

    人体分割识别图像技术的原理及应用

    、行为分析等功能。 人体分割识别图像技术的原理主要包括三个步骤:图像处理、人体分割和特征提取。首先,通过图像
    的头像 发表于 06-15 17:44 686次阅读