超好用的自信学习:1行代码查找标签错误,3行代码学习噪声标签
十三 发自 凹非寺
量子位 报道 | 公众号 QbitAI
你知道吗?就连ImageNet中也可能至少存在10万个标签问题。
在大量的数据集中去描述或查找标签错误本身就是挑战性超高的任务,多少英雄豪杰为之头痛不已。
最近,MIT和谷歌的研究人员便提出了一种广义的自信学习(Confident Learning,CL)方法,可以直接估计给定标签和未知标签之间的联合分布。
这种广义的CL,也是一个开源的Clean Lab Python包,在ImageNet和CIFAR上的性能比其他前沿技术高出30%。
这种方法有多厉害?举个栗子。

上图是2012年ILSVRC ImageNet训练集中使用自信学习发现的标签错误示例。研究人员将CL发现的问题分为三类:
1、蓝色:图像中有多个标签;
2、绿色:数据集中应该包含一个类;
3、红色:标签错误。
通过自信学习,就可以在任何数据集中使用合适的模型来发现标签错误。下图是其他三个常见数据集中的例子。

△目前存在于Amazon Reviews、MNIST和Quickdraw数据集中的标签错误的例子,这些数据集使用自信学习来识别不同的数据模式和模型。
这么好的方法,还不速来尝鲜?
什么是自信学习?
自信学习已然成为监督学习的一个子领域。

从上图不难看出,CL需要2个输入:
1、样本外预测概率;
2、噪声标签;
对于弱监督而言,CL包括三个步骤:
1、估计给定的、有噪声的标签和潜在的(未知的)未损坏标签的联合分布,这样就可以充分描述类条件标签噪声;
2、查找并删除带有标签问题的噪声(noisy)示例;
3、进行消除错误的训练,然后根据估计的潜在先验重新加权示例。
那么CL的工作原理又是什么呢?
我们假设有一个数据集包含狗、狐狸和奶牛的图像。CL的工作原理就是估计噪声标签和真实标签的联合分布(下图中右侧的Q矩阵)。

△左:自信计数的示例;右:三类数据集的噪声标签和真实标签的联合分布示例。
接下来,CL计数了100张被标记为“狗”的图像,这些图像就很可能是“狗”类(class dog),如上图左侧的C矩阵所示。
CL还计数了56张标记为狗,但高概率属于狐狸的图像,以及32张标记为狗,但高概率属于奶牛的图像。
而后的中心思想就是,当一个样本的预测概率大于每个类的阈值时,我们就可以自信地认为这个样本是属于这个阈值的类。
此外,每个类的阈值是该类中样本的平均预测概率。
轻松上手Clean Lab
刚才也提到,本文所说的广义CL,其实是一个Clean Lab Python包。而它之所以叫Clean Lab,是因为它能“clean”标签。
Clean Lab具有以下优势:
速度快:单次、非迭代、并行算法(例如,不到1秒的时间就可以查找ImageNet中的标签错误);
鲁棒性:风险最小化保证,包括不完全概率估计;
通用性:适用于任何概率分类器,包括 PyTorch、Tensorflow、MxNet、Caffe2、scikit-learn等;
独特性:唯一用于带有噪声标签或查找任何数据集/分类器标签错误的多类学习的软件包。
1行代码就查找标签错误!
# Compute psx (n x m matrix of predicted probabilities) on your own, with any classifier.
# Be sure you compute probs in a holdout/out-of-sample manner (e.g. cross-validation)
# Now getting label errors is trivial with cleanlab... its one line of code.
# Label errors are ordered by likelihood of being an error. First index is most likely error.
fromcleanlab.pruning importget_noise_indices
ordered_label_errors = get_noise_indices(
s = numpy_array_of_noisy_labels,
psx = numpy_array_of_predicted_probabilities,
sorted_index_method= 'normalized_margin', # Orders label errors
)
3行代码学习噪声标签!
fromcleanlab.classification importLearningWithNoisyLabels
fromsklearn.linear_model importLogisticRegression
# Wrap around any classifier. Yup, you can use sklearn/pyTorch/Tensorflow/FastText/etc.
lnl = LearningWithNoisyLabels(clf=LogisticRegression)
lnl.fit(X = X_train_data, s = train_noisy_labels)
# Estimate the predictions you would have gotten by training with *no* label errors.
predicted_test_labels = lnl.predict(X_test)
接下来,是Clean Lab在MNIST上表现。可以在这个数据集上自动识别50个标签错误。

原始MNIST训练数据集的标签错误使用rankpruning算法进行识别。描述24个最不自信的标签,从左到右依次排列,自顶向下增加自信(属于给定标签的概率),在teal中表示为conf。预测概率最大的标签是绿色的。明显的错误用红色表示。
传送门
项目地址:
https://github.com/cgnorthcutt/cleanlab/
自信学习博客:
https://l7.curtisnorthcutt.com/confident-learning
Reddit讨论:
https://www.reddit.com/r/MachineLearning/comments/drhtkl/r_announcing_confident_learning_finding_and/
— 完—
问卷福利!人工智能行业白皮书即将发布
量子位&IDC中国将联合发布「2019中国人工智能行业白皮书」,并于12月6日MEET大会重磅发布,特请小伙伴们填写一下问卷,谢谢大家支持~
填写福利:发布后第一时间获得白皮书,AI内参、大会观众票3折优惠券。 点击下图即可填写问卷、领取问卷福利:
榜单征集!三大奖项,锁定AI Top玩家
2019中国人工智能年度评选启幕,将评选领航企业、商业突破人物、最具创新力产品3大奖项,并于MEET 2020大会揭榜,欢迎优秀的AI公司扫码报名!
量子位 QbitAI · 头条号签约作者
վ'ᴗ' ի 追踪AI技术和产品新动态
喜欢就点「在看」吧 !
相关文章
-
权健事件背后的保健品市场乱象:加大销售环节监管刻不容缓
-
微信零钱通在线服务一微信人工客服
-
短视频产品的设计形态和商业模式
-
视觉中国图片版权风波反思:维权与欺诈,版权保护与合理使用
-
天聊|半熟人社交模式,打造全新树洞聊天!
-
QQ宠物后腾讯再关webQQ,一个时代的缓慢落幕
-
2022年央视春晚收视率21.93%上热搜!首次推出竖屏直播获网友点赞
-
锅从天上来?奇特家长纵容孩子犯错,甩锅给游戏丝毫不负责任!
-
新氧Q2季报图解:营收2.85亿毛利率高达83%
-
Phala(PHA)里评分是用来干什么的?如何选择Phala(PHA)硬件?
-
今日必读!影响市场的5件大事(07.21)苹果被曝存在数据安全问题
-
如果将小米手机印度被抢拍成广告会成为小米的"代表作"吗?
-
LPL春季赛最大的主角竟是它!红魔LOGO遍布赛场成焦点
-
供应商不确定iPhone XR订单是否强劲 但分析师很乐观
-
反复调整,苹果的价格策略还奏效吗?
-
好的简历让你offer接到手软
-
腾讯云王龙:在产业互联网中,AI仍处于不成熟阶段
-
云模式之诠释-解决社会问题-演变路径
-
三大输入法遭全网下架!股价闪崩、负责人降级处分
-
百度地图春节评测:一款国民APP是如何带我回家的
-
技术与工具|知网研学:一款强大的文献管理工具
-
唯品会再造唯品会
-
微软:游戏贵就自己做!传微软想做类似《MonsterHunter》的游戏
-
视频红包走红,春节红包告别“银幕时代“
-
微信封杀百度春晚红包,百度生成“度口令”救场
-
师生齐舞,共寻青红——记“碳”寻“红情绿意”第三天
-
头条福利:年终奖换“画饼”
-
如何在工具类产品验证红包裂变拉新?
-
社交电商,下一个巨型风口还是转型期阵痛的麻醉?