mixup_ratio

目录

1.简介

2.背景

3.mixup_ratio主要工作

4.理解

5.讨论

6.计算loss时,关于label的选择

    7.几种数据增强方式

8.对数据增强的讨论


mixup_ratio个人可以理解为按比例混合两个样本,生成新的样本,是一种数据增强的方式。

1.简介

大型深度神经网络,损耗巨大的内存以及对对抗样本(干扰)的敏感性一直不太理想。本质上,mixup在成对样本及其标签的凸组合(convex combinations)上训练神经网络。这样做,mixup规范神经网络增强了训练样本之间的线性表达。mixup可以改进当前最先进的神经网络架构的泛化能力(都能提升一个点以上)。mixup能够减少对错误标签的记忆,增加对抗样本的鲁棒性,并能够稳定对生成对抗网络的训练过程。

2.背景

    大规模深度神经网络近年来取得了重大的突破,但是具有两点共性:

    首先,深度网络进行训练以将其训练数据的平均误差最小化,称为经验风险最小化(Empirical Risk Minimization,ERM原则(Vapnik于1998年提出);其次,这些当前最先进的神经网络的大小与训练样本的数量呈线性关系,大型的网络模型适配大规模的数据集。

    冲突的地方在于,经典机器学习理论告诉我们,只要学习机(如神经网络)的规模不随着训练数据数量的增加而增加,那么ERM的收敛性就是可以得到保证的(不需要太复杂的模型,拟合数据的分布是可以收敛的,但如果模型复杂度高了,就容易过拟合)。其中,学习机的规模由参数数量,或其VC复杂度(Harvey等人于2017年提出)来衡量。这一矛盾挑战了ERM方法在当前神经网络训练中的适应性。

    一方面,即使在强正则化情况下,或是在标签随机分配的分类问题中,ERM 也允许大规模神经网络去记忆(而不是泛化)训练数据。(模型规模大了,拟合数据能力非常强,就存在过拟合问题)

    另一方面,神经网络使用ERM 方法训练后,在训练分布之外的样本(对抗样本:在数据集中通过故意添加细微的干扰所形成的输入样本)上验证时会极大地改变预测结果。(毕竟是从两个分布学到的东西)

    这一证据表明,在测试分布与训练数据分布略有不同时,ERM 方法已不具有良好的解释和泛化性能(训练数据学到的分布不能很好的表征测试数据的分布)。因而,数据增强方法(Simard et al., 1998),在简单但不同的样本中去训练数据以及 Vicinal Risk Minimization( VRM)领域风险最小化原则被提出。在VRM中,需要专业知识描述训练数据中每个样本的邻域,从而可以从训练样本邻域中提取附加的虚拟样本以扩充对训练分布的支持数据增强可以提高泛化能力,但这一过程依赖于数据集,而且需要专门知识。其次,数据增强假定领域内样本都是同一类,且没有对不同类不同样本之间领域关系进行建模。

3.mixup_ratio主要工作

    受这些问题启发,作者提出了一种简单且数据无关的数据增强方式,被称作 mixup 。简而言之,mixup 构建了虚拟的训练样本。

 其中,(xi,yi)和(xj,yj)是从训练数据中随机抽取的两个样本,且λ∈[0,1]。因此,mixup通过结合先验知识,即特征向量的线性插值应导致相关标签的线性插值(比如所一张猫的图片的60%和一张狗的图片的40%合成新的图片样本,那么有新的样本对应的的标签应该为60%的猫和40%的狗),来扩展训练分布。权重λ服从Beta分布,λBeta(α,α)α∈(0,∞)。

     mixup超参数α控制了在特征-目标向量之间插值的强度,当α→0时恢复为 ERM 原则。

    Figure 1b 显示了mixup 在类与类之间提供了更平滑的过渡线来估计不确定性。左图的分界面比较“硬”,非黑即白的感觉。而右图mixup则存在柔和的过渡区。容忍犯错,削弱了对错误标签的记忆。(类似于SVM中的软间隔?惩罚刚度)

4.理解

 mixup邻域分布可以被理解为一种数据增强方式,它令模型在处理样本和样本之间的区域时表现为线性这种线性建模减少了在预测训练样本以外的数据时的不适应性(增加了鲁棒性,增强了适应能力)。从奥卡姆剃刀的原理出发,线性是一个很好的归纳偏置,因为它是最简单的可能的几种行为之一。

图(a)显示了mixup导致决策边界从一个类到另一个类线性的转变,提供了一个更平滑的不确定性估计。图(b)显示了在CIFAR-10数据集上用mixup和ERM两个方法训练的两个神经网络模型的平均表现。两个模型有相同的结构,使用相同的训练过程,在同一个从训练数据里随机抽样而来的样本上来评估。用mixup训练的模型在预测训练数据之间的数据时更稳定。 (对离散样本空间进行连续化,提高邻域内的平滑性)。

5.讨论

随着α的增加,在真实数据中的训练错误增加,同时泛化差距减小。这证明了作者的一个假设,mixup可以隐式地控制模型的复杂度。然而,作者并没有找到一个很好的方法在偏差-方差的平衡中找到最佳位置。举例来说,在CIFAR-10训练中,即使当α→∞时,在真实数据上的训练误差会非常低。然而在ImageNet 分类任务中,真实数据的训练误差在α→∞时会有明显上升。基于作者在ImageNet 和 Google commands 上使用不同网络结构做的实验,发现增大网络容量,可以使训练误差对大的α值敏感性降低,这给mixup 带来更多的优势。

6.计算loss时,关于label的选择

    label用的是one-hot vector编码,可以理解为对k个类别的每个类给出样本属于该类的概率。加权以后就变成了"two-hot"也就是认为样本同时属于混合前的两个类别。论文中伪代码就是采用这种标签计算loss。

    例如预测值[0,0.55,0.35,0.05,0.05]—>标签[0,0.6,0.4,0,0]

    另一种视角是不混合label,而是用加权的输入在两个label上分别计算cross-entropy loss,最后把两个loss加权作为最终的loss由于cross-entropy loss的性质,这种做法和把label线性加权是等价的。 

  
  7.几种数据增强方式

mixup将像素点混合按一定比例相加

cutout裁剪掉图片的部分像素,优点类似于MAE中的mask

cutmix为从一张图中裁剪一部分,拼接到另一张图上。由上表来看这种数据增强的方式最好。

8.对数据增强的讨论

张弘毅老师对数据增强(data augmentation)的看法以及对mixup的解释:

     data augmentation既不能简单地理解为增加training data,也不能简单地理解为控制模型复杂度,而是两种效果兼而有之。考虑图像识别里常用的改变aspect ratio(长宽比,height和width维度上做放缩)做data augmentation的方法,生成的图像虽然和真实图像相似,但是并不是来自于data distribution,更不是它的独立同分布IID(independent and identically distributed)抽样。而经典的supervised learning以及统计学习理论的基本假设就是训练集和测试集都是data distribution的IID抽样,所以这并不是经典意义上的增加training data。这些合成的training data的作用,流行的解释是“增强模型对某种变换的invariance(不变性、适应性或者泛化性)”。这句话反过来说,就是机器学习里经常提到的“减少模型估计的variance(变量)”,也就是控制了模型的复杂度。需要注意的是,L2正则化、dropout等等也都是在控制模型复杂度,只不过它们没有考虑数据本身的分布,而data augmentation属于更加机智的(考虑样本分布)控制模型复杂度的方法

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山上的小酒馆

谢谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值