已知一个输入数据集S={ (x1,y1),…,(xN,yN) } ∈ (X,Y)N,服从D分布,我们的任务是在函数族f中寻找最佳映射函数f:X→Y,其中每个函数都用θ参数化。
分类器的损失函数表示为l:R×Y→R+。然后,对于分类器f,预期风险定义如下:
由于对分布D拥有完全的知识通常是不可行的,因此使用经验风险作为近似值:
学习分类器的各种方法可以看作是最小化网络参数的经验风险,即:
在噪声背景下,数据集为Sn = {(x1, y ̃1), …, (xN , y ̃N )} ∈ (X, Y )N,服从噪声分布Dn,此时经验风险为:
有监督学习的目标是在给定的分布D上迭代时,寻找最佳的估计参数θ*,然而,在噪声标签设置下,任务仍然是在处理分布Dn时寻找θ*。因此,经典的风险最小化在存在标签噪声的情况下是不够的,因为它会导致θ→θn。
标签噪声受三个因素的影响:数据特征、数据的真实标签和标签的特征。根据这些因素的相关性,标签噪声可以分为三类。
基于噪声模型和无噪声模型的两种不同分割方法。
基于噪声模型的方法旨在对噪声结构进行建模,以便在训练过程中利用这些信息来识别噪声标签。一般来说,这类方法的目的是通过忽略或去强调来自噪声样本的信息来提取包含在数据集中的无噪声信息。此外,一些方法试图通过修正噪声标签来改进数据集,以提高分类器的数据集质量。这些方法的性能很大程度上依赖于对潜在噪声的准确估计。基于噪声模型的方法的优点是分类和标签噪声估计的解耦,这有助于他们处理现有的分类算法。另一个好的方面是在噪声结构的先验知识的情况下,基于噪声模型的方法可以很容易地将这些额外的信息插入到系统中。
不同的是,无噪声模型方法的目标是在没有对噪声结构进行显式建模的情况下,提出固有的噪声鲁棒方法。这些方法假设分类器对噪声不太敏感,而性能下降是由于过拟合造成的。因此,通过规范网络训练过程来避免过度拟合成为研究的重点。
在存在噪声标签的情况下,当迭代Dn分布时,任务是寻找隐藏分布D的最佳估计量。如果映射函数M:D→Dn已知,则可以用它来抵消噪声样本的影响。这一部分的算法同时尝试寻找潜在的噪声结构,并用估计的噪声参数训练基本分类器。他们需要一个更好的M估计来训练更好的分类器和更好的分类器来准确地估计M。
这种方法就是降低经验风险
即:
其中Q(fθ(xi)) = p ( ỹi | fθ(xi) )是给定噪声标签的网络预测。如果Q适应噪声结构p(ỹ| y),则网络将学习映射p(y|x)。
Q可以用噪声转移矩阵T来表示,使得Q(fθ(xi)) = Tfθ(xi),其中矩阵的每个元素表示给定真标签到有噪声标签的转移概率,Tij = p(y ̃ = j|y = i)。由于T是由概率组成的,来自单个节点的权重应之和为1。这种校正预测以匹配给定标签分布的过程也称为损失修正。
噪声信道估计中的一个常见问题是可伸缩性。随着类数的增加,噪声转移矩阵的大小呈指数级增加,使其易于计算。这可以通过只允许最可能的节点或预定义的节点之间的连接来部分避免。这些限制是由人类专家决定的,这允许在训练过程中加入额外的噪音信息。
噪声信道仅在训练阶段使用。在评估阶段,简单地去除噪声信道,得到无噪声预测。在这些方法中,性能很大程度上取决于对噪声信道参数的准确估计,因此,工作主要集中在Q的估计上。
解决噪声标签的一个明显的方法是识别可疑标签并将其更正到相应的真实类。手动清理整个数据集的成本很高,因此有些研究建议只选取可疑样本发送给人工注释器,以降低成本[39]。然而,这仍然不是一种可伸缩的方法,因此,文献中提出了各种算法。包括标签修正算法,经验风险表现为以下形式
其中G(ỹi,xi) = p(yi | ỹi,xi)表示标签清理算法。标签清理算法依赖于一个特征抽取器将数据映射到特征域以研究噪声。
另一种方法是删除噪声,而不是将带有噪声的标签更正为它们的真实类。虽然这会导致信息丢失,但防止噪声的负面影响可能会带来更好的性能。在这些方法中,存在移除过多样本的风险。因此,为了防止不必要的数据丢失,尽可能少地删除样本是至关重要的。
一种广泛使用的克服标签噪声的方法是操纵分类器的输入流。引导网络选择正确的实例,从而帮助分类器在噪声标签存在的情况下进行正确分类。
在上述公式中,V(xi,yi)是决定是否使用给定数据集xi的二进制算子。如果对于所有数据集而言V(xi,yi)= 1,那么上述公式就是经典的求风险最小化。如果V恰好是一个静态函数,这意味着在整个训练过程中根据预先定义的规则选择相同的样本,那么它就是Dataset Pruning,样本选择方法持续监控基本分类器,并选择样本进行下一次训练迭代。这项任务可以看作是在数据中绘制一条路径,模拟无噪声的D分布。由于这些方法在现有系统之外运行,因此只需操纵输入流,它们更容易附加到现有的算法中。然而,重要的是保持平衡与数据集修剪相同,这样系统就不会忽略不必要的大量数据。此外,这些方法优先考虑低损失样本,这导致了缓慢的学习速度,因为hard informative samples只在训练的后期阶段被考虑。下面几段将讨论这一组的两种主要方法。
与样本选择类似,通过样本估计的噪声水平给样本赋予权重,可以使训练更加有效。这样做的效果是强调更干净的实例,以便更好地更新模型权重。这些算法可以实现后续经验风险的最小化。
其中 β( xi,yi ) 确定实例依赖的权重。如果β是二元的,则公式与样本选择相同。不同的是,这里的β不是二元的,并且每个实例的值都会改变。与样本选择算法一样,β是一个动态函数,这意味着样本权重在训练过程中不断变化。因此,如何防止β变化过快、过快,从而破坏稳定的训练循环,是一个普遍的挑战。此外,这些方法通常存在累积误差,因此很容易偏向某个数据子集。为了消除噪声的负面影响,人们提出了各种方法来获得最佳β。
数据集被多个注释器标记有几个原因。每个贴标人可能有不同的专业水平,他们的标签有时可能会相互矛盾。这是众包数据[155]-[157]或需要高水平专业知识的数据集(如医学成像[19])中的常见情况。因此,建模和使用贴标特性可以显著提高性能[24]。
在这个设置中有两个未知数,即:噪声标签特征和基本真实标签。我们可以用期望最大化算法进行估计[25],[96],[97]。如果假设噪声是y相关的,则可以用噪声转移矩阵来建模labeler特性,就像第III-A小节一样。[98]在注释器混淆矩阵的迹和的损失函数中加入正则化器,以强制矩阵的稀疏性。类似的方法在[99]中也有实现,其中群组层被添加到网络的末端。在[100]中,还考虑了图像的复杂度来考虑xy相关噪声。在[101]中,人类注释器和计算机视觉系统相互使用,这两个部分的预测值之间的一致性被用来评估贴标机的可靠性。[102]处理标签机在图像中省略标签时的噪声。因此,本文采用省略概率变量代替噪声转移矩阵,并结合期望最大化算法对真实类进行估计。[24]中为每个注释器训练了单独的softmax层和附加网络,以根据labeler特定网络的输出和数据的特征来预测真实的数据类别。这种设置使每个贴标机和他们的整体噪声结构在单独的网络模型。
基于噪声模型的方法在很大程度上依赖于噪声结构的精确估计。这就带来了一个两难的局面。为了得到更好的噪声模型,我们需要更好的估计器,而对于更好的估计器,有必要对潜在噪声有更好的估计。因此,许多方法都可以看作是噪声估计和分类的期望最大化。然而,防止系统偏离实际是很重要的,因此规范化噪声估计并不要让它脱离现实是很重要的。为了实现这一点,文献中的工作通常对潜在的噪声结构进行假设,这就损害了它们对不同设置的适用性。另一方面,这使得关于噪声的任何先验信息都可以被插入到系统中,以实现先发制人。它对于处理特定领域的噪声也很有用。这些算法的另一个优点是将噪声估计和分类任务解耦。因此,它们更容易在现有的分类算法上实现。
基于无噪声模型的方法主要是实现标签噪声的鲁棒性,而无需对其进行显式建模,而是在所提出的算法中设计鲁棒性。 带有噪声的数据被视为异常,因此这些方法在避免过度拟合方面也很相似。 它们通常依赖于分类器的内部噪声容忍度,旨在通过规范不希望的有噪声数据存储来提高性能。 以下各节介绍了各种方法。
如果分类器学习了有噪声和无噪声的数据,并且都达到了相同的分类精度,则损失函数被认为具有抗噪能力。 本节中的算法旨在以使噪声不会降低性能的方式设计损失函数。 然而,事实表明,即使对于鲁棒的损失函数,噪声也会严重影响性能[15]。 此外,这些方法以相同的方式处理嘈杂的数据和干净的数据,这会防止数据分发过程中利用任何先验信息。
在[103]中,表明某些非损失函数(例如0-1损失)比常规的凸损失具有更大的噪声容限。扩展这项工作[104],[105],可以得出足够的条件,以使损失函数能够容忍统一噪声。他们的工作表明,如果给定的损失函数满足
其中C为常数,该损失函数可以忍受均匀噪声。经验表明,标准的凸损耗函数均不具有噪声鲁棒性,而0-1损耗则具有一定的信噪比。但是,0-1损失是非凸且不可微的;因此,在[106]中提出了0-1损失的替代损失,它仍然对噪声敏感。在[107]的工作中,将广泛使用的分类交叉熵( categorical cross entropy ,CCE)损失与平均误差绝对值(MAE)进行了比较,其中经验表明,MAE更能容忍噪声。
[108]表明,MEA的鲁棒性归因于其加权方案。尽管CCE对异常样本敏感并会产生较大的幅度梯度,但MAE会平等对待所有数据点,这会导致数据拟合不足。因此,在[108]中提出了改进的平均误差绝对值(IMAE),它是MAE的改进版本,其中使用超参数对梯度进行缩放以调整MAE的加权方差。 [109]也认为MAE提供的学习率比CCE低得多。因此,建议使用新的损失函数,该函数结合了MAE的鲁棒性和CCE的隐式加权。通过调整参数,可以在从MAE到CCE的一条线上调整损耗函数的特性。损失函数通常不是对称的,这意味着
受对称KL散度思想的启发,[110]提出了对称交叉熵损失来对抗噪声标签。
已知先验噪声,[111]使用关于标签噪声的先验信息提供了两个替代损失函数,即损失函数的无偏估计和加权估计。 [112]考虑了二元分类情况下的非对称遗漏噪声,其任务是从卫星地图图像中查找道路像素。遗漏的噪声使网络对其预测缺乏信心,因此他们修改了交叉熵损失,从而减少了对网络做出错误但可靠的预测的惩罚,因为这些标签更可能带有噪声。代替使用基于距离的损失,[113]建议使用信息理论损失,其中评估给定标签和预测之间基于行列式的互信息[158]以进行损失计算。在[114]中考虑了带有噪声标签的弱监督学习,并画出了损失可以忍受噪声的必要条件。 [115]表明分类校准的损失函数对对称标签噪声渐近鲁棒。总体上分析了具有鲁棒损耗的随机梯度下降[116],并且显示出比同类噪声更鲁棒的标签噪声。
随着深度神经网络的最新发展,计算机视觉系统手动设计功能的必要性已基本消除。 而是通过机器学习技术自主学习这些功能。 尽管这些算法能够自己学习复杂的功能,但仍然存在许多手工设计的参数,例如网络体系结构,损失函数,优化器算法等。 元学习旨在通过不仅学习任务所需的复杂功能,而且学习学习本身来消除这些必要性[159],[160]。 通常,这些方法的最大缺点是它们的计算成本。 由于它们需要为每个训练循环进行梯度计算的嵌套循环,因此它们比直接训练慢几倍。
以元学习方式设计超越经典监督学习的任务已用于处理标签噪声。在[117]中,将元任务定义为针对给定的噪声数据集预测方法系列中最合适的方法。 Pumpout [118]提出了一个元目标,即通过按比例的梯度上升消除噪声样本对模型的影响来恢复噪声样本造成的损害。作为元学习范例,不可知论元学习(MAML)[160]寻求权重初始化,可以很容易地对其进行微调。在[119]中,对于嘈杂的标签使用了类似的思路,其目的是找到在师生训练框架下[161],[162]不太容易产生噪声的噪声容忍模型参数。多个学生网络都受到合成噪声破坏的数据的干扰,并且定义了元目标以最大程度地提高与教师输出的一致性,这是从没有合成噪声的原始数据中获得的。因此,学生网络被迫找到大多数抗噪性强的权重初始化,以使得在对综合损坏的数据进行训练之后,权重更新仍将保持一致。然后,将最终分类器权重设置为学生网络的指数移动平均值。可替代地,在可获得干净数据的情况下,可以定义元目标以利用该信息。 [120]中使用的方法是在干净的数据集中训练教师网络,并将其知识转移到学生网络,目的是在存在标签错误的数据的情况下指导培训过程。他们使用[163]中提出的蒸馏技术来控制从教师到学生的知识转移。在[121]中实现了在人的姿势估计任务中使用蒸馏和标签校正的类似方法。在[122],[123]中,对目标网络进行了过多噪声数据的训练,而对置信网络进行了干净子集的训练。受[159]的启发,置信网络的任务是控制对目标网络进行梯度更新的幅度,以使噪声标签不会导致梯度的更新。
众所周知,正则化可防止DNN过度拟合噪声标签。从这个角度来看,这些方法将由于噪声数据导致的性能下降视为对噪声的过度拟合。该假设在随机噪声中最有效,但对于更复杂的噪声却可能并非如此。一些广泛使用的技术是权重衰减,dropout[124],对抗训练[125],mixup [126],标签平滑[127],[128]。 [129]表明,在有噪声标签的情况下,预训练具有正则化作用。在[164]中,增加了一个额外的softmax层,并对这一层采用 dropout 正则化,原因是它提供了更鲁棒地训练并防止了由于dropout的随机性而产生的存储噪声[124]。 [130]提出了一种复杂性度量来了解网络是否开始过度拟合。研究表明,学习包括两个步骤:1)维数压缩,该维数建模与基础数据分布紧密匹配的低维子空间,2)维数扩展,其稳步增加子空间维数以适应数据。关键是在第二步之前停止。局部固有维数[165]用于衡量训练模型的复杂度,并在模型开始过拟合之前停止。 [131]在不同的域上采用经过预训练的网络,并对其进行微调,以处理带有标签的嘈杂数据集。形成图像特征的组,进行组稀疏性正则化,以便模型被迫选择相对特征并增加可靠图像的权重。
众所周知,Bagging 对标签噪声的作用比Boostinbg更鲁棒[166]。 诸如AdaBoost之类的算法对噪声样本给予了过高的权重,从而导致噪声过度拟合。 但是,标签噪声鲁棒性的程度会因所选的Boosting算法而改变。 例如,它显示BrownBoost和LogitBoost比AdaBoost更强大[132]。 因此,文献中提出了AdaBoost的鲁棒性替代方案,例如基于噪声检测的AdaBoost [133],rBoost [134],RBoost1&RBoost2 [135]和鲁棒多分类AdaBoost [136]。
互补标签(Complementary labels),定义观察值不属于的类别。例如,在十个类的情况下,一个实例有一个真实的类,而有九个互补类。由于注释者不太可能错误标记标签,因此一些研究建议在互补的标签空间中工作[137],[138]。 [139]使用自动编码器的重构误差将噪声数据与纯净数据区分开,并认为噪声数据倾向于具有更大的重构误差。在[140]中,基本模型使用带有噪声数据进行训练。在基本模型生成的特征空间之上再训练了一个附加的生成分类器。通过用最小协方差行列式估计其参数,可以找到噪声鲁棒的决策边界。在[141]中,考虑了一种特殊的设置,其中数据集由用于二元分类任务的噪声和噪声较小的数据组成。 [142]旨在提取数据实例的质量。假设训练数据集是由目标分布和其他未知分布的混合生成的,则它通过检查生成的分布与目标分布之间的一致性来估计数据样本的质量。
原型学习(Prototype learning )旨在构建可以代表类特征的原型,以学习简洁的表示法。文献[143],[144]中的一些工作提出为噪声数据创建干净的代表性原型,以便可以在干净原型而不是噪声标签上训练基本分类器。
在多实例学习中,将数据分组(称为袋),如果其中至少有一个正实例,则将每个袋标记为正,否则将其标记为负。该网络将获得一组数据,并通过学习数据的内部区分性表示来为每个Bag生成一个预测。由于使用了这组图像并产生了一个预测,因此在袋子中存在噪音标签以及真实标签对学习的影响较小。在[145]中,作者建议通过使总的袋子水平损失最小化来有效地从每个袋子中选择训练样本。附加模型在[146]中被训练为注意力模型,该模型选择要关注的图像部分。目的是将注意力集中在正确标记的图像上的几个区域上,而不是错误标记图像的任何区域上。
总体上,属于该类别的方法将嘈杂的数据视为异常。 因此,它们在避免过度拟合和异常检测方面处于相似的路线。 即使此假设对于随机噪声可能非常有效,但在更为复杂和结构化的噪声的情况下,它也会失去其有效性。 由于噪声建模并未明确地与分类任务分离,因此从一般意义上来说,建议的方法将嵌入到现有算法中。 这样会阻止它们快速部署到现有的现有系统中。 此外,属于元学习和集成方法的算法可能在计算上昂贵,因为它们需要训练循环的多次迭代。
整篇文章都表明,噪声标签是要从现实数据集中获得理想性能的重要障碍。除了在实际应用中监督学习的重要性外,这也是从网络[167],[168]收集数据集的重要步骤,设计网络可以在无人监督的情况下从无限的网络数据中学习[35]-[38] 。此外,除了图像分类之外,还有更多的领域需要处理标记错误的实例,例如生成网络[169],[170],语义分割[28]-[30],声音分类[171]等。所有这些因素使得应对标签噪声成为自立式学习系统的重要一步。
文献中提出了通过噪声标签现象的不同方法。所有方法都有其优点和缺点,因此可以针对用例选择最合适的算法。但是,为了划清界线,我们提出以下建议。
如果噪声结构是特定于域的,并且有关于其结构的先验信息或假设,则基于噪声模型的方法会更合适。在这些模型中,可以根据需求选择最合适的方法。例如,如果可以将噪声表示为噪声转换矩阵,则可以针对多标签情况选择有噪声的通道或标签质量评估。如果目的是在预处理阶段纯净化数据集,则可以采用数据集修剪或标签噪声清除方法。如果可以根据实例在训练中的信息性对实例进行排序,则样本选择或样本重要性加权算法将非常方便。与基于噪声模型的算法不同,无噪声模型的方法不依赖于任何有关噪声结构的先验信息。因此,如果假定噪声是随机的,则它们更易于实现,并且性能下降是由于过拟合造成的,因为它们不需要为噪声结构估计实现外部算法的麻烦。如果没有干净的数据子集,则鲁棒损失或正则化函数是更合适的选择,因为它们将所有样本都视为等同的。元学习技术可以在干净的数据子集存在的情况下使用,因为它们可以轻松地调整为利用该子集。
即使对机器学习技术进行了广泛的研究[15],但通过嘈杂的标签进行深度学习无疑是一个尚未充分研究的问题。考虑到其对DNN的巨大影响[11],该领域仍然有许多开放研究主题。例如,真正了解标签噪声对深度网络的影响可能是一个富有成果的未来研究主题。如[20]所述,我们认为CNN的第一层从数据中提取特征,而最后一层则学会从这些特征中解释标签。了解网络的哪个部分受到标签噪声的严重影响,可能有助于有效地实现转移学习。另外,如何训练属性和标签噪声的存在也是一个尚未充分研究的问题,在实际应用中具有很大的潜力[53]。 [110]显示,嘈杂的标签会降低学习效果,尤其是对于硬样本。因此,不是过度拟合,这可能是性能下降的原因,这是将来有待解决的开放问题。另一个可能的研究方向可能是努力打破噪声的结构,以使其在特征域中均匀分布[73]。如果标签商有特殊偏见,这种方法将很方便。
快速测试所提出算法的一种广泛使用的方法是通过向基准数据集添加合成标签噪声来创建嘈杂的数据集[172]-[176]。但是,这会妨碍算法的公平比较和评估,因为每个工作都会添加自己的噪声类型。文献[9],[93],[177],[178]中提出了一些带有标签的大型数据集。这些数据集是从Web上收集的,标签是从有噪声的用户标签中获得的。即使这些数据集为基准化提出的解决方案提供了有用的领域,但它们的噪声率几乎是未知的,并且在类的数据分布方面存在偏差。而且,不能在极端或中等条件下调节测试的噪声率。从这个角度来看,我们认为研究工作缺乏带噪声的数据集,而其中大部分都是经过验证的。因此,可以根据需要调节噪声率。
当有少量数据时,很少注意到从有噪声的
标记数据集中学习。考虑到其在收获数据集昂贵的领域中的潜力,这可能是一个富有成果的研究方向。例如,在医学成像中,由于其成本或数据保密性,多数时候收集干净的带注释的大型数据集是不可行的[53]。从少量嘈杂的数据中有效学习而又没有地面真理,可能会对自主医疗诊断系统产生重大影响。尽管可以进行一些先驱研究[24],[26],[27],但仍有许多需要探索的地方。