作者

介绍

近来混合样本数据增强(MSDA)受到越来越多的关注,其中包括许多成功的变体,例如MixUp和Cut-Mix。

作者在论文中提出了FMix,它是一种MSDA,它使用将阈值应用于从傅立叶空间采样的低频图像而获得的二进制掩码。 通过一系列数据集和问题集的最新模型,提高了MixUp和CutMix的性能。 我们继续从信息理论的角度对MixUp,CutMix和FMix进行分析,从深度上逐步压缩输入的角度描述学习的模型。

FMix允许保留任意形状的遮罩,同时保留CutMix的所需属性。针对一系列基准和其他MSDA方法,针对一系列模型和任务演示FMix的性能。FMix在没有外部数据和Fashion MNIST的情况下,在CIFAR-10上获得了最新的性能,并改善了几种最新模型的性能( ResNet,DenseNet,WideResNet和PyramidNet)上的一些问题

作者对MixUp,CutMix和FMix进行了分析,以提供关于它们如何产生改进的广义化性能的见解。特别是引入了数量,该数量捕获了无监督模型学习对来自增强数据的真实信息和来自真实数据的相同信息进行编码的程度。根据该分析作者提出一个统一的MSDA说明,即插值方法(如MixUp)与掩盖方法(如FMix)在学习模型上的作用以及最终如何更好地概括方面根本不同。作者发现插值会导致早期压缩,使模型偏向更一般的特征,而掩盖会保留数据中语义结构的分布,更适合拟合增量的经典定义。

相关工作

首先要了解MSDA的基础知识, LetpX(x)表示输入数据分布。通常,我们可以为给定的混合函数定义MSDA,mix(X1,X2,Λ),其中X1和X2是数据域上的独立随机变量,Λ是混合系数。合成少数采样可以将现代MSDA方法看作是上述情况的特例,其中X1和X2是依赖的,共同采样为特征空间中的最近邻居。这些合成样本仅从少数类中提取,与原始数据结合使用,解决了数据不平衡的问题。混合函数为线性插值,mix(x1,x2,λ)=λx1+(1-λ)x2,且pΛ= U(0,1)。

同时建议在整个数据集上使用这种公式化(分别作为MixUp,Class-Class(BC)学习,BC +和样本配对),尽管每种方法混合系数的分布选择有所不同。我们将其称为插值MSDA。

我们可以通过对称的Beta分布获得足够的灵活性,即ispΛ= Beta(α,α)。最近的变体采用二进制掩蔽方法。LetM = mask(Λ)是mask(λ)∈{0,1}nandμ(mask(λ))=λ的随机变量,即生成的Mask的平均值应等于混合掩码混合函数为:

(1)其中表示逐点乘法。作者采用这种方法的一个显着变体是CutMix。

该方法专门针对二维数据mask(λ)∈{0,1} w×h设计,它使用mask(λ)= randrect(w√1-λ,h√1-λ),其中randrect(rw,rh) ∈{0,1} w×生成二进制蒙版,其阴影矩形区域的大小为rw×rhat,且坐标为均匀随机坐标。

CutMix在一系列实验中改进了MixUp的性能。在所有MSDA方法中,目标都是以某种方式混合的,通常是为了反映输入的混合。对于分类,插值和掩蔽策略都根据上面的插值混合函数来混合目标。这通常与交叉熵损失一起使用型学习的分布,通过不同地混合目标,可以获得比标准制剂更好的结果。但是,现有技术有两个关键发现,这些发现使我们怀疑这种假设。

首先,可以证明上述目标等同于使用其中一个数据点的原始目标,但具有不同的Λ分布。具体来说,可以将目标写为:

作者在论文附录里面对它做了详细的推导,并且还演示了尽管这两个目标在期望中具有相同的值,但是在实践中它们并没有达到相同的结果,而重新制定的结果始终比标准目标差。因此,我们在实验中使用标准物镜。也就是说,这种重新构造破坏了任何建议,因为我们将目标中的某些信息保持不变,因此我们正在将它们嵌入其中。然而,尽管得出了这一结论,即使在极端事件中,目标的随机混合也与输入无关,其结果仅显示出轻微的性能变化。根据这些发现,建议MSDA最重要的元素是输入混合功能。

FMix

现在重要的是要准确地理解为什么CutMix如此有效。在我们的分析中,我们将当前的蒙版MSDA(例如CutMix)视为等效,因为它们都从根本上混合了矩形区域。MSDA方法之所以有效,是因为它有效地保留了插值MSDA所不具备的数据分布,特别是在卷积神经网络(CNN)的感知空间中。具体而言,每个卷积神经元通常一次仅编码来自一个输入的信息。在空间上彼此靠近的元素通常从同一数据点派生的意义上,这也可以视为局部一致性。

不利于CutMix的是,模型很容易了解增强,因为完美的水平和垂直伪像不太可能成为数据的显着特征。如果我们可以增加蒙版的数量和复杂性,那么新颖特征的空间将变得比数据中本机特征的空间大得多。结果,模型极不可能适合此信息,因为它将需要成倍的容量。

所以作者的目的在于构建遮盖MSDA,以最大化边缘形状的空间,同时保持局部一致性。

在整个图像上加权合成。CutMix根据图像上的正方形位置进行加权,然后对混合像素进行加权。

作者提出的FMix是根据图像的高频和低频区域对图像进行二值化,然后利用该掩模对像素进行加权。

图1:来自δ= 3和λ= 0.5的FMix的ImageNet的示例蒙版和混合图像。

该文的实验表明,FMix在图像分类(CIFAR-10、CIFAR-100、Fashion、ImageNet)、文本分类(Toxic)等任务中取得了一致的性能改进,是目前最先进的样本数据增强方法。

表1:针对以下方法的一系列基准,方法FMix的分类性能比较。

表2:FMix针对MixUp的分类性能以及ImageNet数据集和变量上ResNet模型的基准。

结论

通过一系列综合的实验,表明FMix改进了一系列模型,模式和维度的分类性能。通过分析作者对插值MSDA和掩蔽MSDA的性能提供了统一的解释:插值使模型依赖于一般的压缩特征;掩盖会使模型对原始信息进行训练时编码相同的信息,同时消除记忆。这进一步表明,可以通过交替训练程序在单个模型中获得两者的理想效果,而且FMix仍有进一步改进的空间。

论文地址:

https://arxiv.xilesou.top/pdf/2002.12047.pdf

源码地址:

https://github.com/ecs-vlc/FMix

更多论文地址源码地址:关注“图像算法”微信公众号

开源算法FMix:用于深度学习中增强混合样本数据增强相关推荐

  1. python爬取百度图片(用于深度学习中数据集的收集)

    6_python爬取百度图片(用于深度学习中数据集的收集)(6-20181225-) 参考: https://blog.csdn.net/guyuealian/article/details/7873 ...

  2. 数据增强_开源算法FMix:用于深度学习中增强混合样本数据增强

    作者 介绍 近来混合样本数据增强(MSDA)受到越来越多的关注,其中包括许多成功的变体,例如MixUp和Cut-Mix. 作者在论文中提出了FMix,它是一种MSDA,它使用将阈值应用于从傅立叶空间采 ...

  3. 盘点深度学习中的各种数据增强技巧

    1 什么是数据增强? 数据增强也叫数据扩增,意思是在不实质性的增加数据的情况下,让有限的数据产生等价于更多数据的价值. 比如上图,第1列是原图,后面3列是对第1列作一些随机的裁剪.旋转操作得来. 每张 ...

  4. 任奎:人工智能算法安全浅析——深度学习中的对抗攻击与防御

    2020-05-19 19:52:46 任奎 随着计算机产业发展带来的计算性能与处理能力的大幅提高,人工智能在音视频识别.自然语言处理和博弈论等领域得到了广泛应用.在此背景下,确保人工智能的核心--深 ...

  5. 深度学习中如何实现数据增强,扩大数据集

    https://jingyan.baidu.com/article/4b52d702e6a167fc5c774bbb.html 深度学习算法需要大量的训练数据,而有时我们收集不到太多的数据源,那么为了 ...

  6. 总结 62 种在深度学习中的数据增强方式

    数据增强 数据增强通常是依赖从现有数据生成新的数据样本来人为地增加数据量的过程 这包括对数据进行不同方向的扰动处理 或使用深度学习模型在原始数据的潜在空间(latent space)中生成新数据点从而 ...

  7. 深度学习中交叉熵_深度计算机视觉,用于检测高熵合金中的钽和铌碎片

    深度学习中交叉熵 计算机视觉 (Computer Vision) Deep Computer Vision is capable of doing object detection and image ...

  8. 深度学习中的梯度下降优化算法综述

    1 简介 梯度下降算法是最常用的神经网络优化算法.常见的深度学习库也都包含了多种算法进行梯度下降的优化.但是,一般情况下,大家都是把梯度下降系列算法当作是一个用于进行优化的黑盒子,不了解它们的优势和劣 ...

  9. 深度学习中的优化算法之MBGD

    之前在https://blog.csdn.net/fengbingchun/article/details/75351323 介绍过梯度下降,常见的梯度下降有三种形式:BGD.SGD.MBGD,它们的 ...

最新文章

  1. cppunit linux,Linux中使用CppUnit工具
  2. Thread\Threading.Timer\Task中ShowDialog()方法报错:“在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式”
  3. angularjs(1)
  4. presonus studio one 5中文版
  5. android 8.0 移除静态注册广播
  6. Python中文处理(转)
  7. 一个好用的小工具 thefuck
  8. mysql 临时表 中文_MySQL 临时表
  9. 第三章 垃圾回收的一些概念
  10. mysql数据库远程安装,Linux_15:解决远程安装数据库
  11. 信号与系统郭宝龙版 第二章 连续系统的时域分析 思维导图
  12. ico图片格式生成器
  13. 【操作系统笔记(四)】CPU管理的核心:多进程图像
  14. TYVJ P1172 自然数拆分Lunatic版
  15. 腾讯云GPU渲染型应用场景,腾讯云GPU实例类型,快速操作入门指南
  16. 零基础自学SQL课程 | 子查询
  17. LOCAL_PRIVILEGED_MODULE 详解(4)
  18. java方法传参机制
  19. jQuery中所用到的第三方插件
  20. 2021年度电脑CPU电梯图

热门文章

  1. Android ios颜色背景渐变实现
  2. 介绍一款HCIA、HCIP、HCIE的刷题软件
  3. CSS 字体 font-family属性(转)
  4. 2021年5月审核员考试《认证通用基础》审核员考试真题
  5. 为什么我一直在坚持着持续进步?
  6. 2021李林精讲精练880题 【数学一 解析分册】
  7. 年底前端面试题总结(下)
  8. 三种流行开源框架介绍
  9. matlab二维平面波场绘制
  10. VK1650 LED数码显示驱动IC