在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考。

在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果。

点击本文底部的「阅读原文」即刻加入社区,查看更多最新论文推荐。

这是 PaperDaily 的第 47 篇文章

关于作者:陈泰红,小米高级算法工程师,研究方向为人脸检测识别,手势识别与跟踪。

■ 论文 | mixup: Beyond Empirical Risk Minimization

■ 链接 | https://www.paperweekly.site/papers/1605

论文动机

神经网络训练需要海量的人工标注数据集,一般的数据增广方式是裁剪、翻转以及旋转、尺度变化。之前在 arXiv 上看到过 IBM的一篇文章 SamplePairing:针对图像处理领域的高效数据增强方式,该论文主要是关于数据增强方式,没有公式没有网络架构,只通过简单的相加求平均值方式

而在最近公布的 ICLR 2018 入围名单中,另一篇数据增广相关论文脱颖而出,而 SamplePairing 出局。仔细阅读 Mixup 的论文,发现它其实是对 SamplePairing 的更进一步延伸。

名词解释


Empirical Risk Minimization (ERM):机器学习的经验风险最小化,ERM 策略认为,经验风险最小化的模型是最优化的模型。可参照李航的《统计学习方法》[1] 进行理解。

Βeta分布:既然概率论中的贝塔分布,是指一组定义在是指一组定义在(0,1)区间的连续概率分布,有两个参数 α 和 β。论文中 α 和 β 相等。Βeta 分布的定义、概率密度函数和性质可参考 PRML [2]。

为了理解 Beta 分布,使用 Python 可视化 Beta 的模型。论文选择的超参数是 α=0.2 和 0.4,此处主要观察 α 变化对应的概率分布变化。

from scipy.stats import betaimport matplotlib.pyplot as pltimport numpy as npx = np.linspace(0, 1, 100)a_array = [1,0.5 ,0.1 ,0.2, 0.01,0.001]for  a in a_array:    plt.plot(x, beta.pdf(x, a, a), lw=1, alpha=0.6, label='a=' + str(a) + ',b=' + str(a))plt.legend(frameon=False)plt.show()

从上图可以看出,α 趋近于 0 时,概率分布趋近于 x-0 和 x=1 两种情况,在论文中代表 ERM。

模型细节

SamplePairing

SamplePairing 的实现很简单,两幅图片直接像素相加求平均,监督的 label 不变。但是在训练过程中,先用 ILSVRC 数据集普通数据增广方式,完成多个 epoch 后间歇性禁止 SamplePairing,在训练损失函数和精度稳定后,禁止 SamplePairing 进行微调。

个人认为相当于随机引入噪声,在训练样本中人为引入误导性的训练样本。

mixup

△ mixup实现公式、Python源代码和可视化实现

其中 (xi, yi) 和 (xj, yj) 是训练集随机选取的两个数据,λ ∈ [0,1],λ ∼ Beta(α,α)。

mixup 扩展训练集分布基于这样的先验知识:线性特征向量的混合导致相关目标线性混合。混合超参数 α 控制特征目标之间的插值强度,α→0 时表示 ERM。

mixup 模型实现方式简单,PyTorch 7 行代码即可实现。上图中的可视化表明,mixup 导致决策边界模糊化,提供更平滑的预测。

实验

论文的实验过程很丰富,包括 CIFAR-10,CIFAR-100,和 ImageNet-2012,随机噪音测试,语音数据,facing adversarial examples 黑盒攻击和白盒攻击,UCI 数据集,以及稳定训练 GAN 网络。

对于具有代表性的 ImageNet-2012,Top-1 的精度至少提高 1.2%。

讨论

论文提出,在训练过程中,随着 α 增加,训练误差越来越大,而在验证验证集测试中泛化误差反而减少。这与论文提出的假设相同:mixup 隐含控制模型的复杂度。但是论文没有提出 bias-variance trade-off 的理论解释。

论文提出一些进一步探索的可行性:

  • mixup 是否可以应用在其他监督学习问题,比如回归和结构化预测。mixup 可能在回归问题容易实现,结构化预测如图像分割等问题,实验效果不明显。

  • mixup 是否可以用于半监督学习、无监督学习或强化学习。当然作者是假设,希望有后来者证明 mixup 是理论可行的。

mixup 来自 MIT 和 Facebook AI Research。ICLR 是双盲评审,官网上的匿名评审意见普遍认为 mixup 缺乏理论基础,但是实验效果具有明显优势。笔者个人认为在 mixup 基础上,还有很多坑可以填。

参考文献

[1] 《统计学习方法》,李航

[2] Pattern Recognition and Machine Learning, Bishop

本文由 AI 学术社区 PaperWeekly 精选推荐,社区目前已覆盖自然语言处理、计算机视觉、人工智能、机器学习、数据挖掘和信息检索等研究方向,点击「阅读原文」即刻加入社区!

点击以下标题查看相关内容:

  • SamplePairing:针对图像处理领域的高效数据增强方式

#榜 单 公 布 #


2017年度最值得读的AI论文 | NLP篇 · 评选结果公布

2017年度最值得读的AI论文 | CV篇 · 评选结果公布


  我是彩蛋 


解锁新功能:热门职位推荐!

PaperWeekly小程序升级啦

今日arXiv√猜你喜欢√热门职位

找全职找实习都不是问题

 解锁方式 

1. 识别下方二维码打开小程序

2. 用PaperWeekly社区账号进行登陆

3. 登陆后即可解锁所有功能

 职位发布 

请添加小助手微信(pwbot01)进行咨询

长按识别二维码,使用小程序

*点击阅读原文即可注册


关于PaperWeekly


PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

▽ 点击 | 阅读原文 | 查看原论文

Mixup vs. SamplePairing:ICLR2018投稿论文的两种数据增广方式相关推荐

  1. 论文理解【IL - 数据增广】 —— Adversarial Imitation Learning with Trajectorial Augmentation and Correction

    标题:Adversarial Imitation Learning with Trajectorial Augmentation and Correction 发表:ICRA 2021 文章链接:Ad ...

  2. 动态网页常用的两种数据加载方式ajax和js动态请求

    欢迎关注"生信修炼手册"! 对于静态网页,我们只需要访问对应的URL就可以获得全部的数据了,动态网页则没有这么简单.比如以下网站 http://q.10jqka.com.cn/zj ...

  3. 青出于蓝而胜于蓝,超越MixUp、CutMix的样本混合数据增广新算法FMix

    点击我爱计算机视觉标星,更快获取CVML新技术 深度学习实践中,数据的增广有很多种方法,比如在计算机视觉任务中除了常规的对单样本进行缩放.颜色扰动.旋转.镜像等外,也可以通过对两个样本进行混合,生成新 ...

  4. 论文笔记 | 深度学习图像数据增广方法研究

    1 背景 在许多领域,受限于数据获取难度大,标注成本高等原因,往往难以获得充足的训练数据,这样训练得到的深度学习模型往往存在过拟合的问题,进而导致模型泛化能力差,测试精度不高等. 数据扩充的作用:扩大 ...

  5. 两种获取connectionString的方式

    两种获取connectionString的方式 1. public static string connectionString = ConfigurationManager.ConnectionSt ...

  6. Hibernate中两种获取Session的方式

    转自:https://www.jb51.net/article/130309.htm Session:是应用程序与数据库之间的一个会话,是hibernate运作的中心,持久层操作的基础.对象的生命周期 ...

  7. 在计算机系统中有两种不同的图像编码方式,第二章计算机系统与计算原理.ppt...

    第二章计算机系统与计算原理 大学计算机基础 * 信息表示与处理 ----西文字符 ASCII 码是美国信息交换标准代码(American Standard Code for Information I ...

  8. TF之RNN:TF的RNN中的常用的两种定义scope的方式get_variable和Variable

    TF之RNN:TF的RNN中的常用的两种定义scope的方式get_variable和Variable 目录 输出结果 代码设计 输出结果 代码设计 # tensorflow中的两种定义scope(命 ...

  9. python用outlook自动发邮件_python使用两种发邮件的方式smtp和outlook示例

    smtp是直接调用163邮箱的smtp服务器,需要在163邮箱中设置一下.outlook发送就是Python直接调用win32方式.调用程序outlook直接发送邮件. import win32com ...

最新文章

  1. 公有变量java_Java反射机制(只可以访问公有的方法或者变量)
  2. 著名加密库收集 Encrypt
  3. CSP认证201509-1 数列分段[C++题解]:遍历
  4. php transport,PHPMailer - PHP email transport class
  5. 61 SD配置-科目分配-分配税收确定的交货工厂
  6. PyQt5: This application failed to start because it could not find or load the Qt platform plugin
  7. Exception in thread main java.lang.NoClassDefFoundError: scala/Product$class
  8. java文件读取的几个操作-1
  9. ROS kinetic自定义路径规划算法
  10. python垃圾邮件识别_垃圾邮件过滤器 python简单实现
  11. 2021-02-01 25 个常用 Matplotlib 图的 Python 代码
  12. Linux的目录结构及对应目录下存放的内容
  13. 【超简单】用python写给女朋友的词云
  14. Java 初中级程序员如何快速成长?
  15. threejs使用tweenjs实现点击标签过渡到相应视角
  16. HIT2020春软件构造lab1
  17. 基于Java的NetCDF文件解析
  18. 判断苹果黑条_【苹果iPhoneXR评测】黑边厚也是苹果的“无奈之举”_苹果 iPhone XR_手机评测-中关村在线...
  19. 为何大量网站不能抓取?爬虫突破封禁的6种常见方法
  20. C++基于QT的模仿宝石迷阵游戏源码

热门文章

  1. 【共享单车】—— React后台管理系统开发手记:权限设置和菜单调整(未完)...
  2. 学子随感——遇见长郡浏阳(3)
  3. MERGE语句——数据集横向合并
  4. Linux下批量重命名的方法
  5. js中推断浏览器类型
  6. C++ Q16: dereferencing
  7. 在用visio作图形界面设计,控件对齐的工具按钮
  8. java订单编号生产代码,java 订单编号 生成器,可用于生产环境
  9. 动态给a标签赋值_怎样利用Excel制作抖音上的心形动态函数图像?
  10. linux i o的使用情况,Linux下使用iostat 监视I/O状态