mixup: BEYOND EMPIRICAL RISK MINIMIZATION概述
0.前言
1.针对的问题
大型的深度神经网络存在一些不好的行为,比如记忆性和对抗样本敏感问题。当前的神经网络大多都是基于经验风险最小化(ERM原理)这个基本思想进行学习或训练的,这个思想通过最小化在训练数据的平均误差以拟合真实的数据分布进行学习,当样本容量足够大时,经验风险最小化能保证有很好的学习效果,但是当样本容量很小,函数参数量不断增大时,ERM的训练趋向于记忆训练数据,导致泛化能力不足和难以抵御分布外的对抗样本的问题。(ERM中通过训练集来估计数据分布,但是当样本量不足或参数量太多时,则对真实数据分布的拟合效果很差)
解决ERM问题的一个途径就是使用邻域风险最小化原则(Vicinal Risk Minimization,VRM),即通过先验知识构造训练样本在训练集分布上的邻域值。通常做法就是传统的数据扩充,如翻转,旋转,放缩等,但是这种做法过于依赖特定数据集,需要人类的专门先验知识,并且数据增强假定邻域内样本都是同一类,没有对不同类不同样本之间邻域关系进行建模。(VRM中通过邻域分布来估计数据分布,由于邻域是生成的,所以数据量可以变为“无限”)
2.主要贡献
提出一种新的数据扩展方式,即使用线性插值的方法得到新的扩展数据。
3.方法
前面提到,以传统的数据增强方法得到的邻域存在问题,所以作者提出了一种通用的邻域分布,mixup。
本质上,mixup在成对样本及其标签的凸组合(convex combinations)上训练神经网络。具体来说,假设是两个随机抽取的样本,构建的样本为,,,其中代表原始输入向量,代表one-hot标签编码。
实验证明在狄利克雷分布(多变量普遍化的分布)上对三个或者四个特征进行凸组合并不能带来更多的提升,反而会增加计算负担。所以论文中λ满足分布(伯努利分布乘上[0,1]之间的均匀分布得到),目前mixup的实现使用一个单独的data loader来得到一个minibatch,mixup在随机shuffle之后应用于同一个minibatch。此外,仅在具有相同标签的输入之间进行插值不会得到性能提升
mixup可以理解为一种激励模型在训练数据之间表现出线性的数据扩充方法,作者认为,这种线性行为可以在训练集之外进行预测时增加鲁棒性,减少错误预测的数量。此外,从奥卡姆剃刀(如无必要,勿增实体,即简单有效原理)的角度来看,线性是一种很好的归纳偏差,因为它是最简单的行为之一。
mixup: BEYOND EMPIRICAL RISK MINIMIZATION概述的更多相关文章
- mixup: Beyond Empirical Risk Minimization
这篇论文MIT和FAIR的工作,主要是提出了一种mixup的方式.(感觉是一种产生hard sample的方法,是一种新的.更有效的数据增强.) 1 Introduction 大网络需要大数据,目前C ...
- 小样本利器4. 正则化+数据增强 Mixup Family代码实现
前三章我们陆续介绍了半监督和对抗训练的方案来提高模型在样本外的泛化能力,这一章我们介绍一种嵌入模型的数据增强方案.之前没太重视这种方案,实在是方法过于朴实...不过在最近用的几个数据集上mixup的表 ...
- 论文解读(GraphDA)《Data Augmentation for Deep Graph Learning: A Survey》
论文信息 论文标题:Data Augmentation for Deep Graph Learning: A Survey论文作者:Kaize Ding, Zhe Xu, Hanghang Tong, ...
- AI大有可为:NAIE平台助力垃圾分类
摘要:生活垃圾的分类和处理是目前整个社会都在关注的热点,如何对生活垃圾进行简洁高效的分类与检测对垃圾的运输处理至关重要.AI技术在垃圾分类中的应用成为了关注焦点. 如今AI已经是这个时代智能的代名词了 ...
- Octave Convolution卷积
Octave Convolution卷积 MXNet implementation 实现for: Drop an Octave: Reducing Spatial Redundancy in Conv ...
- deeplearning模型库
deeplearning模型库 1. 图像分类 数据集:ImageNet1000类 1.1 量化 分类模型Lite时延(ms) 设备 模型类型 压缩策略 armv7 Thread 1 armv7 T ...
- YOLOV4知识点分析(二)
YOLOV4知识点分析(二) 6. 数据增强相关-mixup 论文名称:mixup: BEYOND EMPIRICAL RISK MINIMIZATION 论文地址:https://arxiv.org ...
- YOLOV4各个创新功能模块技术分析(二)
YOLOV4各个创新功能模块技术分析(二) 四.数据增强相关-GridMask Data Augmentation 论文名称:GridMask Data Augmentation 论文地址:https ...
- zz姚班天才少年鬲融凭非凸优化研究成果获得斯隆研究奖
姚班天才少年鬲融凭非凸优化研究成果获得斯隆研究奖 近日,美国艾尔弗·斯隆基金会(The Alfred P. Sloan Foundation)公布了2019年斯隆研究奖(Sloan Research ...
- Andrew Ng机器学习公开课笔记 -- 学习理论
网易公开课,第9,10课 notes,http://cs229.stanford.edu/notes/cs229-notes4.pdf 这章要讨论的问题是,如何去评价和选择学习算法 Bias/va ...
随机推荐
- TensorFlow中的Variable 变量
简单运用 这节课我们学习如何在 Tensorflow 中使用 Variable . 在 Tensorflow 中,定义了某字符串是变量,它才是变量,这一点是与 Python 所不同的. 定义语法: s ...
- (面试题) 面试官:如何在forEach的循环里使用break
大家都知道 js 的 forEach里是不能使用break.但是为什么不能在forEach里使用呢?在forEach里使用break 会发生什么呢? 一. 在forEach里使用break 会发生什么 ...
- Echarts 设置Y轴 || X轴的刻度只显示整数
目前的效果如下:(有小数) 想要的效果如下:(整数) 解决方案: 在配置项的yAxis或者xAxis对象中添加属性:minInterval: 1,表示将刻度的最小间距设置为1 注意: minInter ...
- 带有FIFO硬件缓存的串口
目录 51单片机的串口并没有配置FIFO硬件,故收发数据时只能一字节一字节地收发.最近接触了FIFO(先进先出)的硬件缓存,这样串口的配置就更多了一个维度. 以CH58x系列单片机为例,在CH583的 ...
- Unity打包xcode修改工程配置代码
1 using System.IO; 2 using UnityEngine; 3 using UnityEditor; 4 using UnityEditor.iOS.Xcode; 5 using ...
- [人脸识别]01-python环境准备-安装opencv
安装opencv pip install opencv-python pip install matplotlib pip install opencv-contrib-python --user
- PHP二维数组根据某个元素(key)排序
/** * 二维数组根据key排序 * @param $arr * @param $arr_key * @param string $order 排序规则 * @return mixed */ fun ...
- About TopoJSON
An extension of GeoJSON that encodes topology! TopoJSON https://github.com/topojson/topojson The To ...
- java开发微信APP支付
直接上代码 String nonce_str=WXPayUtil.generateNonceStr(); //WXPayUtil微信自己有的,自己下载,这里是生成随机字符串,下载地址(下载java的里 ...
- 》》》Java利用aspose-words将word文档转换成pdf(破解 无水印)
参考转载:Java利用aspose-words将word文档转换成pdf(破解 无水印) (bbsmax.com) 1.引入 aspose.words 包2.添加解水印 license.xml3.写业 ...