Deep Learning for Anomaly Detection: A Review(翻译)

前言

一、引言

二、异常检测:问题的复杂性和挑战

1.主要问题复杂性

2.深度异常检测所面临的主要挑战

三、用深度异常检测应对挑战

1.预备工作

2.深度异常检测方法的分类

四. 深度学习的特征提取

1.预训练模型

2.特定的特征提取模型

五.学习常态的特征表征(特征提取器即分类器,即时连接同步训练的特征提取器和分类器)

1.通用规范特征学习

1.1 自动编码器。(特征提取器即分类器)

1.2 生成对抗网络。(AnoGAN,f-Ano-GAN,GANomaly)

1.3 预测性建模。(包预测)

1.4 自我监督的分类。

2 依赖于异常测量的特征学习

2.1 基于距离的测量。

2.2 基于单类分类的测量。

2.3 基于聚类的措施。

6 端到端异常评分学习

1 排名模型

2 先验驱动模型

3 Softmax可能性模型

4 端到端单类分类



前言

       异常检测,又称离群点检测或新颖性检测,几十年来一直是各个研究界持久而活跃的研究领域。几十年来,在各个研究领域都是一个持久而活跃的研究领域。仍然有一些独特的问题的复杂性和挑战需要先进的方法。

       近年来,深度学习实现了异常检测。即深度异常检测,已经成为一个重要的方向。本文对深度异常检测的研究进行了全面的分类,涵盖了方法的三个高层次类别和11个细粒度类别的进展。我们回顾了它们的关键直觉、目标函数、基本假设、优势和劣势,并讨论了它们如何应对上述挑战。我们进一步讨论了一系列未来可能的机会和应对挑战的新视角。

 

一、引言

       异常检测,又称离群点检测或新颖性检测,是指检测那些明显偏离大多数数据实例的数据实例的过程。几十年来,异常检测一直是一个活跃的研究领域,早期的探索可以追溯到1960年代[52]。由于风险管理、合规、安全、金融监控、健康和医疗风险以及人工智能安全等广泛领域的需求和应用不断增加,异常检测发挥着越来越重要的作用,在数据挖掘、机器学习、计算机视觉和统计学等各个领域都有突出表现。

      近年来,深度学习在学习复杂数据(如高维数据、时间数据、空间数据和图数据)的表达式方面显示出巨大的能力,推动了不同学习任务的边界。异常检测的深度学习,简称深度异常检测,旨在通过神经网络学习特征表征或异常得分,以达到异常检测的目的。大量的深度异常检测方法已经被引入,在解决各种实际应用中具有挑战性的检测问题时,显示出明显优于传统异常检测的性能。

        这项工作的目的是对这一领域进行全面回顾。我们首先讨论了异常检测的问题性质和主要的未解决的挑战,然后系统地回顾了当前的深度方法及其解决这些挑战的能力,最后提出了一些未来的机会。作为一个热门领域,许多研究[2, 4, 16, 28, 53, 62, 178]都致力于对异常检测技术进行分类和回顾。然而,他们都只专注于传统的异常检测方法。与我们密切相关的一项工作是[26]。它对深度异常检测的一些实际应用进行了很好的总结,但只提供了一些非常高层次的技术分类概要,从中很难,甚至不可能获得对当前方法所采取的方法及其基本直觉的认识。

        相比之下,本综述描述了当前深度检测方法的表述,以获得关于其直觉、内在能力和解决异常检测中一些基本未解决的挑战的弱点的关键洞察力。这形成了对问题性质和最先进技术的深刻理解,并带来了真正的开放机会。它也有助于解释为什么我们需要深度异常检测。总而言之,这项工作有以下五个主要贡献。

  1. - 问题性质和挑战。我们讨论了异常检测背后的一些独特的问题复杂性和由此产生的大部分未解决的挑战。
  2. - 归类和制定。我们将目前的深度异常检测方法制定为三个原则性框架:用于通用特征提取的深度学习、常态性的学习表示和端到端的异常得分学习。我们提出了一个分层分类法,根据11个不同的建模角度对这些方法进行分类。
  3. - 全面的文献回顾。我们回顾了几个相关社区(包括机器学习、数据挖掘、计算机视觉和人工智能)的主要会议和期刊上的大量相关研究,对研究进展做了全面的文献回顾。为了提供一个深入的介绍,我们划定了基本假设、目标函数、关键直觉以及它们在通过所有类别的方法解决上述一些挑战方面的能力。
  4. - 未来的机会。我们进一步讨论了一系列可能的未来机会及其对解决相关挑战的意义。
  5. - 源代码和数据集。我们征集了几乎所有类别的方法的可公开获取的源代码和大量具有真实异常的真实世界数据集,以提供一些经验性的比较基准。

二、异常检测:问题的复杂性和挑战

由于其独特的性质,异常检测呈现出与大多数分析和学习问题和任务不同的问题复杂性。本节总结了复杂异常数据中这种内在的复杂性和未解决的检测挑战。

1.主要问题复杂性

与那些关于多数人的、有规律的或明显的模式的问题和任务不同,异常检测解决的是少数人的、不可预测的/不确定的和罕见的事件,这导致了所有(包括深层和浅层)检测方法的一些独特的问题复杂性。(总结为数量少、类型多,无规律,不可知)

  1. - 不可知性。异常现象与许多未知因素有关,例如,具有未知的突发行为、数据结构和分布的实例。在实际发生之前,它们仍然是未知的,如新型的恐怖袭击、欺诈和网络入侵。- 异质性的异常类。异常现象是不规则的,因此,一类异常现象可能表现出与另一类异常现象完全不同的异常特征。例如,在视频监控中,抢劫、交通事故和入室盗窃等异常事件在视觉上有很大不同。
  2. - 稀有性和类别不平衡。异常事件通常是罕见的数据实例,与正常实例形成鲜明对比,后者往往占数据的绝大部分比例。因此,如果不是不可能,也很难收集到大量有标签的异常实例。这就导致了在大多数应用中无法获得大规模的标注数据。类的不平衡也是由于对异常现象的错误分类通常比对正常实例的错误分类要昂贵得多。
  3. - 异常现象的多样化类型。已经探索了三种完全不同的异常类型[28]。点状异常是指相对于其他大多数个体实例而言是异常的个体实例,例如,一个病人的异常健康指标。条件性异常,又称背景性异常,也是指个别异常的实例,但在特定的背景下,即数据实例在特定的背景下是异常的,否则就是正常的。在现实世界的应用中,这些背景可能是高度不同的,例如,在特定的时间背景下温度突然下降/上升,或在不寻常的空间背景下快速的信用卡交易。群体异常,又称集体异常,是数据实例的一个子集,作为一个整体,相对于其他数据实例而言是异常的;集体异常的单个成员可能不是异常的,例如,社交网络中由假账户形成的异常密集的子图作为一个集合是异常的,但这些子图中的单个节点可以和真实账户一样正常。

2.深度异常检测所面临的主要挑战

上述复杂的问题性质导致了一些检测方面的挑战。一些挑战,如数据规模的可扩展性,近年来已经得到很好的解决,而以下问题基本上没有得到解决,深度异常检测在这方面可以发挥一些重要作用。

  1. - CH1: 异常检测召回率低。由于异常现象是非常罕见和异质的,所以很难识别所有的异常现象。许多正常情况被错误地报告为异常情况,而真正的、复杂的异常情况被遗漏。尽管多年来引入了大量的异常检测方法,但目前最先进的方法,特别是无监督方法(如LOF和孤立森林[17,84]),在真实世界的数据集上仍然经常产生高误报率[20(综述文章),115(Devnet,少标签,但实际上类似于有监督了)]。如何减少误报并提高检测召回率是最重要但也是最困难的挑战之一,特别是对于未能发现异常的巨大花费。(性能的挑战,需要提高)
  2. - CH2:高维和/或非独立数据中的异常检测。异常现象往往在低维空间中表现出明显的异常特征,但在高维空间中却变得隐蔽和难以察觉。高维异常检测是一个长期存在的问题[178]。在由一小部分原始特征子集或新构建的特征所跨越的缩小的低维空间中进行异常检测是一个直接的解决方案,例如,在基于子空间的方法[70, 77, 84, 123]和基于特征选择的方法[12, 109, 111]。然而,识别错综复杂(如高阶、非线性和异质)的特征互动和耦合[22]在高维数据中可能是必不可少的,但它仍然是异常检测的主要挑战。此外,如何保证新的特征空间为特定的检测方法保留适当的信息,对下游准确的异常检测至关重要,但由于上述的未知因素和异常的异质性,这是个挑战。另外,从可能相互依赖的实例中检测异常,如通过时间、空间、基于图形和其他相互依赖的关系[2, 4, 22, 53]。-(维度挑战,需要特征选择-特征提取-特征表示)
  3. CH3: 正常性/非正常性的数据高效学习。由于收集大规模标记的异常数据的难度和成本,完全监督的异常检测往往是不切实际的,因为它假定了具有正常和异常类别的标记训练数据的可用性。在过去十年中,主要的研究工作集中在不需要任何标记的训练数据的无监督异常检测上。然而,无监督方法没有任何关于真实异常的先验知识。它们在很大程度上依赖于它们对异常现象分布的假设。另一方面,收集有标签的正常数据和一些有标签的异常数据通常并不困难。在实践中,人们经常建议尽可能地利用这些容易获得的标记数据 [2]。因此,利用这些标记的数据来学习正常性/异常性的表达式对于准确的异常检测是至关重要的。半监督的异常检测,假定有一组标记的正常训练数据,是专门针对这个问题的研究方向另一个研究方向是弱监督异常检测,它假设我们有一些异常类的标签,但这些类的标签是部分/不完整的(即它们不跨越整个异常类的集合),不精确的(即粗粒度的标签),或不准确的(即一些给定的标签可能不正确)。两个主要的挑战是如何用少量的标记异常数据学习具有表达力的常态/反常态表征,以及如何学习检测模型,使其能够泛化到由给定的标记异常数据所揭示的新的异常情况。(真实场景的挑战和未来方向)
  4. - CH4:抗噪音的异常检测。许多弱/半监督的异常检测方法假定标记的训练数据是干净的,这可能会受到被错误地标记为相反类别标签的噪声实例的影响。在这种情况下,我们可以使用无监督的方法来代替,但这无法利用真正的标记数据。此外,经常存在大规模的被异常污染的未标记数据。抗噪模型可以利用这些未标记的数据进行更准确的检测。因此,这里的噪声既可以是错误标记的数据,也可以是未标记的异常现象。主要的挑战是,噪声的数量在数据集上会有很大的不同,而且噪声实例在数据空间中可能是不规则分布的。(弱监督:不正确的标签)
  5. - CH5:检测复杂的异常情况。大多数现有的方法是针对点异常的,不能用于条件异常和群体异常,因为它们表现出与点异常完全不同的行为。这里的一个主要挑战是如何将条件性/群体性异常的概念纳入异常测量/模型。另外,目前的方法主要集中在检测单一数据源的异常情况,而许多应用需要检测多个异质数据源的异常情况,例如多维数据、图形、图像、文本和音频数据。一个主要的挑战是,只有在考虑两个或更多的数据源时才能检测到一些异常情况。(关联异常,非点异常)
  6. - CH6: 异常情况解释。在许多安全关键领域,如果将异常检测模型直接作为黑箱模型使用,可能会有一些重大风险。例如,作为异常情况报告的罕见数据实例可能会导致对数据中呈现的少数群体的可能的算法偏见,例如欺诈检测和犯罪检测系统中代表性不足的群体。减轻这类风险的有效方法是拥有异常解释算法,提供关于特定数据实例被确定为异常的直接线索。然后,人类专家可以研究并纠正偏见。在某些应用中,提供这样的解释可能与检测的准确性一样重要。然而,大多数异常检测研究只关注检测精度,而忽略了对识别出的异常现象提供解释的能力。从具体的检测方法中得出异常解释仍然是一个基本未解决的问题,特别是对于复杂的模型。开发固有的可解释的异常检测模型也是至关重要的,但如何很好地平衡模型的可解释性和有效性仍然是一个主要的挑战。

总结就是:缺少高性能、有效降维、少标签、抗噪声、复杂场景、可解释的异常检测方法。

相对来说,深度方法:

 

  1. 深度方法能够对整个异常检测管道进行端到端的优化,而且它们还能够学习专门为异常检测定制的表征。这两种能力对于解决上述六个挑战至关重要,但传统方法不具备。
  2. 特别是它们有助于在很大程度上提高标记的正常数据或一些标记的异常数据的利用率,而不考虑数据类型,减少了对大规模标记数据的需求,就像在完全监督的环境下一样(CH2, CH3, CH4, CH5)。这随后导致了更多的知情模型,从而提高了召回率(CH1)。
  3. 对于异常解释的挑战,虽然深度方法通常是黑箱模型,但它们提供了将异常检测和解释统一到单一框架中的选择,从而对特定模型发现的异常进行更真实的解释(见8.5节)。
  4. 深度方法还擅长从不同类型的数据中学习复杂的结构和关系,如高维数据、图像数据、视频数据、图形数据等。这种能力对于解决各种挑战非常重要,如CH1、CH2、CH3和CH5。
  5. 此外,它们提供了许多有效和易于使用的网络架构和原则性框架,以无缝学习异质数据源的统一表示。这使深度模型有能力解决一些关键的挑战,如CH3和CH5。尽管有一些浅层方法来处理这些复杂的数据,但它们通常比深层方法要弱得多,适应性也差。

表1中列出了这一讨论的摘要。

三、用深度异常检测应对挑战

1.预备工作

深度神经网络利用线性/非线性函数的复杂组合,可以用计算图表示,以学习表达性的表征[49]。深度学习的两个基本构件是激活函数和层。

  1. 激活函数决定了计算图节点(即神经网络中的神经元)在某些输入下的输出。它们可以是线性或非线性函数。一些流行的激活函数包括线性、sigmoid、tanh、ReLU(整顿线性单元)及其变体。
  2. 神经网络中的层指的是以某种形式堆叠的一组神经元。常用的层包括完全连接层、卷积和集合层以及递归层。这些层可以被用来构建不同的流行神经网络。例如,多层感知器(MLP)网络是由全连接层组成的,卷积神经网络(CNN)是由不同的卷积层和池化层组组成的,而递归神经网络(RNN),例如,香草RNN、门控递归单元(GRU)和长短期记忆(LSTM),是建立在递归层上的。关于这些神经网络的详细介绍见[49]。

给定一个数据集X = {x1, x2, - - , x },其中x∈R,让Z∈R( ≪)是一个表示空间,那么深度异常检测的目的是学习一个特征表示映射函数(-) 。X ↦→Z或异常得分学习函数(-)。X ↦→R的方式,在或函数产生的空间中,异常情况可以很容易地从正常数据实例中区分出来,其中和都是一个神经网络启用的映射函数,具有∈N个隐藏层,其权重矩阵Θ={M1,M2,--,M}。在学习特征映射(-)的情况下,需要额外的步骤来计算每个数据实例在新的表示空间中的异常得分,而(-)可以用原始数据输入直接推断异常得分。较大的输出表明异常程度较大。

2.深度异常检测方法的分类

 

Deep Learning for Anomaly Detection: A Review(翻译)_第1张图片

为了对该领域有一个全面的了解,我们引入了一个分层分类法,从建模的角度将深度异常检测方法分为三大类和11个细化的类别。图1显示了方法分类学的概况。具体来说,深度异常检测包括三个概念范式--特征提取的深度学习、规范性的特征表示学习和端到端的异常得分学习这三个范式的程序见图2。

  1. 如图2(a)所示,深度学习和异常检测在第一大类(第4节)中是完全分离的,所以深度学习技术只作为一些独立的特征提取器使用。(分离式)
  2. 在图2(b)所示的第二大类(第5节)中,这两个模块以某种形式相互依赖,其目的是学习常态的表达式。这一类方法可以根据学习表征的方式进一步分为两个子类别,即是否使用现有的浅层异常测量方法(例如,基于距离和聚类的测量方法)来指导学习。这两个子类别包含了七个细化的方法类别,每个类别采取不同的方法来制定其目标函数。(联合式:1.深度+传统联合,2.深度+深度直联)
  3. 这两个模块在图2(c)所示的第三大类(第6节)中完全统一,其中的方法致力于通过神经网络以端到端方式学习异常得分。这个类别根据异常得分学习的表述进一步细分为四个子类别。(端到端)

在接下来的三节中,我们将详细回顾这三种范式。

四. 深度学习的特征提取(分离式深度特征提取
+传统分类

这类方法旨在利用深度学习从高维和/或非线性可分离的数据中提取低维特征表示,用于下游的异常检测。特征提取和异常评分是完全不相干的,相互独立。因此,深度学习组件仅作为降维工作。形式上,该方法可以表示为z = (x;Θ), (1) 其中 : X ↦→Z是一个基于深度神经网络的特征映射函数,X∈R,Z∈R,通常 ≫。然后将与特征映射无关的异常评分方法应用于新空间,计算异常评分。与异常检测中流行的降维方法相比,如主成分分析(PCA)[21, 140, 180]和随机投影[80, 112, 123],深度学习技术在提取富含语义的特征和非线性特征关系方面已经表现出相当好的能力[14, 49]。假设。深度学习模型提取的特征表征保留了有助于将异常情况与正常实例区分开来的鉴别性信息。

1.预训练模型

一种研究思路是直接使用流行的预训练的深度学习模型,如AlexNet[75]、VGG[143]和ResNet[58],来提取低维特征。这条路线在复杂的高维数据(如图像数据和视频数据)的异常检测中得到了探索。

  1. 这条线的一个有趣的工作是在线异常检测的解蔽框架[66]。其关键思想是反复训练一个二元分类器,在一个滑动窗口中将一组视频帧与随后的视频帧分开,在每个迭代步骤中删除最具鉴别力的特征。这类似于一个解蔽过程。该框架假设第一组视频帧是正常的,并评估其与后续视频帧的可分离性。因此,如果随后的视频帧是不正常的,那么训练分类的准确性就会很高,否则就会很低。显然,解蔽框架的力量在很大程度上依赖于特征的质量,所以必须要有高质量的特征来代表视频帧。在ILSVRC基准上预训练的VGG模型[134]被证明可以有效地提取用于此目的的表现性外观特征[66]。(反向思维:当将特征中某些重要程度较高的维度抹去时,重新设计的分类器的表现应该相对稳定,不会突然的下降,当出现异常时会突然的下降)
  2. 在[88]中,掩蔽框架被制定为一个双样本测试任务,以了解其理论基础。他们还表明,使用从动态更新的视频帧抽样池中提取的特征被发现可以提高该框架的性能。此外,与其他许多任务类似,从源数据集上预训练的深度模型中提取的特征表示可以转移到目标数据集上的异常检测器中进行微调。如[6]所示,单类支持向量机(SVM)可以首先用在ILSVRC上预训练的VGG模型进行初始化,然后进行微调以提高MNIST数据的异常分类[78]。同样,在MNIST上预训练的ResNet模型可以在各种视频监控数据集中进行异常事件检测[117, 176]。

2.特定的特征提取模型

这一类的另一条研究路线是明确地训练一个深度特征提取模型,而不是为下游的异常评分训练一个预训练模型[44, 65, 163, 168]。

  1. 特别是在[163]中,三个独立的自动编码器网络被训练来学习低维特征,用于各自的外观、运动和外观-运动联合表示的视频异常检测。三个单类SVM的集合被独立地训练在每个学到的特征表示上,以执行异常评分。
  2. 与[163]类似,线性单类SVM被用来对由深度信念网络(DBN)产生的高维表格数据的低维表示进行异常检测[44]。
  3. 在[65]中,没有使用单类SVM,而是使用了无监督的分类方法来实现投影空间中的异常评分。特别是,他们首先对卷积自动编码器产生的视频帧的低维特征进行聚类,然后将聚类标签作为伪类标签来进行单对单的分类。分类概率被用来定义按帧计算的异常得分。
  4. 类似的方法也可以在图形异常检测中找到[168],其中基于无监督聚类的异常措施被用于潜在的表示空间,以计算图形顶点或边缘的异常性。为了学习图顶点的表现力,通过最小化基于自动编码器的重建损失和相邻图顶点的成对距离来优化顶点表现,将图顶点的单次编码作为输入。

优点。这种方法的优点如下。

(i) 大量的最先进的(预训练的)深度模型和现成的异常检测器是现成的。

(ii) 深度特征提取提供了比流行的线性方法更强大的降维功能。

(iii) 鉴于深度模型和检测方法的公开性,它很容易实现。

缺点。其缺点如下。

(i) 完全脱节的特征提取和异常评分往往导致次优的异常评分。(两个路线都有的缺点)

(ii) 预先训练的深度模型通常仅限于特定类型的数据。(预训练模型的缺点)

针对的挑战。这类方法将高维/非独立数据投射到大幅低维空间,使现有的异常检测方法能够在更简单的数据空间中工作。低维空间通常有助于揭示隐藏的异常现象,并减少假阳性(CH2)。然而,应该注意的是,这些方法可能不会为异常检测保留足够的信息,因为数据投影与异常检测是完全脱钩的。此外,这种方法允许我们利用多种类型的特征,学习语义丰富的检测模型(例如,[65, 66, 163]中各种预定义的图像/视频特征),这也有助于减少误报(CH1)。

五.学习常态的特征表征(特征提取器即分类器,即时连接同步训练的特征提取器和分类器)

这一类的方法以某种方式将特征学习与异常评分结合起来,而不是像上一节那样将这两个模块完全解耦。这些方法一般分为两类:通用特征学习和依赖异常测量的特征学习。

1.通用规范特征学习(特征提取器即分类器)

这类方法通过优化通用特征学习目标函数来学习数据实例的表征,该目标函数主要不是为异常检测而设计的,但是学到的表征仍然可以增强异常检测的能力,因为它们被迫捕捉一些关键的基本数据规律。形式上,这个框架可以表示为{Θ∗,W∗}= arg min Θ, W Σ︁ x∈X ℓ (x;Θ)。 W , (2) x = (x, Θ∗ ,W∗ ), (3) 其中将原始数据映射到表示空间Z,的参数为W是一个替代学习任务,在Z空间操作,专门用于强制学习基础数据规则性。ℓ是相对于基础建模方法的损失函数,而是一个评分函数,利用和来计算异常得分。这种方法包括由几个角度驱动的方法,包括数据重建、生成模型、可预测性模型和自监督分类。可预测性建模和自监督分类都是建立在自监督学习方法的基础上,但它们有不同的假设、优势和缺陷,因此要分别进行审查。

1.1 自动编码器。(特征提取器即分类器,基于重建误差)

这类方法旨在学习一些低维的特征表示空间,在这些空间上,给定的数据实例可以被很好地重建。这是一种广泛使用的数据压缩或降维技术[61, 69, 150]。在异常检测中使用这种技术的启发式方法是,学习的特征表征要强制学习数据的重要规律性,以最小化重建误差;异常现象很难从产生的表征中重建,因此有很大的重建误差。

假设。与异常情况相比,正常实例可以更好地从压缩的空间中进行重组。自动编码器(AE)网络是这个类别中常用的技术。一个AE由一个编码网络和一个解码网络组成。编码器将原始数据映射到低维特征空间,而解码器则试图从投影的低维空间恢复数据。这两个网络的参数是用一个重建损失函数来学习的。一个瓶颈网络架构通常被用来获得比原始数据更低的维度表示,这迫使模型保留在重建数据实例中的重要信息。为了使整体重建误差最小化,要求保留的信息尽可能与主导实例相关,如正常实例。因此,偏离大多数数据的异常现象等数据实例的重建效果很差。因此,数据重建误差可以直接作为异常得分。这种方法的基本表述如下。 z = (x;Θ ), ˆx = (z;Θ ), (4) {Θ∗ , Θ∗ } = arg min Θ ,Θ Σ︁ x∈X x - (x;Θ ); Θ 2 , (5) x = x - (x; Θ∗ ) 。 Θ∗ 2 , (6) 其中是具有参数Θ的编码网络,而是具有参数Θ的解码网络。编码器和解码器可以共享相同的权重参数,以减少参数并使学习正规化。x是x的基于重构误差的异常得分。

几种类型的正则化自动编码器已被引入,以学习更丰富和更有表现力的特征表示[38, 95, 128, 153]。

  1. 特别是,稀疏AE的训练方式是鼓励隐藏层的激活单元的稀疏性,例如,通过保持顶部最活跃的单元[95]。
  2. 去噪(鲁棒)AE[153]旨在通过学习从一些预定义的损坏的数据实例而不是原始数据来重建数据,从而学习对小变化具有鲁棒性的表征。
  3. Contractive AE[128]更进一步,学习对其邻居周围的实例的小变化具有鲁棒性的特征表示。这是通过增加一个基于编码器激活的雅各布矩阵的Frobenius准则的惩罚项来实现的。
  4. 变分AE[38]通过使用潜伏空间的先验分布对数据实例进行编码,将正则化引入到表示空间中,防止过度拟合,并确保所学空间的一些良好属性,以便能够生成有意义的数据实例。AE很容易实现,并且在检测异常方面具有直接的直觉。因此,它们已经在文献中被广泛探讨。
  5. Replicator神经网络[57]是探索数据重构检测异常的第一个作品,实验集中在静态多维/表格数据上。Replicator网络是建立在一个具有三个隐藏层的前馈多层感知器上。它使用参数化的双曲正切激活函数,为不同的输入值获得不同的激活水平,这有助于将中间表征离散到一些预定义的bin中。因此,隐藏层自然地将数据实例聚成若干组,从而能够检测出聚类的异常情况。
  6. 在这项工作之后,已经有许多研究致力于进一步提高这种方法的性能。例如,RandNet[29]通过学习AE的集合,进一步加强了基本AE。在RandNet中,一组独立的AE被训练出来,每个AE都有一些随机选择的恒定辍学连接。通过指数级增加小批的样本量,使用了自适应的抽样策略。RandNet专注于表格数据。自动编码器集合的想法在[71]中被扩展到时间序列数据。
  7. 在鲁棒主成分分析(RPCA)的启发下,RDA[175]试图通过迭代地将原始数据分解为两个子集,即正常实例集和异常集来提高AE的鲁棒性。这是通过在其类似于RPCA的目标函数中加入稀疏惩罚ℓ1或分组惩罚ℓ2,1来实现的,以规范异常集的系数。

AE也被广泛用于检测除表格数据以外的其他数据的异常情况,如序列数据[91]、图形数据[37]和图像/视频数据[163]。一般来说,AEs有两种适应那些复杂数据的方式。

  1. 最直接的方法是遵循与传统使用AE相同的程序,使网络结构适应输入数据的类型,如CNN-AE[56, 172]、LSTM-AE[96]、Conv-LSTM-AE[92]和GCN(图形卷积网络)-AE[37]。这种类型的AE将编码器-解码器方案嵌入这些方法的全部程序中。
  2. 另一类基于AE的方法是首先使用AE来学习复杂数据的低维表征,然后学习预测这些学到的表征。AE的学习和表征的预测往往是两个独立的步骤。这些方法与第一类方法不同的是,对表征的预测被包裹在由AEs产生的低维表征中。例如,在[91]中,去噪AE与RNN结合起来学习多变量序列数据的正常模式,其中,首先使用具有两个隐藏层的去噪AE来学习每个时间步长的多维数据输入的表征,然后训练一个具有单个隐藏层的RNN来预测去噪AE产生的表征。类似的方法也被用于检测声学异常[97],其中使用了更复杂的RNN,即双向LSTMs。

优点。基于数据重建的方法的优点如下。

(i) AE的想法是直接的,而且对不同类型的数据是通用的。

(ii) 可以利用不同类型的强大AE变体来进行异常检测。

缺点。它们的缺点如下。

(i) 学习到的特征表征可能会因为训练数据中不常见的规律性和异常值的存在而产生偏差。

(ii) 数据重建的目标函数被设计为降维或数据压缩,而不是异常检测。因此,产生的表征是对基本规律性的通用总结,没有为检测异常情况进行优化。

针对的挑战。不同类型的神经网络层和架构可以在AE框架下使用,使我们能够检测高维数据的异常,以及非独立数据,如归属图数据[37]和多变量序列数据[91, 97](CH2)。如果学习到的表征更具表现力,这些方法可能会比建立在手工制作的特征上的传统方法减少误报(CH1)。AE通常容易受到训练数据中出现的数据噪声的影响,因为它们可以被训练成记住这些噪声,从而导致严重的过拟合和异常现象的小的重建错误。RPCA的思想可以被用于AE中,以训练更稳健的检测模型[175](CH4)。

1.2 生成对抗网络。(AnoGAN,f-Ano-GAN,GANomaly,基于生成误差)

基于GAN的异常检测在[138]中早期使用后,迅速成为一种流行的深度异常检测方法。这种方法通常旨在学习生成网络的潜伏特征空间,从而使潜伏空间很好地捕捉到给定数据背后的规范性。然后,真实实例和生成实例之间的某种形式的残差被定义为异常得分。假设。在GANs中,正常的数据实例可以比从生成网络的潜在特征空间中生成的异常数据更好。

  1. 早期的方法之一是AnoGAN[138]。关键的直觉是,给定任何数据实例x,它的目的是在生成网络的潜在特征空间中寻找一个实例z,使相应的生成实例(z)和x尽可能地相似。由于潜伏空间被强制用来捕捉训练数据的基本分布,预计异常情况比正常实例更不可能有高度相似的生成对应物。具体来说,首先用以下常规目标训练GAN。min max (,) = Ex∼X log(x) + Ez∼Z log 1 - (z) 。(7) 其中和分别是以Θ和Θ为参数的生成器和判别器网络(为简洁起见省略了参数),而是双人微分博弈的价值函数。之后,对于每个x,为了找到其最佳的z,有两个损失函数--剩余损失和歧视损失--被用来指导搜索。剩余损失定义为ℓ (x, z ) = x - (z ) 1, ( 8) 而鉴别损失是基于特征匹配技术[136]定义的。ℓfm (x, z ) = ℎ(x) - (z ) 1, (9) 其中是搜索迭代步骤的索引,ℎ是来自鉴别器中间层的特征映射。搜索从一个随机采样的z开始,然后根据整体损失(1-)ℓ(x, z)+ℓfm(x, z)得出的梯度更新z,其中是一个超参数。在整个搜索过程中,训练好的GAN的参数是固定的;损失只用于更新下一次迭代的z的系数。异常得分相应地被定义在最后一步得到的x和z的相似性上 ∗: x = (1 - )ℓ (x, z∗ ) + ℓfm ( x, z∗ ) 。(10) AnoGAN的一个主要问题是Z的迭代搜索的计算效率低下。解决这个问题的一个方法是增加一个额外的网络,学习从数据实例到潜在空间的映射,即生成器的逆向,导致像EBGAN[170]和快速AnoGAN[137]的方法。这两种方法具有相同的精神。在这里,我们专注于EBGAN,它建立在双向GAN(BiGAN)[39]的基础上。特别是,BiGAN有一个编码器来将潜空间中的x映射到z,并同时学习、和的参数。BiGAN的目标不是区分x和(z),而是将一对实例(x,(x))与一对((z),z)区分开。min , max Ex∼X h Ez∼ ( - |x) log (x, z) i + Ez∼Z Ex∼ ( - |z) h log 1 - (x, z) i , (11) 经过训练,受公式(10)启发。(10)的启发,EBGAN将异常得分定义为。x = (1 - )ℓ (x) + ℓ (x), (12) 其中ℓ (x) = x - (x) 1 and ℓ (x) = x, (x) - (x) , (x) 1。这消除了AnoGAN中迭代搜索z的需要。EBGAN被扩展为一种叫做ALAD的方法[171],增加了两个判别器,一个判别器试图从(x,((x))中判别出一对(x, x),另一个则试图从(z, ())中判别出一对(z, z)。(检测中使用搜索策略(找到能生成相似样本的噪声),能搜索到相似的为正常,不能则为异常)
  2. GANomaly[3]通过将生成器网络改为编码器-解码器-编码器网络并增加两个额外的损失函数,进一步改进了生成器。该生成器在概念上可以表示为。x --→z --→ ˆx - →ˆz,其中是由编码器和解码器组成。除了常用的特征匹配损失:ℓfm = Ex∼X ℎ(x) - ℎ (x) 2, (13) 生成器还包括一个上下文损失和一个编码损失,以产生更真实的实例。ℓcon = Ex∼X x - (x) 1, (14) ℓenc = Ex∼X (x) - (x) 2。(15) 公式(14)中的语境损失强制发生器在生成ˆx时考虑输入x的语境信息。公式(15)中的编码损失帮助生成器学习如何对生成的实例的特征进行编码。整体损失被定义为ℓ = ℓfm + ℓcon + ℓenc, (16) 其中、和是确定每个单独损失权重的超参数。由于训练数据主要包含正常实例,编码器和对正常实例的编码进行了优化,因此,异常得分可以定义为x = (x) - (x)   (改噪声生成为AE)

多年来,还有一些其他的GAN被引入,如Wasserstein GAN[10]和Cycle GAN[177]。它们可用于进一步提高上述方法的异常检测性能,如用Wasserstein GAN[137]代替标准GAN。

另一条相关的研究路线是对抗性地学习端到端单类分类模型,这被归入端到端异常得分学习框架,并在第6.4节讨论。

优点。这些方法的优势如下。

(i) GANs在生成现实实例方面表现出卓越的能力,特别是在图像数据上,使人们能够检测到从潜在空间中重构出来的异常实例。

(ii) 大量现有的基于GAN的模型和理论[32]可被用于异常检测。劣势。

它们的缺点如下。

(i) GANs的训练可能存在多种问题,如无法收敛和模式崩溃[99],这导致基于GANs的异常检测模型的训练存在较大困难。

(ii) 生成器网络可能会被误导,产生正常实例流形以外的数据实例,特别是当给定数据集的真实分布很复杂或训练数据包含意外的异常值时.

(iii) 基于GANs的异常得分可能是次优的,因为它们是建立在生成器网络的基础上,目标是数据合成而不是异常检测。(个人认为这个应该是最优的,因为异常检测本来就是无监督的,并不存在一个最优,异常检测就是检测不在正常分布里的样本,因此只要能够捕获正常分布,应当认为是最优的)

针对的挑战。与AE类似,基于GAN的异常检测能够通过检查从学到的低维潜伏空间(CH2)的重建来检测高维的异常。当潜空间保留了重要的异常识别信息时,它有助于提高检测精度,超过原始数据空间(CH1)。

1.3 预测性建模。(序列预测即分类,基于预测误差)

基于可预测性建模的方法通过预测当前的数据实例来学习特征表示,使用时间窗口内以前的实例的表示作为背景。在本节中,数据实例被称为序列中的单个元素,例如,视频序列中的视频帧。这种技术被广泛用于序列表示学习和预测[63, 82, 98, 146]。为了实现准确的预测,表征被强制要求在给定的序列长度内捕捉时间/序列和复发性依赖。正常的实例通常很好地遵守这种依赖关系,可以很好地预测,而异常的实例往往违反这些依赖关系,是不可预测的。因此,预测误差可以用来定义异常点的分数。假设。正常实例在时间上比异常实例更可预测。

  1. 这一研究思路在视频异常检测中很受欢迎[1, 86, 167]。视频序列涉及复杂的高维空间-时间特征。在预测目标函数中需要对外观和运动特征有不同的约束,以确保对视频帧进行忠实的预测。这种深度异常检测方法最初是在[86]中探讨的。从形式上看,给定一个具有连续的帧x1, x2, - -, x的视频序列,那么学习任务是使用所有这些帧来生成一个未来的帧ˆx+1,使ˆx+1尽可能地接近地面实况x+1。其一般目标函数可以表述为 ℓpred ˆx + 1, x + 1 + ℓadv ˆx + 1 , (18) 其中ˆx+1 = (x1, x2, - - , x ; Θ);W,ℓpred是以平均平方误差衡量的帧预测损失,ℓadv是对抗性损失。流行的网络架构名为U-Net[129],用来实例化用于帧生成的函数。ℓpred由三个独立的损失组成, 分别在强度、梯度和光流这三个关键的图像特征描述符上强制要求ˆx+1和x+1之间的接近性. ℓadv是由于使用了对抗性训练来增强图像的生成。训练后,对于给定的视频帧x,基于预测差值||x-ˆx||2的归一化峰值信噪比[98]被用来定义异常得分。
  2. 在同一框架下,[167]中增加了一个基于自动编码器的重建网络,以进一步细化预测的帧质量,这有助于扩大正常和异常帧之间的异常得分差异。

这个方向的另一条研究路线是基于自回归模型[50],该模型假设序列中的每个元素都线性地依赖于之前的元素。

  1. 自回归模型在[1]中被用来估计潜在空间中训练样本的密度,这有助于避免对特定分布系列的假设。具体来说,给定x及其潜空间表示z = (x;Θ),自回归模型将(z)分解为(z) = Ö =1 ( |1:-1) ,(19)其中 1 。 -1 = {1, 2, - -, -1},( |1:-1)表示基于所有先前实例的的概率质量函数,是潜在空间的维度大小。[1]的目标是共同学习一个自动编码器和一个配备自回归网络层的密度估计网络(z;W)。总体损失可以表示为 = Ex x - (x;Θ ); Θ 2 - log (z; W) , (20) 其中第一个项是由MSE衡量的重建误差,而第二个项是由估计条件概率密度先验下表示的对数值可能性衡量的自回归损失。最小化这个损失可以学习常见的和容易预测的特征。在评估阶段,重建误差和对数可能性被结合起来以定义异常得分。

优点。这类方法的优点如下。

(i) 一些序列学习技术可以适应并纳入这种方法中。

(ii) 这种方法能够学习不同类型的时间和空间依赖性。

缺点。其缺点如下。

(i) 这种方法只限于序列数据的异常检测

(ii) 顺序预测在计算上很昂贵。

(iii) 由于其基本目标是顺序预测而不是异常检测,因此学到的表征对于异常检测可能是次优的。

针对的挑战。该方法特别设计用于学习具有表现力的与时间相关的低维表征,这有助于解决高维和/或时间数据集中异常检测的假阳性问题(CH1和CH2)。这里的预测是以一些经过的时间实例为条件的,所以这类方法能够检测出。

1.4 自我监督的分类(自我预测即分类,预测角度类作为异常)。

这种方法通过建立自我监督的分类模型来学习正常性的表征,并将与分类模型不一致的实例识别为异常。这种方法根植于基于交叉特征分析或特征模型的传统方法[64, 105, 149]。这些浅显的方法通过它们与一组预测模型的一致性来评估数据实例的规范性,每个模型都会根据其他特征的其余部分来学习预测一个特征。

测试实例的一致性可以通过平均预测结果[64]、基于对数损失的惊奇[105]、或给定所有特征的分类/回归模型的二元决定的多数投票[149]来衡量。与这些专注于表格数据并使用原始数据建立特征模型的研究不同,基于深度一致性的异常检测专注于图像数据并通过使用基于特征转换的增强数据建立预测模型。为了有效地辨别转换后的实例,分类模型被强制要求学习对描述训练数据中呈现的实例的基本模式非常重要的特征。因此,正常实例通常与分类模型有更强的一致性。假设。正常实例比异常实例对自监督分类器更一致。

  1. 这种方法最初是在[48]中探讨的。为了建立预测模型,不同的几何变换操作组合,包括水平翻转、平移和旋转,首先被应用于正常训练图像。在增强的数据上训练一个深度多类分类模型,将具有特定变换操作的数据实例视为来自同一类别,即合成类别。在推理时,测试实例用每个转换组合进行增强,它们的规范性得分由所有softmax分类得分对增强后的测试实例的聚合来定义。其损失函数定义为:cons = CE ;W , y , (21) 其中 = (x)。 Θ是由转换操作类型增强的实例x的低维特征表示,是以W为参数的多类分类器,y是使用转换操作增强的实例的合成类的单热编码,CE是一个标准交叉熵损失函数。通过最小化公式(21),我们得到了对分类器优化的表征。然后,我们可以应用特征学习器(-, Θ∗)和分类器(-,W∗)来获得每个测试实例的分类分数,并以变换操作来增强。然后将每个测试实例的分类分数与不同的进行汇总,计算出异常分数。为了达到这个目的,在[48]中假设每个的分类分数遵循Dirichlet分布,以估计测试实例与分类模型的一致性;与不同相关的分类分数的简单平均值也很有效。在[48]中假设了一个半监督的设置,即训练数据只包含正常实例。
  2. [157]在无监督设置中探讨了类似的想法,变换集包含四个变换操作,即旋转、翻转、移位和路径重排。[157]中揭示的两个关键观点是:(1)在这种自监督多类分类模型的训练过程中,正常实例引起的梯度大小通常比离群值大得多;(2)网络更新方向也偏向于正常实例。由于这两个特性,正常实例与分类模型的一致性往往比异常值更强。评估了使用分类分数来定义异常分数的三种策略,包括平均预测概率、最大预测概率和所有预测概率的负熵[157]。

他们的结果表明,基于负熵的异常得分一般比其他两种策略表现得更好。

优点。基于深度一致性的方法的优点如下。

(i) 它们在无监督和半监督的情况下都能很好地工作。异常评分是以梯度大小及其更新的一些内在属性为基础的。

缺点。它们的缺点如下。

(i) 特征转换操作通常依赖于数据。上述转换操作只适用于图像数据。

(ii) 虽然分类模型是以端到端方式训练的,但基于一致性的异常分数是在分类分数的基础上得出的,而不是优化中的一个综合模块,因此它们可能是次优的。针对的挑战。这种方法学到的常态性的表达式低维表征有助于比原始的高维空间(CH1和CH2)更好地检测异常情况。由于自监督分类器中呈现的异常和正常实例之间的一些内在差异,这种方法也能够在无监督的环境下工作[157],对训练数据中的异常污染表现出良好的稳健性(CH4)。

 

2 依赖于异常测量的特征学习(深度特征提取+传统分类器)

依赖于异常测量的特征学习旨在学习专门针对某一特定的现有异常测量而优化的特征表示。从形式上看,这组方法的框架可以表示为{Θ∗,W∗}= arg min Θ, W Σ︁ x∈X ℓ (x;Θ)。 W , (22) x = (x;Θ∗);W∗ , (23) 其中是一个在表示空间上操作的现有异常评分措施。请注意,是否可能涉及可训练的参数W,取决于所使用的异常度量。与公式(2-3)中的通用特征学习方法不同,该方法在获得学习到的表征后根据一些启发式方法计算异常得分,该研究思路将现有的异常度量纳入特征学习的目标函数中,专门针对优化特征表征。下面我们回顾一下专门为三种流行的异常度量设计的表征学习,包括基于距离的度量、单类分类度量和基于聚类的度量。

2.1 基于距离的测量。

深度基于距离的异常检测旨在学习专门为特定类型的基于距离的异常测量而优化的特征表示。基于距离的方法简单明了,易于实施。已经有许多有效的基于距离的异常措施被引入,例如,DB异常值[72, 73],-近邻距离[125, 126],平均-近邻距离[9],相对距离[173],以及随机近邻距离[116, 144]。这些传统的基于距离的异常措施的一个主要限制是,由于维度的诅咒,它们不能在高维数据中有效地工作。由于基于深度距离的异常检测技术在应用距离度量之前将数据投射到低维空间,它可以很好地克服这一限制。

假设。异常现象分布在离其最近的邻居很远的地方,而正常实例位于密集的邻域。这种方法首先在[112]中进行了探索,其中基于随机邻居距离的异常测量[116, 144]被用来推动从超高维数据中学习低维表示。其关键思想是,对表征进行优化,使随机子样本中的伪标签异常现象的近邻距离大大大于伪标签正常实例的近邻距离。伪标签是由一些现成的异常检测器生成的。设S∈X为从数据集X中随机抽取的数据实例子集,A和N分别为伪标签的异常实例集和正常实例集,X=A∪N,∅=A∩N,其损失函数建立在铰链损失函数上[130] 。query = 1 |X| Σ︁ x∈A,x′∈N max 0, + (x′, S;Θ) - (x, S;Θ) , (24) 其中 是一个预定义的常数,用于由(x,S。 Θ),它是一个在表示空间中操作的随机近邻距离函数。 (x, S;Θ) = min x′∈S (x;Θ), (x′;Θ) 2. (25) 使公式(24)中的损失最小化,保证了在投影的表示空间中,异常现象的随机近邻距离至少要比正常实例的近邻距离大。在评估阶段,公式(25)中的随机距离被直接用来获得每个测试实例的异常得分。

按照这种方法,我们也可以通过用其他措施,如近邻距离[126]或平均近邻距离[9]来代替公式(25),为其他基于距离的措施得出类似的表在评估阶段,((x;Θ∗),′(x))被用来计算异常得分。

优点。这类方法的优点如下。

(i) 基于距离的异常是直截了当的,并且在文献中有着丰富的理论支持。因此,由于在以前的相关工作中建立了坚实的基础,基于距离的深度异常检测方法可以有很好的基础。

(ii) 它们在低维表示空间中工作,可以有效地处理传统的基于距离的异常措施所不能解决的高维数据。

(iii) 它们能够学习专门为自己定制的表征。

缺点。它们的缺点如下。

(i) 大多数基于距离的异常测量所涉及的大量计算可能是将基于距离的异常测量纳入表征学习过程的一个障碍。

(ii) 它们的能力可能被基于距离的异常测量的固有弱点所限制。

针对的挑战。这种方法能够学习为现有的基于距离的异常措施量身定做的低维表示,解决了基于距离的检测中臭名昭著的维度诅咒[178](CH1和CH2)。如[112]所示,可以设计一个适应性的三重损失,以利用少数标记的异常例子来学习更有效的常态表示(CH3)。受益于伪异常标记,方法[112, 155]对以下情况也很稳健。

2.2 基于单类分类的测量。

这类方法旨在学习为后续基于单类分类的异常检测定制的特征表示。一类分类被称为学习一组数据实例的描述以检测新实例是否符合训练数据的问题。它是异常检测中最流行的方法之一[101, 131, 139, 148]。大多数单类分类模型受到支持向量机(SVM)[31]的启发,如两个广泛使用的单类模型:单类SVM(或-SVC)[139]和支持向量数据描述(SVDD)[148]。这里的一个主要研究方向是学习专门为这些传统的单类分类模型优化的表征。这是本节的重点。另一条路线是学习一个端到端的对抗性单类分类模型,这将在第6.4节中讨论。假设。所有的正常实例都来自于一个(抽象的)类,并且可以用一个紧凑的模型来概括,而异常情况并不符合这个模型。

有许多研究致力于将单类SVM与神经网络相结合[27, 104, 161]。传统的单类SVM是学习一个超平面,使训练数据实例和原点之间的余量最大化。深度单类SVM的关键思想是,从神经网络支持的低维表示空间而不是原始输入空间中学习单类超平面。让z = (x。 Θ),那么[27, 104, 161]中关键思想的通用表述可以表示为min ,Θ,w 12 | |Θ| |2 + 1 Σ︁ =1 max 0。 - w⊺z - , (27) 其中是边际参数,Θ是表示网络的参数,而w⊺z(即。 e., w⊺(x;Θ))取代原来的点积w,Φ(x)满足(x , x ) = Φ(x ), Φ(x )。这里Φ是一个RKHS(Reproducing Kernel Hilbert Space)相关的映射,(-, -)是一个核函数;是一个超参数,可以看做是训练数据中异常点的分数的上限。任何具有 - w⊺z > 0的实例都可以被报告为异常点。

这种提法带来两个主要好处。

(i)它可以利用(预训练的)深度网络来学习更具表现力的特征,用于下游的异常检测;

(iii)它还有助于消除核函数中计算昂贵的配对距离计算。如[104, 161]所示,AE中的重建损失可以被添加到公式(27)中,以增强表征z的表达能力。如[124]所示,许多核函数可以用随机傅里叶特征进行近似。因此,在w⊺z之前,可以将某种形式的随机映射ℎ应用于z以产生傅里叶特征,从而得到w⊺ℎ(z),这可能会进一步改善单类SVM模型。

另一条研究路线是研究SVDD的深度模型[132, 133]。SVDD的目的是学习一个最小的超平面,其特征是中心c和半径,使球体包含所有训练数据实例,即。min ,c, 2 + 1 Σ︁ =1 (28) s.t. |Φ(x ) - c| |2 ≤ 2 + , ≥ 0, ∀. (29)与深度单类SVM类似,深度SVDD[132]也旨在利用神经网络将数据实例映射到最小体积的球体中,然后采用铰链损失函数来保证球体中心和投影实例之间的余量。特征学习和SVDD目标可以通过最小化以下损失来共同训练:min ,Θ 2 + 1 Σ︁ =1 max{0, | | (x ;Θ) - c| |2 - 2 } + 2 | |Θ| |2。(30) 在无监督的情况下,假设训练数据包含一小部分的异常污染。在半监督环境下,损失函数可以简化为min Θ 1 | (x ;Θ) - c| |2 + 2 | Θ| |2, (31)这直接使训练数据实例的表示与中心c之间的平均距离最小。

  1. [132]中显示,c可以被固定为通过执行单一的初始前向传递产生的特征表示的平均值。
  2. 深度SVDD也可以进一步扩展,以解决另一个半监督的环境,其中有少量标记的正常实例和异常情况[133]。其关键思想是最小化已标记的正常实例到中心的距离,同时最大化已知异常现象到中心的距离。这可以通过将Í =1 | | (x′ ;Θ) - c| |2加入公式(31)来实现,其中x′是一个标记的实例,当它是一个正常实例, = +1,否则 = -1。

优点。这类方法的优点如下。

(i) 基于一类分类的异常现象在文献中得到很好的研究,为基于一类分类的深度方法提供了坚实的基础。

(ii) 表征学习和单类分类模型可以统一起来,以学习量身定做的、更优化的表征。

(iii) 它们使用户免于在传统的单类模型中手动选择合适的核函数。

缺点。它们的缺点如下。

(i) 单类模型在正常类中具有复杂分布的数据集中可能不起作用。

(ii) 检测性能取决于基于单类分类的异常措施。

针对的挑战。这类方法通过学习为单类分类模型优化的低维表示空间来提高检测精度(CH1和CH2)。这些方法可以利用少量标记的正常和异常数据[133]来学习更有效的一类描述模型,它不仅可以检测已知的异常,还可以检测新的异常类别(CH3)。

2.3 基于聚类的措施。

基于聚类的深度异常检测旨在学习表征,使异常现象明显偏离新学习的表征空间中的聚类。聚类和异常检测的任务自然是相互联系的,所以已经有大量的研究致力于使用聚类结果来定义异常,例如,聚类大小[67],与聚类中心的距离[59],聚类中心之间的距离[68],以及聚类成员[141]。基于高斯混合模型的异常检测[43, 94]也被纳入这一类别,因为它与聚类有一些内在的关系,例如,高斯混合模型(GMM)中的似然拟合对应于数据实例与高斯聚类/组件中心的距离的聚合[2]。

假设。正常实例比异常实例对聚类有更强的依附性。深度聚类,旨在学习为特定聚类算法量身定做的特征表示,是这种异常检测方法最关键的组成部分。近年来,许多研究都探讨了这个问题[25, 36, 47, 151, 162, 165, 166]。主要的动机是由于聚类方法的性能高度依赖于输入数据的事实。学习专门为聚类算法定制的特征表示可以很好地保证其在不同数据集上的性能[5]。

一般来说,这里有两个关键的直觉。

(i)好的表征可以实现更好的聚类,好的聚类结果可以为表征学习提供有效的监督信号;(

ii)由于聚类算法的基础假设不同,为一种聚类算法优化的表征不一定对其他聚类算法有用。

深度聚类方法通常包括两个模块:在前向过程中进行聚类,在后向过程中使用聚类分配作为伪类标签学习表征。

其损失函数往往是最关键的部分,一般可以表述为ℓclu (x;Θ)。 W , + ℓaux (X), (32) 其中ℓclu是聚类损失函数,其中是以Θ为参数的特征学习者,是以W为参数的聚类分配函数,代表由聚类产生的伪类标签。ℓaux是一个非聚类损失函数,用于对学习到的表征施加额外的约束;和是两个超参数,用于控制这两个损失的重要性。

ℓclu可以用均值损失[25, 162]、光谱聚类损失[151, 166]、聚集聚类损失[165]或GMM损失[36]进行实例化,使目标聚类算法的表征学习得以实现。ℓaux通常与基于自动编码器的重建损失[47, 166]进行实例化,以学习稳健的和/或局部结构保留的表征。在深度聚类之后,所产生的函数中的聚类分配可以被用来计算基于[59, 67, 68, 141]的异常分数。然而,需要注意的是,如果训练数据被异常污染,深度聚类可能会被异常现象所偏离。因此,上述方法可以应用于训练数据仅由正常实例组成的半监督环境中。在无监督环境下,需要在ℓclu和/或ℓaux中加入一些额外的约束条件,以消除潜在的异常现象的影响。前面提到的深度聚类方法主要是学习最优的聚类结果。尽管他们的聚类结果适用于异常检测,但学习到的表征可能不能很好地捕捉到异常现象的异常性。重要的是利用聚类技术来学习表征,使异常现象对聚类的依附性明显弱于正常实例。

这种类型的方法的一些有希望的结果显示在[83,179]中,他们的目标是为基于GMM的模型学习表征,并对表征进行优化以突出异常情况。这两个研究的一般形成与公式(32)相似,ℓclu和ℓaux分别被指定为GMM损失和基于自动编码器的重建损失,但为了学习异常的偏离表征,他们将一些基于重建误差的手工制作的特征与自动编码器的学习特征连接起来,共同优化组合特征。由于基于重建误差的手工制作的特征捕捉到了数据的规范性,所产生的表征比其他深度聚类方法所产生的表征更适合于异常检测。

优点。基于深度聚类的方法的优势如下。

(i) 可以利用一些深度聚类方法和理论来支持异常检测的有效性和理论基础。与传统的基于聚类的方法相比,基于深度聚类的方法学习了专门优化的表征,有助于比在原始数据上更容易发现异常,特别是在处理复杂的数据集时。

劣势。它们的缺点如下。

(i) 异常检测的性能在很大程度上取决于聚类的结果。

(ii) 聚类过程可能被训练数据中被污染的异常现象所偏离,这反过来又导致了不太有效的表示。

针对的挑战。基于聚类的异常测量方法适用于新学习的数据输入的低维表征;当新的表征空间保留了足够的识别信息时,深度方法可以达到比原始数据空间更好的检测精度(CH1和CH2)。一些聚类算法对异常值很敏感,所以当给定的数据被异常值污染时,深度聚类和随后的异常检测在很大程度上会被误导。使用来自自动编码器重建错误的手工特征的深度聚类[179]可能有助于学习更多关于污染的稳健模型(CH4)。

6 端到端异常评分学习

这一研究方向旨在以端到端方式学习标量异常评分。与依赖异常度量的特征学习相比,这类方法中的异常评分不依赖于现有的异常度量;它有一个直接学习异常评分的神经网络。通常需要新的损失函数来驱动异常评分网络。从形式上看,这种方法旨在学习一个端到端的异常得分学习网络:(-;Θ):X ↦→R。底层框架可以表示为 Θ∗ = arg min Θ Σ︁ x∈X ℓ (x;Θ) , (33) x = (x; Θ∗)。(34) 与第5.1节中那些使用某种启发式方法在获得所学表征后计算异常分数的方法不同,这一类的方法同时学习特征表征和异常分数。这大大优化了异常得分和/或异常排名。

从这个角度来看,它们与第5.2节中的方法有一些相似之处。然而,依赖异常度量的特征学习方法往往受限于所纳入的异常度量的固有缺点,而这里的方法没有这样的缺点;它们也代表了设计模型的两个完全不同的方向:一个侧重于如何综合现有的异常度量和神经网络模型,而另一个侧重于设计新的损失函数来直接学习异常分数。下面我们回顾一下这一类的四个主要方法:排序模型、先验驱动模型、softmax似然模型和端到端单类分类模型。这个框架的关键是将顺序或判别信息纳入异常评分网络。

1 排名模型

这组方法旨在直接学习一个排名模型,这样就可以根据与异常的绝对/相对排序关系相关的可观察的序数变量对数据实例进行排序。异常评分神经网络是由可观察的序数变量驱动的。

假设。存在一个可观察的序数变量来捕捉某些数据的异常性。这种方法的一个研究思路是设计基于序数回归的损失函数来驱动异常评分神经网络[114, 117]。

  1. 在[117]中,引入了一个自我训练的深度序数回归模型来直接优化无监督视频异常检测的异常得分。特别是,它假设一个可观察的序数变量y={1, 2},其中1>2,让(x;Θ)=((x;Θ )。 Θ ), A 和 N 分别为伪异常和正常实例集, G = A ∪ N, 则目标函数表述为 arg min Θ Σ︁ x∈G ℓ (x。 Θ),x , (35) 其中ℓ (-, -) 是一个基于MSE/MAE的损失函数,x = 1 , ∀x ∈A和 x = 2 , ∀x ∈N。这里只取两个标量的序数值,所以它是一个两类序数回归。端到端异常评分网络将A和N作为输入,并学习优化异常分数,使与A(N)中行为相似的数据输入得到尽可能接近1(2)的大(小)分数,从而使分配给异常帧的异常分数大于正常帧。由于捕捉图像数据外观特征的能力很强,ResNet-50[58]被用来指定特征网络,然后是用全连接两层神经网络构建的异常评分网络。包括一个有100个单元的隐藏层和一个有一个线性单元的输出层。与[112]类似,A和N是由一些现有的异常措施初始化的。然后,异常评分模型以自我训练的方式反复更新和增强。在公式(35)中采用了基于MAE的损失函数,以减少A和N中错误的伪标签带来的负面影响。
  2. 与[117]处理无监督环境不同,[114, 145]中假设了一个弱监督环境。在[114]中,假设在训练期间有非常少的有标签的异常情况,以及大规模的无标签数据。为了利用已知的异常情况,异常检测问题被表述为一个成对关系预测任务。具体来说,设计了一个双流序数回归网络来学习随机抽样的数据实例对的关系,即区分实例对是否包含两个标记的异常、一个标记的异常或只是未标记的数据实例。设A是小的有标签的异常集,U是大的无标签的数据集,X=A∪U,P={x , x ,xx } | x, x∈X和xx∈N首先被生成。这里P是一组具有合成序数类标签的随机实例对,其中y = {x x ,x x ,x x } 是一个序数变量。合成标签x x表示任何实例对的序数值,实例x和x分别从A和U中采样。x x > x x > x x是预定义的,这样成对预测任务就相当于异常得分学习。然后,该方法可以被正式框定为Θ∗ = arg min Θ 1 |P| Σ︁ {x ,x , }∈P x x - (x, x);Θ ,(36)它是可以以端到端方式训练的。通过最小化公式(36),该模型被优化为对两个异常点的学习比对一个异常点或没有异常点的学习更大的异常点分数。在推理中,每个测试实例与A或U的实例配对,以获得异常得分。
  3. [145]中的弱监督设置解决了帧级的视频异常检测,但在训练期间只有视频级的类标签可用,即一个视频是正常的或包含异常帧的地方--我们不知道哪些具体的帧是异常的。在[145]中引入了一个基于多实例学习(MIL)的排名模型,利用高层次的类标签来直接学习每个视频段(即少量的连续视频帧)的异常得分。它的关键目标是保证视频中包含异常点的片段的最大异常分数大于正常视频中的对应分数。为了实现这一目标,每个视频被视为MIL中的一个实例袋,包含异常点的视频被视为正袋,而正常视频被视为负袋。每个视频片段都是包中的一个实例。异常得分的排序信息通过铰链损失函数作为相对成对的排名顺序被强制执行。总体目标函数定义为 arg min Θ Σ︁ B,B ∈X max{0, 1 - max x∈B (x;Θ) + max x∈B (x;Θ)}。+ 1 |Σ︁B |=1 (x ;Θ) - (x+1;Θ) 2 + 2 Σ︁ x∈B (x; Θ),(37)其中x是一个视频片段,B包含一个视频片段袋,B和B分别代表正负袋。第一项是为了保证相对异常得分的顺序,即正向实例袋中最异常的视频段的异常得分要大于负向实例袋中的异常得分。最后两个条款是额外的优化约束,其中前者强制要求连续视频段之间的得分平稳性,而后者强制要求异常稀疏性,即每个视频只包含几个异常段。

优点。基于模型的深度排名方法的优点如下。

(i) 异常得分可以直接用合适的损失函数进行优化。

(ii) 它们通常通过对异常和正常实例之间的顺序强加一个弱的假设来摆脱对异常的定义。

(iii) 这种方法可以建立在成熟的排名技术和理论上,如学习排名[85, 87, 158]。

劣势。其缺点如下。

(i) 在这些方法中至少需要某种形式的标记的异常情况,这可能不适用于没有这种标记的异常情况的应用。[117]中的方法是完全无监督的,并获得了一些有希望的性能,但与半监督方法相比仍有很大差距。

(ii) 由于这些模型是专门用来检测少数已标记的异常情况的,它们可能无法推广到未见过的异常情况,这些异常情况表现出与已标记的异常情况不同的异常特征。

针对的挑战。使用伪标签或噪声类标签等弱监督,可以提供一些可疑异常的重要知识,使学习更具表现力的低维表示空间和更好的检测精度(CH1,CH2)。MIL方案[145]和成对关系预测[114]提供了一种简单的方法,将粗粒度/有限的异常标签纳入检测模型学习中(CH3)。更重要的是,端到端异常得分学习通过反向传播激活权重或异常得分的梯度来定位造成大的异常得分的特征,提供了直接的异常解释[117](CH6)。此外,[114, 117]中的方法在有异常污染或噪声标签的数据中也能很好地工作(CH4)。

2 先验驱动模型

这种方法使用先验分布来编码和驱动异常分数的学习。由于异常分数是以端到端的方式学习的,所以先验可以施加在内部模块或分数学习函数的学习输出(即异常分数)上。假设。强加的先验捕捉了数据集的基本(非)正态性。

  1. 最近一项关于基于贝叶斯反强化学习(IRL)的方法的研究[107]说明了将先验纳入内部异常评分函数的问题。关键的直觉是,给定一个将一组序列数据作为输入的代理,代理的正常行为可以通过其潜在的奖励函数来理解,因此,如果代理给一个测试序列分配了低奖励,那么该测试序列就会被识别为异常情况。IRL方法[102]被用来推断奖励函数。为了更有效地学习奖励函数,采用了基于样本的IRL方法。具体来说,IRL问题被表述为以下后验优化问题max Θ Es∼S log (s|Θ)+ log (Θ)。(38) 其中,(s|Θ) = 1 exp Í (,) ∈s Θ(, ) , Θ(, ) 是一个潜在的奖励函数,由Θ参数化, (, )是序列s中的一对状态和动作,代表分区函数,它是exp Í(,)∈s Θ(,)在所有与基础马尔科夫决策过程动力学一致的序列上的积分,(Θ)是Θ的先验分布,S是一组观测序列的。由于由产生的奖励的逆值被用作异常得分,最大化公式(38)相当于直接学习异常得分。在训练阶段,假定奖励函数学习网络的权重参数为高斯先验分布,即Θ ∼ N(0, 2)。分区函数是用一组由样本生成策略产生的序列来估计的,=Es∼Σ︁(,)∈sΘ(,) 。(39) 政策也被表示为一个神经网络。和被交替优化,即用固定的策略优化奖励函数,用更新的奖励函数优化。请注意,在[107]中,被实例化为具有多个输出头的自举神经网络;为简洁起见,公式(38)给出了一个简化的。
  2. 在[115]中探讨了对异常分数强制执行先验的想法。
  3. [74]中大量的经验结果表明,各种真实世界的数据集中的异常分数非常符合高斯分布,受此启发,这项工作使用高斯先验来编码异常分数并使分数直接优化。也就是说,假设正常实例的异常分数聚集在一起,而异常实例的异常分数则远远偏离这个集群。先验被用来定义一个损失函数,称为偏离损失,它建立在著名的对比损失之上[55]。dev = (1 - x) |dev(x) | + x max 0, - dev(x) and dev(x) = (x。 Θ)- , (40) 其中和分别是先验N(。),x=1,如果x是异常物体,x=0,如果x是正常物体,相当于一个Z-Score置信区间参数。和是使用一组值{1, 2, - - , }对每批实例从N(, )抽取来估计的,以学习正常性和异常性的稳健表示。检测模型由偏差损失驱动,以使正常实例的异常分数尽可能接近,同时保证标准差与异常分数之间至少有标准差。当x是一个异常点并且它的dev(x)为负数时,损失会特别大,导致所有异常点的正偏差都很大。因此,偏差损失相当于强制要求异常现象的得分在统计学上与正常实例的得分有明显的偏差,在上尾部。此外,这种高斯先验驱动的损失也导致了可解释的异常得分,即给定任何异常得分(x),我们可以使用Z-score置信区间±来解释实例x的异常性,这是现有方法不具备的重要且非常实用的特性。

优点。先验驱动的模型的优点如下。(i) 异常得分可以在给定的先验中直接优化。(ii) 它提供了一个灵活的框架,可以将不同的先验分布纳入到异常得分学习中。不同的贝叶斯深度学习技术[156]可以适用于异常检测。(iii) 与其他方法相比,先验也可以产生更多可解释的异常分数。缺点。它们的缺点如下。(i) 要为不同的异常检测应用场景设计一个普遍有效的先验,即使不是不可能,也是很困难的。(ii) 如果先验不能很好地拟合基础分布,模型的工作效果可能会降低。针对的挑战。先验赋予模型学习不同复杂数据的知情低维表示的能力,如高维数据和连续数据(CH1和CH2)。通过对异常得分施加先验,偏差网络方法[115]在利用有限的标记异常数据来增强正常性和异常性的表示方面显示出良好的性能,大大提升了检测召回率(CH1 & CH3)。这里的检测模型是由异常评分函数的先验分布驱动的,在训练数据中存在异常污染的数据中工作良好(CH4)。

3 Softmax可能性模型

这种方法旨在通过最大化训练数据中事件的可能性来学习异常得分。由于异常实例和正常实例分别对应于罕见和频繁的模式,从概率的角度来看,正常实例被认为是高概率事件,而异常事件则容易成为低概率事件。因此,事件可能性的负值可以被自然地定义为异常得分。

  1. 通过噪声对比估计(NCE)等工具,Softmax似然模型在实现这一目标方面被证明是有效和高效的[54]。假设。异常和正常实例分别是低概率和高概率事件。通过直接对事件可能性进行建模来学习异常得分的想法在[30]中被引入。特别是,问题被设定为Θ∗ = arg max Θ Σ︁ x∈X log (x;Θ), (41) 其中(x;Θ)是实例x(即事件空间中的一个事件)的概率,参数Θ有待学习。为了便于优化,(x;Θ)用softmax函数建模:(x;Θ) = exp (x;Θ) Í x∈X exp (x;Θ) , (42) 其中(x;Θ) 是一个异常评分函数,旨在捕捉配对特征的相互作用。 (x;Θ) = Σ︁ , ∈{1,2,- - , } zz , (43) 其中z是x的第1个特征值在表示空间Z中的低维嵌入, 是添加到交互中的权重,是一个可训练参数。由于Í x∈X exp (x;Θ) 是一个归一化项,学习似然函数相当于直接优化异常评分函数。这个显式归一化项的计算成本过高,在[30]中使用了成熟的NCE来学习下列近似似然函数log ( = 1|x; Θ)+ log Σ︁ =1 ( = 0|x′ ;Θ),(44)其中( = 1|x。 Θ)= exp (x;Θ) exp (x;Θ) +(x′) 和 ( = 0|x′;Θ) = (x′) exp (x;Θ) +(x′) 。对于每个实例x,噪声样本x′1,- -, ∼ 是由一些合成的已知 "噪声 "分布生成的。在[30]中,使用了一种依赖于上下文的方法,通过对观察到的实例x进行单变量外推来生成负样本,该方法主要是为了检测分类数据的异常情况[30]。
  2. 在这一应用的激励下,一个类似的目标函数被改编为检测异质属性的双胞胎图中的异常事件[45]。[45]中的问题是检测横跨双胞胎图的两个分区的异常路径。因此,公式(43)中的x是一个包含一组异质图节点的图路径,z和z是路径中每一对节点的表示。为了将属性节点映射到表示空间Z中,多层感知器网络和自动编码器分别应用于节点特征和图形拓扑结构。

优点。基于softmax模型的方法的优点如下。(i) 不同类型的交互作用可以被纳入到异常得分的学习过程中。(ii) 异常得分是忠实于我们要捕捉的特定异常交互的优化。缺点。其缺点如下。(i) 当每个数据实例中的特征/元素数量较多时,交互作用的计算可能非常昂贵,即对于三阶的特征/元素的交互作用,我们在每个实例中有()的时间复杂性。(ii) 异常得分的学习在很大程度上依赖于负样本的生成质量。针对的挑战。这类方法的表述为学习具有异质数据源的数据集的低维表征提供了一个很好的方法(CH2和CH5)。学习到的表征通常能从不同的数据源中捕捉到更多的正态性/非正态性信息,因此能比传统方法更好地检测(CH1)。

4 端到端单类分类

这类方法旨在训练一个单类分类器,该分类器能够以端到端方式学习辨别给定实例是否正常。与第5.2.2节中的方法不同,这种方法不依赖于任何现有的单类分类措施,如单类SVM或SVDD。

这种方法的出现主要是由于GANs和单类分类概念的结合,即对抗性学习单类分类。其关键思想是学习一个正常实例的单类判别器,使其能够很好地将这些实例与对抗性生成的伪异常现象区分开来。这种方法也与第5.1.2节中的基于GAN的方法有很大不同,因为有两个关键的区别。

首先,基于GAN的方法旨在学习一个生成分布,以最大限度地接近真实的数据分布,实现一个生成模型,很好地捕捉训练中正常实例的规范性;而本节的方法旨在优化一个判别模型,将正常实例与对抗性生成的边缘实例分开。

其次,基于GAN的方法根据真实实例和相应的生成实例之间的残差来定义异常得分,而这里的方法直接使用判别器来对异常进行分类,即判别器作为公式(33)中的。

本节与第5.1.2节和第5.2.2节分开,以强调上述差异。

假设。(i) 近似于异常的数据实例可以被有效地合成。(ii) 所有的正常实例都可以由一个判别性的单类模型来总结。对抗性学习单类(ALOCC)分类的想法首次在[135]中研究。其关键思想是训练两个深度网络,其中一个网络被训练为单类模型,将正常实例与异常实例分开,而另一个网络被训练为增强正常实例并产生扭曲的异常值。这两个网络通过GANs方法进行实例化和优化。一类模型建立在判别器网络的基础上,生成器网络则是基于去噪AE[153]。AE-empower GAN的目标定义为min AE max (,) = Ex∼X log(x) + Eˆx∼ ˆX log 1 - AE(ˆx) 。(45) 其中 ˆX表示被高斯噪声破坏的X的数据分布,即。 e., ˆx = x + n,n ∼ N(0, 2I)。这个目标与AE中的以下数据构造误差共同优化。ℓae = ∥x - AE(ˆx) ∥2。(46) 公式(45)中的直觉是,AE可以很好地重建(甚至增强)正常实例,但它会被输入的异常值所迷惑,从而产生扭曲的异常值。通过最小优化,判别器学会了比使用原始数据实例更好地从异常值中判别正常实例。因此,AE(ˆx)可以直接用于检测异常值。在[135]中,异常值是从正常实例所来自的类别之外的一些类别中随机抽取的。

然而,像[135]中那样在给定的训练数据之外获得参考离群值,在许多领域可能是不可用的。我们可以根据给定的训练数据生成边缘数据实例,并将其作为负面的参考实例,以实现单类判别器的训练,而不是从其他数据集中随机抽取异常值。

这个想法在[103,174]中得到了探讨。一类对抗网络(OCAN)在[174]中被引入,以利用坏GAN[33]的想法,根据正常训练数据的分布生成边缘实例。与GANs中的传统生成器不同,坏GANs中的生成器网络被训练成生成与训练数据互补而非匹配的数据实例。补充生成器的目标如下 min -H(Z) + Eˆz∼Z log X(ˆz)I[X(ˆz) > ] + ∥Eˆz∼Zℎ(ˆz) - Ez∼Xℎ(z) ∥2, (47) 其中H(-)是熵,I[-]是指标函数,是阈值超参数,ℎ是来自判别器的中间层的特征映射。前两个条款的设计是为了在原始特征空间中产生低密度的实例。然而,要获得训练数据的概率分布在计算上是不可行的。相反,密度估计X(ˆz)是由普通GAN的判别器近似的。最后一项是广泛使用的特征匹配损失,有助于在原始数据空间内更好地生成数据实例。OCAN中判别器的目标通过一个额外的条件熵项得到加强,以实现高置信度的检测。max Ex∼X log(z) + Eˆz∼Z log 1 - (ˆz) + Ex∼X (x) log(x) , (48) 在 [103], 引入了围栏式GAN,其目的是生成紧靠训练数据分布边界的数据实例。这是通过在生成器中引入两个损失函数来实现的,该函数强制要求生成的实例沿着训练数据的球形边界均匀分布。形式上,生成器的目标定义为min Ez∼Z h log - (z) i + 1 Ez∼Z ∥(z) - ∥2 , (49) 其中 ∈ (0。1)是一个超参数,用作生成器生成边界实例的判别参考分数,是生成数据实例的中心。第一个项被称为包围损失,强制要求生成的实例具有相同的判别分数,理想情况下会产生紧密包围训练数据的实例。第二项被称为分散损失,强制要求生成的实例均匀地覆盖整个边界,还有一些其他方法被引入以有效地生成参考实例。例如,可以生成均匀分布的实例来强制要求正常实例均匀地分布在潜伏空间中[120];在[89]中使用了一个生成器集合,每个生成器为一个特定的正常实例集群合成边界实例。

优点。这类方法的优点如下。(i) 它的异常分类模型是以端到端方式进行对抗性优化的。(ii) 它可以由对抗性学习和单类分类的富裕技术和理论来开发和支持。劣势。其缺点如下。(i) 很难保证生成的参考实例与未知的异常情况非常相似。(ii) GANs的不稳定性可能导致生成的实例具有不同的质量,从而导致异常分类性能不稳定。最近[169]研究了这个问题,表明这种类型的异常检测器的性能在不同的训练步骤中会出现剧烈的波动。(iii) 其应用仅限于半监督的异常检测场景。针对的挑战。先进的单类分类器学习生成现实的边缘/边界实例,使学习富有表现力的低维规范性表征(CH1和CH2)成为可能。

为了更深入地了解这一领域的方法,我们在表2中总结了每一类方法中代表性算法的一些关键特征。由于这些方法是在不同的数据集上评估的,因此很难对其经验性能进行普遍的元分析。相反,关于模型设计的一些主要观察结果被总结如下。

(i) 大多数方法在无监督或半监督的模式下运行;

(ii) 像数据增强、辍学和预训练这样的深度学习技巧没有得到充分的探索;

(iii) 使用的网络架构并不深,大多数方法的网络层数不超过5层;

(iv) (泄漏的)ReLU是最流行的激活函数;

(v) 可以使用不同的骨干网络来处理不同类型的输入数据。

大多数这些算法的源代码都是可以公开获取的。我们在附录A的表A1中总结了这些源代码,以方便查阅。

 

你可能感兴趣的:(入侵检测,异常检测,网络攻击检测)