Unsupervised Label Noise Modeling and Loss Correction

摘要

我们训练的CNN网络一般有这个性质,在面对有噪声的数据时,一般先拟合干净数据,再拟合噪声数据。

1.所以我们就可以得到一个混合分布,根据loss值来断定这个loss是属于clean-label还是noisy_label.

2.然后我们也可以根据迭代产生的新loss来修正这个分布。

3.并且我们还加入了一个混合增强模型能够更一步提高精度。

提出方法

一般的分类损失

                    

噪声标签建模 

如何判读一个损失是属于干净label的还是label的,我们有一个观察很直接:

1.随机的标签比干净的标签训练时间更长。

2.并且随机的标签在刚开始训练的时候有更大的损失。

所以我们就可以根据损失值建模,来根据这个数据得到的损失判断它是随机标签还是干净标签。

     

我们使用BMM来建模,也就是贝塔混合模型。

我们假设 K=2, 也就是有两种情况,一个是干净的标签,一个是噪声标签。

总体的混合分布如下,我们给定每个 k 的贝塔参数和 loss 值,就可以得到这个 loss 值对应的总体的分布了:

                                              ​​​​​ 

这里的 p 我们使用的贝塔分布,因为贝塔分布更加拟合 loss 值的分布(我觉得其实也是因为贝塔分布更加符合损失值向0的那个倾斜):

                               

所以,当我们赋予这个BMM初始的 α 和 β 值后,如何根据观测到的损失值更新这两个值呢?

这里我们就有一种EM算法,来专门拟合这种含有隐变量的概率分布问题:

1. E-STEP

表示出后验分布,也就是给定loss, 判断这个loss是属于clean-label还是noisy-label.

                                                   

                                    

2. M-STEP

根据上面的后验分布,根据EM算法(迭代求最大值?),得到参数 α,β,λ的值,进而得到新的后验分布:

                 

                                      

                                                  

                                                

这里 k=0(1) 分别代表干净(噪声样本)。

修正标签的噪声建模

直接使用分类损失会导致病态的拟合,因为它拟合了噪音标签。

所以我们提出了static hard bootstrapping, 它可以通过添加一个额外的项去处理噪音标签。

                     

这里的z就是我们的损失函数预测的那个标签,用来冲淡y,因为万一y是噪声标签呢?

这个w一开始都是用的是超参数,固定的,效果不好,所以我们就可以用上一个部分得到的后验概率来替换掉w,使得w成为一个动态的。

然后这里我们也可以有一个static soft bootstrapping, 用softmax probability h 来替换掉 z,不用硬标签,而是使用软通货来代表这个 wi*zi.

这个公式的意义在于: 如果是clean的标签,那么这里(1-w)就大,损失函数就依赖于clean的标签了。如果是noisy的标签,那么这里w就大,损失函数就依赖于自己预测的标签来学习了。

联合标签修正和混淆数据增强

  • 混淆数据增强

                                                

这个公式的含义就是,随机选两组数据,使用参数把它们的特征融合,然后用融合特征,分别预测两个标签,得到两个损失函数,然后按照比例将这两个损失函数相加就可以了。

这种组合的好处:这种组合使网络正则化,并且远离了振荡。这种组合提供了一种组合干净和噪声样本的机制。即使这两个组合的情况都是噪声,也有效,因为这是两组数据融合,一组数据的标签可能就是另一组数据的标签。并且这种机制能够防止对噪音数据的过拟合。

  • 混淆机制和bootstrapping结合

动机:在高噪声的情况下,我们得到的两组混淆数据都存在噪声是普遍的情况。所以我们将混淆机制和bootstrapping融合。这可以利用两者的好处:

mixup:使得网络正则化,远离震荡。

bootstrapping:加入了网络自己预测的标签,可以改善随机选取的两组数据都是噪声的情况。

                      
这个公式中各个变量的意思:h是两组数据的融合,yp和yq是数据库中两个样本的标签,zp和zq是p数据和q数据的预测,因为我们无法用融合的h就直接得出zp和zq.

  • 防止网络倾向于预测相同的标签

 动机:当噪声多到没数,使得预测网络都没法学习的时候,可能会出现这种情况,就是预测网络过于相信自己,最后预测网络总是倾向于预测相同的标签,我们使得正则化项去避免这种情况:

                                                

 这里的 pc 是 1/num_of_class, 是每一个 batch 每一种标签预测的平均值。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值