论文阅读“Combating Noisy Labels by Agreement: A Joint Training Method with Co-Regularization”

Wei, H., Feng, L., Chen, X., & An, B. (2020). Combating noisy labels by agreement: A joint training method with co-regularization. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 13726-13735).

摘要导读

带有噪声标签的深度学习是弱监督学习中一个具有挑战性的问题。最先进的方法“Decoupling”和“Co-teaching+”都证明了“disagreement”对于缓解有噪声的标签学习问题至关重要。本文从一个不同的角度出发,提出了一个名为JoCoR的鲁棒学习范式,旨在减少训练过程中两个网络的多样性。具体来说,首先使用两个网络对相同的小批数据进行预测,并计算每个训练示例Co-Regularization联合损失。然后选择small-loss的样本,同时更新两个网络的参数。通过联合损失的训练,由于Co-Regularization的影响,这两个网络将越来越相似。大量的实验表明了提出模型的有效性。

方法浅析

如前所述,本文建议应用协议最大化原则来解决有噪声标签的问题。

在提出的方法中,鼓励两种不同的分类器通过显式正则化方法(Disagreement)代替硬抽样来使分类预测结果更接近。该方法可以看作是一种元算法,通过一个损失函数训练两个基分类器,其中包括一个正则化项,以减少两个分类器之间的差异。

对于具有个类别的多分类任务,假设具有个样本的数据集为,其中是第个实例,其观察标签为。与“Decoupling”和“Co-teaching+”和类似,本文提出了JoCoR方法,其中两个深度神经网络用和表示,而和分别表示实例的预测概率,即和是两个网络对应的“softmax”层的输出。

  • Network
    对于JoCoR,每个网络都可以单独用来预测标签,但在训练阶段,这两个网络采用pseudo-siamese paradigm进行训练,这意味着它们的参数是不同的b但同时可以使用联合损失更新参数。对于每个样本,其对应的损失函数如下:
    损失的第一部分是两个网络的常规监督学习损失,第二部分是两个网络实现共规则化的预测之间的对比损失。
  • Classification loss

    对于多分类任务,使用交叉熵损失作为监督部分,以最小化预测和标签之间的距离。
    直观地说,两个网络可以过滤不同的标签类型的错误,因为它们由于初始化的参数不同而具有不同的学习能力。在Co-teaching中,当两个网络在每个小批数据中交换所选的小损失实例时,可以通过对等网络相互减少误差。通过联合训练范式,提出的JoCoR将在small-loss selection阶段考虑来自两个网络的分类损失。通过这种方式,JoCoR可以共享与Co-teaching中相同优势的cross-update策略。

    具体的对比说明如下所示:
  • Contrastive loss
    从协议最大化原则的角度来看,不同的模型会对大多数例子的标签达成一致,而它们不太可能对不正确的标签达成一致。基于这种现象,本文应用共正则化方法来最大化两个分类器之间的一致性。具体而言,JoCoR利用对比项作为共正则化,使网络相互引导。为了测量两个网络的预测和的匹配性,并且简化实现,文中使用了对称的Kullback-Leibler(KL) Divergence。
  • Small-loss Selection
    在介绍细节之前,作者首先申明了small-loss和clean instance之间的联系。直观地看,small-loss instance很可能是那些被正确标记的例子。因此,如果只使用每个小批数据中的small-loss instance来训练分类器,将会抵抗噪声标签。因此,为了处理噪声标签,本文应用 “small-loss” criterion来选择“clean” instances。
    在提出的算法中,使用联合损失来选择small-loss instance。直观地说,一个损失较小的实例意味着这两个网络都很容易达成共识并做出正确的预测。由于两个网络基于不同的初始参数,所以具有不同的学习能力,因此所选择的small-loss instance会比单一模型所选择的实例更加可靠。由此,构建如下的 small-loss selection:
    其中,用于控制在每个训练阶段应该选择多少个small-loss instances。在训练开始时,在每个batch的数据中保留更多的small-loss instances(使用一个较大的),因为在这种情况下深度网络首先会拟合clean instances。随着epoch的增加,逐渐减少,直到达到,在每个batch中保持较少的instances。这种操作可以防止深度网络过拟合噪声数据。
    在获得small-loss instance之后,对这些实例的平均损失进行计算,以进一步反向传播更新两个网络的参数:
    (5)
    个人比较喜欢small-loss selection的思想,之前老师也让在聚类任务中做了尝试,但是效果不太行,可能是我之前的方向不对,打算再思考一下。
  • Algorithm

    整体的算法如下所示:

啥话都不想说,仰望大佬。

你可能感兴趣的:(论文阅读“Combating Noisy Labels by Agreement: A Joint Training Method with Co-Regularization”)