置信度学习

1、置信度学习

        置信度学习CL流程(图1)是用于表征,发现和学习带有标签错误的一系列理论和算法,该算法使用预测的概率和嘈杂的标签对未归一化的置信关节中的样本进行计数,然后归一化以估计联合分配,修剪噪音数据,生成干净的数据作为输出。

置信度学习

         CL生成提供了优于现有技术的三个关键优势1)直接估计标签噪声的联合分布;(2)对非均匀随机标签噪声具有鲁棒性;(3)在实际的充分条件下,可进行一致的联合估计并准确发现标签错误。我们根据经验评估CL,包括:a)联合估计的准确性,(b)发现标签错误以及(c)在CIFARImageNet上学习带有噪声标签的合成噪声和现实噪声。这些实验验证了估计联合分布的性能优势。新的CL代码可重现此处描述的所有结果,并作为cleanlab1 Python软件包完全开源。https://github.com/cgnorthcutt/cleanlab/ 

2、置信度学习过程

2.1、置信度学习输入

           置信度学习估计(嘈杂的)观察到的标签和(真实的)潜在标签之间的联合分布,这个分布可用于i)改进带有嘈杂标签的训练,以及(ii)识别现有数据集中的嘈杂标签。 主要过程包括三个步骤 :

           1.估计联合Qˆy ̃,y∗ 以表征类别条件标签噪声,

           2.滤出噪声示例

           3.进行误差消除训练,对每个类i∈M,按类别权重Qˆy∗ [i]/Qˆy ̃,y∗ [i][i] 重新加权示例。

 在本节中,我们定义这三个步骤并讨论它们的预期结果。 请注意,仅使用了两个输入

1Pˆk,i n × m的样本外预测概率pˆ(y ̃ = i; xk, θ) 矩阵

  (2)  与噪声标签y ̃(xk)相关的数组。 我们使用交叉验证来获得Pˆk,i ,因此Pˆk,i 和xk 共享相同的索引。 我们的方法不需要超参数。

2.2、联合分布估计

        我们通过对联合分布中的实例进行计数来估计Qˆy ̃,y∗ ,使用每个类别中的噪声标签的实际计数|Xy ̃=i|来校准估计计数,然后进行归一化。通过自信学习的关键结构Cy ̃,y∗ ∈Z≥0 m×m 来捕获计数。Cy ̃,y∗ 的对角项为正确标签的计数,而非对角线则记录不对称的错误标签计数。例如,Cy ̃=3,y∗=1=10表示“10个示例标记为'3',但应标记为'1'。”

混淆矩阵CconfusionCy ̃,y∗ 可以构造为给定标签y ̃(xk )和预测argmax i∈M pˆ(y ̃=i; xk , θ)的混淆矩阵。该方法经验上执行合理(第5节),且是无噪声预测概率(定理1)的一致估计器,但是当每种类别的概率分布不相似时(定理2),该方法将失败。

置信联合矩阵Cy ̃,yCy ̃,y∗ 表示标签为y ̃=i 的示例x有足够大的概率pˆx,y ̃=j属于标签y∗=j 。Cy ̃,y∗ 表示为

置信度学习

阈值tj 是每个类别的预期(平均)自信心。

置信度学习

该公式解决了Confusion 的问题,因此Cy ̃,y∗ 对于任何特定类以或大或小的概率具有鲁棒性,但是当示例x被确定地计入多个Xˆy ̃=i,y∗=j 类时,会引起标签冲突。因为给定了y ̃ ,所以碰撞仅沿Cy ̃,y∗ 的y∗ 维发生。我们通过选择yˆ∗ ← arg max pˆx,y ̃=j,来处理冲突。 结果(等式2)是置信联合:

置信度学习

估计联合矩阵Qˆy ̃,y*。 给定置信联合Cy ̃,y∗ ,我们估计联合为

置信度学习

2.3、算法流程

CL的算法如下图所示:

置信度学习

3、排序和修剪:数据清理

在进行联合估计之后,我们将修剪,排序和其他启发式方法用于清洁训练数据。 两种方法是:(1)使用Cy ̃,y∗ 的对角线或(2)使用Qˆy ̃,y∗ 估计标签错误的数量并通过对预测概率进行排序来消除错误。

置信度学习