论文笔记之数据增广(1):mixup

mixup:BEYOND EMPIRICAL RISK MINIMIZATION

文章:https://arxiv.org/pdf/1710.09412.pdf
代码:github
作者:张宏毅


    • mixupBEYOND EMPIRICAL RISK MINIMIZATION
      • 摘要
      • 背景
        • 引入
        • 贡献
      • 方法
        • 公式
        • 理解
      • 实验
      • 讨论


摘要

如今大规模深度神经网络具有强大的性能,不过,其损耗巨大的内存以及对对抗样本的敏感性一直不尽如人意。作者提出的mixup是一个简单地减缓两种问题的方案。
本质上,mixup在成对样本及其标签的凸组合上训练神经网络。这样做,mixup规范神经网络增强了训练样本之间的线性表达。
作者指出,mixup方法在ImageNet-2012, CIFAR-10等数据集上的优秀网络上实现,都提高了其表现性能。作者认为,mixup减少了错误标签的开销,增强了对抗样本的鲁棒性,稳定了生成对抗网络的训练。


背景

引入

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

  1. 对于训练数据取最小平均错误 (学习规则:ERM 即 经验风险最小化)
  2. 优秀的神经网络规模与训练样本数目呈线性关系

冲突的地方在于,经典机器学习理论告诉我们,只要学习机(如神经网络)的规模不随着训练数据数量的增加而增加,那么ERM的收敛性就是可以得到保证的。其中,学习机的规模由参数数量,或其VC复杂度来衡量。
这一矛盾挑战了ERM方法在当前神经网络训练中的适应性。

  1. 一方面,即使在强正则化情况下,或是在标签随机分配的分类问题中,ERM 也允许大规模神经网络去记忆(而不是泛化)训练数据。
  2. 另一方面,神经网络使用ERM 方法训练后,在训练分布之外的样本(对抗样本)上验证时会极大地改变预测结果。

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

贡献

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

x˜=λxi+(1λ)xj

y˜=λyi+(1λ)yj

其中, (xi,yi) (xj,yj) 是从训练数据中随机抽取的两个样本,且 λ[0,1] 。因此, mixup通过结合先验知识,即特征向量的线性插值应导致相关标签的线性插值,来扩展训练分布。 mixup仅需要几行代码即可实现,且引入了最小计算开销。


方法

公式

论文的贡献在于提出了一个一般性的领域分布,称作 mixup

μ(x˜,y˜|xi,yi)=1njnEλ[δ(x˜=λxi+(1λ)xj,y˜=λyi+(1λ)yj)],

其中, λBeta(α,α) α(0,)
x˜=λxi+(1λ)xj

y˜=λyi+(1λ)yj

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

上图展示了使用PyTorch 实现 mixup 训练的几行必要代码。
可替换的设计选择:

  1. 作者观察了三个和三个以上从Dirichlet 分布采样的权重样本的凸组合的性能表现也不错,但计算成本增加
  2. 当前实现使用单个数据加载获取一个最小批量,然后 mixup 被用于随机打乱后的同一最小批量。作者发现,减少 I/O 请求仍然能取得相同的效果。
  3. 仅在标签相同的输入中插值,并不能带来 mixup 后续讨论中的性能提升。

理解

mixup 领域分布可以看作一种形式的数据增强方式增强了模型 f 在训练样本之间的线性表现。作者断定线性表现消减了在训练样本之外预测的不良振荡。由于线性是一种最简单的可能性表示,从奥卡姆剃刀的观点来看线性是一种良好的归偏置。

mixup和ERM表现

Figure 1b 显示了mixup 在类与类之间提供了更平滑的过渡线来估计不确定性。Figure 2 显示了两个神经网络(using ERM and mixup)在训练CIFAR-10 数据集上的平均表现。两个模型有着同样的结构,使用同样的步骤训练,在同样的训练数据中采样相同的点进行评估。使用mixup训练的模型在训练样本之间的模型预测和梯度模值更加稳定。


实验

实验过程不详述,具体请看论文。仅贴出重要的图表:

imagenet 2012

ERM 和 mixup 方法在ImageNet-2012 数据集上验证错误。

CIFAR-10

ERM 和 mixup 方法在CIFAR-10 数据集上测试错误。


讨论

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

  1. 可不可能在其他类型的监督学习问题,比如回归和结构化预测得到相似的理想效果?
  2. 能不能证明有相似的方法在监督学习(半监督,强化学习)之外也是很有效的?

ps:我也写了一个简单的 MXNet 实现,欢迎star

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/29203.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【图像超分辨率重建】——EnhanceNet论文精读笔记

2017-EnhanceNet: Single Image Super-Resolution Through Automated Texture Synthesis(EnhanceNet) 基本信息 作者: Mehdi S. M. Sajjadi Bernhard Scholkopf Michael Hirsch 期刊: ICCV 引用: * 摘要: 单一图像超分辨率是指从…

旷视CVPR2019图卷积多标签图像识别Multi-Label Image Recognition with Graph Convolutional Networks论文详解

背景:GCN刚出来,很多很容易想到的idea会被运用起来,很容易产生一些paper。我们解析此篇论文,了解其中原理,一来看看如何将图卷积应用于目前技术上,二来看到底如何快速的把准确率刷到state of the art以便发…

Hierarchical Modular Network for Video Captioning【论文阅读】

Hierarchical Modular Network for Video Captioning 发表:CVPR 2022代码:HMNidea:现有方法在有监督学习的框架下比较生成句子与标注,没有对语义有详尽的探索。基于此,作者考虑从三个层面来连接视频特征和语义&#x…

CVPR2019超分辨率文章:Meta-SR,任意输入upsample factor的超分辨率网络

论文地址 CVPR2019的新文章,主要是针对以前超分辨率问题中需要固定上采样因子的问题作出的改进。 摘要 随着DNN的发展,超分辨率技术得到了巨大的改进。但是,超分辨率问题中的任意scale factor问题被忽视了很久。前面的很多工作都是把不同s…

GAIDC大会:飞桨邀你来大模型技术与应用论坛

深度学习大规模预训练模型的兴起,以其极强的通用能力和突破性的效果,正推动通用人工智能(AGI)快速发展,并带来了AI研发应用新范式,逐步改变AI生态格局。近期以大规模语言模型为基础的技术工作,展…

人工智能大模型多场景应用原理解析

​强烈推荐一个大神的人工智能的教程:http://www.captainai.net/zhanghan 前言 在上篇文章《人工智能大模型之ChatGPT原理解析》中分享了一些大模型之ChatGPT的核心原理后,收到大量读者的反馈,诸如:在了解了核心原理后想进一步了解未来的发展…

3日行程安排

22号 13:30出发到峡山码头坐船--横山岛景区 峡山码头 船费:来回70r 固定开船时间:9:30,12:00,14:00 或者🈵️12人自动开船,最晚4点有船返回 岛上风景 逛山海“小普陀”寺庙普南禅院,被誉为宁…

托福备考经验心得

综述 托福备考准备经验与心得。全部都是个人的反思,带有个人的观点色彩,按需自取即可。首先是几个深刻的经验教训: 对备考的强度要有一个基本的把握,之前一方面在忙别的事情一方面备考感觉自己成效不是特别明显 (可能是我本人能…

初识托福TOEFL口语

对于想要准备托福的童鞋,并不怎么了解托福考试内容的可以看一看,本文主要给大家分享下托福考试中口语部分介绍。 托福考试中总共有4个部分,第一个部分是Reading(阅读),第二个部分是(Listening&…

chatgpt赋能Python-pycharm自动纠错

Pycharm自动纠错:提高开发效率,减少犯错 随着Python语言的流行,Pycharm成为了众多Python工程师的首选IDE之一。Pycharm具有丰富的功能,其中之一就是自动纠错。本文将介绍Pycharm自动纠错的优点和如何正确使用它来提高开发效率&am…

KFC - VME = 50

KFC - VME 50 CalHeightFromPointToPlane.java_spencer_tseng的博客-CSDN博客

kfc 商家地址获取

简单获取商家地址(kfc) 学习源址 基本的查找url,请求方式我也是在上面的链接中学到的,在此就不赘述了,只是重点分享和记录一下自己遇到的一些bug 代码 import requestsurl http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?opkeyw…

java实现kfc点餐系统

一、题目分析 1.1、题目要求 正常餐品结算和找零。基本套餐结算和找零。使用优惠劵购买餐品结算和找零。可在一定时间段参与店内活动(自行设计或参考官网信息)。模拟打印小票的功能(写到文件中)。 基本要求:程序设计风…

html网页肯德基设计代码作业,Illustrator设计一幅肯德基广告单页制作教程

给各位Illustrator软件的使用者们来详细的解析分享一下设计一幅肯德基广告单页的制作教程。 教程分享: 首先来看一下最终效果图: 本幅广告页面我们很常见,就是一幅肯德基广告页面。在现实生活中,同学可以细心观察身边的事物&#…

kfc扫描点餐系统java_Java实现KFC点餐系统过程解析

这篇文章主要为大家详细介绍了java实现KFC点餐系统,模拟肯德基快餐店的收银系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 同学们应该都去麦当劳或肯德基吃过快餐吧?请同学们参考肯德基官网的信息模拟肯德基快餐店的收银…

python爬取ajax动态内容肯德基门店,Python爬虫如何爬取KFC地址

随着人们生活水平的提高,肯德基这类的快餐消费的十分火爆,成为小朋友和年轻人的最爱,我们到一个地方想要找到肯德基店面,会根据导航获取肯德基地址,那你知道我们也可以使用python爬虫获取KFC地址吗?我们可以…

爬虫爬取国内肯德基门店信息

预期效果 爬取每个城市(300城市)所有的肯德基门店信息,保存到excel中,效果如下: 代码实现 import requests import csv import jsondef getData(page,key):urlhttp://www.kfc.com.cn/kfccda/ashx/GetStoreList.as…

python爬取肯德基KFC全国门店2021-01-11

python爬取肯德基KFC全国门店 改进版 之前,参考两位网友的代码,爬取全国KFC门店,发现有些许问题。在参考网友代码的基础上,进行改进,最终爬取了全国KFC门店。 思路如下: 第一步:通过KFC门网页…

html网页肯德基设计代码作业,AI快速制作一幅肯德基广告单页教程

这篇AI教程向脚本之家上的朋友介绍AI快速制作一幅肯德基广告单页方法,教程以实例的形式向我们介绍广告单页的制作方法,很实用,也比较简单,喜欢的朋友快来学习一下吧! 首先来看一下最终效果图: 本幅广告页面…

KFC点餐系统

一:要求 同学们应该都去麦当劳或肯德基吃过快餐吧?请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统,合理使用C/python/Java,结合设计模式(2种以上)至少实现系统的以下功能: 1.正常餐品结算和找零…