《Confident Learning: Estimating Uncertainty in Dataset Labels》论文讲解

1.参考链接
(1)别让数据坑了你!用置信学习找出错误标注
(2)curriculum learning

摘要

"confidence"这个概念以前都是focus在模型上,这里我们关注于 数据质量。
置信学习是一个可选择步骤,来identify、特征化数据中的错误标签,直接评估 噪音标签和uncorrupted标签的联合分布。
我们用几个例子来展示 CL可以精确发现数据中的错误标签,通过提前清洗数据来提高模型的精确度。
CL是一个学习框架,不依赖于特定数据和特定模型。

一、Introduction

带有噪音的大数据现在越来越常见,比如医疗领域、教育场景。噪音标签的出现带来了2个问题:一是怎么发现这些噪音数据;二是,当数据中有噪音时,怎么去学习得更好。我们从以数据为中心的角度去考虑这个问题,得出假设:问题的关键在于 如何精确、直接去特征化 数据集中noise标签的不确定性
“confident learning”这个概念被提出来解决 这个不确定性,它有两个方面比较突出。第一,标签噪音,仅仅依赖于潜在的真实class。比如,豹子常常被错标为美洲狮,而不是澡盆。第二,真实标签和噪音标签的联合分布可以被直接pursued,根据三大理论支撑:(噪音)剪枝;计数;排列。
对噪音数据和uncorrupted label的联合概率分布进行 直接评估 ,是一件很有挑战又有价值的事情,以前没人这么干过。对带噪音学习来说,训练前移除错误标签 是一个很有效果的手段。
对于噪音数据的 发掘、理解、学习来讲,这篇论文有2个比较重要的成果。第一,它能精确发现错误标签,并且精确评估 noise标签和true标签的联合分布。第二,实验数据被分享,取得了更好的实验结果,代码开源见cleanLab。

二、 CL Framework and Problem Set-up

假设:a class-conditional classification noise process,是一个映射。

{y(.)-->y(~)}

符号:y(~),代表被观察到的标签;y(.),代表潜在的真实标签;p(^),predicted probabilities。
目标:在此,我们假设 标签噪音转移矩阵是 满足数据独立性的。我们的目的是评估一个联合分布矩阵Q(y(~),y(.)).
定理1 :矩阵Q内元素的稀疏性。导弹有可能被标注为发射器,但几乎不可能被标注为羊毛或者啤酒

三、 CL Methods

CL的工作主要有3个:
(1)评估Q矩阵(2)识别出错误标签(3)当数据中移除错误标签后,用剩下的干净数据来训练模型,重新赋权重给每一类。
在这里插入图片描述
3.1 Count
Count被体现在 置信联合矩阵 C(y(~),y(.)). C的定义如下所示:
在这里插入图片描述
其中的阈值 t(j) 的公式如下所示:
《Confident Learning: Estimating Uncertainty in Dataset Labels》论文讲解_第1张图片
应用阈值的方式,相对以前使用 argmax的方式,鲁棒性更好。可是,问题来了,当大于预测的预测类有2个时怎么办?进一步取argmax。
评估Q(^)
《Confident Learning: Estimating Uncertainty in Dataset Labels》论文讲解_第2张图片
baseline模型 混淆矩阵 Cconfusion
混淆矩阵时靠argmax形成的一个矩阵,在很多地方不如 置信联合矩阵,比如:各个类别的分布不均衡。
3.2 Rank and Prune: Data Cleaning
我们提供了5种方法,分为2组。
第一种:非对角线元素
(1)Cconfusion:非对角线元素直接计算
(2)C(y(^),Y(.)): 非对角线元素直接计算
第二种:用nQ(^)来估计
(3)Prune by Class(PBC):对每一被标记好的类,在非对角线元素上,选取n
Q(^(~不等于.)))最低置信度的元素。
(4)Prune by Noise Rate (PBNR):选取 最大 margin的元素,其他同(3)。
(5)C+NR:前两种方法都用
Learning with Noisy Labels:
由于data被清洗了一些,所以针对每一类,reweight其在loss中权重,值为
在这里插入图片描述

四. Theory

4.1 Noiseless Predicted Probabilities

你可能感兴趣的:(python应用,算法,自然语言处理,人工智能)