作者:Samet Akcay 1, Amir Atapour-Abarghouei 1,和Toby P. breckon 1,2英国杜伦大学计算机科学系
术语:exemplary data 示例数据、within this challenging context 在这种具有挑战性的背景下、
Abstract
我们引入了一种新的异常检测模型,通过使用条件生成对抗网络,联合学习高维图像空间的生成和潜在空间的推断。在生成器网络中使用编码器-解码器-编码器子网络使模型能够将输入图像映射到低维向量,然后用于重建生成的输出图像。附加编码器网络的使用将此生成的图像映射到其潜在表示。训练过程中最小化这些图像与潜在向量之间的距离,助于学习正态样本的数据分布。在推断时,与学习到的数据分布的更大距离度量表明该分布是异常。对来自不同领域的几个基准数据集的实验表明,模型的有效性和优于先前最先进的方法。
1 Introduction
监督方法在很大程度上依赖于大型的标记数据集。我们的评估中考虑的一个具体应用是航空或边境安全的x射线筛查。模型在正常样本(a)上进行训练,并在正常和异常样本(b)上进行测试。当模型的输出大于某个阈值a (x) > φ时,就会检测到异常。
如上图所示,异常检测任务的正式问题定义如下:给定一个数据集D,其中包含大量用于训练的正常样本X,以及相对较少的用于测试的异常样本X^,对模型f的参数θ进行优化。f在训练过程中学习正常样本的数据分布pX,在测试过程中通过输出异常分数A(x)将异常样本识别为离群值,其中x为给定的测试示例。较大的A(x)表示测试图像中可能存在异常,因为f在训练过程中学习最小化输出分数。A(x)具有一般性,它可以检测出不符合pX的不可见异常。
各种应用领域中的异常检测模型[2-4,23,39],相当多的工作对文献中的方法进行了分类[9,19,28,29,33]。生成对抗网络(GAN)已成为跨无监督和半监督问题的领先方法。正如[23]中所述,对抗训练也在最近的异常检测工作中被采用。
- 使用单色图像作为我们方法的输入,仅从正常(非异常)训练示例集中提取
- 我们的方法不需要两阶段的训练,并且对于模型训练和后来的推理(运行时测试)都是有效的。
- 关键新颖之处在于我们在编码器-解码器-编码器管道中使用对抗性自编码器,捕获图像和潜在向量空间中的训练数据分布。(实际上只基于正常的训练数据示例)
本文主要贡献:
- 半监督异常检测:在编码器-解码器-编码器管道中的新型对抗性自编码器,捕获图像和潜在向量空间中的训练数据分布,产生优于当代基于GAN和传统基于自编码器的方法的结果。
- 功效:一种高效和新颖的异常检测方法,在统计和计算上都有更好的表现。
- 可再现性:简单有效的算法,使结果可通过code公开复制。
Our Approach: GANomaly
GAN
这项工作最初的主要目标是产生逼真的图像。想法是两个网络(生成器和鉴别器)在训练过程中相互竞争,前者试图生成图像,而后者决定生成的图像是真还是假。
- 生成器:是一个类似解码器的网络,它从潜在空间中学习输入数据的分布。这里的主要目标是对捕获原始真实数据分布的高维数据进行建模。
- 鉴别器网络通常有一个经典的分类架构,读取输入图像,并确定其有效性(即真假)。
为了解决训练不稳定性问题,已经提出了几种经验方法[7,38],著名研究是Radford和Chintala[34]的深度卷积GAN (Deep Convolutional GAN, DCGAN),他们通过去除完全连接层,在整个网络中使用卷积层和批处理归一化,引入了一个全卷积生成网络。通过使用Wasserstein损失,GAN的训练性能得到进一步提高。
Adversarial Auto-Encoders (AAE)
- 由两个子网络组成,即编码器和解码器。
- 该结构将输入映射到潜在空间,并重新映射回输入数据空间,称为重建。
- 训练具有对抗设置的自编码器不仅可以更好地重建,而且可以控制潜在空间。
实验设置
有一个大的训练数据集D,只包含M个正常图像较小的测试数据集 且给定数据集
- 首先对D建模以学习其流形
- 在推理阶段检测D^中的异常样本作为异常值
- 模型f学习正态数据分布并最小化输出异常分数A(x)
- 对于给定的测试图像^x, a (^x)的高异常分数表示图像中可能存在异常
- 评价标准为分数的阈值(φ),其中A(^x) > φ表示异常
实验方法概述
包含两个编码器,一个解码器和鉴别器网络,在三个子网络中使用。
- 自编码器网络G。作为模型的生成器部分,学习输入数据表示,并分别通过使用编码器和解码器网络重建输入图像。
- 编码器网络E。对网络g重建的图像^x进行压缩。子网络E通过参数化明确地学习最小化距离。
- 鉴别器网络D。目标是将输入x和输出^x分别分类为真或假。该子网是DCGAN中引入的标准鉴别器网络。
模型训练
组合三个损失函数来制定目标函数,每个损失函数都优化单个子网络。
- Adversarial Loss 敌对损失:
- Contextual Loss 上下文损失:,
- Encoder Loss 编码器损失:,为输入瓶颈特征,为生成图像的编码特征。
生成器的目标函数:。1、2损失可以强制生成器生成真实且符合上下文的图像。
模型检验
- 对于测试样本x^的异常分数定义:
- 特征缩放异常分数控制在[0,1]范围内:,,最终会产生一个异常得分向量S',用于测试集D^的最后评估
所用数据集
- MNIST。
将一个类别视为异常,而将其余类别视为正常类别。我们总共有十组数据,每组数据都将个别数字视为异常。
- CIFAR10。
将一个类视为异常,其余类视为正常。然后,我们通过在后一种标签上训练模型来检测从前一类中提取的异常值。
- University Baggage Anomaly Dataset | (UBA) 大学行李异常数据集。
- Full Firearm vs. Operational Benign | (FFOB) 。
对以上4类数据集进行训练集和测试集分割的步骤如下:对正常样本进行分割,分别将80%和20%的样本视为训练集和测试集的一部分。然后我们将MNIST调整为32 ×32,UBA和FFOB分别调整为64 × 64。
我们的对抗训练也是基于标准的DCGAN方法进行一致的比较。因此,我们的目标是展示我们的多网络架构的优势,而不使用任何技巧来改进GAN训练。
还与传统的变分自编码器架构(VAE)进行了比较,显示我们的多网络架构的优势。
Results
knife的性能相对较低可能是因为它的形状简单,导致过拟合,从而导致高误报。就整体性能而言,我们的方法优于其他模型,在UBA和FFOB数据集上的AUC分别为0.666和0.882。
图5描述了超参数的选择最终如何影响模型的整体性能。
- 在图5 (a)中,我们看到,对于具有异常数字2的MNIST数据集,当潜在向量z的大小为100时,可以实现最佳性能。图5 (b)展示了调整公式4中的损失函数对整体性能的影响。当wbce = 1, wrec = 50, wenc = 1时,模型AUC最高。我们根据经验观察到其余数据集的调优模式相同。
- 图6提供了推理阶段(a)的异常分数直方图和从鉴别器网络的最后一层卷积提取的特征的t-SNE可视化(b)。这两幅图都显示了潜在向量z和特征f(:)空间之间的明显分离。
- 表2说明了基于GAN的模型的运行时性能。与其他方法相比,AnoGAN[39]的计算成本相当高,因为每个示例都需要对潜在向量进行优化。对于EGBAD[40],我们报告了与原始论文相似的运行时性能。另一方面,我们的方法实现了最高的运行时性能。UBA和FFOB数据集的运行时性能与MNIST相当,尽管它们的图像和网络大小是MNIST的两倍。
- 真实图像和虚假图像,它们分别是我们模型的输入和输出。对于MNIST数据中的2类,MNIST数据集相对来说没有挑战性,并且模型学习了足够的信息,能够生成在训练期间未见过的样本。
- 尽管模型无法区分图像空间中的异常,但潜在向量空间中的距离为检测异常提供了足够的细节。图7 (b-c)说明该模型无法产生异常对象。
- 总的来说,这些结果表明,我们的方法在统计和计算上都优于领先的最先进的方法。
Conclusion
- 引入了一种新的编码器-解码器-编码器架构模型。用于通过对抗性训练框架实现的一般异常检测。
- 在不同复杂性的数据集基准和x射线安全筛查的操作异常检测环境中进行的实验表明,所提出的方法优于当代最先进的基于GAN的异常检测方法和传统的基于自编码器的异常检测方法,具有对任何异常检测任务的泛化能力。