如何判断样本标注的靠谱程度?置信度学习(CL)简述
一只小狐狸带你解锁NLP/DL/ML秘籍
然而,你可能不知道:ImageNet数据集中至少有十万个标签是存在问题的。尽管大量的研究都在使用ImageNet,但却没有发现数据集存在如此多的标签错误。原因在于,想从海量数据中寻找并描述标签错误很难;即使有相关的方法,应用范围也极其有限。如何去识别标签错误,并表征标签噪声,是一项重要的、但却鲜少研究的工作。在这篇文章中,我将讨论一种新兴的基本框架,它可用于识别标签错误、表征标签噪声,并使用称作置信学习(Confident Learning ,CL)的噪声标签进行学习。这个框架可以识别 ImageNet 和 CIFAR 中的许多标签问题,并通过在干净的数据集上进行训练来提高标准 ResNet 的性能。该框架作为 cleanlab Python 包进行了开源,相关链接为(Github 地址为):
与深度学习框架 PyTorch相类似,CLEANLAB 是一种带有误差标签的机器学习和深度学习的框架。更多关于CLEANLAB的信息可在如下CLEANLAB的文档链接中查看:https://github.com/cgnorthcutt/cleanlab
使用 cleanlab 加上 confidentlearning-reproduce repo 就可以重现 CL 论文中的结果。https://l7.curtisnorthcutt.com/cleanlab-python-package
https://github.com/cgnorthcutt/confidentlearning-reproduce
多标签图像(蓝色):图像中有多个标签;
本体论问题(绿色):包括“是”(比如:将浴缸标记为桶)或 “有”(比如:示波器标记为CRT屏幕)两种关系,在这些情况下,数据集应该包含其中一类;
标签错误(红色):当数据集别的类的标签比给定的类标签更适合于某个示例时,就会显示标签错误
Amazon Reviews、MNIST和QuickDraw数据集中当前存在的标签错误示例,由面向不同数据形式和模型的置信学习确定。
什么是置信学习?
置信学习(CL)已经成为监督学习和弱监督的一个子领域,可应用于以下几点:
描述噪声标签 寻找标签误差 采用噪声标签学习 寻找本体论问题
在这里,我们在 Angluin 和 Laird 分类噪声的假设基础上,将 CL 泛化到直接估计噪声标签(给定的)和无损标签(未知的)之间的联合分布。
样本外预测概率(矩阵大小:#类的#样本数)。 噪声标签(矢量长度:样本数量)。
3、在去除标签错误的样本后进行训练,根据估计的潜在先验对样本重新加权。
置信学习的好处
与大多数机器学习方法不同,置信学习不需要超参数。我们使用交叉验证来获得样本外的预测概率。置信学习还有很多其他的好处,它有以下几点优势:
可直接估计噪声与真实标签的联合分布 适用于多类别的数据集 查找标签错误(错误按最有可能到最不可能的顺序排列) 无需迭代(在ImageNet中查找训练集的标签错误需要3分钟) 具有理论合理性(在真实条件下可以准确地找到标签错误和一致的联合分布估算) 不需要做随机均匀的标签噪声的假设(在实践中通常不现实) 只需要预测概率和噪声标签(可以使用任何模型) 无需任何真实(保证无损)的标签 可以自然扩展到多标签数据集 可用于描述、查找和学习标签错误,CLEANLAB Python包是免费且开源的。
置信学习的原则
CL建立在处理噪声标签文献制定的原则之上:
1、通过修剪来搜索错误的标签,例如:遵循Natarajan等(2013);van Rooyen等(2015);帕特里尼等(2017)的工作示例,通过损失重加权来进行软剪枝,以避免迭代重标记的收敛陷阱。相关工作链接依次如下:
https://papers.nips.cc/paper/5073-learning-with-noisy-labels.pdfhttps://arxiv.org/abs/1505.07634https://arxiv.org/abs/1609.03683
http://www.jmlr.org/papers/volume18/15-226/15-226.pdfhttps://dl.acm.org/citation.cfm?id=1403849https://arxiv.org/abs/1802.03916
3、根据PageRank(Page et al.,1997)著名的鲁棒性研究成果(http://ilpubs.stanford.edu:8090/422/1/1999-66.pdf)和MentorNet (Jiang et al.,2018)的课程学习理念(https://arxiv.org/abs/1712.05055),对训练期间使用的样本进行排序,以允许使用不规范概率或SVM决策边界距离进行学习。
置信学习中的理论发现
更多关于CL算法、理论和证明的内容,请参阅我们的原论文。在本文中,我主要总结一下论文中的主要观点。
原论文链接:https://arxiv.org/abs/1911.00068
从理论上看,我们给出了CL(定理2:一般的逐例鲁棒性)准确发现标签误差并一致地估计出噪声与真实标签联合分布的现实条件。在我们设定的条件中,允许每个样本和每个类的预测概率存在误差。
置信学习是如何实现的?
为了解CL是如何工作的,让我们假设现在有一个包含狗、狐狸和牛的图像的数据集。CL通过估计噪声标签和真实标签的联合分布(下图右侧的Q矩阵)来进行工作。
注:这里简化了原论文中使用的方法,但抓住了本质。
置信学习的实践应用
在高噪声标签的情况下,CL相对于其他方法提高了超出10%的学习水平;在高噪声以及高稀疏的情况下,CL相对于其他方法提高了超出30%的学习水平。
上图显示了CIFAR中使用CL估计标签噪声的联合分布,标签噪声增加了40%。观察图(b)中CL估计与图(a)中的真实分布有多接近以及(c)矩阵中每一项绝对差的低误差。这里概率被放大了100倍。
在ImageNet中自动发现本体(类命名)问题CL 通过直接估计标签噪声的联合分布,自动发现数据集中类的本体问题。在上表中,我们展示了在 ImageNet 单类数据集的估计标签噪声联合分布时的最大偏离对角线。每行列出了噪声标签、真实标签、图像 id、统计数量和联合概率。因为这些是偏离了对角,所以噪声的类别和真实类别应该会是不同的,但实际上是在第 7 行中,我们看到 ImageNet 有两个不同的类,它们都被标记为“maillot”。
我们也观察到误用词语的情况:在第 一行中的标记抛射物和导弹为“是”的关系,即抛射物其实就是导弹,同样的还有第二排中的标记的浴缸即为桶;还观察到由一个词的多个定义引起的问题,比如第九行中的玉米和耳朵。
最后的想法
我们的理论和实验结果强调了置信学习的实用性,例如识别ImageNet和CIFAR中的许多标签问题,并通过在干净的数据集上进行训练来提高标准 ResNet 的性能。置信学习促使人们认识到需要对数据集标签中的不确定性估计、清理训练集和测试集的方法以及数据集中本体和标签问题的识别方法做进一步的了解。via https://l7.curtisnorthcutt.com/confident-learning
可
能
喜
欢
夕小瑶的卖萌屋
关注&星标小夕,带你解锁AI秘籍
内容过于专业,胆小者慎入