样本混进了噪声怎么办?通过Loss分布把它们揪出来!

<center>作者:郭必扬</center>
<center>时间:2020.12.30</center>

前言:今天继续分享一篇很有意思的文章,来自2019年ICML的“Unsupervised Label Noise Modeling and Loss Correction”,本文发现了一个“大家都知道但又不太确定”的现象——noisy样本的loss一般比较大,通过实验证实了这一点,并利用这个特点来定位noise从而排除这些noise的影响,来提高模型的性能。可以说是挺有趣了!

  • 论文标题:Unsupervised Label Noise Modeling and Loss Correction
  • 会议/期刊:ICML-19
  • 团队:Dublin City University (DCU)

一、本文的主要思想、贡献

  • 首先发现并证实了,神经网络在学习“随机的标签”或“错误的标签”(都可以称为噪音样本)的时候,会比学习“正确的标签”要慢,由此发现噪音样本在训练时的loss更大;
  • 通过对样本的loss distribution进行观察,作者发现可以使用一个Beta分布来刻画正常样本和噪音样本,从而将二者区分;
  • 由此,作者设计了一种复合的模型,在训练的期间,可以通过一种无监督的方式来实时辨别噪声并去除,从而提高模型效果。

下面稍微详细地介绍一下:

二、关于Training with noise的一些研究背景

当训练样本中混有噪音,就很容易让模型过拟合,学习到错误的信息,因此必须加以干涉,来控制噪音带来的影响。这方面的研究,主要集中于“损失修正”方法,即loss correction。典型的方法有这些:

1. Bootstrapping loss(☆)

这是我非常喜欢的一个loss function,十分的简洁,又有道理,让人一见钟情。公式如下:
\ell_{B}=-\sum_{i=1}^{N}\left(\left(1-w_{i}\right) y_{i}+w_{i} z_{i}\right)^{T} \log \left(h_{i}\right)
上面的公式,实际上是指"hard bootstrapping loss"。这里的yi就是真实的标签(一般是one-hot形式的),zi则是预测的标签(也是转化成one-hot形式的,因此叫hard),然后hi就是预测的概率分布。

这个loss实际上就是对cross-entropy loss的一个修正,把真实标签改了改,分了一部分到预测出来的那个维度上。

这样做的效果是什么?首先我们得有一个概念:

如果一个样本的损失很小,模型就不会在这个样本上面花太多功夫去拟合它;相反,损失很大,模型就会花大力气去拟合它。

那么,对一个噪音点,其相比于正常点,计算出来的loss一般都会更大一些(label跟实际的相差较远),因此模型会花大力气去拟合这些噪音点,因此传统的cross-entropy loss是鼓励模型学习到错误信息的。而bootstrapping loss,把模型自己的预测,加入到真实标签中,这样就会直接降低这些噪音点的loss(极端一点,如果真实标签就是模型的预测,那loss就趋于0),因此模型会降低对噪音点的注意力;对于正常的样本,zi带来的影响相对会较小(zi更容易跟yi一致),因此正常样本还是可以得到有效的训练。

是不是真·有、意思?

这个B-loss来自2015ICLR,目前引用量高达467次了。。。好东西大家都喜欢啊。

2. Curriculum learning

Curriculum learning这名字一听就很有意思,“课程学习”往往是由浅入深、先易后难的,这个curriculum learning也是这个思想,最早由Bengio在09年的时候提出,思想就是:

“把训练样本按照一个有意义的顺序(比如先易后难)排列,有助于加快模型的迭代和泛化性能。”

因此有学者使用这样的思想,把clean样本视为简单的,noisy样本视为困难的,来让模型学习。具体的方法还是通过改变clean和noisy样本的loss权重来实现这个目的。

3. Mixed data augmentation

这个方法也比较有新意,通过一种数据增强的方法,来减少noise带来的影响:

\begin{array}{l} x=\delta x_{p}+(1-\delta) x_{q} \\ \ell=\delta \ell_{p}+(1-\delta) \ell_{q} \end{array}

具体则是将clean和noisy的样本和标签进行结合,得到新样本和新标签。

简单的理解为将两个不同的样本做了一个平均,平均肯定更加稳定嘛!

4.其他:

其他的我就没细看了,比如使用一个noise transition matrix来调整loss或者预测概率等等。

三、本文提出的方法:

本文提出的方法思路也十分清晰:

  • 第一步:通过cross-entropy得到的loss分布来判断样本是noisy还是clean的概率
  • 第二步:使用这个概率来动态地调整loss function,使用该loss来训练

第一步:Label noise modeling

作者通过实验发现noise和clean在loss上的分布是十分不同的,下图是作者的一个实验结果图:


图中展示的是训练了10轮之后的各个样本的cross-entropy loss,可以看出clean和noisy(注意这里是作者为了展示二者的不同而特意标的,实际训练时我们不知道谁是clean谁是noisy)的loss分布呈现出一个双峰分布,这样的分布可以使用混合概率模型来模拟,比如高斯混合模型(GMM),但实际上作者发现用贝塔混合模型(BMM)模拟更好(因为形状更像)。

通过EM算法,可以迭代求解出这个BMM分布的参数,从而根据loss的值计算出属于clean还是noisy的概率。

第二步:Noise model for label correction

能够判别一个样本是clean还是noisy,就可以去改进前面提到一些方法了,比如Boostrapping loss方法。

前面提到B-loss的主要思想,就是针对对noise样本来对loss进行修正。但是B-loss中的工事中的权重wi是一个超参数,也就是在训练的时候是固定的,这使得clean样本总是会受到一些不好的影响(wi越大,影响越大),而noisy样本往往又调整的不够(wi越小,效果越少),因此这个就十分不灵活了。

现在,我们知道了一个样本是clean还是noisy的概率,那么就有机会动态地调整wi了,即,吧原来的B-loss,改成:

\ell_{D}=-\sum_{i=1}^{N}\left(\left(1-p_{noisy}\right) y_{i}+p_{noisy} z_{i}\right)^{T} \log \left(h_{i}\right)

是不是很简洁?总的来说,本文提出的训练方式就是

还是在原来的使用CE-loss的训练模式下,每个epoch训练完之后,去使用EM算法把当前这个混合贝塔分布BMM给模拟出来,然后计算新的loss——D-loss,使用这个D-loss来更新参数。注意每一轮都是使用CE-loss来学习BMM,然后使用D-loss更新。

其实论文中还提到了一个更加复杂的方法,就是对前面提到的mixup data augmentation的改进,但我感觉普适性不够强,所以这里不再介绍了。

通过作者改造后的loss function,我们可以跟原来的CE-loss做一个对比:


实验的部分,没什么特别的,这里也不多嘴了。


好了,本篇论文解读就到这里了,最让人影响深刻的,应该就是这个Boostrapping Loss和使用BMM来模拟clean/noisy的loss分布的想法了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,761评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,953评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,998评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,248评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,130评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,145评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,550评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,236评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,510评论 1 291
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,601评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,376评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,247评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,613评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,911评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,191评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,532评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,739评论 2 335

推荐阅读更多精彩内容