本文是对《Deep Learning for Anomaly Detection: A Review》的翻译。
异常检测,也称为离群点检测或新颖性检测,几十年来一直是各个研究社区中一个持久而活跃的研究领域。仍然存在一些独特的问题复杂性和挑战,需要采用先进的方法。近年来,支持深度学习的异常检测,即深度异常检测,已成为一个关键方向。本文以全面的分类法综述了深度异常检测的研究,涵盖了三个高级类别和11个细粒度类别的方法的进展。我们回顾了他们的主要动机、目标函数、基本假设、优势和劣势,并讨论了他们如何应对上述挑战。我们进一步讨论了一系列可能的未来机遇和应对挑战的新视角。
异常检测,也称为离群点检测或新颖性检测,被称为检测与大多数数据实例显著偏离的数据实例的过程。几十年来,异常检测一直是一个活跃的研究领域,早期勘探可追溯到20世纪60年代。由于风险管理、合规性、安全、金融监控、健康和医疗风险以及人工智能安全等日益增长的需求和广泛领域的应用,异常检测发挥着越来越重要的作用,在包括数据挖掘、机器学习、计算机视觉和统计学在内的各个领域都得到了突出的应用。近年来,深度学习在学习高维数据、时间数据、空间数据和图形数据等复杂数据的表达特征方面显示了巨大的能力,突破了不同学习任务的界限。用于异常检测的深度学习,简称深度异常检测,旨在通过神经网络学习特征表示或异常分数,以便进行异常检测。已经引入了大量深度异常检测方法,证明在解决各种现实应用中的挑战性检测问题方面,其性能明显优于传统异常检测。这项工作旨在全面综述这一领域。我们首先讨论异常检测的问题性质和主要尚未解决的挑战,然后系统地回顾当前的深度方法及其解决这些挑战的能力,最后提出了一些未来机会。
作为一个热门领域,许多研究致力于异常检测技术的分类和综述。然而,它们都只关注传统的异常检测方法。与我们密切相关的一项工作是[26]。它很好地总结了深度异常检测的许多实际应用,但仅提供了技术选择类别的一些非常高层次的概述,从中很难(如果不是不可能)了解当前方法所采用的手段及其基本直觉。相比之下,本综述描述了当前深度检测方法的制定,以获得关于其直觉、内在能力和弱点的关键见解,从而解决异常检测中一些基本上未解决的挑战。这形成了对问题本质和最新技术的深刻理解,并带来了真正的开放机会。这也有助于解释为什么我们需要深度异常检测。
总之,这项工作做出了以下五大贡献:
•问题性质和挑战。我们讨论了异常检测背后的一些独特问题复杂性,以及由此产生的基本上未解决的挑战。
•分类和表述。我们将当前的深度异常检测方法归纳为三个原则框架:用于一般特征提取的深度学习、正常性的学习表示和端到端异常得分学习。基于11个不同的建模视角,提出了一种层次分类法来对这些方法进行分类。
•全面的文献综述。我们回顾了几个相关社区的主要会议和期刊上的大量相关研究,包括机器学习、数据挖掘、计算机视觉和人工智能,以对研究进展进行全面的文献综述。为了提供深入的介绍,我们描述了基本假设、目标函数、关键直觉及其通过所有类别的方法解决上述挑战的能力。
•未来机会。我们进一步讨论了一系列可能的未来机遇及其对应对相关挑战的影响。
•源代码和数据集。我们收集了几乎所有类型方法的公开可访问源代码,以及大量具有真实异常的真实数据集,以提供一些经验比较基准。
由于其独特的性质,异常检测呈现出与大多数分析和学习问题和任务不同的问题复杂性。本节总结了复杂异常数据中固有的复杂性和未解决的检测挑战。
与大多数、规则或明显模式的问题和任务不同,异常检测处理少数、不可预测/不确定和罕见事件,导致所有(深度和浅层)检测方法的一些独特问题复杂性:
•未知性。异常与许多未知因素有关,例如,具有未知突变行为、数据结构和分布的实例。在实际发生之前,如新的恐怖袭击、欺诈和网络入侵,它们仍然未知。
•异构异常类别。异常是不规则的,因此,一类异常可能表现出与另一类异常完全不同的异常特征。例如,在视频监控中,异常事件抢劫、交通事故和入室盗窃在视觉上有很大不同。
•稀有性和类别不平衡。异常通常是罕见的数据实例,与通常占数据绝大部分的正常实例相反。因此,即使不是不可能,也很难收集大量标记的异常实例。这导致在大多数应用中无法获得大规模标记数据。类别不平衡也是由于异常的错误分类通常比正常实例的成本高得多。
•各种类型的异常。已经探索了三种完全不同的异常类型。点异常是指大多数其他个体情况下的异常,例如患者的异常健康指标。条件异常,又称上下文异常,也指特定上下文中的个别异常实例,即数据实例在特定上下文中是异常的,否则是正常的。在现实世界的应用中,上下文可能非常不同,例如,特定时间上下文中的突然温度下降/升高,或不寻常空间环境中的快速信用卡交易。组异常,也称为集合异常,是数据实例的子集,作为一个整体异常,而不是其他数据实例;集体异常的个体成员可能不是异常,例如,由社交网络中的假账户形成的异常密集的子图是异常集合,但这些子图中的个体节点可以与真实账户一样正常。
上述复杂问题的性质导致了许多检测挑战。近年来,一些挑战,如可伸缩性像数据大小,已经得到了很好的解决,但以下问题在很大程度上尚未解决,深度异常检测可以在其中发挥一些重要作用。
•CH1:低异常检测召回率。由于异常非常罕见且不均匀,很难识别所有异常。许多正常情况被错误地报告为异常,而真实但复杂的异常则被遗漏。尽管多年来引入了大量的异常检测方法,但目前最先进的方法,特别是无监督方法,仍然经常在真实数据集上产生高误报。如何减少误报并提高检测召回率是最重要但也是最困难的挑战之一,尤其是对于无法发现异常的巨大成本而言。
•CH2:高维和或非独立数据中的异常检测。异常通常在低维空间中表现出明显的异常特征,但在高维空间中变得隐藏和不可见。高维异常检测一直是一个长期存在的问题。在原始特征或新构造特征的小子集所跨越的缩小的低维空间中执行异常检测是一种简单的解决方案,例如,在基于子空间的和基于特征选择的方法中。然而,在高维数据中,识别复杂(例如,高阶、非线性和异构)特征交互和耦合可能至关重要,但这仍然是异常检测的主要挑战。此外,如何保证新的特征空间为特定的检测方法保留适当的信息对于下游准确的异常检测至关重要,但由于上述未知和异常的异质性,这是一个挑战。此外,从可能相互依赖的实例(例如通过时间、空间、基于图的关系和其他相互依赖关系)中检测异常也是一项挑战。
•CH3:正常/异常的数据有效学习。由于收集大规模标记异常数据的难度和成本,完全监督异常检测通常是不现实的,因为它假设正常和异常类别的标记训练数据都可用。在过去十年中,主要的研究工作集中在无监督异常检测上,不需要任何标记的训练数据。然而,无监督方法没有任何关于真实异常的先验知识。他们在很大程度上依赖于对异常分布的假设。另一方面,通常不难收集标记的正常数据和一些标记的异常数据。在实践中,通常建议尽可能多地利用这些易于访问的标记数据。因此,利用这些标记数据学习正常/异常的表达表示对于准确的异常检测至关重要。半监督异常检测,假设一组标记的正常训练数据,是致力于这一问题的研究方向。另一个研究方向是弱监督异常检测,它假设我们有一些异常类的标签,但类标签是部分/不完整的(即,它们不跨越整个异常类集合)、不精确的(即粗粒度标签)或不准确的(即某些给定的标签可能不正确)。两个主要挑战是如何学习具有少量标记异常数据的表达性常态/异常表示,以及如何学习被推广到给定标记异常数据所揭示的新异常的检测模型。
•CH4:抗噪声异常检测。许多弱/半监督异常检测方法假设标记的训练数据是干净的,这可能容易受到错误地标记为相反类标签的噪声实例的影响。在这种情况下,我们可以使用无监督方法,但这无法利用真正的标记数据。此外,受污染和未标记数据往往存在大规模异常。抗噪声模型可以利用这些未标记数据进行更准确的检测。因此,这里的噪声可能是错误标记的数据或未标记的异常。主要的挑战是,噪声量可能与数据集显著不同,并且噪声实例可能不规则地分布在数据空间中。
•CH5:检测复杂异常。现有的方法大多是针对点异常的,不能用于条件异常和组异常,因为它们表现出与点异常完全不同的行为。这里的一个主要挑战是将条件/组异常的概念纳入异常度量/模型。此外,当前的方法主要侧重于检测单个数据源的异常,而许多应用需要检测多个异构数据源(例如多维数据、图形、图像、文本和音频数据)的异常。一个主要挑战是,只有在考虑两个或多个数据源时才能检测到某些异常。
•CH6:异常解释。在许多安全关键领域,如果将异常检测模型直接用作黑盒模型,可能会存在一些重大风险。例如,报告为异常的罕见数据实例可能导致对数据中呈现的少数群体的算法偏见,例如欺诈检测和犯罪检测系统中代表性不足的群体。缓解这类风险的一种有效方法是使用异常解释算法,该算法提供关于为什么特定数据实例被识别为异常的直观线索。然后,人类专家可以调查并纠正这种偏见。在某些应用中,提供这样的解释可能与检测精度一样重要。然而,大多数异常检测研究仅关注检测精度,忽略了对已识别异常的解释能力。从特定的检测方法推导异常解释仍然是一个很大程度上尚未解决的问题,特别是对于复杂模型。开发具有内在可解释性的异常检测模型也是至关重要的,但要很好地平衡模型的可解释性和有效性仍然是一个主要挑战。
深度方法可以实现整个异常检测管道的端到端优化,还可以学习专门为异常检测定制的表示。这两种能力对于解决上述六个挑战至关重要,但传统方法并不具备。特别是,它们有助于大大提高标记正常数据或某些标记异常数据的利用率,而不管数据类型如何,从而减少了对大规模标记数据的需求,如在完全监督的设置中(CH2,CH3,CH4,Ch5)。这随后导致更明智的模型,从而更好的召回率(CH1)。对于异常解释挑战,尽管深度方法通常是黑箱模型,但它们提供了将异常检测和解释统一到单个框架中的选项,从而对特定模型发现的异常进行更真实的解释(见第8.5节)。深度方法还擅长从不同类型的数据(如高维数据、图像数据、视频数据、图形数据等)中学习复杂的结构和关系。这种能力对于解决各种挑战(如CH1、CH2、CH3和CH5)非常重要。此外,它们提供了许多有效且易于使用的网络架构和原则框架,以无缝学习异构数据源的统一表示。这使得深度模型能够应对一些关键挑战,如CH3和CH5。虽然有浅层方法处理这些复杂数据,但它们通常比深度方法弱得多,适应性差。本次讨论的总结见表1。

深度神经网络利用可由计算图表示的线性/非线性函数的复杂组合来学习表达表示。深度学习的两个基本组成部分是激活函数和层。激活函数确定给定某些输入的计算图节点(即神经网络中的神经元)的输出。它们可以是线性或非线性函数。一些流行的激活函数包括线性、S形、tanh、ReLU(整流线性单元)及其变体。神经网络中的层是指以某种形式堆叠的一组神经元。常用的层包括完全连接的、卷积的&池化以及循环层。这些层可以用来构建不同的流行神经网络。例如,多层感知器(MLP)网络由全连接的层组成,卷积神经网络(CNN)由不同的卷积和池化层组成,和递归神经网络(RNN),例如朴素RNN、门控循环单元(GRU)和长短时记忆(LSTM),都建立在循环层之上。有关这些神经网络的详细介绍,请参见[49]。
给定一个数据集
X
=
{
x
1
,
x
2
,
⋯
,
x
N
}
\mathcal{X}=\{x_1,x_2,\cdots,x_N\}
X={x1,x2,⋯,xN}其中
x
i
∈
R
D
,
x_i\in\mathbb{R}^D,
xi∈RD,让
Z
∈
R
K
(
K
≪
N
)
\mathcal{Z}\in\mathbb{R}^K(K\ll N)
Z∈RK(K≪N)为一个表示空间,然后,深度异常检测旨在学习特征表示映射函数
ϕ
(
⋅
)
:
X
↦
Z
\phi(\cdot):\mathcal{X}\mapsto\mathcal{Z}
ϕ(⋅):X↦Z或者异常得分学习函数
τ
(
⋅
)
:
X
↦
R
\tau(\cdot):\mathcal{X}\mapsto\mathbb{R}
τ(⋅):X↦R,异常可以通过
ϕ
\phi
ϕ或者
τ
\tau
τ函数很容易地与生成的空间中的正常数据实例区分开来,
ϕ
\phi
ϕ和
τ
\tau
τ都是基于神经网络的映射函数,具有
H
∈
N
H\in\mathbb{N}
H∈N个隐层及其权重矩阵
Θ
=
{
M
1
,
M
2
,
⋯
,
M
H
}
.
\Theta=\{M^1,M^2,\cdots,M^H\}.
Θ={M1,M2,⋯,MH}.在学习特征映射
ϕ
(
⋅
)
\phi(\cdot)
ϕ(⋅)的情况下,需要额外的步骤来计算新表示空间中每个数据实例的异常得分,而
τ
(
⋅
)
\tau(\cdot)
τ(⋅)可以直接推断原始数据输入的异常分数。更大的
τ
\tau
τ 输出表明异常程度更大。


为了深入了解该领域,我们引入了一种层次分类法,从建模角度将深度异常检测方法分为三大类和11个细粒度类。这些方法的分类概述如图1所示。具体而言,深度异常检测由三个概念范式组成-用于特征提取的深度学习、正常性的特征表示学习和端到端异常得分学习。
这三种范式的过程如图2所示。如图2(a)所示,深度学习和异常检测在第一个主要类别(第4节)中完全分离,因此深度学习技术仅用作一些独立的特征提取器。这两个模块在图2(b)所示的第二个主要类别(第5节)中以某种形式相互依赖,目的是学习常态的表达表示。这类方法可以根据表示的学习方式进一步分为两个子类,即是否使用现有的浅层异常度量(例如,基于距离和聚类的度量)来指导学习。这两个子类别包含七个细粒度的方法类别,每个类别采用不同的方法来制定其目标函数。这两个模块完全统一在图2(c)所示的第三个主要类别(第6节)中,其中,这些方法专用于以端到端的方式通过神经网络学习异常分数。基于异常评分学习的公式,该类别进一步细分为四个子类别。在接下来的三节中,我们将详细回顾这三种范式。
这类方法旨在利用深度学习从高维和/或非线性可分离数据中提取低维特征表示,用于下游异常检测。特征提取和异常评分是完全分离的,彼此独立。因此,深度学习组件仅作为降维所用。形式上,该方法可以表示为
z
=
ϕ
(
x
;
Θ
)
,
(1)
z=\phi(x;\Theta),\tag{1}
z=ϕ(x;Θ),(1)
其中
ϕ
:
X
↦
Z
\phi:\mathcal{X}\mapsto\mathcal{Z}
ϕ:X↦Z是一个基于深度神经网络的特征映射函数,其中
X
∈
R
D
\mathcal{X}\in\mathbb{R}^D
X∈RD,
Z
∈
R
K
\mathcal{Z}\in\mathbb{R}^K
Z∈RK,通常
D
≫
K
D\gg K
D≫K。一种异常评分方法
f
f
f与特征映射
ϕ
\phi
ϕ没有关联然后应用于新空间以计算异常分数。
与异常检测中流行的降维方法如主成分分析(PCA)和随机投影相比,深度学习技术在提取语义特征和非线性特征关系方面表现出了更好的能力。
假设。深度学习模型提取的特征表示保留了有助于将异常与正常情况分离的区别信息。
一条研究路线是直接使用流行的预训练深度学习模型,如AlexNet、VGG和ResNet,来提取低维特征。在复杂高维数据(如图像数据和视频数据)中的异常检测中探索了这条线。这条线的一个有趣的工作是在线异常检测的非屏蔽框架。关键思想是迭代训练二元分类器,在滑动窗口中将一组视频帧与其后续视频帧分离,在每个迭代步骤中去除大部分鉴别特征。这类似于去掩码过程。该框架假设第一组视频帧是正常的,并评估其与后续视频帧的可分性。因此,如果随后的视频帧是异常的,则训练分类精度预期为高,否则会低。显然,去掩码框架的功能在很大程度上依赖于特征的质量,因此具有高质量特征来表示视频帧是至关重要的。在ILSVRC基准上预训练的VGG模型被证明能够有效地为此目的提取表达性外观特征。在[88]中,掩码框架被表述为两样本测试任务,以理解其理论基础。他们还表明,使用从动态更新的视频帧采样池中提取的特征可以提高框架的性能。此外,与许多其他任务类似,从源数据集上预训练的深度模型中提取的特征表示可以转移到目标数据集上的微调异常检测器。如[6]所示,一类支持向量机(SVM)可以首先用在ILSVRC上预训练的VGG模型初始化,然后进行微调,以改进MNIST数据的异常分类。类似地,在MNIST上预训练的ResNet模型可以在各种视频监控数据集中实现异常事件检测。
此类别中的另一条研究路线是显示训练深度特征提取模型,而不是下游异常评分的预训练模型。特别地,在[163]中,三个独立的自编码器网络被训练以学习用于视频异常检测的各个外观、运动和外观-运动联合表示的低维特征。三个一类SVM的集成在这些学习的特征表示中的每一个上独立地训练,以执行异常评分。与[163]类似,线性一类SVM用于对深度信念网络(DBN)产生的高维表格数据的低维表示进行异常检测。[65]中使用了无监督分类方法代替单类SVM,以实现投影空间中的异常评分。特别是,他们首先对卷积自编码器产生的视频帧的低维特征进行聚类,然后将聚类标签作为伪类标签进行一对一分类。分类概率用于定义逐帧异常分数。在图异常检测中也可以找到类似的方法,其中在潜在表示空间中使用基于无监督聚类的异常度量来计算图顶点或边的异常。为了学习图顶点的表达表示,以图顶点的一个热编码为输入,通过最小化基于自编码器的重构损失和相邻图顶点的成对距离来优化顶点表示。
优势。这种方法的优点如下。(i) 大量最先进(预训练)的深度模型和现成的异常检测器随时可用。(ii)深度特征提取比流行的线性方法提供了更强大的降维功能。(iii)鉴于深度模型和检测方法的公开可用性,易于实现。
缺点。它们的缺点如下。(i) 完全脱节的特征提取和异常评分常常导致次优的异常评分。(ii)预训练的深度模型通常限于特定类型的数据。
针对性挑战。这类方法将高维/非独立数据投影到低维空间,使现有的异常检测方法能够在更简单的数据空间中工作。低维空间通常有助于揭示隐藏的异常并减少误报(CH2)。然而,应注意,这些方法可能不会为异常检测保留足够的信息,因为数据投影与异常检测完全解耦。此外,该方法允许我们利用多种类型的特征并学习语义丰富的检测模型(例如[65、66、163]中的各种预定义图像/视频特征),这也有助于减少误报(CH1)。
这类方法在某些方面将特征学习与异常评分相结合,而不是像上一节中那样完全解耦这两个模块。这些方法通常分为两类:一般特征学习和异常度量相关特征学习。
这类方法通过优化一般特征学习目标函数来学习数据实例的表示,该目标函数主要不是为异常检测而设计的,但所学习的表示仍然可以增强异常检测,因为它们被迫捕获一些关键的底层数据规则。形式上,该框架可以表示为
{
Θ
∗
,
W
∗
}
=
arg
min
Θ
,
W
∑
x
∈
X
ℓ
(
ψ
(
ϕ
(
x
;
Θ
)
;
W
)
)
,
(2)
\{\Theta^*,W^*\}=\mathop{\arg\min}\limits_{\Theta,W} \sum_{x\in \mathcal{X}}\ell(\psi(\phi(x;\Theta);W)),\tag{2}
{Θ∗,W∗}=Θ,Wargminx∈X∑ℓ(ψ(ϕ(x;Θ);W)),(2)
s
x
=
f
(
x
,
ϕ
Θ
∗
,
ψ
W
∗
)
,
(3)
s_x=f(x,\phi_{\Theta^*},\psi_{W^*}),\tag{3}
sx=f(x,ϕΘ∗,ψW∗),(3)
其中
ϕ
\phi
ϕ将原始数据映射到表示空间
Z
\mathcal{Z}
Z,
ψ
\psi
ψ由W参数化的是在
Z
\mathcal{Z}
Z空间上操作的替代学习任务,并且专用于强制底层数据规则的学习,
ℓ
\ell
ℓ是相对于基础建模方法的损失函数,以及
f
f
f是一种利用
ϕ
\phi
ϕ和
ψ
\psi
ψ计算异常分数𝑠的计分函数。
该方法包括由多个角度驱动的方法,包括数据重建、生成建模、可预测性建模和自监督分类。可预测性建模和自监督分类都建立在自监督学习方法的基础上,但它们有不同的假设、优点和缺点,因此将分别对它们进行回顾。
5.1.1 自动编码器。这种方法旨在学习一些低维特征表示空间,在这些空间上可以很好地重构给定的数据实例。这是一种广泛使用的数据压缩或降维技术。在异常检测中使用该技术的启发是,学习的特征表示被强制学习数据的重要规则以最小化重建误差;异常难以从所得表示中重建,因此具有较大的重建误差。
假设。从压缩空间重构正常实例比重构异常实例更好。
自动编码器(AE)网络是这类中常用的技术。AE由编码网络和解码网络组成。编码器将原始数据映射到低维特征空间,而解码器尝试从投影的低维空间恢复数据。利用重构损失函数学习这两个网络的参数。瓶颈网络体系结构通常用于获得比原始数据低维的表示,这迫使模型保留在重构数据实例中重要的信息。为了最小化整体重建误差,要求保留的信息尽可能与主要实例(例如,正常实例)相关。结果,数据实例(如偏离大多数数据的异常)重建得很差。因此,数据重建误差可以直接用作异常分数。该方法的基本公式如下:
z
=
ϕ
e
(
x
;
Θ
e
)
,
x
^
=
ϕ
d
(
z
;
Θ
d
)
,
(4)
z=\phi_e(x;\Theta_e),\hat x=\phi_d(z;\Theta_d),\tag{4}
z=ϕe(x;Θe),x^=ϕd(z;Θd),(4)
{
Θ
e
∗
,
Θ
d
∗
}
=
arg
min
Θ
e
,
Θ
d
∑
x
∈
X
∣
∣
x
−
ϕ
d
(
ϕ
e
(
x
;
Θ
e
)
;
Θ
d
)
∣
∣
2
,
(5)
\{\Theta^*_e,\Theta^*_d\}=\mathop{\arg\min}\limits_{\Theta_e,\Theta_d} \sum_{x\in \mathcal{X}}||x-\phi_d(\phi_e(x;\Theta_e);\Theta_d)||^2,\tag{5}
{Θe∗,Θd∗}=Θe,Θdargminx∈X∑∣∣x−ϕd(ϕe(x;Θe);Θd)∣∣2,(5)
s
x
=
∣
∣
x
−
ϕ
d
(
ϕ
e
(
x
;
Θ
e
∗
)
;
Θ
d
∗
)
∣
∣
2
,
(6)
s_x=||x-\phi_d(\phi_e(x;\Theta^*_e);\Theta^*_d)||^2,\tag{6}
sx=∣∣x−ϕd(ϕe(x;Θe∗);Θd∗)∣∣2,(6)
其中
ϕ
e
\phi_e
ϕe是带有参数
Θ
e
\Theta_e
Θe的编码网络,
ϕ
d
\phi_d
ϕd带有参数
Θ
d
\Theta_d
Θd的解码网络。编码器和解码器可以共享相同的权重参数以减少参数并使学习规则化。
s
x
s_x
sx是关于x的基于重建误差的异常分数。
已经引入了几种类型的正则化自编码器来学习更丰富和更具表现力的特征表示。特别是,稀疏AE以一种鼓励隐藏层激活单元稀疏的方式进行训练,例如,通过保持top-k最活跃的单元。去噪AE旨在通过学习从一些预定义的损坏数据实例而不是原始数据重构数据,来学习对小变化具有鲁棒性的表示。压缩AE进一步学习特征表示,这些特征表示对其邻居周围实例的小变化具有鲁棒性。这是通过添加基于编码器激活的雅可比矩阵的Frobenius范数的惩罚项来实现的。变分AE相反,通过使用潜在空间上的先验分布对数据实例进行编码,将正则化引入表示空间,防止过拟合,并确保学习空间的某些良好属性,以生成有意义的数据实例。
AEs易于实现,在检测异常时直观直观。因此,它们在文献中得到了广泛的探讨。复制器神经网络是探索数据重建以检测异常的第一件工作,实验集中于静态多维/表格数据。复制器网络建立在具有三个隐藏层的前馈多层感知器上。它使用参数化双曲正切激活函数来获得不同输入值的不同激活级别,这有助于将中间表示离散化为一些预定义的容器。因此,隐藏层自然地将数据实例群集到多个组中,从而能够检测群集异常。在这项工作之后,有许多研究致力于进一步提高这种方法的性能。例如,RandNet通过学习AEs集成进一步增强了基本AEs。在RandNet中,训练一组独立的AE,每个AE具有一些随机选择的恒定断开连接。通过指数增加小批量的样本大小,使用自适应采样策略。RandNet专注于表格数据。在[71]中,自编码器集成的概念扩展到时间序列数据。在稳健主成分分析(RPCA)的推动下,RDA试图通过将原始数据迭代分解为两个子集(正常实例集和异常集)来提高AEs的稳健性。这是通过添加稀疏性惩罚
l
1
l_1
l1或分组处罚
l
2
,
1
l_{2,1}
l2,1到RPCA相似的目标函数来实现,以正则化异常集的系数。
AEs还广泛用于检测除表格数据以外的数据中的异常,如序列数据、图数据和图像/视频数据。一般来说,AEs对这些复杂数据有两种类型的自适应。最直接的方法是遵循与AEs常规使用相同的程序,通过调整网络架构以适应输入数据的类型,如CNN-AE、LSTM-AE、Conv-LSTM AE和GCN(图卷积网络)-AE。这种AEs将编码器-解码器方案嵌入到这些方法的整个过程中。另一种基于AE的方法是首先使用AE来学习复杂数据的低维表示,然后学习去预测这些学习到的表示。AEs的学习和表示预测通常是两个独立的步骤。这些方法与第一类方法的不同之处在于,表示的预测是围绕AEs产生的低维表示进行的。例如,在[91]中,去噪AE与RNN相结合以学习多元序列数据的正常模式,其中,首先使用具有两个隐藏层的去噪AE来学习每个时间步长中多维数据输入的表示,然后训练具有单个隐藏层的RNN来预测去噪AE产生的表示。类似的方法也用于检测声学异常,其中使用了更复杂的RNN,即双向LSTM。
优势。基于数据重建的方法的优点如下。(i) AEs的思想简单明了,适用于不同类型的数据。(ii)可以利用不同类型的强大AE变体来执行异常检测。
缺点。它们的缺点如下。(i) 学习的特征表示可能因训练数据中的不规则性和异常值或异常的存在而有偏差。(ii)数据重建的目标函数设计用于降维或数据压缩,而不是异常检测。因此,生成的表示是底层规则的一般总结,这些规则对于检测不规则性而言不是优化的。
针对性挑战。AE框架下可以使用不同类型的神经网络层和架构,允许我们检测高维数据中的异常,以及非独立数据,如属性图数据和多变量序列数据(CH2)。如果学习到的表示更具表现力(CH1),则与基于手工制作的特征的传统方法相比,这些方法可以减少误报。AE通常容易受到训练数据中出现的数据噪声的影响,因为它们可以被训练以记住这些噪声,从而导致严重的过拟合和小的异常重建误差。RPCA的思想可用于AEs,以训练更稳健的检测模型(CH4)。
5.1.2生成对抗网络。基于GAN的异常检测在早期使用后,迅速成为一种流行的深度异常检测方法。这种方法通常旨在学习生成网络G的潜在特征空间从而潜在空间很好地捕获给定数据下的正态性。然后,将实际实例和生成实例之间的某种形式的残差定义为异常分数。
假定。在GANs中,从生成网络的潜在特征空间生成正常数据实例比生成异常数据实例更好。
早期的方法之一是AnoGAN。关键点是,给定任何数据实例x,它的目标是在生成网络G学习到的潜在特征空间中搜索实例z以便生成相应的实例
G
(
z
)
G(z)
G(z) 和x尽可能相似。由于潜在空间被强制用于捕获训练数据的潜在分布,因此与正常情况相比,异常生成的副本不太可能具有高度相似性。具体而言,首先使用以下常规目标训练GAN:
min
G
max
D
V
(
D
,
G
)
=
E
x
∼
p
x
[
log
D
(
x
)
]
+
E
z
∼
p
z
[
log
(
1
−
D
(
G
(
z
)
)
)
]
,
(7)
\min\limits_G\max\limits_D V(D,G)=\mathbb{E}_{x\sim p_x}[\log D(x)]+\mathbb{E}_{z\sim p_z}[\log(1-D(G(z)))],\tag{7}
GminDmaxV(D,G)=Ex∼px[logD(x)]+Ez∼pz[log(1−D(G(z)))],(7)
其中G和D分别是带有参数
Θ
G
\Theta_G
ΘG与
Θ
D
\Theta_D
ΘD的生成与判别网络(为了简简洁省略了参数)。V是极小极大博弈的极值函数。之后,对于每个x,为了找到其最佳z,使用两个损失函数-残差损失和判别损失-来指导搜索。残差损失定义为
ℓ
R
(
x
,
z
γ
)
=
∣
∣
x
−
G
(
z
γ
)
∣
∣
1
,
(8)
\ell_R(x,z_\gamma)=||x-G(z_\gamma)||_1,\tag{8}
ℓR(x,zγ)=∣∣x−G(zγ)∣∣1,(8)
而判别损失是基于特征匹配技术定义的:
ℓ
f
m
(
x
,
z
γ
)
=
∣
∣
h
(
x
)
−
h
(
G
(
x
γ
)
)
∣
∣
1
,
(9)
\ell_{fm}(x,z_\gamma)=||h(x)-h(G(x_\gamma))||_1,\tag{9}
ℓfm(x,zγ)=∣∣h(x)−h(G(xγ))∣∣1,(9)
其中
γ
\gamma
γ是搜索迭代的索引,h是来自判别器中间层的特征映射。搜索从随机采样的z开始,然后根据从总损失
(
1
−
α
)
ℓ
R
(
x
,
z
γ
)
+
α
ℓ
f
m
(
x
,
z
γ
)
(1-\alpha)\ell_R(x,z_\gamma)+\alpha\ell_{fm}(x,z_\gamma)
(1−α)ℓR(x,zγ)+αℓfm(x,zγ)中得出的梯度更新z,
α
\alpha
α是超参数。在整个搜索过程中,训练的GAN的参数是固定的;该损失仅用于为下一次迭代更新z的系数。因此,根据最后一步
γ
∗
\gamma^*
γ∗获得的x和z之间的相似性来定义异常分数:
s
x
=
(
1
−
α
)
ℓ
R
(
x
,
z
γ
∗
)
+
α
ℓ
f
m
(
x
,
z
γ
∗
)
.
(10)
s_x=(1-\alpha)\ell_R(x,z_{\gamma^*})+\alpha\ell_{fm}(x,z_{\gamma^*}).\tag{10}
sx=(1−α)ℓR(x,zγ∗)+αℓfm(x,zγ∗).(10)
AnoGAN的一个主要问题是z的迭代搜索中的计算效率低下。解决这个问题的一种方法是添加额外的网络,该网络学习从数据实例到潜在空间的映射,即生成器的逆,从而产生类似EBGAN和fast AnoGAN的方法。这两种方法具有相同的精神。在这里,我们重点关注基于双向GAN(BiGAN)的EBGAN。特别的是,BiGAN有一个编码器E将x映射到潜在空间中的z,同时学习G, D和E。而不是区分x和G(z) ,BiGAN的目的是从(G(z),z)中区分一对实例(x,E(x)):
min
G
,
E
max
D
E
x
∼
p
x
[
E
z
∼
p
E
(
⋅
∣
x
)
log
[
D
(
x
,
z
)
]
]
+
E
z
∼
p
z
[
E
x
∼
p
G
(
⋅
∣
z
)
[
log
(
1
−
D
(
x
,
z
)
)
]
]
,
(11)
\min\limits_{G,E}\max\limits_D\mathbb{E}_{x\sim{p_x}}[\mathbb{E}_{z\sim{p_E(\cdot|x)}}\log[D(x,z)]]+\mathbb{E}_{z\sim{p_z}}[\mathbb{E}_{x\sim{p_G(\cdot|z)}}[\log(1-D(x,z))]],\tag{11}
G,EminDmaxEx∼px[Ez∼pE(⋅∣x)log[D(x,z)]]+Ez∼pz[Ex∼pG(⋅∣z)[log(1−D(x,z))]],(11)
在训练后,受AnoGAN中等式10的启发,EBGAN定义异常得分为:
s
x
=
(
1
−
α
)
ℓ
G
(
x
)
+
α
ℓ
D
(
x
)
,
(12)
s_x=(1-\alpha)\ell_G(x)+\alpha\ell_D(x),\tag{12}
sx=(1−α)ℓG(x)+αℓD(x),(12)
其中
e
l
l
G
(
x
)
=
∣
∣
x
−
G
(
E
(
x
)
)
∣
∣
1
ell_G(x)=||x-G(E(x))||_1
ellG(x)=∣∣x−G(E(x))∣∣1和
ℓ
D
(
x
)
=
∣
∣
h
(
x
,
E
(
x
)
)
−
h
(
G
(
E
(
x
)
)
,
E
(
x
)
)
∣
∣
1
.
\ell_D(x)=||h(x,E(x))-h(G(E(x)),E(x))||_1.
ℓD(x)=∣∣h(x,E(x))−h(G(E(x)),E(x))∣∣1.这消除了在AnoGAN中迭代搜索z的需要。EBGAN通过添加两个的判别器扩展到一种称为ALAD的方法,一个判别器试图从(x,G(E(x)))中判别(x,x),另外一个判别器试图从(z,E(G(z)))中判别(z,z)。
GANomaly通过将生成器网络更改为编码器-解码器-编码器网络并添加两个额外的损失函数,进一步改进了生成器。生成器在概念上可以表示为:
x
⟶
G
E
z
⟶
G
D
x
^
⟶
E
z
^
,
x \stackrel{G_E}{\longrightarrow}z \stackrel{G_D}{\longrightarrow} \hat{x} \stackrel{E}{\longrightarrow} \hat{z},
x⟶GEz⟶GDx^⟶Ez^,G是编码器
G
E
G_E
GE和解码器
G
D
G_D
GD组成的,常用的特征匹配损失为:
ℓ
f
m
=
E
x
∼
p
x
∣
∣
h
(
x
)
−
h
(
G
(
x
)
)
∣
∣
2
,
(13)
\ell_{fm}=\mathbb{E}_{x\sim p_x}||h(x)-h(G(x))||_2,\tag{13}
ℓfm=Ex∼px∣∣h(x)−h(G(x))∣∣2,(13)
生成器包括上下文损失和编码损失,以生成更真实的实例:
ℓ
c
o
n
=
E
x
∼
p
x
∣
∣
x
−
G
(
x
)
∣
∣
1
,
(14)
\ell_{con}=\mathbb{E}_{x\sim p_x}||x-G(x)||_1,\tag{14}
ℓcon=Ex∼px∣∣x−G(x)∣∣1,(14)
ℓ
e
n
c
=
E
x
∼
p
x
∣
∣
G
E
(
x
)
−
E
(
G
(
x
)
)
∣
∣
2
.
(15)
\ell_{enc}=\mathbb{E}_{x\sim p_x}||G_E(x)-E(G(x))||_2.\tag{15}
ℓenc=Ex∼px∣∣GE(x)−E(G(x))∣∣2.(15)
等式(14)中的上下文损失迫使生成器在生成
x
^
\hat x
x^时考虑输入x的上下文信息。等式(15)中的编码损失有助于生成器学习如何对生成实例的特征进行编码。然后,总损失定义为:
ℓ
=
α
ℓ
f
m
+
β
ℓ
c
o
n
+
γ
ℓ
e
n
c
,
(16)
\ell=\alpha\ell_{fm}+\beta\ell_{con}+\gamma\ell_{enc},\tag{16}
ℓ=αℓfm+βℓcon+γℓenc,(16)
其中
α
,
β
,
γ
\alpha,\beta,\gamma
α,β,γ是超参数确定每个独立损失的权重。由于训练数据主要包含正常实例,编码器
G
G
G和
E
E
E针对正常实例的编码进行优化,因此,异常得分可以定义为
s
x
=
∣
∣
G
E
(
x
)
−
E
(
G
(
x
)
)
∣
∣
1
,
(17)
s_x=||G_E(x)-E(G(x))||_1,\tag{17}
sx=∣∣GE(x)−E(G(x))∣∣1,(17)
其中如果x是异常的情况下,
s
x
s_x
sx会很大。
多年来已经引入了许多其他GAN,如Wasserstein GAN和Cycle GAN。它们可用于进一步增强上述方法的异常检测性能,例如用Wasserstein GAN代替标准GAN。另一个相关的研究方向是对抗学习端到端的一类分类模型,该模型被归类为端到端异常得分学习框架,并在第6.4节中讨论。
优势。这些方法的优点如下。(i) GANs在生成真实实例方面表现出了卓越的能力,尤其是在图像数据上,从而能够检测从潜在空间重建较差的异常实例。(ii)大量现有的基于GAN的模型和理论可适用于异常检测。
缺点。它们的缺点如下。(i) GANs的训练可能会遇到多个问题,例如无法收敛和模式崩溃,这导致训练基于GANs的异常检测模型的难度很大。(ii)生成器网络可能被误导,并从正常实例的流形中生成数据实例,特别是当给定数据集的真实分布复杂或训练数据包含意外的异常值时。(iii)基于GANs的异常得分可能是次优的,因为它们建立在生成器网络上,目标是数据合成而不是异常检测。
针对性挑战。与AEs类似,基于GAN的异常检测能够通过检查从学习的低维潜在空间(CH2)重构来检测高维异常。当潜在空间保留重要的异常识别信息时,它有助于提高原始数据空间(CH1)中的检测精度。
5.1.3 可预测性建模。基于可预测性建模的方法通过使用时间窗口内的先前实例的表示作为上下文来预测当前数据实例来学习特征表示。在本节中,数据实例被称为序列中的单个元素,例如视频序列中的视频帧。该技术广泛用于序列表示学习和预测。为了实现准确的预测,这些表示被强制以捕获给定序列长度内的时间/顺序和循环依赖性。正常实例通常很好地依附于这些依赖性,并且可以很好地预测,而异常通常违反这些依赖性并且是不可预测的。因此,预测误差可用于定义异常分数。
假定。正常情况在时间上比异常情况更可预测。
这条研究路线在视频异常检测中很流行。视频序列包含复杂的高维时空特征。在预测目标函数中需要对外观和运动特征的不同约束,以确保视频帧的可靠预测。[86]中初步探讨了这种深度异常检测方法。形式上,给定连续的视频序列t帧
x
1
,
x
2
,
⋯
,
x
t
,
x_1,x_2,\cdots,x_t,
x1,x2,⋯,xt,则学习任务是使用所有这些帧来生成未来帧
x
^
t
+
1
\hat x_{t+1}
x^t+1使得
x
^
t
+
1
\hat x_{t+1}
x^t+1尽可能接近真实值
x
t
+
1
x_{t+1}
xt+1.其一般目标函数可表示为:
α
ℓ
p
r
e
d
(
x
^
t
+
1
,
x
t
+
1
)
+
β
ℓ
a
d
v
(
x
^
t
+
1
)
,
(18)
\alpha\ell_{pred}(\hat x_{t+1},x_{t+1})+\beta\ell_{adv}(\hat x_{t+1}),\tag{18}
αℓpred(x^t+1,xt+1)+βℓadv(x^t+1),(18)
其中
x
^
t
+
1
=
ψ
(
ϕ
(
x
1
,
x
2
,
⋯
,
x
t
;
Θ
)
;
W
)
,
\hat x_{t+1}=\psi(\phi(x_1,x_2,\cdots,x_t;\Theta);W),
x^t+1=ψ(ϕ(x1,x2,⋯,xt;Θ);W),
ℓ
p
r
e
d
\ell_{pred}
ℓpred是由均方误差度量的帧预测损失,
ℓ
a
d
v
\ell_{adv}
ℓadv是对抗损失。名为U-Net的流行网络架构用于实例化
ψ
\psi
ψ函数来生成帧。
ℓ
p
r
e
d
\ell_{pred}
ℓpred由一组三个独立的损失组成旨在加强
x
^
t
+
1
\hat x_{t+1}
x^t+1和
x
t
+
1
x_{t+1}
xt+1的相近度,三个关键图像特征描述符中:强度、梯度和光流。
ℓ
a
d
v
\ell_{adv}
ℓadv是由于使用对抗性训练来增强图像生成。在训练之后,对于给定视频帧x,基于预测差
∣
∣
x
i
−
x
^
i
∣
∣
2
||x_i-\hat x_i||_2
∣∣xi−x^i∣∣2的归一化峰值信噪比用于定义异常分数。在同一框架下,在[167]中添加了一个额外的基于自编码器的重建网络,以进一步细化预测帧质量,这有助于扩大正常帧和异常帧之间的异常得分差。
该方向的另一条研究路线是基于自回归模型,该模型假设序列中的每个元素线性依赖于先前的元素。[1]中利用自回归模型来估计潜在空间中训练样本的密度,这有助于避免假设特定的分布族。具体而言,给定x及其潜在空间表示
z
=
ϕ
(
x
;
Θ
)
,
z=\phi(x;\Theta),
z=ϕ(x;Θ),自回归模型分解
p
(
z
)
p(z)
p(z)为
p
(
z
)
=
∏
j
=
1
K
p
(
z
j
∣
z
1
:
j
−
1
)
,
(19)
p(z)=\prod^K_{j=1}p(z_j|z_{1:j-1}),\tag{19}
p(z)=j=1∏Kp(zj∣z1:j−1),(19)
其中
z
1
:
j
=
{
z
1
,
z
2
,
⋯
,
z
j
−
1
}
,
p
(
z
j
∣
z
1
:
j
)
z_{1:j}=\{z_1,z_2,\cdots,z_{j-1}\},p(z_j|z_{1:j})
z1:j={z1,z2,⋯,zj−1},p(zj∣z1:j)表示的概率质量函数
z
j
z_j
zj以所有以前的实例
z
1
:
j
−
1
z_{1:j-1}
z1:j−1为条件同时𝐾 是潜在空间的维度大小。[1]中的目标是联合学习自编码器和配备有自回归网络层的和密度估计网络
ψ
(
z
;
W
)
\psi(z;W)
ψ(z;W)。总损失可表示为:
L
=
E
x
[
∣
∣
x
−
ϕ
d
(
ϕ
e
(
x
;
Θ
e
)
;
Θ
d
)
∣
∣
2
−
λ
log
(
ψ
(
z
;
W
)
)
]
,
(20)
L=\mathbb{E}_x[||x-\phi_d(\phi_e(x;\Theta_e);\Theta_d)||_2-\lambda\log(\psi(z;W))],\tag{20}
L=Ex[∣∣x−ϕd(ϕe(x;Θe);Θd)∣∣2−λlog(ψ(z;W))],(20)
其中第一项是由MSE度量的重建误差,而第二项是在估计的条件概率密度先验下表示的对数似然测量的自回归损失。最小化这种损失可以学习常见且易于预测的特征。在评估阶段,将重建误差和对数似然度结合起来定义异常分数。
优势。这类方法的优点如下。(i) 许多序列学习技术可以被适配并结合到该方法中。(ii)这种方法能够学习不同类型的时间和空间依赖关系。
缺点。它们的缺点如下。(i) 这种方法仅限于序列数据中的异常检测。(ii)序列预测在计算上可能是昂贵的。(iii)学习的表示对于异常检测可能是次优的,因为其基本目标是用于序列预测而不是异常检测。
针对性挑战。该方法特别设计用于学习表达性时间相关低维表示,这有助于解决高维和/或时间数据集(CH1和CH2)中异常检测的误报问题。这里的预测以一些经过的时间实例为条件,因此这类方法能够检测基于时间上下文的条件异常(CH5)。
5.1.4 自监督分类。该方法通过构建自监督分类模型来学习正态性的表示,并将与分类模型不一致的实例识别为异常。这种方法植根于基于交叉特征分析或特征模型的传统方法。这些浅层方法通过数据实例与一组预测模型的一致性来评估数据实例的正态性,每个模型学习根据其他特征预测一个特征。给定所有特征的分类/回归模型,测试实例的一致性可以通过平均预测结果、基于对数损失的预测或二分决策的多数投票来衡量。与这些侧重于表格数据并使用原始数据构建特征模型的研究不同,基于深度一致性的异常检测侧重于图像数据,并使用基于特征变换的增强数据构建预测模型。为了有效区分转换的实例,分类模型被强制学习对于描述训练数据中呈现的实例的基本模式非常重要的特征。因此,正常情况通常与分类模型具有更强的一致性。
假设。正常实例比异常实例更符合自监督分类器。
该方法在[48]中进行了初步探讨。为了建立预测模型,首先将不同的几何变换操作组合(包括水平翻转、平移和旋转)应用于正常训练图像。在增强数据上训练深度多目标分类模型,用来自同一类(即合成类)的特定转换操作处理数据实例。在推理时,使用每个转换组合来增强测试实例,并且通过将所有softmax分类得分聚合到增强的测试实例来定义它们的正态性得分。其损失函数定义为
L
c
o
n
s
=
C
E
(
ψ
(
z
T
j
;
W
)
,
y
T
j
)
,
(21)
L_{cons}=CE(\psi(z_{T_j};W),y_{T_j}),\tag{21}
Lcons=CE(ψ(zTj;W),yTj),(21)
其中
z
T
j
=
ϕ
(
T
j
(
x
)
;
Θ
)
z_{T_j}=\phi(T_j(x);\Theta)
zTj=ϕ(Tj(x);Θ)是通过类型
T
j
T_j
Tj转换操作增强后实例x的低维特征表示,
ψ
\psi
ψ是带有参数W的多类别分类器,
y
T
j
y_{T_j}
yTj是使用转换操作
T
j
T_j
Tj增强的实例的合成类的一个热编码,而且CE是一个标准的交叉熵损失函数。
通过最小化等式(21),我们获得了针对分类器优化的表示
ψ
\psi
ψ。然后,我们可以应用特征学习器
ϕ
(
⋅
,
Θ
∗
)
\phi(\cdot,\Theta^*)
ϕ(⋅,Θ∗)和分类器
ψ
(
⋅
,
W
∗
)
\psi(\cdot,W^*)
ψ(⋅,W∗)获得每个通过转换操作
T
j
T_j
Tj进行增强的测试实例的分类得分,每个测试实例的分类分数不同
T
j
T_j
Tj 然后聚集以计算异常得分。为此,分类分数取决于
T
j
T_j
Tj假设遵循[48]中的Dirichlet分布,以估计测试实例与分类模型
ψ
\psi
ψ的一致性; 不同
T
j
T_j
Tj分类得分的简单平均值,它也很有效。
[48]中假设了半监督设置,即训练数据仅包含正常实例。[157]中的无监督设置中探索了类似的思想,其中变换集包含四个变换操作,即旋转、翻转、移位和路径重新排列。[157]中揭示的两个关键见解是:(i)在这种自监督多类分类模型的训练过程中,正常情况下产生的梯度幅度通常远大于异常值;以及(ii)网络更新方向也偏向于正常情况。由于这两个特性,正常情况通常比异常情况更符合分类模型。评估了使用分类得分定义异常得分的三种策略,包括平均预测概率、最大预测概率和所有预测概率的负熵。他们的结果表明,基于负熵的异常分数通常比其他两种策略表现更好。
优势。基于深度一致性的方法的优点如下。(i) 它们在无监督和半监督环境下都能很好地工作。(ii)异常评分基于梯度幅度及其更新的一些固有属性。
缺点。它们的缺点如下。(i) 特征转换操作通常依赖于数据。上述变换操作仅适用于图像数据。(ii)尽管分类模型是以端到端的方式训练的,但基于一致性的异常得分是基于分类得分而不是优化中的集成模块得出的,因此它们可能是次优的。
针对性挑战。与原始高维空间(CH1和CH2)相比,该方法学习正常态表达性低维表示有助于更好地检测异常。由于自监督分类器中呈现的异常和正常实例之间存在一些内在差异,该方法也能够在无监督环境中工作,证明了对训练数据中的异常污染的良好鲁棒性(CH4)。
异常度量相关特征学习旨在学习针对一个特定的现有异常度量特别优化的特征表示。形式上,这组方法的框架可以表示为
{
Θ
∗
,
W
∗
}
=
arg
min
Θ
,
W
∑
x
∈
X
ℓ
(
f
(
ϕ
(
x
;
Θ
)
;
W
)
)
,
(22)
\{\Theta^*,W^*\}= \mathop{\arg\min}\limits_{\Theta,W} \sum_{x\in\mathcal{X}}\ell(f(\phi(x;\Theta);W)),\tag{22}
{Θ∗,W∗}=Θ,Wargminx∈X∑ℓ(f(ϕ(x;Θ);W)),(22)
s
x
=
f
(
ϕ
(
x
;
Θ
∗
)
;
W
∗
)
,
(23)
s_x=f(\phi(x;\Theta^*);W^*),\tag{23}
sx=f(ϕ(x;Θ∗);W∗),(23)
其中f是在表示空间上操作的现有异常评分度量。请注意f是否涉及可训练参数W取决于所使用的异常度量。不同于等式(2-3)中的一般特征学习方法。在获得学习表示后,根据一些启发式方法计算异常得分,该研究线结合了现有的异常度量f引入特征学习目标函数,以优化特征表示,特别针对f。下面,我们回顾专门为三种常见异常度量设计的表示学习,包括基于距离的度量、一类分类度量和基于聚类的度量。
5.2.1 基于距离的度量。基于深度距离的异常检测旨在学习针对特定类型的基于距离的异常度量特别优化的特征表示。基于距离的方法简单易行。已经引入了许多有效的基于距离的异常度量,例如DB异常值,𝑘-最近邻距离,平均值𝑘-最近邻距离、相对距离和随机最近邻距离。这些传统的基于距离的异常度量的一个主要限制是,由于维数的限制,它们无法在高维数据中有效工作。由于基于深度距离的异常检测技术在应用距离度量之前将数据投影到低维空间,因此它可以很好地克服这一限制。
假定。异常分布在远离其最近邻居的地方,而正常情况位于密集的社区。
该方法首先在[112]中进行了探索,其中利用基于随机邻居距离的异常度量来驱动超高维数据的低维表示的学习。关键思想是优化表示,使得随机子样本中伪标记异常的最近邻距离大于伪标记正常实例的最近邻。伪标签由一些现成的异常检测器生成。让
S
∈
X
\mathcal{S}\in\mathcal{X}
S∈X是从数据集
X
\mathcal{X}
X中随机采样数据实例的子集,
A
\mathcal{A}
A和
N
\mathcal{N}
N分别代表着异常和正常实例集合的伪标签,其中
X
=
A
∪
N
\mathcal{X}=\mathcal{A}\cup\mathcal{N}
X=A∪N和
∅
=
A
∩
N
,
\varnothing=\mathcal{A}\cap\mathcal{N},
∅=A∩N,它的损失函数建立在合页损失函数基础上:
L
q
u
e
r
y
=
1
∣
X
∣
∑
x
∈
X
,
x
′
∈
N
max
{
0
,
m
+
f
(
x
′
,
S
:
Θ
)
−
f
(
x
,
S
;
Θ
)
}
,
(24)
L_{query}=\frac{1}{|\mathcal{X}|}\sum\limits_{x\in\mathcal{X},x^\prime\in N}\max\{0,m+f(x^\prime,\mathcal{S}:\Theta)-f(x,\mathcal{S};\Theta)\},\tag{24}
Lquery=∣X∣1x∈X,x′∈N∑max{0,m+f(x′,S:Θ)−f(x,S;Θ)},(24)
其中m是
f
(
x
,
S
;
Θ
)
f(x,\mathcal{S};\Theta)
f(x,S;Θ)产生的两个距离之间的边距的预定义常数,其是在表示空间中操作的随机最近邻距离函数:
f
(
x
,
S
;
Θ
)
=
min
x
′
∈
S
∣
∣
ϕ
(
x
;
Θ
)
,
ϕ
(
x
′
;
Θ
)
∣
∣
2
.
(25)
f(x,\mathcal{S};\Theta)=\min\limits_{x\prime \in\mathcal{S}}||\phi(x;\Theta),\phi(x\prime;\Theta)||_2.\tag{25}
f(x,S;Θ)=x′∈Smin∣∣ϕ(x;Θ),ϕ(x′;Θ)∣∣2.(25)
最小化等式(24)中的损失可确保异常的随机最近邻距离至少为m大于
ϕ
\phi
ϕ空间的投影表示的正常实例。在评估阶段,等式(25)中的随机距离直接用于获得每个测试实例的异常分数。按照这种方法,我们还可以通过将等式(25)替换为其他度量例如𝑘-最近邻距离或平均值𝑘-最近邻距离,从而获得相似的表示学习。然而,这些度量的计算成本明显高于等式(25)。因此,这种自适应的一个主要挑战是过高的计算成本。
与[112]相比需要查询随机数据子集中的最近邻距离,受[19]的启发,在[155]中探索的一个更简单的思想使用相同实例的优化表示和随机投影表示之间的距离来指导表示学习。该方法的目标如下:
Θ
∗
=
arg
min
Θ
∑
x
∈
X
f
(
ϕ
(
x
;
Θ
)
,
ϕ
′
(
x
)
)
,
(26)
\Theta^*=\mathop{\arg\min}\limits_{\Theta}\sum\limits_{x\in\mathcal{X}}f(\phi(x;\Theta),\phi^\prime(x)),\tag{26}
Θ∗=Θargminx∈X∑f(ϕ(x;Θ),ϕ′(x)),(26)
其中
ϕ
′
\phi^\prime
ϕ′是一个随机映射函数,通过在
ϕ
\phi
ϕ使用的带有固定随机权重的神经网络所实例化。f是同一个数据实例的两个表示之间距离的度量。如[19]所述,求解等式(26)相当于从随机神经网络中提取知识,并有助于学习数据中不同底层模式的频率。然而,等式(26)忽略了数据实例之间的相对接近度,并且对数据中呈现的异常非常敏感。如[155]所示,这种相近信息可以通过前置任务学习,其中我们的目标是预测随机实例对之间的距离。提升过程也可用于迭代过滤潜在异常并建立鲁棒检测模型。在评估阶段,
f
(
ϕ
(
x
;
Θ
∗
)
,
ϕ
′
(
x
)
)
f(\phi(x;\Theta^*),\phi^\prime(x))
f(ϕ(x;Θ∗),ϕ′(x))用于计算异常分数。
优势。这类方法的优点如下。(i) 基于距离的异常是直接的,并且在文献中有丰富的理论支持。因此,基于深距离的异常检测方法可以很好地扎根因为有之前相关工作的坚实基础。(ii)它们在低维表示空间中工作,并且可以有效地处理传统的基于距离的异常度量失败的高维数据。(iii)他们能够学习专门为自己量身定制的表达。
缺点。它们的缺点如下。(i) 大多数基于距离的异常度量所涉及的大量计算可能是将基于距离的异常度量纳入表示学习过程的障碍。(ii)它们的能力可能受到基于距离的异常度量的固有弱点的限制。
针对性挑战。该方法能够学习为现有基于距离的异常度量量身定制的低维表示,解决了基于距离的检测(CH1和CH2)中臭名昭著的维数诅咒。如[112]所示,可以设计一种自适应三重态损耗,以利用几个标记的异常示例来学习更有效的正态性表示(CH3)。得益于伪异常标记,这些方法对潜在异常污染也具有鲁棒性,并在完全无监督的环境中有效工作(CH4)。
5.2.2基于度量的一类分类。这类方法旨在学习为后续基于一类分类的异常检测定制的特征表示。一类分类被称为学习一组数据实例的描述以检测新实例是否符合训练数据的问题。它是异常检测最常用的方法之一。大多数单类分类模型受支持向量机(SVM)的启发,例如两种广泛使用的单类模型:一类SVM(或𝑣-SVC)和支持向量数据描述(SVDD)。这里的一个主要研究方向是学习为这些传统的一类分类模型专门优化的表示。这是本节的重点。另一条路线是学习端到端对抗一类分类模型,这将在第6.4节中讨论。
假定。所有正常的实例都来自一个(抽象)类,可以用一个紧凑的模型来概括,异常不符合该模型。
有许多研究致力于将一类SVM与神经网络相结合。传统的一类SVM是学习超平面,该超平面最大化训练数据实例和原点之间的距离。深度一类支持向量机的关键思想是从支持神经网络的低维表示空间而不是原始输入空间学习一类超平面。让
z
=
ϕ
(
x
;
Θ
)
,
z=\phi(x;\Theta),
z=ϕ(x;Θ),那么[27、104、161]中关键思想的一般表述可以表示为
min
r
,
Θ
,
w
1
2
∣
∣
Θ
∣
∣
2
+
1
v
N
∑
i
=
1
N
max
{
0
,
r
−
w
T
z
i
}
−
r
,
(27)
\min\limits_{r,\Theta,w}\frac{1}{2}||\Theta||^2+\frac{1}{vN}\sum\limits_{i=1}^N\max\{0,r-w^Tz_i\}-r,\tag{27}
r,Θ,wmin21∣∣Θ∣∣2+vN1i=1∑Nmax{0,r−wTzi}−r,(27)
其中r是边距参数,
Θ
\Theta
Θ是一个表示网络的参数,
w
T
z
w^Tz
wTz比如
w
T
ϕ
(
x
;
Θ
)
)
w^T\phi(x;\Theta))
wTϕ(x;Θ))代替了满足
k
(
x
i
,
x
j
)
=
<
Φ
(
x
i
)
,
Φ
(
x
j
)
>
k(x_i,x_j)=<\Phi(x_i),\Phi(x_j)>
k(xi,xj)=<Φ(xi),Φ(xj)>的原始点积
<
w
,
Φ
(
x
)
>
.
该公式带来了两个主要好处:(i)它可以利用(预训练的)深度网络来学习用于下游异常检测的更具表现力的特征,以及(iii)它还有助于消除核函数中计算昂贵的成对距离计算。如[104,161]所示,AEs中的重建损失可以添加到等式(27)中,以增强表示z的表达能力。如[124]所示的,许多核函数可以用随机傅立叶特征近似。因此,在
w
T
z
w^Tz
wTz之前、 某种形式的随机映射ℎ 可应用于z以生成傅立叶特征,从而产生
w
T
h
(
z
)
w^Th(z)
wTh(z),这可以进一步改进一类SVM模型。另一条研究线研究SVDD的深度模型。SVDD旨在学习以中心c和半径r为特征的最小超平面使得球体包含所有训练数据实例。
min
r
,
c
,
ξ
r
2
+
1
v
N
∑
i
=
1
N
ξ
i
(28)
\min\limits_{r,c,\xi}r^2+\frac{1}{vN}\sum\limits_{i=1}^N\xi_i\tag{28}
r,c,ξminr2+vN1i=1∑Nξi(28)
s
.
t
.
∣
∣
Φ
(
x
i
)
−
c
∣
∣
2
≤
r
2
+
ξ
i
,
ξ
i
≥
0
,
∀
i
.
(29)
s.t.||\Phi(x_i)-c||^2\le r^2+\xi_i,\xi_i\ge0,\forall i.\tag{29}
s.t.∣∣Φ(xi)−c∣∣2≤r2+ξi,ξi≥0,∀i.(29)
与深度一类SVM类似,深度SVDD还旨在利用神经网络将数据实例映射到最小体积的球体中,然后使用合页损失函数来保证球体中心和投影实例之间的距离。然后,可以通过最小化以下损失来联合训练特征学习和SVDD目标:
min
r
,
Θ
r
2
+
1
v
N
∑
i
=
1
N
max
{
0
,
∣
∣
ϕ
(
x
i
;
Θ
)
−
c
∣
∣
2
−
r
2
}
+
λ
2
∣
∣
Θ
∣
∣
2
.
(30)
\min\limits_{r,\Theta}r^2+\frac{1}{vN}\sum\limits_{i=1}^N\max\{0,||\phi(x_i;\Theta)-c||^2-r^2\}+\frac{\lambda}{2}||\Theta||^2.\tag{30}
r,Θminr2+vN1i=1∑Nmax{0,∣∣ϕ(xi;Θ)−c∣∣2−r2}+2λ∣∣Θ∣∣2.(30)
这假设训练数据在无监督设置中包含一小部分异常污染。在半监督设置中,损失函数可以简化为
min
Θ
1
N
∣
∣
ϕ
(
x
i
;
Θ
)
−
c
∣
∣
2
+
λ
2
∣
∣
Θ
∣
∣
2
,
(31)
\min\limits_{\Theta}\frac{1}{N}||\phi(x_i;\Theta)-c||^2+\frac{\lambda}{2}||\Theta||^2,\tag{31}
ΘminN1∣∣ϕ(xi;Θ)−c∣∣2+2λ∣∣Θ∣∣2,(31)
这直接最小化了训练数据实例的表示与中心c之间的平均距离。注意,在等式(31)中包括c作为可训练参数可能导致平凡的解。[132]中表明,c可以固定为通过执行单个初始正向传递产生的特征表示的平均值。深度SVDD还可以进一步扩展,以解决另一个半监督设置,其中有少量标记的正常实例和异常实例可用。关键思想是最小化标记正常实例到中心的距离,同时最大化已知异常到中心的间距。这可以通过将
∑
j
=
1
M
(
∣
∣
ϕ
(
x
j
′
;
Θ
)
−
c
∣
∣
2
)
y
j
\sum_{j=1}^M(||\phi(x^\prime_j;\Theta)-c||^2)^{y_j}
∑j=1M(∣∣ϕ(xj′;Θ)−c∣∣2)yj添加到等式31中实现,其中
x
j
′
x^\prime_j
xj′是标记的实例,当它是一个正常实例时
y
j
=
+
1
y_j=+1
yj=+1,否则
y
j
=
−
1.
y_j=-1.
yj=−1.
优势。这类方法的优点如下。(i) 基于一类分类的异常在文献中得到了很好的研究,并为基于深度一类分类方法提供了坚实的基础。(ii)表示学习和一类分类模型可以被统一以学习定制的和更优化的表示。(iii)它们使用户无需在传统的单类模型中手动选择合适的核函数。
缺点。它们的缺点如下。(i) 单类模型在正态类内具有复杂分布的数据集中可能无效。(ii)检测性能取决于基于一类分类的异常度量。
针对性挑战。这类方法通过学习针对一类分类模型(CH1和CH2)优化的低维表示空间来提高检测精度。这些方法可以利用少量标记的正常和异常数据来学习更有效的单类描述模型,该模型不仅可以检测已知异常,还可以检测新的异常类(CH3)。
5.2.3 基于聚类的度量。基于深度聚类的异常检测旨在学习表示,使得异常明显偏离新学习的表示空间中的聚类。聚类和异常检测的任务自然相互关联,因此已有大量研究致力于使用聚类结果来定义异常,例如,聚类大小、到聚类中心的距离、聚类中心之间的距离和聚类隶属度。基于高斯混合模型的异常检测也包括在这一类别中,因为其与聚类的一些内在关系,例如,高斯混合模型(GMM)中的似然拟合对应于数据实例到高斯聚类/分量中心的距离的聚合。
假设。与异常情况相比,正常情况对集群的依附性更强。
深度聚类旨在学习针对特定聚类算法定制的特征表示,是这种异常检测方法最关键的组成部分。近年来,许多研究探索了这个问题。主要动机是聚类方法的性能高度依赖于输入数据。专门为聚类算法定制的学习特征表示可以很好地保证其在不同数据集上的性能。一般来说,这里有两个关键点:(i)良好的表示可以实现更好的聚类,良好的聚类结果可以为表示学习提供有效的监督信号;以及(ii)由于聚类算法做出的基础假设的差异,针对一种聚类算法优化的表示不一定对其他聚类算法有用。
深度聚类方法通常由两个模块组成:在前向传递中执行聚类,在后向传递中使用聚类分配作为伪类标签来学习表示。其损失函数通常是最关键的部分,通常可以表示为
α
ℓ
c
l
u
(
f
(
ϕ
(
x
;
Θ
)
;
W
)
,
y
x
)
+
β
ℓ
a
u
x
(
X
)
,
(32)
\alpha\ell_{clu}(f(\phi(x;\Theta);W),y_x)+\beta\ell_{aux}(\mathcal{X}),\tag{32}
αℓclu(f(ϕ(x;Θ);W),yx)+βℓaux(X),(32)
其中
ℓ
c
l
u
\ell_{clu}
ℓclu是一个距离损失函数,
ϕ
\phi
ϕ是一个有参数
Θ
\Theta
Θ的特征学习器,f是一个聚类分配函数拥有参数W,
y
x
y_x
yx表示群集生成的伪类标签,
ℓ
a
u
x
\ell_{aux}
ℓaux是非聚类损失函数,用于对所学习的表示施加附加约束;
α
,
β
\alpha,\beta
α,β是控制两个损失的重要性的两个超参数。
ℓ
c
l
u
\ell_{clu}
ℓclu可以用𝑘-均值损失、光谱聚类损失、凝聚聚类损失或GMM损失实例化,使得能够针对目标聚类算法进行表示学习。
ℓ
a
u
x
\ell_{aux}
ℓaux通常使用基于自编码器的重建损失实例化,以学习鲁棒和/或局部结构保留表示。
在深度聚类之后,结果函数𝑓中的群集分配,该函数可用于计算异常分数基于[59、67、68、141]。然而,应该注意,如果训练数据被异常污染,深度聚类可能会受到异常的影响。因此,上述方法可以应用于半监督设置,其中训练数据仅由正常实例组成。在无监督设置中,需要在
ℓ
c
l
u
\ell_{clu}
ℓclu和或
ℓ
a
u
x
\ell_{aux}
ℓaux额外约束下以消除潜在异常的影响。
上述深度聚类方法侧重于学习最优聚类结果。尽管它们的聚类结果适用于异常检测,但学习的表示可能无法很好地捕获异常的异常性。重要的是,利用聚类技术来学习表示,这样异常情况对聚类的依附性明显低于正常情况。[83,179]中显示了这种方法的一些有希望的结果,其中他们旨在学习基于GMM的模型的表示,并优化表示以突出异常。这两项研究的一般形式与等式(32)相似,具有
ℓ
c
l
u
\ell_{clu}
ℓclu和
ℓ
a
u
x
\ell_{aux}
ℓaux分别指定为GMM损失和基于自动编码器的重建损失,但为了学习异常的偏差表示,它们将基于重建误差的一些手工特征与自动编码器的学习特征连接起来,以优化组合特征。由于基于重构误差的手工特征捕获了数据的正态性,因此得到的表示对于异常检测比其他深度聚类方法更为理想。
优势。基于深度聚类的方法的优点如下。(i) 许多深度聚类方法和理论可用于支持异常检测的有效性和理论基础。(ii)与传统的基于聚类的方法相比,基于深度聚类的方法学习特别优化的表示,这有助于比原始数据更容易发现异常,尤其是在处理复杂的数据集时。
缺点。它们的缺点如下。(i) 异常检测的性能在很大程度上取决于聚类结果。(ii)聚类过程可能会因训练数据中受污染的异常而产生偏差,这反过来会导致较低的有效表示。
针对性挑战。将基于聚类的异常度量应用于数据输入的新学习的低维表示;当新的表示空间保留了足够的鉴别信息时,深度方法可以获得比原始数据空间(CH1和CH2)更好的检测精度。一些聚类算法对异常值敏感,因此当给定数据被异常污染时,深度聚类和随后的异常检测可能会被误导。使用来自自编码器重建误差的手工特征进行深度聚类可能有助于学习不受污染(CH4)影响的更稳健模型。
该研究线旨在以端到端的方式学习标量异常分数。与依赖于异常度量的特征学习相比,这种方法中的异常得分不依赖于现有的异常度量;它有一个直接学习异常分数的神经网络。通常需要新的损失函数来驱动异常评分网络。形式上,该方法旨在学习端到端异常分数学习网络:
τ
(
⋅
;
Θ
)
:
X
↦
R
.
\tau(\cdot;\Theta):\mathcal{X}\mapsto\mathbb{R}.
τ(⋅;Θ):X↦R.底层框架可以被表示为
Θ
∗
=
arg
min
Θ
∑
x
∈
X
ℓ
(
τ
(
x
;
Θ
)
)
,
(33)
\Theta^*=\mathop{\arg\min}\limits_\Theta\sum\limits_{x\in\mathcal{X}}\ell(\tau(x;\Theta)),\tag{33}
Θ∗=Θargminx∈X∑ℓ(τ(x;Θ)),(33)
s
x
=
τ
(
x
;
Θ
∗
)
.
(34)
s_x=\tau(x;\Theta^*).\tag{34}
sx=τ(x;Θ∗).(34)
与第5.1节中的方法不同,这些方法在获得学习表示后使用某种启发式来计算异常得分,该类别中的方法同时学习特征表示和异常得分。这大大优化了异常得分和/或异常排序。从这个角度来看,它们与第5.2节中的方法有一些相似之处。然而,依赖于异常度量的特征学习方法通常受到合并的异常度量的固有缺点的限制,而这里的方法没有这样的缺点;它们还代表了设计模型的两个完全不同的方向:一个关注如何综合现有的异常度量和神经网络模型,另一个关注设计用于直接异常得分学习的新损失函数。
下面我们回顾了这一类别中的四种主要方法:排名模型、先验驱动模型、软最大似然模型和端到端一类分类模型。该框架的关键是将顺序或鉴别信息合并到异常评分网络中。
这组方法旨在直接学习排序模型,从而可以基于与异常的绝对/相对排序关系相关联的可观察有序变量对数据实例进行排序。异常评分神经网络由可观察有序变量驱动。
假设。存在捕获某些数据异常的可观察有序变量。
该方法的一条研究路线是设计基于顺序回归的损失函数,以驱动异常评分神经网络。在[117]中,引入了一种自训练的深度有序回归模型,以直接优化无监督视频异常检测的异常分数。特别的,它假设一个观察的有序变量
y
=
{
c
1
,
c
2
}
y=\{c_1,c_2\}
y={c1,c2},其中
c
1
>
c
2
c_1>c_2
c1>c2,让
τ
(
x
;
Θ
)
=
η
(
ϕ
(
x
;
Θ
t
)
;
Θ
x
)
,
\tau(x;\Theta)=\eta(\phi(x;\Theta_t);\Theta_x),
τ(x;Θ)=η(ϕ(x;Θt);Θx),
A
\mathcal{A}
A和
N
\mathcal{N}
N分别代表伪异常和正常实例数据集,
G
=
A
∪
N
\mathcal{G}=\mathcal{A}\cup\mathcal{N}
G=A∪N然后这个目标函数能够被定义为
arg
min
Θ
∑
x
∈
G
ℓ
(
τ
(
x
;
Θ
)
,
y
x
)
,
,
(35)
\mathop{\arg\min}\limits_{\Theta}\sum\limits_{x\in\mathcal{G}}\ell(\tau(x;\Theta),y_x),\tag{35},
Θargminx∈G∑ℓ(τ(x;Θ),yx),,(35)
其中
ℓ
(
⋅
,
⋅
)
\ell(\cdot,\cdot)
ℓ(⋅,⋅)是一个基于MSE或MAE的损失函数,
y
x
=
c
1
,
∀
x
∈
A
y_x=c_1,\forall x\in\mathcal{A}
yx=c1,∀x∈A,同时
y
x
=
c
2
,
∀
x
∈
N
y_x=c_2,\forall x\in\mathcal{N}
yx=c2,∀x∈N这里y只取两个标量有序值,因此它是两类有序回归。
端到端异常评分网络将
A
\mathcal{A}
A和
N
\mathcal{N}
N作为输入,并学习优化异常评分,以使与
A
\mathcal{A}
A(
N
\mathcal{N}
N)中行为相似的数据输入获得尽可能接近的大(小)分数
c
1
c_1
c1(
c
2
c_2
c2) 从而导致分配给异常帧的异常分数比正常帧大。由于捕捉图像数据外观特征的卓越能力,ResNet-50用于指定特征网络
ϕ
,
\phi,
ϕ,伴随是用完全连接的两层神经网络构建异常评分网络
η
\eta
η。
η
\eta
η由具有100个单元的隐藏层和具有单个线性单元的输出层组成。与[112]类似,
A
\mathcal{A}
A和
N
\mathcal{N}
N由一些现有的异常度量初始化。然后以自训练方式迭代更新和增强异常评分模型。等式(35)中采用了基于MAE的损失函数,以减少
A
\mathcal{A}
A和
N
\mathcal{N}
N伪标签带来的负面影响。
与解决无监督设置的不同,在[114,145]中假设了弱监督设置。在[114]中的训练期间,假设有非常少量的标记异常以及大规模未标记数据可用。为了利用已知的异常,异常检测问题被表述为成对关系预测任务。具体而言,设计了一个双流有序回归网络,以学习随机采样的数据实例对之间的关系,即区分实例对是否包含两个标记异常、一个标记异常或仅包含未标记数据实例。让
A
\mathcal{A}
A是少量标记异常数据集,
U
\mathcal{U}
U是大量未标记数据,
X
=
A
∪
U
\mathcal{X}=\mathcal{A}\cup\mathcal{U}
X=A∪U,
P
=
{
{
x
i
,
x
j
,
y
x
i
x
j
}
∣
x
i
,
x
j
∈
X
,
y
x
i
x
j
∈
N
}
\mathcal{P}=\{\{x_i,x_j,y_{x_ix_j}\}|x_i,x_j\in\mathcal{X},y_{x_ix_j}\in\mathbb{N}\}
P={{xi,xj,yxixj}∣xi,xj∈X,yxixj∈N}首先被生成。
P
\mathcal{P}
P是一组具有合成有序类标签的随机实数对,其中
y
=
{
y
x
a
i
x
a
j
,
y
x
a
i
x
u
i
,
y
x
u
i
x
u
j
}
y=\{y_{x_{a_i}x_{a_j}},y_{x_{a_i}x_{u_i}},y_{x_{u_i}x_{u_j}}\}
y={yxaixaj,yxaixui,yxuixuj}是一个有序变量。合成标签
y
x
a
i
x
u
i
y_{x_{a_i}x_{u_i}}
yxaixui表示分别从
A
\mathcal{A}
A和
U
\mathcal{U}
U采样实例的任意实数对的一个有序值。预先定义
y
x
a
i
x
a
j
>
y
x
a
i
x
u
i
>
y
x
u
i
x
u
j
y_{x_{a_i}x_{a_j}}>y_{x_{a_i}x_{u_i}}>y_{x_{u_i}x_{u_j}}
yxaixaj>yxaixui>yxuixuj因此成对预测任务等同于异常得分学习。这种方法可以被形式化为
Θ
∗
=
arg
min
Θ
1
∣
P
∣
∑
{
x
i
,
x
j
,
y
i
j
}
∈
P
∣
y
x
i
x
j
−
τ
(
(
x
i
,
x
j
)
;
Θ
)
∣
,
(36)
\Theta^*=\mathop{\arg\min}\limits_\Theta\frac{1}{|\mathcal{P}|}\sum\limits_{\{x_i,x_j,y_{ij}\}\in\mathcal{P}}|y_{x_ix_j}-\tau((x_i,x_j);\Theta)|,\tag{36}
Θ∗=Θargmin∣P∣1{xi,xj,yij}∈P∑∣yxixj−τ((xi,xj);Θ)∣,(36)
其可以以端到端的方式进行训练。通过最小化等式(36),优化模型,使两个异常对的异常得分大于一个异常对或无异常对。推理时,将每个测试实例与
A
\mathcal{A}
A或
U
\mathcal{U}
U中的实例配对,以获得异常分数。
[145]中的弱监督设置解决了帧级视频异常检测问题,但在训练期间只有视频级类别标签可用,即视频正常或在某处包含异常帧-我们不知道哪些特定帧是异常。[145]中引入了基于多实例学习(MIL)的排序模型,以利用高阶类别标签直接学习每个视频段(即少量连续视频帧)的异常分数。其关键目标是确保视频中包含异常的片段的最大异常得分大于正常视频中的对应片段。为了实现这一点,在MIL中将每个视频视为一个实例包,将包含异常的视频视为正包,将正常视频视为负包。每个视频片段都是包中的一个实例。通过合页损失函数将异常得分的排序信息强制为相对成对排序顺序。总体目标函数定义为
arg
min
Θ
∑
B
p
,
B
n
∈
X
max
{
0
,
1
−
max
x
∈
B
p
τ
(
x
;
Θ
)
+
max
x
∈
B
n
τ
(
x
;
Θ
)
+
λ
1
∑
i
=
1
∣
B
p
∣
(
τ
(
x
i
;
Θ
)
−
τ
(
x
i
+
1
;
Θ
)
)
2
+
λ
2
∑
x
∈
B
p
τ
(
x
;
Θ
)
,
(37)
\mathop{\arg\min}\limits_\Theta\sum\limits_{\mathcal{B}_p,\mathcal{B}_n\in\mathcal{X}}\max\{0,1-\max\limits_{x\in{\mathcal{B}_p}}\tau(x;\Theta)+\max\limits_{x\in{\mathcal{B}_n}}\tau(x;\Theta)\\ +\lambda_1\sum\limits_{i=1}^{|\mathcal{B}_p|}(\tau(x_i;\Theta)-\tau(x_{i+1};\Theta))^2+\lambda_2\sum\limits_{x\in{\mathcal{B}_p}}\tau(x;\Theta),\tag{37}
ΘargminBp,Bn∈X∑max{0,1−x∈Bpmaxτ(x;Θ)+x∈Bnmaxτ(x;Θ)+λ1i=1∑∣Bp∣(τ(xi;Θ)−τ(xi+1;Θ))2+λ2x∈Bp∑τ(x;Θ),(37)
其中x是视频段,
B
\mathcal{B}
B包含一袋视频段,而
B
p
\mathcal{B}_p
Bp和
B
n
\mathcal{B}_n
Bn分别表示正袋和负袋。第一项是保证相对异常得分顺序,即正实例包中最异常视频段的异常得分大于负实例包中的异常得分。最后两项是额外的优化约束,其中前者在连续视频片段之间强制分数平滑,而后者强制异常稀疏,即每个视频仅包含几个异常片段。
优势。深度排序模型库方法的优点如下。(i) 可以使用自适应损失函数直接优化异常分数。(ii)通过对异常和正常情况之间的顺序进行弱假设,它们通常不受异常定义的影响。(iii)这种方法可以建立在学习排序等领域的成熟排序技术和理论基础上。
缺点。它们的缺点如下。(i) 在这些方法中,至少需要某种形式的标记异常,这可能不适用于此类标记异常不可用的应用。[117]中的方法是完全无监督的,并获得了一些还不错的性能,但与半监督方法相比仍有很大差距。(ii)由于模型仅适用于检测少数标记异常,因此它们可能无法泛化到与标记异常表现不同的异常特征的未观察异常。
完成挑战:使用伪标签或噪声类标签等弱监督提供了一些关于可疑异常的重要知识,从而能够学习更具表现力的低维表示空间和更好的检测精度(CH1,CH2)。MIL方案和成对关系预测提供了一种将粗粒度/有限异常标签结合到检测模型学习(CH3)中的简单方法。更重要的是,端到端异常得分学习通过反向传播激活权重或异常得分梯度来定位导致较大异常得分的特征提供了直观的异常解释(CH6)。此外,[114,117]中的方法也适用于具有异常污染或噪声标签(CH4)的数据。
该方法使用先验分布来编码和驱动异常分数学习。由于异常分数是以端到端的方式学习的,所以可以将优先级施加在分数学习函数
τ
\tau
τ的内部模块或学习输出(即异常分数)上。
假设。强加的先验捕获数据集的基本常态性和非常态性。
最近对基于贝叶斯逆强化学习(IRL)的方法的研究举例说明了将先验知识纳入内部异常评分函数。关键的思想是,给定一个将一组序列数据作为输入的代理,该代理的正常行为可以通过其潜在的奖励函数来理解,因此,如果该代理向该序列分配低奖励,则该测试序列被识别为异常。IRL方法用于推断奖励函数。为了更有效地学习奖励函数,使用了基于采用的IRL方法。具体而言,IRL问题被表示为以下后验优化问题
max
Θ
E
s
∼
S
[
log
(
p
(
s
∣
Θ
)
+
log
p
(
Θ
)
]
,
(38)
\max\limits_\Theta\mathbb{E}_{s\sim\mathcal{S}}[\log(p(s|\Theta)+\log p(\Theta)],\tag{38}
ΘmaxEs∼S[log(p(s∣Θ)+logp(Θ)],(38)
其中
p
(
s
∣
Θ
)
=
1
Z
exp
(
∑
(
o
,
a
)
∈
s
τ
Θ
(
o
,
a
)
)
,
p(s|\Theta)=\frac{1}{Z}\exp(\sum_{(o,a)\in s}\tau_\Theta(o,a)),
p(s∣Θ)=Z1exp(∑(o,a)∈sτΘ(o,a)),
τ
Θ
(
o
,
a
)
\tau_\Theta(o,a)
τΘ(o,a)是一个带有参数
Θ
\Theta
Θ的潜在奖励函数,
(
o
,
a
)
(o,a)
(o,a)是序列s中状态和行为对,Z代表着配分函数,它是在所有序列上
exp
(
∑
(
o
,
a
)
∈
s
τ
Θ
(
o
,
a
)
)
\exp(\sum_{(o,a)\in s}\tau_\Theta(o,a))
exp(∑(o,a)∈sτΘ(o,a))的积分,与潜在的马尔可夫决策过程动力学一致,
p
(
Θ
)
p(\Theta)
p(Θ)是
Θ
\Theta
Θ的一个先验分布,
S
\mathcal{S}
S是观察序列的一个集合。由于
τ
\tau
τ产生的奖励的倒数被用作异常得分,最大化等式(38)等价于直接学习异常得分。
在训练阶段,假设奖励函数学习网络的权重参数上存在高斯先验分布,比如
Θ
∼
N
(
0
,
σ
2
)
.
\Theta\sim\mathcal{N}(0,\sigma^2).
Θ∼N(0,σ2).配分函数Z使用采样生成策略
π
\pi
π生成的一组序列进行估计,
Z
=
E
s
∼
π
[
∑
(
0
,
a
)
∈
s
τ
Θ
(
o
,
a
)
]
.
(39)
Z=\mathbb{E}_{s\sim\pi}[\sum\limits_{(0,a)\in s}\tau_\Theta(o,a)].\tag{39}
Z=Es∼π[(0,a)∈s∑τΘ(o,a)].(39)
策略
π
\pi
π也是通过一个神经网络来表示,
τ
\tau
τ和
π
\pi
π是可选优化的,比如优化奖励函数
τ
\tau
τ用一个固定策略
π
\pi
π,优化
π
\pi
π用一个更新的奖励函数
τ
\tau
τ。注意到,在[107]中,
τ
\tau
τ是用具有多个输出头的自举神经网络实例化;为了简洁起见,等式(38)给出了简化的
τ
\tau
τ。
[115]中探讨了对异常分数强制先验的思想。[74]中的大量经验结果表明,各种真实数据集中的异常分数非常符合高斯分布,因此,该工作使用高斯先验编码异常分数,并实现分数的直接优化。也就是说,假设正常实例的异常得分聚集在一起,而异常得分远离该聚类。先验被用来定义一个损失函数,称为偏差损失,它建立在众所周知的对比损失的基础上。
L
d
e
v
=
(
1
−
y
x
)
∣
d
e
v
(
x
)
∣
+
y
x
max
{
0
,
m
−
d
e
v
(
x
)
}
a
n
d
d
e
v
(
x
)
=
τ
(
x
;
Θ
)
−
μ
b
σ
b
,
(40)
L_{dev}=(1-y_x)|dev(x)|+y_x\max\{0,m-dev(x)\}\ and\\dev(x)=\frac{\tau(x;\Theta)-\mu_b}{\sigma_b},\tag{40}
Ldev=(1−yx)∣dev(x)∣+yxmax{0,m−dev(x)} anddev(x)=σbτ(x;Θ)−μb,(40)
其中
μ
b
\mu_b
μb和
σ
b
\sigma_b
σb分别是先验
N
(
μ
,
σ
)
\mathcal{N}(\mu,\sigma)
N(μ,σ)的估计均值和标准差,如果x是一个异常,那么
y
x
=
1
y_x=1
yx=1,如果x是一个正常对象,那么
y
x
=
0
y_x=0
yx=0,m等价于Z-score置信区间参数。
μ
b
\mu_b
μb和
σ
b
\sigma_b
σb使用从每批实例的
N
(
μ
,
σ
)
\mathcal{N}(\mu,\sigma)
N(μ,σ)中提取的一组值
{
r
1
,
r
2
,
⋯
,
r
l
}
\{r_1,r_2,\cdots,r_l\}
{r1,r2,⋯,rl}来估计,以学习正常和异常的稳健表示。
检测模型由偏差损失驱动,以将正常实例的异常得分尽可能接近
μ
\mu
μ同时至少保证𝜇 以及异常的异常分数之间𝑚 个标准差。当x是一个异常并且它具有负
d
e
v
(
x
)
dev(x)
dev(x)时,损失将特别大,导致所有异常的大的正偏差。因此,偏差损失相当于强制执行异常的异常得分与上尾部正常情况的异常得分的统计显著偏差。此外,这种高斯先验驱动损失也会产生可解释的异常分数,比如,给定任何异常分数
τ
(
x
)
\tau(x)
τ(x) ,我们可以使用Z-score置信区间
μ
±
z
p
σ
\mu\pm z_p\sigma
μ±zpσ解释实例x的异常。这是现有方法所不具备的一个重要且非常实用的属性。
优势。现有驱动模型的优点如下。(i) 可以在给定的先验条件下直接优化异常分数。(ii)它提供了一个灵活的框架,用于将不同的先验分布合并到异常分数学习中。不同的贝叶斯深度学习技术可适用于异常检测。(iii)与其他方法相比,先验方法也可以产生更多可解释的异常分数。
缺点。它们的缺点如下。(i) 为不同的异常检测应用场景设计普遍有效的先验知识是困难的,如果不是不可能的话。(ii)如果先验分布与基础分布不匹配,模型的工作效率可能会降低。
完成挑战:先验知识使模型能够学习不同复杂数据的低维表示,如高维数据和顺序数据(CH1&CH2)。偏差网络方法通过对异常得分施加先验,在利用有限数量的标记异常数据来增强正常性和异常性的表示方面表现出了良好的性能,大大提高了检测召回率(CH1&CH3)。这里的检测模型由关于异常评分函数的先验分布驱动,在训练数据中具有异常污染的数据中工作良好(CH4)。
该方法旨在通过最大化训练数据中事件的可能性来学习异常分数。由于异常和正常情况分别对应于罕见和频繁的模式,从概率角度来看,正常情况被假定为高概率事件,而异常则倾向于低概率事件。因此,事件可能性的负值可以自然地定义为异常得分。通过噪声对比估计(NCE)等工具,证明了软最大似然模型在实现这一目标方面是有效和高效的。
假设。异常和正常情况分别是低概率和高概率事件。
[30]中介绍了通过直接建模事件可能性来学习异常得分的思想。特别的是,该问题被定义为
Θ
∗
=
arg
max
Θ
∑
x
∈
X
log
p
(
x
;
Θ
)
,
(41)
\Theta^*=\mathop{\arg\max}\limits_\Theta\sum\limits_{x\in\mathcal{X}}\log p(x;\Theta),\tag{41}
Θ∗=Θargmaxx∈X∑logp(x;Θ),(41)
其中
p
(
x
;
Θ
)
p(x;\Theta)
p(x;Θ)是实例x(事件空间中的一个事件)的概率,带有参数
Θ
\Theta
Θ需要被学习。为了简化优化,用软最大似然函数来建模
p
(
x
;
Θ
)
p(x;\Theta)
p(x;Θ):
p
(
x
;
Θ
)
=
exp
(
τ
(
x
;
Θ
)
)
∑
x
∈
X
exp
(
τ
(
x
;
Θ
)
)
,
(42)
p(x;\Theta)=\frac{\exp(\tau(x;\Theta))}{\sum_{x\in\mathcal{X}}\exp(\tau(x;\Theta))},\tag{42}
p(x;Θ)=∑x∈Xexp(τ(x;Θ))exp(τ(x;Θ)),(42)
其中
τ
(
x
;
Θ
)
\tau(x;\Theta)
τ(x;Θ)是一个异常得分函数被设计用来捕捉成对特征之间的交互:
τ
(
x
;
Θ
)
=
∑
i
,
j
∈
{
1
,
2
,
⋯
,
K
}
w
i
j
z
i
z
j
,
(43)
\tau(x;\Theta)=\sum\limits_{i,j\in\{1,2,\cdots,K\}}w_{ij}z_iz_j,\tag{43}
τ(x;Θ)=i,j∈{1,2,⋯,K}∑wijzizj,(43)
其中
z
i
z_i
zi是表示空间Z中的x的第i个特征值的低维嵌入,
w
i
j
w_{ij}
wij是添加到交互的权重,是可训练的参数。由于
∑
x
∈
X
exp
(
τ
(
x
;
Θ
)
)
\sum_{x\in\mathcal{X}}\exp(\tau(x;\Theta))
∑x∈Xexp(τ(x;Θ))是一个归一化项,学习似然函数p等同于直接优化异常得分函数
τ
\tau
τ。该显式归一化项的计算成本高得令人望而却步,在[30]中使用了公认的NCE来学习以下近似似然
log
p
(
d
=
1
∣
x
;
Θ
)
+
log
∑
j
=
1
k
p
(
d
=
0
∣
x
j
′
;
Θ
)
,
(44)
\log p(d=1|x;\Theta)+\log\sum\limits_{j=1}^kp(d=0|x_j^\prime;\Theta),\tag{44}
logp(d=1∣x;Θ)+logj=1∑kp(d=0∣xj′;Θ),(44)
其中
p
(
d
=
1
∣
x
;
Θ
)
=
exp
(
τ
(
x
;
Θ
)
)
exp
(
τ
(
x
;
Θ
)
)
+
k
Q
(
x
′
)
p(d=1|x;\Theta)=\frac{\exp(\tau(x;\Theta))}{\exp(\tau(x;\Theta))+kQ(x^\prime)}
p(d=1∣x;Θ)=exp(τ(x;Θ))+kQ(x′)exp(τ(x;Θ)),
p
(
d
=
0
∣
x
′
;
Θ
)
=
k
Q
(
x
′
)
exp
(
τ
(
x
;
Θ
)
)
+
k
Q
(
x
′
)
p(d=0|x^\prime;\Theta)=\frac{kQ(x^\prime)}{\exp(\tau(x;\Theta))+kQ(x^\prime)}
p(d=0∣x′;Θ)=exp(τ(x;Θ))+kQ(x′)kQ(x′);对于每一个实例x,k个噪声样本
x
1
,
⋯
,
k
′
∼
Q
x_{1,\cdots,k}^\prime\sim Q
x1,⋯,k′∼Q从一些合成的已知噪声分布Q中生成。在[30]中,使用上下文相关方法通过观察到的实例x的单变量外推生成k个负样本。
该方法主要用于检测分类数据中的异常。受此应用的推动,类似的目标函数适用于检测异质属性二分图中的异常事件。[45]中的问题是检测跨越二部图的两个分区的异常路径。因此,等式(43)中的x是包含一组异构图节点的图路径,其中
z
i
z_i
zi和
z
j
z_j
zj是路径中每对节点的表示。为了将属性节点映射到表示空间
Z
\mathcal{Z}
Z中,多层感知器网络和自编码器分别应用于节点特征和图拓扑。
优势。基于softmax模型的方法的优点如下。(i) 不同类型的交互可以合并到异常分数学习过程中。(ii)根据我们旨在捕获的特定异常交互,优化异常得分。
缺点。它们的缺点如下。(i) 当每个数据实例中的特征/元素数量很大时,交互的计算可能非常昂贵,即每个实例𝐷个特征/元素n次相互作用的时间复杂度是
O
(
D
n
)
\mathcal{O}(D^n)
O(Dn)。(ii)异常分数学习在很大程度上取决于负样本生成的质量。
完成的挑战:这类方法中的公式化为学习具有异构数据源的数据集的低维表示提供了一种有前途的方法(CH2和CH5)。学习的表示通常从不同的数据源捕获更多的正常/异常信息,从而比传统方法更好地检测(CH1)。
这类方法旨在训练一个单类分类器,该分类器以端到端的方式学习区分给定实例是否正常。与第5.2.2节中的方法不同,该方法不依赖任何现有的一类分类度量,如一类SVM或SVDD。这种方法的出现主要是由于GANs和一类分类概念的结合,即对抗学习一类分类。关键思想是学习正常实例的一类鉴别器,以便它很好地将这些实例与对抗生成的伪异常区分开来。由于两个关键差异,该方法与第5.1.2节中基于GAN的方法也非常不同。首先,基于GAN的方法旨在学习生成分布,以最大程度地近似真实数据分布,从而实现生成模型,该模型能够很好地捕捉训练正态实例的正态性;而本节中的方法旨在优化鉴别模型,以将正常实例与对抗生成的边缘实例分离。其次,基于GAN的方法基于真实实例和相应生成实例之间的残差来定义异常得分,而这里的方法直接使用鉴别器来分类异常,即鉴别器D充当在等式(33)中的
τ
\tau
τ。本节与第5.1.2节和第5.2.2节分开,以突出上述差异。
假设。(i) 可以有效地合成近似于异常的数据实例。(ii)所有正常情况都可以用一个有区别的一类模型来概括。
[135]首次研究了对抗学习一类(ALOCC)分类的概念。关键思想是训练两个深度网络,其中一个网络被训练为一类模型,以将正常实例与异常分开,而另一个网络则被训练为增强正常实例并生成扭曲的异常值。通过GANs方法对两个网络进行实例化和优化。一类模型建立在鉴别器网络上,生成器网络基于去噪AE。带有AE的GAN的目标定义为
min
A
E
max
D
V
(
D
,
G
)
=
E
x
∼
p
X
[
log
D
(
x
)
]
+
E
x
^
∼
p
X
^
[
log
(
1
−
D
(
A
E
(
x
^
)
)
)
]
,
(45)
\min\limits_{AE}\max\limits_{D}V(D,G)=\mathbb{E}_{x\sim p_\mathcal{X}}[\log D(x)]\\+\mathbb{E}_{\hat x\sim p_{\mathcal{\hat X}}}[\log(1-D(AE(\hat x)))],\tag{45}
AEminDmaxV(D,G)=Ex∼pX[logD(x)]+Ex^∼pX^[log(1−D(AE(x^)))],(45)
其中
p
X
^
p_{\mathcal{\hat X}}
pX^是被高斯噪声破坏的
X
\mathcal{X}
X数据分布,比如
X
^
=
x
+
n
,
\hat X=x+n,
X^=x+n,满足
n
∼
N
(
0
,
σ
2
I
)
.
n\sim\mathcal{N}(0,\sigma^2I).
n∼N(0,σ2I).该目标与AE中以下数据结构误差联合优化。
ℓ
a
e
=
∣
∣
x
−
A
E
(
x
^
)
∣
∣
2
.
(46)
\ell_{ae}=||x-AE(\hat x)||^2.\tag{46}
ℓae=∣∣x−AE(x^)∣∣2.(46)
等式(45)中的本质是,AE可以很好地重建(甚至增强)正常实例,但它可能会被输入的异常值混淆,从而生成失真的异常值。通过最小最大优化,鉴别器D学习从异常值中比使用原始数据实例更好地区分正常实例。因此,
D
(
A
E
(
x
^
)
)
D(AE(\hat x))
D(AE(x^))可以直接用于检测异常。在[135]中,离群值是从一些类中随机抽取的,而非正常实例来自的类。
然而,如[135]中所述,在许多领域中可能无法获得超出给定训练数据的参考离群值。我们可以根据给定的训练数据生成边缘数据实例,并将其用作负参考实例,从而能够训练一类鉴别器,而不是从其他数据集中获取随机离群值。[103,174]探讨了这一观点。[174]中引入了一类对抗性网络(OCAN),以利用坏GANs的思想,基于正常训练数据的分布生成边缘实例。与GANs中的常规生成器不同,坏GANs的生成器网络被训练以生成与训练数据互补而非匹配的数据实例。互补生成器的目标如下
min
G
−
H
(
p
Z
)
+
E
z
^
∼
p
Z
log
p
X
(
z
^
)
I
[
p
X
(
z
^
)
>
ϵ
]
+
∣
∣
E
z
^
∼
p
X
h
(
z
^
)
−
E
z
∼
p
X
h
(
z
)
∣
∣
2
,
(47)
\min\limits_{G}-\mathcal{H}(p_\mathcal{Z})+\mathbb{E}_{\hat z\sim p_\mathcal{Z}}\log p_\mathcal{X}(\hat z)\mathbb{I}[p_\mathcal{X}(\hat z)>\epsilon]\\ +||\mathbb{E}_{\hat z\sim p_\mathcal{X}}h(\hat z)-\mathbb{E}_{z\sim p_\mathcal{X}}h(z)||_2,\tag{47}
Gmin−H(pZ)+Ez^∼pZlogpX(z^)I[pX(z^)>ϵ]+∣∣Ez^∼pXh(z^)−Ez∼pXh(z)∣∣2,(47)
其中
H
(
⋅
)
\mathcal{H}(\cdot)
H(⋅)是熵,
I
(
⋅
)
\mathbb{I}(\cdot)
I(⋅)是一个指示函数,
ϵ
\epsilon
ϵ是一个阈值超参数,h是从鉴别器的中间层导出的特征映射。前两项用于在原始特征空间中生成低密度实例。然而,在计算上不可能获得训练数据的概率分布。相反,密度估计
p
X
(
z
^
)
p_\mathcal{X}(\hat z)
pX(z^)由常规的GAN的鉴别器来近似。最后一项是广泛使用的特征匹配损失,它有助于在原始数据空间中更好地生成数据实例。OCAN中鉴别器的目标通过额外的条件熵项增强,以实现高置信度的检测。
max
D
E
x
∼
p
X
[
log
D
(
z
)
]
+
E
z
^
∼
p
Z
[
log
(
1
−
D
(
z
^
)
)
]
+
E
x
∼
p
X
[
D
(
x
)
log
D
(
x
)
]
,
(48)
\max\limits_D\mathbb{E}_{x\sim p_\mathcal{X}}[\log D(z)]+\mathbb{E}_{\hat z\sim p_\mathcal{Z}}[\log(1-D(\hat z))]\\+\mathbb{E}_{x\sim p_\mathcal{X}}[D(x)\log D(x)],\tag{48}
DmaxEx∼pX[logD(z)]+Ez^∼pZ[log(1−D(z^))]+Ex∼pX[D(x)logD(x)],(48)
在[103]中,引入了围栏GAN,目的是生成紧靠训练数据分布边界的数据实例。这是通过在生成器中引入两个损失函数来实现的,它们强制生成的实例沿训练数据的球体边界均匀分布。形式上,生成器的目标定义为
min
G
E
z
∼
p
Z
[
log
[
∣
α
−
D
(
G
(
z
)
)
∣
]
+
β
1
E
z
∼
p
Z
∣
∣
G
(
z
)
−
μ
∣
∣
2
,
(49)
\min\limits_G\mathbb{E}_{z\sim p_\mathcal{Z}}[\log[|\alpha-D(G(z))|]+\beta\frac{1}{\mathbb{E}_{z\sim p_\mathcal{Z}}||G(z)-\mu||_2},\tag{49}
GminEz∼pZ[log[∣α−D(G(z))∣]+βEz∼pZ∣∣G(z)−μ∣∣21,(49)
其中
α
∈
(
0
,
1
)
\alpha\in(0,1)
α∈(0,1)是一个超参数,用作生成器生成边界实例的区分参考分数,以及
μ
\mu
μ是生成的数据实例的中心。第一项被称为包围损失,它强制生成的实例具有相同的区分得分,理想情况下导致实例紧密包围训练数据。第二项称为色散损失,它强制生成的实例均匀覆盖整个边界。
已经引入了一些其他方法来有效地生成引用实例。例如,可以生成均匀分布的实例以强制使正常实例均匀分布在潜在空间;[89]中使用了生成器集成,每个生成器为一个特定的正常实例集群合成边界实例。
优势。这类方法的优点如下。(i) 其异常分类模型以端到端的方式进行对抗优化。(ii)它可以通过丰富的对抗性学习技术和理论以及一类分类来发展和支持。
缺点。它们的缺点如下。(i) 很难保证生成的参考实例与未知异常非常相似。(ii)GAN的不稳定性可能导致生成具有不同质量的实例,从而导致异常分类性能不稳定。最近在[169]中对这一问题进行了研究,研究表明,在不同的训练步骤中,这种类型的异常检测器的性能可能会大幅波动。(iii)其应用仅限于半监督异常检测场景。
完成挑战:对抗学习的一类分类器学习生成真实的边缘/边界实例,从而能够学习表达性低维正态性表示(CH1和CH2)。

为了更深入地了解这一领域的方法,表2中总结了每类方法中代表性算法的一些关键特征。由于这些方法是在不同的数据集上进行评估的,因此很难对其经验性能进行统一的元分析。相反,模型设计中的一些主要观察总结如下:(i) 大多数方法在无监督或半监督模式下运行;(ii)深度学习技巧,如数据增加、丢弃和预训练探索不足;(iii)所使用的网络架构不太深,大多数方法不超过五个网络层;(iv)(leaky)ReLU是最流行的激活函数;以及(v)可以使用不同的骨干网络来处理不同类型的输入数据。大多数算法的源代码都可以公开访问。我们在附录A的表A1中总结了这些源代码,以便于访问。

异常检测发展的一个主要障碍是缺乏具有真实异常的真实世界数据集。许多研究评估了他们提出的方法在从流行分类数据转换而来的数据集上的性能。这种方式可能无法反映真实世界异常检测应用中方法的性能。我们在表3中总结了21个公开可用的真实数据集,其中包含真实异常,以促进对这些数据集的性能评估。数据集涵盖了以各种数据类型呈现的广泛的流行应用领域。此处仅包括大规模和或高维复杂数据集,为深度异常检测提供具有挑战性的测试平台。此外,广泛使用的异常检测数据集(包括表3中的一些预处理数据集)的不断更新的集合可在GitHub查找。
在这项工作中,我们回顾了利用深度学习技术进行异常检测的12种不同建模视角。我们还讨论了这些方法如何解决一些臭名昭著的异常检测挑战,以证明深度异常检测的重要性。通过这样的回顾,我们发现了以下令人兴奋的机会。
信息监控信号是深度异常检测的关键,以学习准确的异常分数或正常/异常的表达表示。虽然如第5.1节所述,已经探索了大量无监督或自监督监督信号,以学习表示,但这些公式的一个关键问题是,其目标函数是通用的,但不是专门针对异常检测进行优化的。第5.2节中的异常度量相关特征学习通过施加源自传统异常度量的约束来帮助解决该问题。然而,这些约束可能具有一些固有的限制,例如,异常度量中的隐含假设。重要的是探索新的异常监控信号源,这些信号源超出了广泛使用的公式,如数据重建和GANs,并且对异常分布的假设较弱。另一种可能性是通过利用领域知识,例如异常和或专家规则的应用特定知识作为监督源,开发领域驱动的异常检测。
深度弱监督异常检测旨在利用深度神经网络学习具有一些弱监督异常信号的异常检测模型,例如,部分/不精确/不准确标记的异常数据。该标记数据提供了关于异常的重要知识,可以成为提高检测召回率的主要驱动力。一个令人兴奋的机会是利用少量准确的标记异常示例来增强检测模型,因为它们通常在现实应用中可用,例如,来自部署的检测系统/终端用户并经人类专家验证的一些入侵/欺诈。然而,由于异常可能具有高度异质性,因此可能存在超出给定异常示例跨度集的未知/新异常。因此,这里的一个重要方向是未知异常检测,我们的目标是建立从有限的标记异常到未知异常的检测模型。最近的一些研究表明,深度检测模型能够学习超出给定异常示例范围的异常。进一步理解和探索普遍性的程度,并开发模型以进一步提高准确性,这一点非常重要。
检测属于给定异常示例相同类别的异常与检测新的/未知异常一样重要。因此,另一个重要方向是开发数据高效异常检测或小样本异常检测,其中我们的目标是学习已知异常类的高表达表示,仅给出有限的异常示例。应注意,有限的异常示例可能来自不同的异常类别,因此,呈现出完全不同的流形/类别特征。该场景与一般的小样本学习有根本不同,其中有限的示例是特定于类的,并假设共享相同的流形/类结构。此外,如表2所示,网络架构大多不如其他机器学习任务中的网络架构深。这可能部分是由于标记的训练数据大小的限制。探索利用这些小标记数据学习更强大的检测模型和更深入的体系结构的可能性非常重要。此外,在某些应用中,不精确或不准确(例如粗粒度)的异常标签通常收集成本较低;在这些场景中,利用这种弱监督学习深度检测模型非常重要。
大规模无监督/自监督表示学习在实现下游学习任务方面取得了巨大成功。这对于学习任务尤其重要,在学习任务中很难获得足够的标记数据,例如异常检测(见第2.1节)。目标是首先在无监督/自监督模式下从大规模未标记数据中学习可迁移的预训练表示模型,然后在半监督模式下微调检测模型。第5.1.3节中基于自监督分类的方法可为常态学习提供一些初始监督来源。但是,必须采取预防措施,以确保(i)未标记的数据没有异常污染和/或(ii)表示学习方法对可能的异常污染具有鲁棒性。这是因为第5节中的大多数方法隐含地假设训练数据是干净的,并且不包含任何噪声/异常实例。这种鲁棒性在预训练建模和微调阶段都很重要。此外,不同领域中的异常和数据集差异很大,因此大规模正态性学习可能需要特定于领域/应用。
大多数深度异常检测方法关注点异常,显示出比传统方法更好的性能。然而,对条件/群体异常的深层模型的探索明显较少。深度学习在捕获复杂的时间/空间相关性和学习一组无序数据点的表示方面具有卓越的能力;探索深度学习是否也能在检测此类复杂异常方面获得类似的成功是很重要的。可能需要新的神经网络层或目标函数。
与传统方法类似,当前深度异常检测主要集中在单个数据源上。多模态异常检测是一个尚未开发的研究领域。传统方法难以弥合这些多模态数据带来的差距。深度学习在从不同类型的原始数据中学习特征表示以进行异常检测方面取得了巨大成功;它还能够连接来自不同数据源的表示以学习统一表示,因此深度方法为多模式异常检测提供了重要机会。
当前深度异常检测主要集中在检测精度方面。可解释深度异常检测和可操作深度异常检测对于理解模型决策和结果、减轻对人类用户的任何潜在偏差/风险以及实现决策行动至关重要。近年来,有一些研究通过搜索使报告异常最异常的特征子集来探索异常解释问题。异常特征选择方法也可用于异常解释目的。这些方法中的异常特征搜索独立于异常检测方法,因此,可以用于解释由任何检测方法(包括深度模型)识别的异常。另一方面,这种模型不可知的方法可能会使解释不那么有用,因为它们无法真正理解特定检测模型的机制,导致解释性和可操作性较弱(例如,量化检测到的异常和缓解措施的影响)。具有提供异常解释的固有能力的深层模型很重要,如[117]。为了实现这一点,可以利用深度异常检测模型探索深度模型解释和可操作知识发现的方法。
已经出现了一些令人兴奋的新兴研究应用和问题设置,其中可能有一些扩展深度探测方法的重要机会。首先,分布外(OOD)检测是一个密切相关的领域,它检测远离训练分布的数据实例。这是使机器学习系统能够在开放世界环境中处理新类实例的关键技术。OOD检测也是一项异常检测任务,但在OOD检测中,通常假设在训练期间可以使用细粒度的正常类标签,我们需要在执行精确的OOD检测时保持这些正常类的分类精度。第二,好奇心学习旨在学习稀疏奖励强化学习中的奖励奖励函数。特别是,强化学习算法往往无法在奖励非常稀少的环境中工作。好奇心学习解决了这个问题,除了来自环境的原始稀疏奖励外,还通过奖励奖励来增强环境。该奖励通常基于状态的新颖性或稀有性来定义,即,如果代理发现新颖/稀有状态,则会收到大量奖励。新/稀有状态是与异常相似的概念。因此,探索如何利用深度异常检测来增强这一具有挑战性的强化学习问题将是一件有趣的事情;相反,可以利用好奇心学习技术进行异常检测,如[155]中的方法。第三,大多数用于异常检测的浅层和深层模型都假设数据实例的异常是独立同分布的(IID),而实际应用中的异常可能具有一些非IID特征,例如,不同实例/特征的异常是相互依赖和/或异构的。例如,多个同步疾病症状的异常在疾病的早期检测中相互加强。这需要非IID异常检测,其专用于学习这种非IID的异常。这项任务在复杂场景中至关重要,例如,异常只有细微的偏差,如果不考虑这些非IID异常特征,则会在数据空间中隐藏。最后,其他有趣的应用包括检测对抗性示例、生物识别系统中的反欺骗以及早期检测罕见的灾难性事件(例如,金融危机和其他黑天鹅事件)。
