DIVIDEMIX: LEARNING WITH NOISY LABELS AS SEMI-SUPERVISED LEARNING
论文阅读:
DIVIDEMIX: LEARNING WITH NOISY LABELS AS SEMI-SUPERVISED LEARNING
作者说明
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
原文链接:凤尘 》》https://www.cnblogs.com/phoenixash/p/15369008.html
基本信息
\1.标题:DIVIDEMIX: LEARNING WITH NOISY LABELS AS SEMI-SUPERVISED LEARNING
\2.作者:Junnan Li, Richard Socher, Steven C.H. Hoi
\3.作者单位:Salesforce Research
\4.发表期刊/会议:ICLR
\5.发表时间:2020
\6.原文链接:https://arxiv.org/abs/2002.07394
Abstract
众所周知,深度神经网络需要注释。为了降低深度网络学习时的标注成本,人们做了大量的工作。两个主要的学习方向包括使用噪声标签的学习和利用未标记数据的半监督学习。在这项工作中,我们提出了DivideMix,利用半监督学习技术来学习带有噪声标签的新框架。其中,DivideMix采用混合模型对每个样本的loss分布进行建模,将训练数据动态地划分为带干净样本的标记集和带噪声样本的未标记集,并以半监督的方式对标记和未标记的数据进行训练。为了避免确认偏差,我们同时训练了两个分化的网络,每个网络使用来自另一个网络的数据集划分。在半监督训练阶段,我们对MixMatch策略进行改进,分别对有标记的样本和无标记的样本进行标签共同细化和标签共同猜测。在多个基准数据集上的实验表明,在最先进的方法上有实质性的改进。Code is available at https://github.com/LiJunnan1992/DivideMix.
1.Introduction
深度神经网络(dnn)训练的显著成功在很大程度上归功于人工标注标签的大数据集的收集。然而,用高质量的注释标记大量数据是非常昂贵和耗时的。另一方面,有替代和廉价的方法来挖掘带有标签的大规模数据,如查询商业搜索引擎(Li et al., 2017a),下载带有标签的社交媒体图片(Mahajan et al., 2018),利用机器生成的标签(Kuznetsova et al., 2018),或者使用单个注释器对每个样本进行标注(Tanno et al., 2019)。这些替代方法不可避免地产生带有噪声标签的样品。最近的一项研究(Zhang et al., 2017)表明,dnn容易对噪声标签过度拟合,导致泛化性能较差。
现有的带噪声标签的学习(LNL)方法主要采用损失校正方法。有些方法估计噪声转移矩阵并用它来校正损失函数(Patrini et al., 2017;Goldberger & Ben-Reuven, 2017)。然而,正确估计噪声转移矩阵是一个挑战。一些方法利用dnn的预测来纠正标签并相应地修改损失(Reed et al., 2015;Tanaka等人,2018)。些方法在高噪声比下表现不佳,因为来自DNNs的预测将主导训练并导致过拟合。为了克服这个问题,Arazo等人(2019)采用了MixUp (Zhang等人,2018)增强。另一种方法是选择或重权样本,使噪声样本对损失的贡献更小(Jiang et al., 2018;Ren et al., 2018)。一个具有挑战性的问题是设计一个可靠的标准来选择干净的样品。已有研究表明,dnn倾向于在拟合标签噪声之前首先学习简单的模式(Arpit et al., 2017)。因此,许多方法将损失小的样本视为干净的样本(Jiang et al., 2018;Arazo等人,2019)。其中,Co-teaching (Han et al., 2018)和Co-teaching+ (Yu et al., 2019)训练两个网络,每个网络在小批量中选择小损失样本来训练另一个网络。
另一个旨在降低注释成本的活跃研究领域是半监督学习(SSL)。在SSL中,除了有标记的样本外,训练数据还包括未标记的样本。通过加强模型对未标记数据进行低熵预测(Grandvalet & Bengio, 2004)或对扰动输入进行一致预测(Laine & Aila, 2017;Tarvainen & Valpola, 2017;Miyato等人,2019)在利用无标注样本领域取得显著进展。最近,Berthelot等人(2019)提出了MixMatch,它在一个框架中统一了几种主流SSL方法,并实现了最先进的性能。
尽管LNL和SSL各自取得了进步,但它们之间的联系尚未得到充分的探索。在这项工作中,我们提出了DivideMix,它以半监督的方式处理标签噪声的学习。与大多数现有的LNL方法不同,DivideMix丢弃了极有可能是噪声的样本标签,利用噪声样本作为未标记数据,使模型从过拟合中得到正则化,提高泛化性能。这项工作的主要贡献是:
- 我们提出co-divide,即同时训练两个网络。对于每个网络,我们根据其每个样本的loss分布动态拟合高斯混合模型(GMM),将训练样本划分为有标记集和无标记集。然后,分割后的数据被用来训练另一个网络。co-divide使两个网络保持分歧,从而可以过滤不同类型的错误,避免自我训练中的确认偏差。
- 在SSL阶段,我们通过标签共同细化和共同猜测来改进MixMatch,以考虑标签噪声。对于有标记的样本,我们使用GMM引导的网络对另一个网络的预测来改进它们的真实标签。对于未标记的样本,我们使用两个网络的集合来对它们的标签进行可靠的猜测。
- 我们的实验表明,在不同类型和不同成都平的标签噪声的多个基准上,DivideMix显著地提高了最先进的结果。我们也提供广泛的消融研究和定性结果,以检查不同成分的影响。
2.Related Work
2.1 LEARNING WITH NOISY LABELS
现有的训练带噪声标签的dnn的方法大都是为了修正loss函数。修正方法可以分为两类。第一种方法对所有样本一视同仁,通过重新标记噪声样本来显式或隐式地纠正损失。对于重标记方法,对噪声样本的建模采用有向图模型(Xiao et al., 2015)、条件随机场(Vahdat, 2017)、知识图(Li et al., 2017b)或DNNs (Veit et al., 2017;Lee等人,2018)。然而,他们需要获得一小部分干净的样本。最近,Tanaka等人(2018)和Yi & Wu(2019)提出了利用网络预测重新标记样本的迭代方法。以显式地修正损失。Reed等人(2015)提出了一种利用模型预测结果修正损失的bootstrapping方法,Ma等人(2018)利用特征子空间的维数对bootstrapping方法进行了改进。Patrini等人(2017)估计了用于损失修正的标签损坏矩阵,Hendrycks等人(2018)通过使用一组干净的数据改进了损坏矩阵。第二类校正侧重于调整训练样本的权重或分离干净和有噪声的样本,这最终会修正损失函数 (Thulasidasan et al., 2019; Konstantinov & Lampert, 2019).常用的方法是将损失较小的样品视为清洁样本 (Shen & Sanghavi, 2019)。Jiang et al.(2018)通过给样本赋权,训练教师网络引导学生网络。Ren et al.(2018)基于梯度方向对样本重新加权。Chen et al.(2019)应用交叉验证来识别干净的样本。Arazo等人(2019)通过用混合模型对每个样本的损失建模来计算样本权重。Han et al.(2018)训练两个网络,在每个小批内选择小损失样本进行训练,Yu et al.(2019)通过不同的数据更新网络,使两个网络保持发散,做了进一步提升。
与上述所有方法相反,我们的方法丢弃了极有可能是噪声的标签,并利用噪声样本作为未标记的数据,以SSL的方式正则化训练。Ding et al.(2018)和Kong et al.(2019)已经证明SSL方法在LNL中是有效的。Ding et al.(2018)和Kong et al.(2019)已经证明SSL方法在LNL中是有效的。然而,他们的方法在高噪声下性能不佳,而我们的方法可以更好地识别和利用噪声样本。除了利用SSL,我们的方法还引入了其他优点。与自训练方法相比(Jiang et al., 2018;Arazo et al., 2019),我们的方法通过训练两个网络互相过滤错误,可以避免确认偏差问题(Tarvainen &Valpola, 2017)。与Co-teaching (Han et al., 2018)和Co-teaching+ (Yu et al., 2019)相比,我们的方法更具有抗噪声的鲁棒性,因为我们让两个网络在每个epoch (co-divide)隐式地相互教学,在每个mini-batch(label co-refine和co-guessing)显式地相互教学。

2.2 SEMI-SUPERVISED LEARNING
SSL方法旨在利用未标记的数据来提高模型的性能。目前最先进的SSL方法主要涉及在未标记数据上添加额外的损失项,以正则化训练。正则化分为两类:一致性正则化(Laine &艾拉,2017;Tarvainen,Valpola, 2017;Miyato等人,2019)强制该模型对增强的输入数据产生一致的预测;熵最小化(Grandvalet &Bengio, 2004;Lee, 2013)鼓励该模型对未标记数据给出高置信度预测。最近,Berthelot et al.(2019)提出了MixMatch,它将一致性正则化、熵最小化和MixUp (Zhang et al., 2018)正则化统一为一个框架。
3.METHOD
DIVIDEMIX: LEARNING WITH NOISY LABELS AS SEMI-SUPERVISED LEARNING的更多相关文章
- A brief introduction to weakly supervised learning(简要介绍弱监督学习)
by 南大周志华 摘要 监督学习技术通过学习大量训练数据来构建预测模型,其中每个训练样本都有其对应的真值输出.尽管现有的技术已经取得了巨大的成功,但值得注意的是,由于数据标注过程的高成本,很多任务很难 ...
- Machine Learning Algorithms Study Notes(2)--Supervised Learning
Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 本系列文章是Andrew Ng 在斯坦福的机器学习课程 CS 22 ...
- A Brief Review of Supervised Learning
There are a number of algorithms that are typically used for system identification, adaptive control ...
- Supervised Learning and Unsupervised Learning
Supervised Learning In supervised learning, we are given a data set and already know what our correc ...
- 监督学习Supervised Learning
In supervised learning, we are given a data set and already know what our correct output should look ...
- 学习笔记之Supervised Learning with scikit-learn | DataCamp
Supervised Learning with scikit-learn | DataCamp https://www.datacamp.com/courses/supervised-learnin ...
- (转载)[机器学习] Coursera ML笔记 - 监督学习(Supervised Learning) - Representation
[机器学习] Coursera ML笔记 - 监督学习(Supervised Learning) - Representation http://blog.csdn.net/walilk/articl ...
- Introduction - Supervised Learning
摘要: 本文是吴恩达 (Andrew Ng)老师<机器学习>课程,第一章<绪论:初识机器学习>中第3课时<监督学习>的视频原文字幕.为本人在视频学习过程中逐字逐句记 ...
- supervised learning|unsupervised learning
监督学习即是supervised learning,原始数据中有每个数据有自己的数据结构同时有标签,用于classify,机器learn的是判定规则,通过已成熟的数据training model达到判 ...
随机推荐
- 防止XSS 攻击集成springboot
1.配置相关数据 在配置文件中配置 # 防止XSS攻击 xss: # 过滤开关 enabled: true # 排除链接(多个用逗号分隔) excludes: /system/notice/* # 匹 ...
- BufferedReader 和BufferedWriter
BufferedWriter: private void test(String content,String destPath) throws IOException { BufferedReade ...
- Java程序设计学习笔记(三)—— IO
时间:2016-3-24 11:02 --IO流(Input/Output) IO流用来处理设备之间的数据传输. Java对数据的操作是通过流的方式. Java对于操作流的对象都在 ...
- 如何实现CSS限制字数,超出部份显示省略号
<div style="width:200px; white-space:nowrap;overflow:hidden;text-overflow:ellipsis; border:1 ...
- mybaits源码分析--binding模块(五)
一.binding模块 接下来我们看看在org.apache.ibatis.binding包下提供的Binding模块 ,binding其实在执行sqlSession.getMapper(UserMa ...
- K8S的核心概念
1.Pod -- 是最小部署单元 -- 是一组容器的集合 -- Pod中的容器共享网络 -- 生命周期是短暂的 2.controller -- 确保预期的pod副本的数量 -- 确保所有的node运行 ...
- harbor高可用集群搭建
高可用harbor集群搭建 一.安装部署 1.节点角色 角色 数量 名称 备注 harbor主节点 2 harbor-1 harbor-2 双主模式 haproxy 2 HA-1 HA-2 需要通过k ...
- Python习题集(六)
每天一习题,提升Python不是问题!!有更简洁的写法请评论告知我! https://www.cnblogs.com/poloyy/category/1676599.html 题目 ''' 问题1.对 ...
- Identity角色管理三(编辑角色)
因只有角色名能修改故继续使用创建角色的视图模型 using System.ComponentModel; using System.ComponentModel.DataAnnotations; na ...
- DOM对象入门
1.概念 2.script最好是放在后面,等html的文档内容加载完毕,不然获取不到 3.事件基本操作 第一种绑定事件html和js耦合度高,用第二种 4.灯开关事件使用