异常检测是各个领域最常见的机器学习应用之一,从工业缺陷识别到欺诈性金融检测。
一类分类有利于异常检测。它通过假设训练数据都是正态示例来确定实例是否与训练数据属于同一分布。但是,表示学习不适用于这些旧方法。此外,自监督学习在从未标记数据中学习视觉表示方面取得了重大进展,包括旋转预测和对比学习。
新的 Google AI研究引入了一个 2 阶段框架,该框架使用了自监督表示学习和经典一类算法的最新进展。该框架易于训练,并在各种基准测试中显示 SOTA 性能,包括CIFAR、f-MNIST、 Cat vs. Dog和CelebA。为使用相同架构的实际工业缺陷检测问题提供了一种新颖的表示学习方法。在 MVTec 基准测试中,该框架达到了新的最先进水平。
深度一类分类的两阶段框架
深度一类分类器的端到端学习通常会受到退化的影响,即无论输入如何,模型都会输出相同的结果。因此,对于一类分类器,研究人员应用了他们的两阶段框架。
第一步,模型通过自我监督进行深度表征训练。该团队在第二阶段使用了第一阶段的学习表示,采用了一类分类技术(例如 OC-SVM 或核密度估计器)。
这种两阶段方法对退化具有鲁棒性,并且还允许创建更精确的一类分类器。此外,该框架不限于特定的表示学习和一类分类算法。
语义异常检测
通过测试两个样本自监督表示学习算法:旋转预测和对比学习,研究人员检查了两阶段框架对异常检测的有用性。
模型预测输入图像旋转角度的能力称为旋转预测。当前的方法通常使用内置的旋转预测分类器来构建异常检测的表示。但是,这种方法效率低下,因为此类内置分类器不是针对一类分类进行训练的。
在对比学习中,模型学习从同一图像的修改副本中收集表示,同时将不同图像的表示推开。由于照片是在训练期间从数据集中提取的,因此通过简单的增强对它们进行了两次修改。典型的对比学习收敛到一个解决方案,其中所有正常示例表示均匀分布在一个球体上。这是一个问题,因为大多数一类算法通过使用正常训练示例来比较测试示例的接近度来寻找异常值。尽管如此,当所有正常实例在空间中均匀分布时,异常值似乎总是与一些正常实例很接近。
该团队为一类对比学习提出了分布增强(DA)来解决这个问题。该模型不是仅从训练数据中学习表示,而是从训练数据和增强训练示例的组合中学习。增强的实例被认为与原始训练数据不同。对于分布增强,他们使用几何变化,如旋转和水平翻转。
他们在广泛使用的计算机视觉数据集(例如 CIFAR10 和 CIFAR-100、Fashion MNIST 和 Cat vs. Dog)上评估关于曲线下面积 (AUC) 的一类分类的性能。在所有这些基准测试中,2 阶段架构实现了最先进的性能。
通过在第二阶段将第一阶段使用的内置旋转分类器替换为一类分类器,该框架的性能显着提高了 86 至 91.3 AUC。
用于工业缺陷检测的纹理异常检测
在许多应用程序中,异常通常由局部故障而不是完全不同的语义定义。例如,纹理异常的检测有利于检测各种工业缺陷。
对于纹理异常检测,该团队提出了一种新的自监督学习技术。整个异常检测方法是两阶段的。首先,该模型学习深度图像表示,并经过专门训练以预测图像是否已通过简单的 CutPaste 数据增强进行了增强。
CutPaste 增强围绕这样一个想法,即通过随机切割局部补丁并将其粘贴回同一图像内的新位置来增强给定图像。学习区分正常实例和 CutPaste 增强实例可以促进表示对图片局部不规则性敏感。
CutPaste 方法也可用于定位异常,即“补丁级”异常检测。他们在热图中可视化了补丁异常分数,通过高斯平滑上采样显示异常发生的位置,这显着改善了异常定位。
论文:
https://arxiv.org/pdf/2011.02578.pdf
代码:
https://github.com/google-research/deep_representation_one_class
来源:
https : //ai.googleblog.com/2021/09/discovering-anomalous-data-with-self.html
推荐阅读
Google AI 推出“Omnimattes”,一种使用分层神经渲染生成 Matte Generation的新计算机视觉方法。
点击“阅读原文”图书配套资源