Out-of-Distribution Detection开篇之作SMOOD论文阅读

目录

      • 1 AUROC和AUPR
      • 2 Softmax
      • 3 辅助分类器
      • 4 小结

所谓异常检测,就是发现与大部分对象不同的对象,即离群点。异常检测以训练集为核心,判断输入数据是否与训练集中的数据类似。异常检测的论文集合可以参考这里。

本文要介绍的论文为A baseline for detecting misclassified and out-of-distribution examples in neural networks(原文地址, 翻译地址)是OoD(Out-of-Distribution Detection)方向的第一篇论文。在文中,我们考虑了异常检测的两个问题:

  1. 错误和成功预测:我们能否预测一个经过训练的分类器是否会在一个特定的测试示例上出错;我们能预测它是否能正确地对某些例子进行分类吗?
  2. 分布内和分布外检测:我们能否预测一个测试示例是否来自与训练数据不同的分布;我们能预测它是否来自同一个分布吗?

1 AUROC和AUPR

值得注意的是,比较检测器并不像使用准确度那么简单,因为如果负类的可能性远远大于正类,模型可能总是猜测负类并获得高精度,这可能会产生误导。因此,作者采用的评价指标为接收机工作特性曲线指标下的面积(Area Under the Receiver Operating Characteristic curve,AUROC)和准确率-召回率曲线(Area Under Precision-Recal Curve,AUPR)。

AUROC曲线是针对各种阈值设置下的分类问题的性能度量。ROC是概率曲线,AUC表示可分离的程度或测度,它告诉我们多少模型能够区分类别。AUC越高,模型在将0预测为0,将1预测为1时越好。用召回率TPR相对误检率FPR绘制ROC曲线,其中TPR在y轴上,FPR在x轴上。

Out-of-Distribution Detection开篇之作SMOOD论文阅读_第1张图片
另一个评价指标AUPR是PR曲线下的面积,PR即召回率和正确率组成的曲线图。AUROC曲线和AUPR曲线更详细的理解见这里和这里。

AUROC曲线和AUPR曲线主要的区别是,一个是作用在平衡数据集中,一个是作用在高度不平衡的数据集中。如果只有较高的召回率,只能说明你的模型或者方法可以预测出较多的数据,但并不能保证预测出的样本是正确的。如果只有较高的正确率,说明所预测的样本的正确的,但只能检测出一部分数据集。

2 Softmax

接下来,我们从softmax分布中检索最大/预测类概率,从而检测示例是否被错误分类或超出分布。具体来说,我们将正确和错误分类的测试集示例分开,并针对每个示例计算预测类的softmax概率,即最大softmax概率。从这两组中我们得到PR和ROC曲线下的面积。这些区域总结了二元分类器在不同阈值之间通过值/分数(在本例中,是softmaxes的最大概率)进行区分的性能。

3 辅助分类器

作者训练了一个普通的分类器然后附加一个辅助解码器来重构输入,以证明softmax预测概率使异常检测成为可能。

Out-of-Distribution Detection开篇之作SMOOD论文阅读_第2张图片

4 小结

该篇工作提出了一个基于深度模型的 OOD Detection baseline,后续的很多工作都是由此展开。主要的 insight 是:

  1. 相比于错误分类的样本和 OOD 样本,分类正确的样本会得到更大的 maximum softmax 概率。
  2. 模型会给错误分类的样本和 OOD 样本给予高的 maximum softmax 概率,模型的输出概率不能直接代表模型的置信度(confidence)。

其主要贡献在于:

  1. 作者通过统计模型预测样本的softmax概率便可以有效的检测出 OOD 样本。
  2. 指定了标准的 OOD Detection 任务和对于的评估度量标准。
  3. 提出一个新的方法:评估神经网络输入的重构样本的质量来判断一个样本是否是异常的,进一步提高了baseline.

你可能感兴趣的:(计算机视觉,异常检测,机器学习,深度学习,人工智能)