当前位置: 首页 > 科技观察

超好用的自信学习:1行代码找标签错误,3行代码学习噪音标签

时间:2023-03-23 11:50:51 科技观察

你知道吗?甚至ImageNet也可能至少存在100k标签问题。在大数据集中描述或发现标签错误,本身就是一项具有挑战性的工作,令不少英雄好汉都头疼不已。最近,麻省理工学院和谷歌的研究人员提出了一种广义的置信学习(CL)方法,可以直接估计给定标签和未知标签之间的联合分布。这种通用的CL,也是一个开源的CleanLabPython包,在ImageNet和CIFAR上比其他前沿技术高出30%。这个方法有多厉害?举个栗子。以上是在2012ILSVRCImageNet训练集中使用自信学习发现的错误标记示例。研究人员将CL发现的问题分为三类:1.蓝色:图像中有多个标签;2.绿色:数据集中应该包含一个类;3.红色:标签错误。通过自信的学习,可以在任何数据集中使用合适的模型来发现标记错误。下图是其他三个常见数据集的示例。△AmazonReviews、MNIST和Quickdraw数据集目前存在标签错误的示例,它们使用置信度学习来识别不同的数据模式和模型。这么好的方法,你还不来试试吗?什么是自信的学习?自信学习已成为监督学习的一个子领域。从上图不难看出,CL需要2个输入:1.样本外预测概率;2.噪音标签;对于弱监督,CL包括三个步骤:1.估计给定的、有噪声的标签和潜在的(未知的)未损坏标签的联合分布,从而可以充分描述类条件标签噪声;2.查找并删除有标签问题的嘈杂样本;3.进行训练消除误差,然后根据估计的Latentpriorreweightingexample。那么CL的工作原理是什么?假设我们有一个包含狗、狐狸和牛图像的数据集。CL的工作原理是估计噪声标签和真实标签的联合分布(下图中右边的Q矩阵)。△左:自信计数的例子;右图:三种数据集的噪声标签和真实标签的联合分布示例。接下来,CL统计了100张标记为“dog”的图像,这些图像很可能是“classdog”,如上图左侧的C矩阵所示。CL还计算了56张标记为狗但很可能属于狐狸的图像,以及32张标记为狗但很可能属于牛的图像。那么中心思想就是当一个样本的预测概率大于每个类的阈值时,我们就可以自信的认为这个样本属于这个阈值的类。此外,每个类别的阈值是该类别中样本的平均预测概率。上手容易CleanLab刚才也提到了,本文提到的广义CL其实就是一个CleanLabPython包。之所以称为CleanLab,是因为它可以“清洁”标签。CleanLab具有以下优势:速度:单次、非迭代、并行算法(例如,不到1秒即可在ImageNet中找到标签错误);鲁棒性:风险最小化保证,包括不完全概率估计;多功能:适用于任何概率分类器,包括PyTorch、Tensorflow、MxNet、Caffe2、scikit-learn等;唯一性:对于带有噪声标签的多类学习或为任何数据集/分类器包查找标签错误是唯一的。在1行代码中查找标签错误!3行代码学习噪声标签!接下来,CleanLab在MNIST上的表现。可以在此数据集上自动识别50个标签错误。使用排名修剪算法识别原始MNIST训练数据集中的标签错误。描述24个最不自信的标签,从左到右排列,并从上到下增加置信度(属于给定标签的概率),以蓝绿色表示。预测概率最高的标签为绿色。明显的错误用红色表示。传送门项目地址:https://github.com/cgnorthcutt/cleanlab/ConfidentLearning博客:https://l7.curtisnorthcutt.com/confident-learning