A BASELINE FOR DETECTING MISCLASSIFIED AND OUT-OF-DISTRIBUTION EXAMPLES IN NEURAL NETWORKS(ICLR2017)
文章目录
实验部分详见原文,文章为原文翻译,如有错误请参照原文
ABSTRACT
- 我们考虑了两个相关的问题,即检测样本是否被错误分类或OOD
- 我们提出了一个简单的基线,利用了softmax分布的概率
- 正确分类的示例往往比错误分类和OOD样本具有更大的softmax概率,从而可以检测它们
- 我们通过定义计算机视觉、自然语言处理和自动语音识别中的几个任务来评估性能,展示了该基线在所有方面的有效性
- 然后,我们展示了基线有时可以被超越,这表明了对这些未充分开发的检测任务的未来研究空间
- code:https://github.com/hendrycks/error-detection
1.INTRODUCTION
1st Para:
- 当机器学习分类器用于现实世界的任务时,当训练分布和测试分布不同时,它们往往会失败
- 更糟糕的是,这些分类器经常失败,因为它们提供了高置信度的预测,但却严重错误(Goodfellow等人,2015;Amodei等人,2016)
- 如果分类器不能指出它们可能出错的时候,可能会限制它们的采用或导致严重的事故
- 例如,医疗诊断模型可以始终以高置信度进行分类,即使它应该标记难以进行人工干预的示例
- 由此产生的未经标记的错误诊断可能会阻碍未来医学领域的机器学习技术
- 更普遍重要的是,评估模型何时出错是人工智能安全的重要关注点(Amodei et al., 2016)
2st Para:
- 这些高置信度的预测经常由softmax产生,因为softmax概率是用快速增长的指数函数计算的
- 因此,对softmax输入(即logits)可以导致输出分布的实质性变化
- 由于softmax函数是指示函数的光滑近似值,因此在OOD示例中很少看到均匀分布的输出
- 实际上,随机高斯噪声输入到MNIST图像分类器给出了91%的“预测置信度”或预测类概率,如我们稍后所示
- 在我们的实验中,我们确定了softmax分布的预测概率与置信度的直接对应性很差
- 这与研究人员的大量轶事证据是一致的(Nguyen & O 'Connor, 2015;Yu et al., 2010;Provost等人,1998;Nguyen et al., 2015)
3st Para:
- 然而,在这项工作中,我们也表明,不正确和分布外的样本的预测概率往往低于正确样本的预测概率
- 因此,捕获关于正确或样本ID示例的预测概率统计数据通常足以检测示例是否错误或异常,即使孤立地观察预测概率可能会产生误导
4st Para:
- 这些预测概率构成了我们的检测基线,我们通过各种计算机视觉、自然语言处理和自动语音识别任务来证明其有效性
- 虽然这些预测概率创造了一个持续有用的基线,但有时它们的效果不太好,这表明有改进的余地
- 为了为未来的检测研究提供思路,我们贡献了一种在某些(但不是全部)任务上优于基线的方法
- 该方法通过评估神经网络输入重建的质量来判断样本是否异常
5st Para:
- 除了基线方法之外,这项工作的另一个贡献是指定了用于评估错误和分布外示例的自动检测的标准任务和评估度量
- 我们在三个研究领域使用大量经过充分研究的任务,使用标准的神经网络架构,在它们上表现良好
- 对于分布外检测,我们提供了在测试时提供分布外示例的方法,例如使用来自不同数据集的图像和实际扭曲输入
- 我们希望其他研究人员在未来的工作中继续完成这些任务,并超越我们基线的表现
6st Para:
- 总之,虽然softmax分类器概率不能直接用作置信度估计,但估计模型置信度并不像以前认为的那样黯淡
- 从softmax分布中得出的简单统计数据提供了一种非常有效的方法来确定示例是否被错误分类或来自与训练数据不同的分布,正如我们跨越计算机视觉,自然语言处理和语音识别任务的实验结果所证明的那样
- 这为检测错误和分布外示例创建了一个强大的基线,我们希望未来的研究能够超越它
2.PROBLEM FORMULATION AND EVALUATION
1st Para:
- 在本文中,我们对两个相关的问题感兴趣。第一个是错误和成功预测:我们能否预测一个训练好的分类器是否会在特定的保留测试样本上出错; 我们能否预测它是否会正确分类该样本?
- 二是分布内和分布外检测:我们能否预测测试样例是否来自与训练数据不同的分布;我们能预测它是否来自同一分布吗?
- 下面我们给出一个简单的基线来解决这两个问题
- 为了评估我们的解决方案,我们使用两个评估指标
2st Para:
- 在提到两种评估指标之前,我们首先指出,比较检测器并不像使用准确率那样简单
- 对于检测,我们有两个类,检测器输出正类和负类的分数
- 如果负类的可能性远远大于正类,则模型可能总是猜测负类并获得较高的准确性,这可能具有误导性(Provost et al., 1998)(note:更具体地说,当负类占据绝大多数时,模型即使没有真正学会区分正类和负类,也可以通过始终预测负类来获得高准确率。这是因为负类的数量远远超过正类,所以只要预测负类,就大多数情况下都是正确的,从而导致总体准确率很高。这种情况会掩盖模型在正类预测上的不足,因此准确率这个指标在类别分布不平衡的情况下可能会失去有效性。)
- 然后,我们必须指定一个分数阈值,以便正确分类一些正例,但这取决于假阴性(fn)和假阳性(fp)之间的权衡
3st Para:
- 面对这个问题,我们采用了Area Under the Receiver Operating Characteristic curve(AUROC)指标,这是一种与阈值无关的性能评估(Davis & Goadrich, 2006)
- ROC曲线是显示真阳性率(tpr = tp/(tp + fn))和假阳性率(fpr = fp/(fp + tn))相互对比的图表
- 此外,AUROC可以被解释为一个正例比一个负例有更大的检测器得分/值的概率(Fawcett,2005)
- 因此,随机正例检测器对应于50% AUROC,并且“完美”分类器对应于100%
4st Para:
- AUROC回避了阈值选择的问题,精确度-召回曲线下的面积(AUPR)有时被认为信息量更大(Manning & Schutze,1999)
- 这是因为当正类和负类的基本比例差异很大时,AUROC并不理想,AUPR会根据这些不同的正和负基本比例进行调整
- 由于这个原因,AUPR是我们的第二个评估指标
- PR曲线绘制了精度(tp/(tp+fp))和召回率(tp/(tp + fn))相互对抗
- 基线检测器的AUPR近似等于精度(Saito & Rehmsmeier, 2015),而“完美”分类器的AUPR为100%
- 因此,正类的基本比例极大地影响AUPR,因此对于检测,我们必须指定哪个类是正的
- 鉴于此,我们展示了在将成功/正常类视为正类时的AUPR,以及在将错误/异常类视为正类时的AUPR
- 我们可以通过将分数乘以- 1并标记它们为正来将错误/异常类视为正
- 注意,将错误/异常类视为正类不会改变AUROC,因为如果S是一个成功分类值的得分,而E是一个错误分类值的得分,那么AUROC = P(S > E) = P(−E > −S)
5st Para:
- 我们在第3节开始我们的实验,我们描述了一个简单的基线,它使用神经网络分类器中softmax标签分布的最大概率
- 然后在第4节中,我们描述了一种使用额外的辅助模型组件来重建输入的方法
3.SOFTMAX PREDICTION PROBABILITY AS A BASELINE
1st Para:
- 在接下来的内容中,我们从softmax分布中检索最大/预测类概率,从而检测示例是否被错误分类或是OOD
- 具体来说,我们将正确分类和错误分类的测试集示例分开,并对每个示例计算预测类的softmax概率,即最大softmax概率
- 从这两组中我们得到PR和ROC曲线下的面积
- 这些区域总结了二元分类器区分不同阈值的值/分数(在本例中是来自softmax的最大概率)的性能
- 此描述将正确分类的示例视为正类,在我们的表中表示为“Success” or “Succ”
- 在“Error” or “Err”中,我们将错误分类的示例视为正类
- 为了做到这一点,我们将错误分类的示例标记为正,并将预测类的softmax概率的负值作为分数
2st Para:
- 对于“In”,我们将分布内正确分类的测试集示例视为正值,并使用预测类的softmax概率作为分数,而对于“Out”,我们将分布外示例视为正值,并使用上述概率的负值
- 自AUPR以来Success, Error, In, Out分类器取决于正例的比率,我们列出了随机检测器使用“Base”值可以达到的区域
- 同样,在接下来的结果中,我们列出了错误分类示例的平均预测类概率(Pred probb Wrong (mean)),以证明softmax预测概率在孤立地看待时是一个误导性的置信度代表
3st Para:
- 除了表标签,我们开始用视觉数据集进行实验,然后考虑自然语言处理和自动语音识别中的任务
- 在接下来的所有实验中,根据Wilcoxon秩和检验,auroc与随机基线的差异具有较高的统计显著性
4.ABNORMALITY DETECTION WITH AUXILIARY DECODERS
Figure 1: A neural network classifying a diamond image with an auxiliary decoder and an abnormality module. Circles are neurons, either having a GELU or sigmoid activation. The blurred diamond reconstruction precedes subtraction and elementwise squaring. The probability vector is the softmax probability vector. Blue layers train on in-distribution data, and red layers train on both in- and out-of-distribution examples.
- 在看到softmax预测概率能够进行异常检测之后,我们现在展示了有时对检测更有用的其他信息
- 为了证明这一点,我们利用神经网络的学习内部表征
- 我们从训练一个普通分类器开始,并附加一个辅助解码器,它重建输入,如Figure 1.
- 辅助解码器有时可以提高分类性能(Zhang et al., 2016)
- 解码器和评分器在分布样本上进行联合训练
- 因此,Figure 1 中的蓝色层被冻结
- 然后我们在干净和带噪声的训练样本上训练红色层,红色层的s形输出对输入的正常程度进行评分
- 因此,有噪声的例子属于异常类,干净的例子属于正常类,并且训练s型曲线输出输入所属的类别
- 经过训练,我们得到了一个正常分类器、一个辅助解码器和一个abnormality module
- 异常模块的成果表明,存在超越基线的可能研究途径
5.DISCUSSION AND FUTURE WORK
1st Para:
- 异常模块展示了在某些情况下,通过利用网络的表征可以超越基线,暗示了无数的研究方向
- 一些有前景的未来研究方向可能会利用类内差异:如果一个样本到同一预测类别的另一个样本的距离异常大,它可能是分布外的(Giryes等,2015)
- 另一种方法是将总结某层激活情况的向量输入到RNN中,每层一个向量
- RNN可能会判定这些激活模式对于分布外样本来说是异常的
- 其他可以使检测更加细化:这个分布外样本是已知-未知还是未知-未知?
- 另一个方向不仅是检测正确分类,还要输出正确检测的概率
- 这些只是改进错误和分布外检测的一些想法
2st Para:
- 我们希望任何新的检测方法都能在研究者选择的各种任务和架构上进行测试
- 一个基本的展示可以包括以下数据集:MNIST、CIFAR、IMDB和tweets ,因为仅限于视觉的展示可能无法很好地迁移到其他架构和数据集上
- AUPR和AUROC值很重要,基础分类器的准确性也很重要,因为如果我们把错误判定为正类,一个总是出错的分类器(总是将正类预测为负类,将负类预测为正类)会在错误检测中获得最高的AUPR
- 此外,未来的研究不需要使用本文中的精确值进行比较
- 机器学习系统在不断发展,因此将评估绑定到本文中的确切架构和数据集上是不必要的
- 相反,可以简单地选择各种数据集和架构,可能像上述那些,然后将他们的检测方法与基于分类器softmax预测概率的检测器进行比较
- 这些是我们对那些尝试在这个尚未充分探索的挑战中超越基线的研究者的基本建议
6.CONCLUSION
- 我们展示了一个softmax预测概率基线,用于跨多个架构和众多数据集的错误和分布外检测
- 然后,我们提出了异常模块,该模块为在测试用例中区分正常和异常示例提供了更高的分数
- 异常模块表明,在某些情况下可以突破基线,这意味着未来的研究还有空间
- 我们的希望是,其他研究人员可以研究基于异常估计做出预测的架构,并且其他人可以寻求更可靠的方法来检测错误和分布外输入,因为知道机器学习系统何时失败对我们来说非常重要
DISCUSSION
如果将错误检测定义为正类(即错误检测为positive class),总是错误的分类器确实会得到最高的AUPR。但是,这并不意味着AUROC的值会很高。让我们更详细地探讨这个问题。
总是错误的分类器
假设有一个总是错误的分类器,对于每一个实际的正类(positive class)样本,它总是预测为负类(negative class),对于每一个实际的负类样本,它总是预测为正类。也就是说:
- 实际正类 (Positive) -> 预测负类 (Negative)
- 实际负类 (Negative) -> 预测正类 (Positive)
AUPR
当我们将错误检测定义为正类,总是错误的分类器会得到最高的AUPR,因为:
-
Precision(精确率):预测为正类的样本中实际为正类的比例。
$\text{Precision} = \frac{\text{TP}}{\text{TP} + \text{FP}}
$ -
Recall(召回率):实际为正类的样本中被正确预测为正类的比例。
$\text{Recall} = \frac{\text{TP}}{\text{TP} + \text{FN}}
$ -
在这种情况下,所有的实际错误(现在定义为正类)都被预测为正类,因此精确率(Precision)和召回率(Recall)都很高。
-
这意味着在Precision-Recall曲线上,Precision和Recall的值都接近于1,导致AUPR接近于1(或100%)。
AUROC
ROC曲线展示了不同阈值下的假阳性率(FPR)和真阳性率(TPR)。对于一个总是错误的分类器:
- 对于每一个实际的正类样本(现在是负类),它总是预测为负类(即负类中有很多假阴性)。
- 对于每一个实际的负类样本(现在是正类),它总是预测为正类(即正类中有很多假阳性)。
ROC曲线上的点计算如下:
-
真阳性率(TPR)计算公式为:
$
\text{TPR} = \frac{\text{TP}}{\text{TP} + \text{FN}} = 0
$ -
假阳性率(FPR)计算公式为:
FPR = FP FP + TN = 1 \text{FPR} = \frac{\text{FP}}{\text{FP} + \text{TN}} = 1 FPR=FP+TNFP=1
这意味着在ROC曲线上,总是错误的分类器对应的点为 (1, 0)。
综合分析
- AUPR:因为Precision和Recall在这种情况下都很高,总是错误的分类器会得到最高的AUPR。
- AUROC:由于总是错误的分类器在ROC曲线上的表现对应于 (1, 0),这代表非常糟糕的表现,导致AUROC值接近于0,而不是接近于1。事实上,如果一个分类器的性能非常差,其AUROC值会接近0.5,因为它相当于一个随机猜测的分类器。
结论
总之,如果将错误检测定义为正类,总是错误的分类器会得到最高的AUPR,因为它能够非常准确地识别错误(作为正类)。然而,其AUROC值不会很高,因为在不同阈值下,它的假阳性率和真阳性率表现都很差,导致其在ROC曲线下的面积很小。这说明了在评价分类器性能时,需要结合多种指标(如AUPR和AUROC)以获得全面的评估。