Press "Enter" to skip to content

ICCV 2019论文解读:数据有噪声怎幺办?你可以考虑负学习

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

 

解读 | BBuf 编辑 | 唐里

 

下面要介绍的论文发于ICCV2019,题为「NegativeLearning for Noisy Labels 」,axriv地址为 : https://arxiv.org/abs/1908.07387。

 

 

卷积神经网络(CNN)在图像分类任务中表现出色。训练CNN的经典方法就是以有监督的方式对图像进行标记,这是一种快速且准确的方法,这里也将这种方法称为正学习(PL)。但是如果存在不正确的标签或者有噪声的标签,使用PL训练将提供错误的信息,从而严重降低性能。为了解决这一问题,我们从一种称为负学习(NL)的间接学习方法开始,使用补充标签来训练CNN,例如输入图像不属于某类这种信息。因为选择一个正标签作为补充标签的可能性很小,NL降低了提供错误信息的风险。此外,为了让网络收敛更快,我们扩展了本方法,选择性的采用了PL,称为选择性负学习和正学习(SelNLPL)。通过简单半监督训练技术,我们的方法实现了有噪数据分类的SOAT性能,证明了SelNLPL对噪声过滤的有效性。

 

1. 研究背景

 

卷积神经网络在图像分类任务中表现出色,但依赖于大量的正确标注数据,而标注成本较高,且在标注过程中不可避免出现标注错误的情况,网络可能过度拟合这个数据集导致分类性能不佳。为了克服这个困难,我们提出了NL来学习图片不属于哪一类。如Figure1所示,如果是PL,CNN接受到图片和标签为车,模型会被训练为认为这张图片的内容是车而不是狗,这里显然就出错了。如果使用NL,CNN会被提供除了车之外的补充标签,例如鸟,然后训练网络认为这张图片不是鸟。用这种方式,噪声数据可以通过提供“正确的”信息而没有选择真实标签作为补充标签的可能性很高,从而有助于模型训练。另外,我们利用NL训练方法,提出了SeNLPL,该方法将PL和NL结合起来,以充分利用两种方法来更好地训练有噪数据。尽管PL不适合嘈杂的数据,但它在干净数据中仍然是一种快速,准确的方法。

 

 

Figure 1

 

2. 贡献

 

1. 我们将负学习(NL)方法应用于噪声数据分类问题。我们通过证明它可以防止CNN过度拟合有噪声的数据来说明其实用性。

 

2. 利用提出的NL,我们引入了一个称为SelNLPL的新框架,用于从训练数据中滤除噪声数据。

 

3. 我们基于SelNLPL,通过相对简单的半监督学习获得了有噪数据的SOAT分类结果。

 

4. 我们的方法不需要任何噪声数据类型、数量等先验知识。并且我们的方法没有引入任何需要依赖于先验知识的超参数,这使得我们的方法可以更好的应用。

 

3.

 

本节介绍了用于噪声数据分类的整体方法。

 

3.1 负学习

 

第一节提到,传统的针对图像分类问题的训练方式都是正学习,即学习每个样本属于某类。相反,NL需要学习的是每个样本不属于哪类。我们考虑一个c类的分类问题,将作为输入, 代表它的标签以及整个标签集合。 代表它们的独热码向量。假设 代表的是CNN将输入空间映射到一个c维的分数空间 ,其中 代表神经网络的参数。如果最后经过softmax函数,那幺输出可以被表示为一个概率分布 ,其中 代表c维的概率分布。当使用PL训练时,网络的交叉熵损失函数变成:

 

 

其中 代表 的第 个元素。等式(1)适合使用PL训练时最终要优化的损失函数。但是NL不同于PL,因为它要求 ,所以我们提出NL的损失函数如下:

 

 

该互补标签是完全随机的,因为它是针对训练期间的每次迭代从除给定标签y之外的所有类别标签中随机选择的,如Algorithm1所示。等式(2)使补充标签的概率最优化为0,从而导致其他其他类别的概率值增加,从满足NL的要求。

 

 

Figure2展示了PL和NL之间的明显区别。CNN在夹杂了30%对称噪声的CIFAR10数据集上PL或NL训练吗。我们使用的噪声将在第5节介绍。注意,虽然CNN是使用PL(公式1)或NL(公式2)训练的,但Figure2(a)中所有的损失均是由公式1计算的。使用PL,可在早期降低测试损失并提高测试精度。但是,因为最终CNN过度拟合了带噪声的训练数据,从而导致对干净数据的测试结果变差。相反,随着观察到的测试损失逐渐减少和测试准确率提高,NL被证明在训练CNN时不会过度拟合数据。

 

 

Figure 2

 

3.2 选择性的负学习

 

正如3.1节提到的,NL可以防止CNN过度拟合带噪样本,如Figure3(b)所示。下一步,我们介绍SelNL以改善NL之后的收敛性。用NL训练后,SelNL仅适用置信度超过1/c的数据训练CNN。在阈值化之后,训练中涉及的数据噪声往往比之前少,从而有效的提高了CNN的收敛性。Figure3(c)展示了NL之后的SelNL结果。

 

 

Figure 3

 

3.3 选择性的正学习

 

当涉及到有噪数据时,NL可能是一种更好的学习方法。但是,如果训练数据是无噪的,则PL是比NL更快,更准确的方法。在使用NL和SelNL进行训练之后,干净的和带噪的样本的置信度差很多,如图Figure3(c)所示。SelPL仅使用置信度超过 的数据来训练CNN,并保证这些数据是无噪数据。这里,我们取为0.5,Figure3(d)展示了SelPL在经过SelNL处理后训练的结果,几乎所有无噪数据的置信度都接近1。

 

3.4 选择性的正负学习

 

总而言之,NL,SelNL和SelPL的组合称为SelNLPL。Algortim2展示了SelNLPL的整个过程。

 

 

Figure4展示了每个步骤的性能变化。Figure4清楚的表明了应用每个步骤时的性能增强,从而证明了SelNLPL中每个步骤的重要性。Figure4表明,SelNLPL的每个步骤都有助于收敛,同时可以有效防止对噪声数据的过拟合,从而获得十分solid的结果。如Figure3(d)所示,干净数据和带噪数据的总体置信度被大幅度分开,这意味着SelNLPL可用于从训练数据中过滤噪声数据。第4节将对这一点进行进一步分析。

 

 

Figure 4

 

3.5 半监督学习

 

借助SelNLPL的过滤功能,可以将半监督学习方法应用于清洗数据和过滤噪声数据,并丢弃过滤后的有噪数据的标签。对于半监督学习,我们应用伪标记方法。Figure5展示了伪标记的整个过程。首先,使用通过SelNLPL训练的CNN将训练数据分为干净数据和有噪数据(Figure5(a))。接下来在Figure5(b)中CNN的输出更新噪声数据的标签。在这里我们使用软标签作为更新的标签。用于图像分类的典型标签是独热码矢量,而软标签只是经过训练的CNN输出。结果表明,更新标签时用软标签更好。最后,使用干净的数据和标签更新的噪声数据来训练重新初始化的CNN(Figure5(c))。这取得了SOAT精度,证明了SelNLPL的高过滤能力。结果展示在第5节中。

 

 

Figure 5

 

4. 过滤能力

 

在第3.4节中提到,SelNLPL对于从训练数据中过滤噪声数据非常有效。在本节中,我们将进一步说明SelNLPL的过滤过程。使用SelNLPL训练CNN时,将置信度超过的数据认为是干净的。按照这种方法,我们将未经PL训练的数据看做是噪声数据。Table1总结了具有各种噪声比值的CIFAR10上的SelNLPL滤波结果。其中Estimated noise表示未经PL训练的数据中的噪声比。召回率和精度是衡量噪声数据过滤质量的方法。结果标签,估计的噪声比几乎和实际噪声匹配度在88%到99%之间。此外,Table1展示我们过滤噪声数据的方法可以产生较高的召回率和精度值,这代表我们的方法从训练数据中滤除了大多数纯噪声数据。这意味即使未知混入训练数据的噪声量(在实际情况中是正常现象),也可以使用SelNLPL估算噪声量,这是一个巨大的优势,因为它可以用作训练数据标注质量的判断标准。Figure6比较了我们的方法的总体过滤能力。PL曲线是在过度拟合噪声数据之前用PL训练的模型测试获得的。曲线表明,SelNLPL的每个步骤都有助于提高过滤性能。

 

 

Table 1

 

 

Figure 6

 

5. 实验

 

在本节中,我们将介绍为评估我们的方法而进行的实验。将SelNLPL之后的伪标记结果与用于噪声数据分类的其他现有方法的结果进行比较。为了证明我们的方法可以推广到各种环境,我们遵循其他的baseline方法的实验设置,这些实验在CNN架构,噪声数据集类型等存在不同,具体的实验测试结果如Table3,4,5,6所示。

 

 

 

 

 

6. 分析

 

6.1 适应多类别数据

 

我们的方法NL是使用补充标签的简介学习方法。由于NL优化过程的性质,收敛程度取决于数据集中的类编号c;随着c的增加,CNN的训练变慢。因此,当使用与训练CIFAR100数据集时一样的训练轮次训练CNN时,我们的方法无法收敛。为了克服和分析这种现象,我们考虑与干净数据点相关的梯度,以深入了解将NL方法扩展到许多其他分类案例的方式。让我们考虑一个带有干净标签的数据点,这意味着给定的y始终不是真正的y。通过假设CNN处于初始状态(初始状态类似于网络只能随机猜测),可以得到等式2中的所有类别的梯度,其中 。 梯度被表示为:

 

 

可以看到虽然对于给定的 损失函数的梯度减小了,但还会出现一个梯度,以增强与其他类别(包括真实标签)相对应的分数。 这意味着,使用NL训练CNN后,获 得的梯度是 。 假设我们正在使用10个分类或者100个分类的数据集,获得的梯度是 对于10类的数据,对于100类的数据。 比较这两种情况,100类数据集的梯度比10类数据集的梯度小110倍。 该分析表明,要使NL在CIFAR100上收敛,需要的时间比CIFAR10要长的多,大约是110倍。 由于训练CNN需要大量时间,因此我们扩展了方法,以便为每个图像提供多个随机互补标签。 我们为单个数据随机选择110个可重复标签,从而计算110个随机损失,因为110个损失共享同一张图像计算的特征,所以反向传播时间仅仅略有增加。 通过这种简单的扩展方法,我们观察到,在以CIFAR10训练相同的轮次时,CIFAR100可以收敛,并展示出了良好的抗噪性能,如上节的Table3所示。 对于对称噪声,我们获得了SOAT结果。 对于非对称噪声,Forwars T展示了最好的性能。 但是,这不是一个公平的比较,因为它依赖于混淆矩阵的先验知识,该知识总结了一个类别在噪声下翻转为另一类别的可能性。 因此可以得出结论,我们的方法在不和Forward T比较时取得了SOAT结果。 在这一节中,我们展示了我们的方法可以通过为每个图像提供多个互补标签而推广到具有多个类别的数据集上。

 

6.2 对照研究

 

本问题提出了一种新的噪声数据分类方法,它由多个步骤组成。SelNLPL(NL->SelNL->SelPL),然后进行伪标记和半监督学习。为了研究SelNLPL中每个步骤的强度,我们进行了一项分析,揭示了在整个训练过程中省略SelNLPL中每个步骤时的性能差异。从从SelNLPL中删除一个或多个步骤,然后将其应用于伪标记。Table7展示了针对Table4的实验进行的分析,其中对称噪声为30%和50%。它包括SelBLPL(#1),并从#1中删除SelPL(#2),SelNL(#3)或SelNL和SelPL(#4)。在Table7中,与#1相比,#2和#3均显示性能下降,而#4的性能进一步下降。如Figure7所示。这项研究证明了我们提出的方法每一个步骤都有作用,且SelNL至关重要。

 

 

Figure 7

 

7. 总结

 

我们提出了使用噪声数据进行训练的NL,这是一种训练CNN的学习方法,“输入图像不属于该互补标签”。这减少了用有噪数据训练CNN的分享,因为可以随机选择不具有互补信息的互补标签。此外,为了让网络收敛更快,我们扩展了本方法,选择性的采用了PL,称为选择性负学习和正学习(SelNLPL)。PL被有选择地用于训练期望干净的数据,随着NL的进展,数据选择成为可能,从而产生了滤除噪声数据的优越性能。通过简单半监督训练技术,我们的方法实现了噪声数据分类的SOAT性能,证明了SelNLPL对噪声过滤的有效性。

Be First to Comment

发表评论

邮箱地址不会被公开。 必填项已用*标注