Frénay和Verleysen [13]讨论了从噪声标签中学习的潜在负面影响,并针对噪声稳健的分类方法进行了全面调查,重点研究了传统的监督方法,例如,贝叶斯和支持向量机。 此外,他们的调查还包括标签噪声的定义和来源以及标签噪声的分类法。 张等 [26]讨论了由非专家注释的数据中噪声标签的另一个方面,并提供了期望最大化(EM)算法,该算法被提出来用以提高标签数据的质量。Nigam等[27]简要介绍了用于管理噪声标签的深度学习算法; 但是,这些算法的范围仅限于两类,即图2中的损失函数和样本选择。
分类是一种典型的有监督学习,学习从输入特征到标签的一种映射函数[28]。 在本文中,我们考虑使用带有softmax输出层的DNN的c类的多分类问题。
经验风险R(f)为:
其中,L为损失函数。
由于在各种现实情况下数据标签中存在噪声,我们需要做的就是使用带有噪声的标签训练DNN。 具体来说,我们提供了一个噪声训练数据集
该数据是从X×Y ̃上的噪声联合分布P获得的,其中y ̃是一个可能不是真实的噪声标签 。 因此,遵循标准训练过程,在时间t处,从噪声训练数据集D 中随机获得包含b个样本的小批量
随后,沿着小批量Bt上的经验风险的下降方向更新时间t处的DNN参数Θt,
其中,η为学习率。
因此减少噪声标签对模型训练带来的影响对于实现深度学习的耐噪性能至关重要。
即使数据标签在没有任何先验假设的情况下从基本标签中被破坏,从本质上讲,损坏的可能性也受数据特征或类标签之间的依赖性影响。 Frénay和Verleysen [13]提供了标签噪声分类的详细分析。
给标签噪声建模的一种典型方法是假设给定真实标签时损坏过程有条件地独立于数据特征[20],[29]。也就是说,真实标签被标签转换矩阵T破坏,其中Tij:= p(y ̃ = j | y = i)是真实标签i翻转成损坏标签j的概率。
如果
则该噪声称为对称率(均匀噪声),噪声率为τ∈[0,1]进入其他标签的可能性相同。
与对称噪声相反,如果
则该噪声称为非对称(或与标签相关的噪声),其中真实标签为更有可能被误贴到特定标签中。例如,“狗”比“鱼”更容易与“猫”混淆。
在更严格的情况下,如果
该噪声称为成对噪声,其中真实标签仅翻转为某个标签。但是,这种标签噪声家族是不现实的,因为不管数据特征如何,都会做出错误的注释。对于更现实的噪声建模,假定损坏概率既取决于数据特征又取决于类别标签[15],[30]。因此,破坏概率被定义为Pij(x) = P(y ̃=j | y=i, x) 。与上述噪声不同,由于样本x的数据特征也会影响x被错误标记的可能,因此该噪声被称为与实例和标记有关的噪声。但是,由于噪声的复杂性,尚未对其进行广泛的研究。
几十年来,已经提出了许多使用常规机器学习技术来管理噪声标签的方法。这些方法可以分为四类[13],[27],如下所示:
根据调查表明,可以通过多种方法来增强深度学习的鲁棒性[15],[23],[49]-[53]。图3显示了机 器学习社区最近进行的研究方向的概述。
在本文中,我们将所有最新的深度学习方法归类为与流行研究方向相对应的七个组,如图3所示。图2说明了使用这七个组训练方法的分类结果。表II总结了根据它们而存在的深度学习方法。如果某些方法组合了多种方法,则它们可能属于多个类别。
考虑到风险最小化方案对损失函数的鲁棒性影响,研究人员尝试设计一种鲁棒的损失函数[49],[54]-[56]。 目的是通过提供一种具有鲁棒性的损失函数,使得即使在训练数据中存在噪声标签时,也能为干净数据带来很小的风险。
最初,Manwani和Sastry [37]在理论上证明了通过求损失函数的风险最小化来实现二分类并提高了噪声容忍性。 随后,利用深度学习为多分类扩展了充分条件[49]。 具体来说,损失函数定义为对对称噪声下的 c-多分类具有噪声容忍性,如果损失函数满足噪声速率 τ < (c-1)/c 且满足
其中,C为常数。该条件保证了在特定假设条件下,在噪声数据上训练的分类器与在无噪声数据上训练的分类器具有相同的误分类概率。此外,如果RL( f* )=0,则该函数在非对称噪声下也是对噪声也是具有容忍度的,其中 f* 是RL的全局风险最小值。
在分类任务中,分类的交叉熵损失(CCE)因其收敛速度快、泛化能力强而成为应用最广泛的损失函数。然而,在存在噪声标签的情况下,鲁棒MAE[49]表明平均绝对误差(MAE)损失比CCE损失具有更好的泛化效果,因为只有MAE损失满足上述条件。MAE损失的一个局限性是当涉及复杂数据时,其泛化性能会显著下降。因此,提出了广义交叉熵损失(GCE)[54],以包含MAE和CCE损失的优点;GCE损失是一种更具有一般性的噪声鲁棒损失,它包含了两者的优点。受Kullback-Leibler散度的对称性启发,对称交叉熵(SCE)[55]是通过将噪声容限项(即反向交叉熵损失)与标准CCE损失相结合而提出的。同时,课程损失(CL,curriculum loss)[56]是0-1损失函数的替代损失,它提供了一个严格的上界,可以很容易地推广到多分类问题。
然而,噪声标签会显著影响这种损耗的性能[87]。这种实现只有在简单的情况下才能很好地执行,比如学习很容易或类的数量很少的情况。此外,对损失函数的修改增加了模型收敛的训练时间[54]。
在许多研究中,已经对结构进行了改变,以模拟噪声数据集的标签转移矩阵[15],[57]–[63]。这些变化包括在softmax层的顶部添加一个噪声适应层,并设计一个新的专用架构。通过基于估计的标签转移概率对DNN的输出进行修改。
1) 噪声适应层:噪声适应层用于模拟学习DNN时的噪声行为。设p(y | x;Θ)是具有softmax输出层的基本DNN的输出。随后,样本x被预测为其带注释噪声标签ỹ的概率被参数化为
这里,假定噪声标签 ỹ 独立于输入特征 x。因此,如图4所示,在基本DNN的顶部添加噪声适应层,以对W参数化的标签转换矩阵进行建模。当要预测测试数据集时,应移除该层。
Webly learning[57]首先只对搜索引擎检索到的简单样本进行基本DNN训练,然后将所有训练样本的混淆矩阵作为噪声适应层的初始权值W。它以一种端到端的方式对整个模型进行微调,以供 hard 训练样本使用。同时,噪声模型[58]将W初始化为一个单位矩阵,并添加一个正则化器来限制W在DNN训练过程中的传播。Dropout 噪声模型[23]将 dropout 正则化应用于自适应层,其输出通过softmax函数归一化以隐式地漫反射W。s-model [60]类似于dropout noisy model,但不使用dropout。c-model [60]是s-model 的扩展,它对依赖于比对称和非对称噪声 P( ỹ | y ; W) 更真实的实例标签噪声 P( ỹ | y, x ; W) 进行了建模。同时,NLNN[61]采用EM算法,迭代E步估计标签转移矩阵,M步迭代反向传播DNN。
这种方法的缺点是对噪声类型进行了强假设,阻碍了模型对复杂标签噪声的扩展[15]。同时,对于基于EM的方法,陷入局部最优是不可避免的,并且会产生很高的计算成本[60]。
2)专用架构:为了克服噪声适应层的上述缺点,已经进行了一些研究,其中设计了特定的架构[15],[62],[63]。它们通常旨在提高估计标签转化概率的可靠性,以处理更复杂和现实的标签噪声。特别是,概率噪声建模[15]管理两个独立的网络,每个网络专门用于预测噪声类型和标签转换概率。因为具有随机初始化的基于EM的方法对于训练整个网络是不切实际的,所以在预训练步骤之后使用少量干净数据对两个网络进行训练时会使用大量带噪标签。同时,masking[62]是一种人类辅助的方法,可以传达人类对无效标签过渡的认知。考虑到噪声标签主要来自人与任务之间的交互,因此利用人为研究的无效过渡来约束噪声建模过程。由于难以确定显式约束,因此在本研究中采用了生成对抗性网络(GANs)的变体[92]。最近,提出了一种对比加性噪声网络[63],它通过引入一种新的质量嵌入概念来调整错误估计的标签过渡概率,该概念可以模拟噪声标签的可信度。
与噪声适应层相比,该系列方法显着提高了对多种类型标签噪声的鲁棒性,但无法轻松扩展至其他架构。
正则化方法已被广泛研究以提高机器学习社区中学习模型的泛化特性[21] – [24]。通过避免模型训练中的过度拟合,广泛使用的正则化技术(如数据增强[21],权重衰减[22],dropout[23]和批处理归一化[24]),提高了标签噪声的鲁棒性。另外,对抗训练[64]通过鼓励DNN对原始输入和受敌意干扰的输入进行正确分类来增强噪声容忍度。标签平滑[65]估计了训练过程中标签噪声的边缘化影响,从而通过防止DNN为噪声训练样本分配全部概率来减少过度拟合。这些方法适用于中等噪声的数据。但是,它们是通用的规范化技术,不适用于处理标签噪声。因此,当噪声很大时,可获得较差的概括性[68]。
最近,由于从噪声标签中学习已成为重要的挑战,因此提出了更高级的正则化技术,该技术进一步提高了标签噪声的鲁棒性。特别是,mixup[66] 通过 DNN 中进行正则化,以支持训练样本之间的简单线性行为。首先,使用虚拟训练样本构建小型批次,每个虚拟训练样本都是通过对从噪声训练数据 D ̃ 中随机获得的两个有噪声训练样本(xi,y ̃i)和(xj,y ̃j)进行线性插值法形成的。
其中,λ ∼ Beta(α,α) and α ∈ [0, ∞]
Mixup通过构造的 mini-batch 更新DNN,扩展训练的分布。
Bilevel learning[67]通过引入双层优化方法,使用干净的验证数据集对模型的过度拟合进行正则化,该方法不同于传统方法,其常规化约束也是一个优化问题。通过调整每个微型批次的权重并选择其值以使它们最小化验证数据集上的误差,可以控制过度拟合。同时,annotator confusion[68]假设存在多个annotators,并引入了一种基于EM的正则化方法来对标签转换概率进行建模。它的正则化器使估计的转换概率收敛到 annotators 的真实混淆矩阵。另外,预训练[69]与从头训练的模型相比,对预训练的模型进行微调可以显著提高鲁棒性。预训练可防止模型参数由于噪声标签沿错误的方向更新。
该方法的主要优点是它在与其他方向协作方面的灵活性,因为在训练过程中只需要简单的修改即可。但是,性能的提高相对较小,并且很可能产生对噪声和数据类型均敏感的其他超参数。
损失调整是通过在更新DNN [18],[70]-[76]之前调整所有训练样本的损失,从而有效地减少了噪声标签的负面影响,如图5(a)所示。 与其相关的方法可以根据其调整原理分为三类:1)损失校正,估计标签过渡矩阵以校正前向或后向的损失; 2)损失重加权,对加权训练的每个样本施加不同的权重方案,以及3)标签更新,使用从噪声标签和预测标签的凸组合获得更新后的标签来调整损失。
通常,这些方法允许在调整每个样本的损失的同时全面探索训练数据。 但是,由错误校正引起的错误会累积,尤其是当类别数或标签错误的样本数较大时[78],[93]。
为了避免任何错误的更正,许多最近的研究[18],[51],[56],[77]-[83]都采用了从噪声训练数据集中选择真实标记样本的样本,如图。 令Ct⊆Bt为时间t的选定干净样本。 因此,仅针对选定的干净样本Ct更新DNN,
在此,可能会被错误标记的其余小批量样本将从更新中排除,以进行可靠的学习。关键的挑战是设计样本选择的选择标准。
最初,decouple[51]提出了何时进行更新与如何进行更新的分离。它基于两个分类器之间的分歧为选定的样本更新模型。因此,两个DNN会同时维护并仅使用来自这两个DNN的具有不同标签预测的样本进行更新。随后,许多研究人员采用了另一种选择准则,称为小损失技巧,该准则将一定数量的小损失训练样本视为真实标记的样本。特别地,小损失技巧成功地将真实标记的样本与错误标记的样本区分开,因为许多真实标记的样本往往表现出比错误标记的样本小的损失。记忆效应[19]很好地证明了这一现象,即DNN倾向于先学习干净的样本,然后逐渐学习其他在噪声样本。
MentorNet[77]引入了一种协作学习模式,在这种模式中,预先培训的导师网络指导学生网络的训练。基于小损失策略,导师网络为学生网络提供了标签正确的样本。Co-teaching[78]和Co-teaching+[79]也保留了两个DNN,但是每个DNN都会选择一定数量的小损失样本,并将它们提供给其对等DNN进行进一步的训练。与Co-teaching相比,Co-teaching+进一步采用了解耦的分歧策略。ITLM[81]通过交替选择当前时刻的真实标记样本和使用它们重新训练DNN,迭代地最小化损失。在每一轮训练中,只有一小部分在本轮获得的小损失样本被用于下一轮的DNN再训练。INCV[82]随机划分噪声训练数据,然后使用交叉验证对真实标记样本进行分类,同时在每一轮训练中去除大损失样本。在这里,在最后一轮的训练中,采用合作教学的方法对DNN进行训练。除了小损失技巧外,迭代检测[80]使用局部离群因子算法[96]检测假标记样本。此外,它利用相似或不同的样本对来学习深度判别特征,然后在深层特征空间中逐步从真标记样本中提取假标记样本。
最近,研究人员试图将样本选择与其他方法相结合。SELFIE[18]是一种样本选择和损失修正的混合方法。对可翻新样品的损失进行校正(即损失修正),然后与小损失样品的损失一起使用(即样品选择)。因此,需要考虑更多的训练样本来更新DNN。同时,将课程损失(CL)[56]与鲁棒损失函数方法相结合,根据人工指定的选择阈值,从噪声数据集中提取真实标记样本。SELF[83]与半监督学习方法相结合,逐步过滤出错误标记的样本。它利用平均教师模型[97]来获得比噪声模型快照更稳定的监督信号。
这种方法通过简单地排除不可靠的样本,有效地避免了错误校正的风险。然而,它们也会删除大量有用的样本。它们选择小损失样本的一般原理仅适用于一些有限的情况,例如对称噪声[18]。此外,必须提供真实噪声率或干净的验证数据集,以量化通过模型[78]、[81]后被选择为真实标记样本的样本数量。
近年来,元学习已经成为机器学习界的一个重要课题[98]-[101]。它关键的概念是学会学习,它是在一个比传统学习更高的水平上进行学习。一般来说,元学习用于提高噪声鲁棒性的方法有两种:1)快速自适应,训练适用于各种学习任务的模型,而不过度拟合虚假标签;2)学习更新,学习损失调整的规则,以减少噪声标签的负面影响。
半监督学习是在包含有标签和无标签两种数据的情况下降低注释成本的一种方法[102],[103]。为了克服噪声标签,最近的一些研究将从噪声标签中学习的问题转化为半监督学习任务[53]、[83]、[90]、[91]。一般来说,如图6所示,噪声数据中可能存在错误标签的样本被视为无标签样本,而其余样本则被视为有标签样本。然后,利用转换后的数据进行半监督学习。
Label aggregation[53]采用了半监督学习中使用的一种简单的标签聚合策略。在一个干净的验证数据集上训练几个低成本的弱网络作为多个注释器。然后,通过对注释者的预测进行加权标签聚合,得到噪声样本的真实标签。这个方法通过假设干净的验证数据集的存在,跳过了在图6(b)中提取干净标记样本的过程。相比之下,两阶段框架[90]在噪声训练数据上对DNN进行预训练,然后通过仅维护DNN对带注释标签的预测概率高于某个阈值的样本来管理有标签的数据集,而其余样本则包含在无标签的数据集中。接下来,转换后的数据被用来训练另一个网络,使用称为时间感知(temporal ensembling)的半监督方法[104]。最近,SELF[83]在半监督学习中采用了自集成的概念,以产生一个更直观的信号来过滤训练过程中的虚假标签样本。它以运行平均模型为主干,得到所有训练样本的自集合预测,然后逐步剔除通过集合预测与实际标注不一致的样本。该方法进一步利用了未包含在所选集合中的样本的无监督损失。同时,DivideMix[91]是半监督数据扩充技术MixMatch[105]的扩展。在训练损失中采用一个二分量一维高斯混合模型来获得标注标签的置信度。通过设置置信阈值,将训练数据分为有标记集合和未标记集合。然后,使用MixMatch为转换后的数据训练DNN。
使用几种半监督技术可以显著提高噪声鲁棒性。然而,这些技术引入的超参数使得DNN更容易受到数据和噪声类型变化的影响,计算成本的增加是不可避免的。