赶上最新的AI论文

在信息匮乏的地方使用训练有素的模型进行异常检测

故障检测

三个要点
✔️ 实现异常检测性能,不仅明显优于SoTA,也可与监督学习相媲美。
✔️ 通过重用现有训练好的模型的特征,以较低的计算成本实现更高的精度
✔️ 声称现有的异常检测方法试图从正常数据中学习特征,但却难以获得特征

Modeling the Distribution of Normal Data in Pre-Trained Deep Features for Anomaly Detection
written by Oliver RippelPatrick MertensDorit Merhof
(Submitted on 28 May 2020 (v1), last revised 23 Oct 2020 (this version, v2))
Comments: Accepted by ICPR2020. IEEE.

Subjects: Computer Vision and Pattern Recognition (cs.CV)

code:  

本文所使用的图片要么来自该文件,要么是参照该文件制作的。

简介

异常检测是图像识别中最重要的任务之一,在现实世界中具有很大的应用潜力。例如,它可以用来从工厂生产的大量正常零件中分出少量的异常零件。

然而,由于异常图像的性质,大多数时候会出现数据不平衡,即与大量正常数据相比,存在少量的异常数据。因此,用正常图像识别任务中使用的方法来学习异常检测是不可能的,异常检测任务已经被独立研究。这种许多异常检测的方法都是基于从头开始提取正常数据的特征的方法,只使用正常数据。简单地说,如果你习惯于在无知的状态下看到正确的东西,当你看到异常情况时,你可能会认为有问题。

然而,本文作者并不同意。在本文中,基于对PCA结果的分析基于对主成分分析结果的分析。作者认为,不可能从头开始提取正常数据的特定特征,这是现有的异常检测方法的普遍做法。

相反,我们我们提出,利用现有图像分类方法的学习模型提取的特征应被用于异常检测。换句话说,异常检测中的转移学习。事实上,作者通过使用学习模型进行异常检测,在MVTec AD数据集上实现了SOTA。使用这种方法可能是一种有希望的方法,使不断发展的图像识别方法更有效地用于异常检测。

拟议方法概述

所提方法的异常检测流程如下

  1. 用于异常检测的正常数据被输入到预先训练好的模型中并被推断出来。我们使用在ImageNet上训练的EfficientNet(撰写本文时ImageNet的图像识别SOTA)作为预训练的模型。
  2. 推理后从各层模型中提取的特征向量由多变量高斯分布来近似。这被认为是正常数据的数据分布。
  3. 要推断的图像被输入到训练好的模型中,用马哈拉诺比斯距离计算从中提取的特征向量与正常数据的分布之间的距离。
  4. 当距离大于一定距离时,就会发现异常情况。

前两个可以称为学习阶段,后两个可以称为推断阶段,但由于我们使用的是预先学习的模型,所以正常数据的分布是通过将推断出的特征近似于分布而不是学习得到的。如上所述,本文的主要观点是利用现有的学习模型来提取正常数据的特征。

本文件的乐趣

使用学习模型的方法本身并不新鲜,因为它在其他图像识别领域已经很普遍,包括转移学习,但我个人觉得它然而,我个人认为,从可以用于其他研究的角度来看,它是有趣的。我认为有三点。我想分享我的个人观点以及作者的论点。

首先是在异常检测过程中没有进行针对数据库的学习

从提出的方法的流程中可以看出,这种异常检测并不是用我们要检测的数据集来训练的。它只是近似于将数据输入到一个训练有素的模型中并进行推断而得到的结果分布。这种无需训练的方法的简单性使其相当有吸引力,因为它的计算成本低,计算时间快。

其次。其次是建议在异常检测中用于识别的特征在正常类中没有明显的差异。第二种说法是,用于识别异常的特征在正常类中没有明显的差异。

当我第一次读到这个当我第一次读到它时,我认为正常数据中的类间差异会比正常和异常之间的差异更大。这是因为训练的模型是为了提高类的分类性能,比如ImageNet,所以我以为会有这样的担心:即使在正常数据上使用,它也会提取特征来对正常数据中的类进行分类。特别是,我们认为,当正常数据中存在多个类时,甚至在数据库中进行异常检测时,也可能发生这种情况。

然而,这似乎是一种毫无根据的恐惧。作者研究了为什么预训练模型所提取的特征是有效的。

异常检测中用于识别的特征在正常类中没有明显差异

作者使用PCA来测试这一假设。具体来说,我们测试了准确性如何根据成分方差的大小而变化。结果,我们发现,方差最小的主成分是在正常数据中最适合用于异常检测的主成分

前面的担忧是在一个稍微不同的方向。其中可能有较高的方差在我看来,这并不重要,因为只有低方差的特征才对异常检测有效,而不是那些由于正常数据中类之间的差异而会有高方差的特征。如果我首先错过了问题的重点,请让我知道。

作者还用这个实验的结果来说明为什么从头开始学习正常数据是无效的。结果表明,如果我们只从头开始学习,不使用先前的学习,就很难学习到具有高辨别力的低方差成分。

模型近似的数学背景

在这一章中,我们描述了学习过程中每个步骤的数学背景。除了在学习过程中用于建立数据模型的方法外,我们还介绍了在推理过程中用于指标的计算方法和建议的阈值设置方法。

正态数据建模和参数估计

简而言之,为正常数据建模的方法是用训练好的模型的特征来近似正常类的概率密度函数,假设训练好的模型的特征可以转移到异常检测任务上。这可以看作是一种类增量的学习方法,即逐步增加新的数据类。提出的方法中使用的数学背景如下

  • 在所提出的方法中,由训练过的模型提取的特征向量x被假定为遵循多变量高斯分布(MVG)。多变量高斯分布由下式定义,其中D为维数,μ为均值向量,Σ为正定协方差矩阵。
  • 由于这是一个异常检测,实际正常数据的协方差矩阵Σ是未知的。因此,我们进行参数估计,这是统计学中的一种常见做法,并使用Σ的估计值作为常识。在观察到的数据X1,.,xn,样本的协方差矩阵可以表示为然而,在是样本平均值向量,n是样本大小。

  • 如果特征向量的维度D充分小于样本量n,就可以将上述估计值代入多变量高斯分布公式。然而,如果D/n不够小,协方差矩阵的估计结果就会变得不稳定,如果D足够大过n,协方差矩阵就会变得奇异,无法计算出逆矩阵。所提出的方法通过使用Ledoit, Wolf等人的Shrinkage方法避免了这个问题。Shrinkage方法将新的协方差矩阵估计值定义为协方差矩阵的经验估计值加上标准化的单位矩阵I。加权参数ρ在多大程度上定义了偏差和变异性的权衡量?它在使用具有高无偏变异性和高经验变异性的估计器,以及使用具有高偏差和无变异性的单位矩阵的值之间取得了平衡。Ledoit和Wolf建议,ρ的最佳值可以通过最小化缩减后的估计器和原始估计器之间的平方误差来计算。

确定异常值的方法

在所提出的方法中,如果离分布的距离大于某一数值,则判断为异常值,所使用的衡量标准是马哈拉诺比斯距离。

  • 马哈兰诺比斯距离表示一个点(矢量)x与均值为μ、协方差为Σ的高斯分布之间的距离,由以下公式定义马哈拉诺比斯距离考虑到了数据的相关性,并且与尺度的水平无关,在统计学上,它很容易被用来计算样本的不确定性。它也是一种距离,很容易用于异常检测和测量远离分布的异常值。

我们建议通过计算得出阈值,尽管当离群点被定义为与分布有一定距离时,阈值一般是由人类根据经验确定的。首先,我们介绍将介绍数学背景。

  • 当x遵循多变量高斯分布时,已知M(x)2遵循自由度为D的芝方分布具有k个自由度的卡方分布是k个随机变量的平方之和,每个随机变量遵循独立的标准正态分布。芝罘区分布的概率密度函数如下所示,其中Γ(s)称为伽马函数,s>0。

  

  • 卡方分布的累积分布函数可以表示如下,其中γ(s,x)是不完全伽马函数。

在这些特性的基础上,作者提出了一种计算阈值的方法。我们利用这样一个事实:当马哈拉诺比斯距离对应于在卡方分布中获得正常数据的概率p时,这就是算作真阴性率(TNR)。同样,我们认为1-p对应的是假阳性率(FPR)。这个想法是基于上述的马哈拉诺比斯距离遵循一个齐次分布的事实。

  • 根据这种方法,阈值被设置在一个点t,使用可接受的FPR值和Chi-square分布的累积分布函数计算。这个t的计算是基于卡方分布的特性。t满足以下公式

  • 在此基础上,下面给出了t。其中FD(x)是上述的累积分布函数。

通过比较这个阈值t和要判断为异常的图像的特征向量之间的Mahalanobis距离,我们可以判断该图像是否为异常。

实验结果和讨论

在我们的实验中,我们使用EfficientNet(在撰写本文时,它是ImageNet中图像识别的SOTA)和ResNet(容易用于比较)作为预训练模型。

为了检查每个参数和方法的有效性,我们进行了以下实验

  1. 对特征提取层的选择进行评估
  2. 对假设分布和异常点之间的距离计算方法的评价
  3. 预训练模型的比较
  4. 对不同规模的EfficientNet的评价
  5. 评估阈值的有效性

除了这些方法的有效性之外,我们还评估了它们与现有的异常检测方法的性能,并讨论了它们的工作原因。后者将在本论文的 "兴趣 "部分讨论。在本章中,我们回顾了性能实验及其与其他异常检测方法的比较评估。

与现有的异常检测方法相比,进行性能评估

在本文中,我们在MVTec AD数据集上将我们的方法与几种异常检测算法(包括SOTA的方法)进行了比较。具体来说,我们将结果与使用卷积AE的半监督重建方法、监督AD分类器、使用EfficientNet中预训练特征的oc-SVM以及目前MVTec论文中提出的SOTA方法进行比较。虽然监督分类器实际上不能用于无标签的异常检测,但它们被作为异常检测可以提供的上限的基准。

与这些方法各自的比较结果如下。我们可以看到,所提出的方法,即使用多变量高斯分布进行预训练的特征,取得了比SPADE高10%的平均AUROC,这是次最好的方法。值得注意的是,即使是SPADE也使用了k-NN和L2 Loss的预训练特征,这说明预训练特征的作用。此外,在微调预训练的监督分类器的性能上限与基准相当。顺便提一下,监督分类器的表现优于微调分类器,特别是在纹理(药品、螺丝)类别。

此外,这里使用的NPCA是PCA分析的结果,用来验证该方法为什么有效。具体来说,被否定的PCA(NPCA)是指使用方差最小的特征的主成分。通过使用这种方法稍微提高结果的稳健性,AUROC值得到了提高,SEM值得到了降低。

摘要

作者表明,使用训练有素的模型进行异常检测,可以达到与正常监督学习相媲美的性能水平。他还反对通常的异常检测方法,即只从正常学习,认为我们应该思考如何转移正常的监督学习。为了做到这一点,我们希望深入研究如何提高特征的通用性,如何用少量的数据对转移的特征进行微调,以及如何在多模态数据分布中利用它们。

随着这种方法的进一步研究,它可能是一种有希望的方法,使不断发展的图像识别方法更有效地用于异常检测。

  • メルマガ登録(ver
  • ライター
  • エンジニア_大募集!!

如果您对文章内容有任何改进建议等,请通过 "联系我们 "表格与爱学网编辑部联系。
如果您能通过咨询表与我们联系,我们将非常感激。

联系我们