论文翻译:Deep Learning for Anomaly Detection: A Review,异常检测的深度学习:回顾

       异常检测,又称离群点检测,几十年来一直是各个研究领域中一个持续而活跃的研究领域。仍然有一些独特的问题、复杂性和挑战需要先进的方法。近年来,深度学习使得异常检测成为可能。深部异常探测,已成为一个关键方向。本文综述了深度异常检测方法的研究进展,并对检测方法进行了综合分类,包括三个高级分类和三个高级分类11种方法的细粒度分类。我们回顾了他们的主要直觉、目标功能、基本假设、优势和劣势,并讨论了他们如何应对上述挑战。我们进一步讨论了一系列未来可能的机遇和应对挑战的新观点。

         异常检测,又称离群点检测,是指检测与大多数数据实例显著偏离的数据实例的过程。几十年来,异常检测一直是一个活跃的研究领域,早期的探测可以追溯到60年代[53]。由于在风险管理、合规、安全、金融监控、健康和医疗风险以及人工智能安全等领域的需求和广泛应用,异常检测发挥着越来越重要的作用,在包括数据挖掘、机器在内的各个领域都得到了强调学习复杂数据(如高维数据、时间数据、空间数据和图形数据)的表达表示的能力,推动不同学习任务的边界。深度学习异常检测,简称深度异常检测,目的是通过神经网络学习特征表示或异常分数,进行异常检测。近年来,大量的深部异常检测方法被引入,在解决具有挑战性的检测问题上,表现出明显优于常规异常检测的性能各种实际应用中的构造问题。这项工作的目的是提供一个全面的审查这一领域。我们首先讨论了异常检测的问题本质和主要挑战,然后系统地回顾了当前深层异常检测方法及其应对这些挑战的能力,最后提出了该领域未来的一些机遇。

          作为一个热门领域,许多研究[2,4,16,28,54,63,178]致力于异常检测技术的分类和综述。然而,它们都只关注传统的异常检测方法。与我们密切相关的一项工作是[26]。它介绍了深度异常检测的一些实际应用的一个很好的总结,但只提供了一些非常高级的技术选择类别的概述,从中它是高度很难,如果不是不可能,获得当前方法所采取的方法的意义和方法背后的直觉。相比之下,为了回答为什么我们需要深度异常检测,本文描述了当前深度检测方法的形成过程,以获得对其潜在直觉、内在能力和弱点的关键见解,以解决异常检测中一些很大程度上尚未解决的挑战。这形成了对问题本质和现状的深刻理解,并带来了真正的开放机会。

综上所述,本工作有以下五个主要贡献:
•问题的本质和挑战。我们将讨论一些独特的异常检测问题的复杂性以及由此产生的未解决的挑战。
•分类和表述。我们将目前的深度异常检测方法构建为三个原则框架:用于通用特征提取的深度学习、正规性的学习表示和端到端异常分数学习。基于11种不同的建模视角,提出了一种层次分类方法。

综合文献综述。我们回顾了多个相关领域的主要会议和期刊上的大量相关研究,包括机器学习、数据挖掘、计算机视觉和人工智能,并对研究进展进行了全面的文献综述。为了提供一个深入的介绍,我们描述了基本假设,目标函数,关键直觉和它们在解决上述挑战的所有类别的方法。
•未来的机会。我们进一步讨论一系列未来可能的操作

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

主要问题的复杂性
不像常规或明显模式下的问题和任务,异常检测针对的是少数、不可预测/不确定和罕见的事件,这导致了下面一些独特的复杂性,使得一般的深度学习技术无效。

异常与许多未知因素有关,例如,具有未知的突然行为、数据结构和分布的实例。它们直到真正发生时才为人所知,比如新的恐怖袭击、诈骗和网络入侵。

异构的异常类。异常是不规则的,因此一类异常可能表现出与另一类异常完全不同的异常特征。例如,在视频监控中,抢劫、交通事故和盗窃等异常事件在视觉上有很大差异

稀有和阶级不平衡。异常通常是罕见的数据实例,而正常实例通常占数据的绝大部分。因此,收集大量标了标签的异常实例是困难的,甚至是不可能的。
这导致在大多数应用程序中无法获得大规模的标记数据。类别不平衡的另一个原因是,异常的错误分类通常比正常实例的代价高得多

异常类型多样。已经发现了三种完全不同类型的异常[28]。点异常是指异常w.r.t的个例,大多数其他个例,如病人的异常健康指标。条件异常,又称情境异常,也指在特定情境下的个体异常情况,即情境异常。时,数据实例在特定上下文中是异常的,否则是正常的。在实际应用中,上下文可能会有很大的不同,例如,在特定的时间范围内,温度突然下降/上升。组异常,又称集合异常,是整个数据实例异常的子集。集体异常中的个体成员可能不是异常,例如,社交网络中虚假账号形成的异常密集的子图作为一个集合是异常,但子图中的个体节点可能与真实账号一样正常。

主要检测的挑战
上述复杂的问题性质给传统的异常检测方法和广泛使用的一般深度学习方法带来了许多检测挑战。一些挑战,例如可伸缩性w.r.t.数据大小,在最近几年已经得到了很好的解决,而下面的问题在很大程度上还没有解决,深度异常检测可以在其中发挥一些重要的作用。

异常检测召回率低。由于异常异常非常罕见且不均匀,很难确定所有的异常。许多正常的实例被错误地报告为异常,而真实而复杂的异常却被忽略了。尽管多年来已经引入了过多的异常检测方法,但目前最先进的方法,特别是无监督方法(例如[17,85]),仍然经常导致真实数据集的高误报率[20,116]。如何减少误报和提高检测召回率是最重要但又有区别的问题之一。

CH2:高维和/或非独立数据的异常检测。异常通常在低维空间中表现出明显的异常特征,而在高维空间中却隐藏不明显。高维异常检测是一个长期存在的问题[178]。在由原始特征或新构造特征的小子集张成的低维空间中进行异常检测是一种简单的解决方案,例如基于子空间的方法[71,78,86,124]和基于特征选择的方法[12,111,113,113]。然而,确定足高维数据仍然是异常检测的主要挑战。另外,如何保证新的特征空间为特定的检测方法保留适当的信息,对下游异常的准确检测至关重要,但由于上述异常的不确定性和异质性,这是一个挑战。此外,从相互依赖的实例(如时间、空间、基于图形和其他相互依赖关系的实例)中检测异常也是一项挑战。

数据高效的正常/异常学习。由于收集大规模标记异常数据的难度和成本,完全监督异常检测往往不切实际,因为它假定标记训练数据中既有正常类,也有异常类。在过去的十年里,主要的研究努力集中在不需要任何标记训练数据的无监督异常检测上。然而,无监督方法没有任何关于真实异常的先验知识。他们在很大程度上依赖于异常分布的假设,但未能奏效另一方面,通常也不难收集到有标记的正常数据和一些有标记的异常数据。在实践中,经常建议尽可能利用这些容易访问的标记数据[2]。因此,利用这些标记的数据来学习正态/异常的表达表示对于准确的异常检测是至关重要的。半监督异常检测,假设存在一组标记的训练数据a1,是致力于这一问题的研究方向。另一个研究方向是弱监督异常检测假设我们有一些异常类的标签,但类标签是部分/不完整的
(即。,它们不跨越异常类的整个集合),不精确(即不精确)。,粗粒度的标签),或不准确的(例如。,有些标签可能是不正确的)。两个主要的挑战是如何学习表达正态/异常表示与少量的标记异常数据,以及如何学习检测模型,可以推广到由给定的标记异常数据发现的新异常。

CH4:抗噪异常检测。许多弱/半监督异常检测方法假设给定的带标记的训练数据是干净的,因此容易受到误标记为相反类标签的有噪声实例的攻击。在这种情况下,我们可以使用无监督的方法代替,但这不能利用真正的标签数据。
此外,经常存在大规模异常污染的未标记数据。噪声模型可以进一步利用这些未标记的数据进行更精确的检测。主要的挑战是噪音的数量可以不同。

探测复杂异常。现有的方法大多是针对点异常的,但条件异常和群异常表现出与点异常完全不同的行为,不能用于点异常。这里的一个主要挑战是将条件/组异常的概念纳入异常度量/模型中。此外,目前的方法主要侧重于从单一数据源检测异常,而许多应用需要检测多个异构数据源的异常,如多维数据、图形、图像、文本和音频数据。一个主要的挑战。

异常的解释。在许多关键领域,如果将异常检测模型直接用作黑盒模型,可能会产生一些重大风险。例如,被报告为异常的罕见数据实例可能导致算法对数据中呈现的少数群体的偏差,例如在欺诈检测和犯罪检测系统中代表性不足的群体。减轻这类风险的一种有效方法是使用异常解释算法,该算法可以提供有关为什么某个特定数据实例被识别为异常的直接线索。然而,现有的异常检测研究大多只关注于设计准确的检测模型,而忽略了对已识别异常进行解释的能力。从具体的检测方法中获得异常解释仍然是一个很大程度上尚未解决的问题,特别是对于复杂模型。开发具有内在可解释性的异常检测模型也是至关重要的,但是如何平衡模型的可解释性和有效性仍然是一个主要的挑战。

解决深度异常检测的挑战
3.1预赛
深度神经网络利用可由计算图表示的线性/非线性函数的复杂组成来学习表达表意[50]。深度学习的两个基本构建模块是**函数和层。**函数决定计算图形节点的输出(即(如神经网络中的神经元)给定一些输入。它们可以是线性或非线性函数。一些常用的**函数包括linear, sigmoid, tanh, ReLU(整流线性单元)和i神经元以某种形式堆积在一起。常用的层包括完全连接的,卷积的
&池和循环层。这些层可以被用来构建不同的流行神经网络。如多层感知器(MLP)网络由全连通的层组成,卷积神经网络(CNN)具有不同的卷积组的特点池化层,和递归神经网络(RNN),例如,普通RNN,门控递归单元(GRU)和长短期记忆(LSTM)是建立在循环层之上的。有关这些神经n的详细介绍,请参阅[50]。

给定数据集X = {x1, x2,··,xN}, xi∈RD,令Z∈RK (K)是一种表现空间,深度异常检测旨在学习一种特征表现映射功能ϕ(·):X 7→Z或异常分数学习函数τ(·):X 7→R的方式可以很容易地从正常分化异常数据实例ϕ或τ空间,ϕ和τ是神经网络映射函数矩阵H∈N隐藏层和体重Θ= {M1,M2,···,MH}。学习特征映射的ϕ(·),一个额外的步骤是必需的。

深度异常检测分类
为了深入了解该领域,我们引入了一种层次分类法,从建模的角度将现有的深度异常检测方法分为三个主要类别和11个细粒度类别。图1显示了这些方法的分类概况,以及它们所解决的挑战。其中,深度异常检测包括特征提取的深度学习、特征表示的学习三个概念范式正态性,端到端异常分数学习。

这三种框架的过程如图2所示。如图2(a)所示,深度学习和异常检测在第一个主要类别(第4节)中被完全分离,因此深度学习技术仅作为一些独立的特征提取器。在图2(b)所示的第二大类(第5节)中,这两个模块以某种形式相互依赖,目的是学习正态性的表达表示。这类方法可以根据传统异常测量方法的优劣,进一步分为两类方法的细粒度分类,每个分类采用不同的方法来制定其目标功能。这两个模块在图2(c)的第三大类(第6节)中完全统一,其中的方法用于通过神经网络端到端学习异常分数。这些方法被进一步分组为四类基于神经网络支持的异常评分。在接下来的三个部分中,我们将详细回顾这三个类别中的每一个方法,并讨论它们是如何解决上述某些问题的。

论文翻译:Deep Learning for Anomaly Detection: A Review,异常检测的深度学习:回顾

图1所示。提出的当前深度异常检测技术的分类。此外,还介绍了每一类方法可以解决的检测挑战。

论文翻译:Deep Learning for Anomaly Detection: A Review,异常检测的深度学习:回顾

图2所示。三种主要的深度异常检测方法的概念框架

特征提取的深度学习
这类研究代表了深度学习技术在异常检测中的最基本应用。它旨在利用深度学习从高维和/或非线性可分离数据中提取低维特征表示,用于下游异常检测。特征提取和异常评分是完全脱节、相互独立的。因此,深度学习组件只纯粹作为降维。形式上,该方法可以表示为 :

论文翻译:Deep Learning for Anomaly Detection: A Review,异常检测的深度学习:回顾

ϕ的地方:X 7→Z是一个深层神经网络特性映射函数,与X∈RD, Z∈R通常K和D≫K .异常计分法f没有连接特性的映射ϕ然后应用到新空间计算异常分数。与常见的异常检测降维方法(如主成分分析(PCA)[21,141, 180]和随机投影[81,114,124])相比,深度学习技术在提取语义丰富的特征和非线性特征关系方面表现出了明显更好的能力[14,50]:

假设。深度学习模型提取的特征表示保留了区分信息,有助于从正常实例中分离异常。一种研究方法是直接使用流行的、有效的预训练深度学习模型,比如AlexNet [76], VGG[144]和ResNet[59],提取低维特征。该方法用于图像、视频等复杂高维数据的异常检测。这一行的一个有趣的工作是在线异常检测的揭露框架[154]。该框架的关键思想是迭代第一组正常的视频帧,并评估其与后续视频帧的可分离性。因此,如果后续视频帧异常,则期望训练分类准确率高,反之则期望训练分类准确率低。揭露是一个异常评分的过程,随着用来定义异常评分的训练精度的变化。很明显,揭露框架的能力很大程度上依赖于特征的质量,因此拥有高质量的特征来表示视频帧是至关重要的。在ILSVRC基准上预先训练的VGG模型[135]被证明可以有效地提取表达性外观特征[154]。在[90]中,掩蔽框架被制定为一个双样本测试任务,以理解其理论基础。它们还表明,利用动态更新的视频帧采样池提取的特征可以提高框架的性能。此外,与分类等其他任务类似,从源数据集上预先训练的深度模型中提取的特征表示,可以转移到目标数据集上的异常检测器上进行微调。如[6]所示,一类支持向量机(SVM)可以首先使用ILSVRC基准上预训练的VGG模型提取的特征进行初始化,然后进行微调,以改进MNIST数据上的异常分类[79]。

该类别的另一个研究方向是明确训练深度特征提取模型,而不是预先训练的下游异常评分模型[45,66,164,169]。特别是,在[164]中,三个独立的自编码器网络被训练学习各自的外观、运动和外观-运动联合表示的低维特征,用于视频异常检测。一个由三个单类支持向量机组成的集合在每个学习到的特征表示上进行独立训练,以执行异常评分。类似于[164],利用线性单类支持向量机对深度信念网络[45]生成的高维表格数据的低维表示进行异常检测。与单类支持向量机不同,在[66]中使用了无监督分类方法来实现投影空间中的异常评分。具体来说,它们首先对卷积自编码器生成的视频帧的低维特征进行聚类,然后将聚类标签作为伪类标签,进行one vs-the-rest分类来计算帧的异常分数。在图异常检测中也可以找到类似的方法[169],其中在潜在表示空间中使用基于无监督聚类的异常测度来计算图顶点或边的异常。学习表达表征对于图顶点,以图顶点的单热编码作为输入,通过最小化基于自编码器的重构损失和相邻图顶点在表示空间中的成对距离来优化其顶点表示。的优势。这组方法的优点如下。(i)有大量最新的(预先训练的)深度模型和现成的异常检测方法。(ii)深度特征提取比常用的线性方法具有更强的降维能力。(三)鉴于深模和检测方法的公开可用性,这种方法很容易实施。

缺点。它们的缺点如下。(i)特征提取和异常评分完全脱节,往往导致异常评分次优。(ii)预训练的深度模型通常局限于特定类型的数据。挑战的目标。这类方法将高维/非独立数据投影到低维空间上,使现有的异常检测方法能够在更简单的数据空间上工作。低维空间通常有助于揭示隐藏的异常和减少误报(CH2)。但是,需要注意的是,由于数据投影与异常检测是完全解耦的,这些方法可能无法在投影空间中保留足够的信息用于异常检测。此外,该方法允许我们利用多种类型的特征并学习语义丰富的检测模型(如[66,154,164]中各种预定义的图像/视频特征),这也有助于减少误报(CH1)。

正规性的学习特征表示
本节从正态学习的角度对模型进行回顾。该类别中的深度异常检测方法在某种程度上将特征学习与异常评分相结合,不同于上一节中将两个模块完全解耦的方法。这些方法通常分为两类:一般特征学习和依赖异常度量的特征学习。下面我们将详细讨论这两种方法。

般正规性特征学习
这一类的方法学习的表征数据实例学习目标函数,通过优化一个通用的特性是主要不是用于异常检测,但仍然可以学到表示授权异常检测,因为他们*捕捉一些关键的基础数据规律。形式上,这个框架可以表示为:

论文翻译:Deep Learning for Anomaly Detection: A Review,异常检测的深度学习:回顾

ϕ地图的原始数据在表示空间Z,ψ参数化W是*的学习任务,作用于Z空间,致力于加强基础数据规律的学习,ℓ是一个损失函数相对于底层建模方法,和f是一个异常得分函数,利用这两个函数的参数训练Θ吗和W∗计算异常分数:

这种方法包括由多个角度驱动的方法,包括数据重构、生成建模、可预测性建模和自监督分类。5.1.1 Autoencoders。这种方法的目的是学习一些低维特征表示空间,在这个空间上给定的数据实例可以很好地重建。这是一种广泛使用的数据压缩或降维技术[62,69,151]。使用这个的启发式异常检测技术是利用学习到的特征表示学习数据的重要规律,最大限度地减少重构误差;异常很难从所得到的表征中重建出来,因此有很大的重建误差。假设。与异常数据相比,正常数据实例可以更好地从压缩特征空间进行重构。自动编码器(AE)网络是这一类中常用的技术。AE由编码网络和译码网络组成。编码器将原始数据映射到低维特征空间,而译码器试图从投影的低维空间恢复数据。这两种网络的参数通过重构损失函数来学习。瓶颈网络架构通常用于获得比原始数据低维的表示,这迫使模型保留在重构数据实例时非常重要的信息。为了使整体重构误差最小化,保留的信息必须尽可能与主要实例(如正常实例)相关。因此,数据实例,如偏离大多数数据的异常,很难重建。因此,数据重构误差能很好地拟合异常评分。这种方法的基本公式如下。

论文翻译:Deep Learning for Anomaly Detection: A Review,异常检测的深度学习:回顾

其中ϕe是编码网络参数Θe和ϕdΘd的解码网络参数。编码器和解码器可以共享相同的权值参数,以减少参数和规则的学习。sx是基于重构误差的x的异常评分。为了学习更丰富和更有表现力的特征表示,已经引入了几种正规化自动编码器[39,97,129,155]。特别地,稀疏AE训练的方式是鼓励隐层**单元的稀疏性,例如,通过保持最活跃的k单元[97]。去噪AE[155]的目的是通过学习从一些预定义的损坏数据实例而不是原始数据重建数据,从而学习对小变化具有鲁棒性的表示。收缩AE[129]进一步学习了对周边实例的小变化具有鲁棒性的特征表示,这是通过添加一个基于编码器**的雅可比矩阵的Frobenius范数的惩罚项来实现的。变分AE[39]通过使用隐藏空间上的先验分布对数据实例进行编码,从而将正则化引入到表示空间中,防止过拟合,并确保学习空间的一些良好特性,以便生成有意义的数据实例。AEs是易于实现的,在检测异常方面有直接的直觉。因此,它们在文献中得到了广泛的探讨。复制神经网络[58]是第一个探索数据重建来检测异常的想法的工作,实验集中于静态多维/表格数据。复制器网络建立在具有三层隐层的前馈多层感知器上。它使用参数化双曲正切**函数,对不同的输入值获得不同的**级别,有助于将中间表示离散到一些预定义的容器中。因此,隐藏层自然地将数据实例聚类到许多组中,从而能够检测聚类异常。在此工作之后,有许多研究致力于进一步提高AEs在异常检测方面的性能。例如,RandNet[29]进一步增强了basic通过学习一组AEs。在RandNet中,用eac训练了一组独立的AEsAE有一些随机选择的经常退出连接。采用自适应采样策略,以指数方式增加小批量的样本容量。RandNet专注于表格数据。[72]将自动编码器集成的思想推广到时间序列数据中。在鲁棒主成分分析(RPCA)的激励下,RDA[176]试图改进的健壮性AEs的迭代将原始数据分解为两个子集,正常组和异常组实例。这是通过添加一个稀疏点球ℓ1或分组点球ℓ2,1到其RPCA-alike目标函数的系数调整异常。

AEs也被广泛用于检测表数据以外的数据中的异常,如序列数据[93]、图形数据[38]和图像/视频数据[164]。通常,有两种类型的AEs对这些复杂数据的适应。最直接的方法是遵循相同的过程的常规使用AEs除了特定的网络体系结构针对特定类型的数据需要学习有效的低维特征表示,如CNN-AE [173], LSTM-AE [98], Conv-LSTM-AE GCN(图卷积网络)[94]和ae [38]。这种类型的AEs将编码器-解码器方案嵌入到这些方法的整个过程中。另一种基于ae的方法是首先使用AEs学习复杂数据的低维表示,然后学习预测这些已学习的表示。AEs的学习和表示预测通常是两个独立的步骤。这些方法与第一种方法不同,因为表示的预测是围绕着AEs产生的低维表示进行的。在[93]中,将去噪AE与RNNs相结合,学习多变量序列数据的正常模式,其中去噪首先使用两层隐含层学习多维数据输入在每个时间步长的表示,然后训练一个简单的单隐含层RNN来预测消噪后的声发射的表示。类似的方法也被用于检测声学异常[99],其中更复杂的RNN,双向LSTMs被使用。

的优势。基于数据重构方法的优点如下。(i)的构想AEs对于不同类型的数据是简单和通用的。(ii)可以利用不同类型的强大AE变体来执行异常检测。缺点。它们的缺点如下。(i)学习到的特征表示可能会由于训练数据中不常见的规律和异常值或异常的存在而产生偏差。(ii)数据重构的目标函数设计用于降维或数据压缩,而不是异常检测。因此,所得到的表示是底层规则的通用摘要,没有针对检测不规则情况进行优化。

挑战的目标。AE框架下可以使用不同类型的神经网络层和架构,允许我们检测高维数据中的异常,以及非独立数据,如属性图数据[38]和多元序列数据[93,99]。(CH2)。如果学习的表征更具有表现力,这些方法可能会比传统的基于手工特征的方法减少误报率(CH1)。AEs通常容易受到训练数据中出现的数据噪声的影响,因为经过训练后能够记住这些噪声,导致过拟合严重,异常的重构误差小。RPCA的思想可以用于AEs,以训练更健壮的检测模型[176](CH4)。

生成式对抗网络。基于gan的异常检测在早期应用于[139]后迅速发展成为深部异常检测的流行方法之一。这种方法通常旨在学习生成网络G的潜在特征空间,使潜在空间能够很好地捕捉到给定数据背后的常态。实际实例和生成的实例之间的某种形式的剩余被定义为异常分数。假设。在GANs中,生成网络的潜在特征空间可以更好地生成正常数据实例,而不是异常数据实例。

早期的方法之一是阳极氧化法[139]。关键的直觉是,对于任意给定的数据实例x,它的目标是在生成网络G的学习的潜在特征空间中搜索一个实例z,使生成的相应实例G(z)与x尽可能相似。由于潜空间被强制用于捕获训练数据的潜在分布,因此与正常实例相比,异常产生的高度相似的副本的可能性较小。具体地说,一个甘首先接受的常规培训目标如下:

论文翻译:Deep Learning for Anomaly Detection: A Review,异常检测的深度学习:回顾

在G和D分别生成器和鉴别器网络参数化ΘG和ΘD(参数是为了简便起见,我们省略了),两人和V的值函数的极小极大的游戏。在此之后,对于每个x,为了找到其最优的z,我们使用两个损失函数来指导搜索,即残差损失和鉴别损失。剩余损失定义为:

论文翻译:Deep Learning for Anomaly Detection: A Review,异常检测的深度学习:回顾

而识别损失是基于特征匹配技术定义的:

论文翻译:Deep Learning for Anomaly Detection: A Review,异常检测的深度学习:回顾

其中,(h)为判别器中间层的特征映射,(h)为搜索迭代步骤的索引。搜索从一个随机抽样z,紧随其后的是基于梯度更新z来自总体损失(1−α)ℓR (x, zγ)+αℓ调频(x, zγ),α是一个hyperparameter的地方。在整个搜索过程中,经过训练的GAN的参数是固定的;损失仅用于更新z下次迭代的系数。根据最后一步c .得到的x与z之间的相似性来定义异常分数
论文翻译:Deep Learning for Anomaly Detection: A Review,异常检测的深度学习:回顾

AnoGAN的一个主要问题是在z的迭代搜索中计算效率低。解决这个问题的一个有效方法是添加一个额外的网络来学习从数据实例到潜在空间的映射,即。,一个逆的生成器,产生类似的方法EBGAN[171]和fast AnoGAN[138]。这两种方法具有相同的精神。在这里,我们主要关注构建在双向GAN (BiGAN)[40]之上的EBGAN。特别的是,除了生成器G和鉴别器D之外,BiGAN的目标不是区分x和G(z),而是区分实例对(x, E(x))和实例对(G(z), z):

论文翻译:Deep Learning for Anomaly Detection: A Review,异常检测的深度学习:回顾

训练结束后,EBGAN受到AnoGAN的Eq.(11)的启发,定义了异常分数:

论文翻译:Deep Learning for Anomaly Detection: A Review,异常检测的深度学习:回顾

论文翻译:Deep Learning for Anomaly Detection: A Review,异常检测的深度学习:回顾

。这就消除了需要在AnoGAN中迭代搜索z。EBGAN被扩展为一个名为ALAD[172]的方法再增加两个甄别器,其中一个甄别器试图甄别来自(x,G(E(x)))和另一个试图区分(z, z)和(z, E() ,z)))。GANomaly[3]进一步改进了生成器,将生成器网络改为编码器-解码器-编码器网络,并增加了两个额外的损失功能。

generator在概念上可以表示为:论文翻译:Deep Learning for Anomaly Detection: A Review,异常检测的深度学习:回顾G是一个组合的通用电气编码器和解码器GD。除了常用的特征匹配损失外:

论文翻译:Deep Learning for Anomaly Detection: A Review,异常检测的深度学习:回顾

生成器包括上下文丢失和编码丢失,以生成更实际的实例:

论文翻译:Deep Learning for Anomaly Detection: A Review,异常检测的深度学习:回顾

情商的上下文损失。(15)执行发电机考虑输入的上下文信息在生成xˆ。Eq.(16)中的编码损失帮助生成器学习如何从训练数据中对生成的实例的特征进行编码。然后定义发电机的总损失:

论文翻译:Deep Learning for Anomaly Detection: A Review,异常检测的深度学习:回顾

其中,“-”、“-”和“-”是决定每个人减重的超参数。由于训练数据主要包含正常实例,所以编码器G和E对正常实例的编码进行了优化,从而可以定义异常分数:

论文翻译:Deep Learning for Anomaly Detection: A Review,异常检测的深度学习:回顾

)其中,如果x是一种异常,则sx预计会很大。在过去的几年里,还引进了许多其他的甘人,比如Wasserstein GAN[10]与循环GAN[177]。它们可以用来进一步提高异常检测性能在上述方法中,如用Wasserstein GAN替代标准GAN[138]。另一个相关的研究方向是反向学习端到端单类分类模型,即分类到端到端异常分数学习框架中,在6.4节中讨论。

优势:这些方法的优点如下。(i)甘斯已经证明优越的能力在产生现实的实例,特别是在图像数据,授权从潜在空间中检测重构不佳的异常实例。(2)大现有的基于gan的模型和理论可以采用[32]进行异常检测。缺点。它们的缺点如下。(i)甘斯族的训练可能会受到影响多个问题,如失效收敛和模态崩溃[101],这导致了训练基于gan的异常检测模型的巨大困难。(ii)生成器网络会被误导,从正常实例的流形中生成数据实例,特别是当给定数据集的真实分布非常复杂和/或训练数据包含意外的异常值时。(iii)基于gan的异常分数可能不是最优的,因为它们建立在生成器网络上,目的是为了数据合成,而不是异常检测。

挑战的目标。与AEs相似,基于gan的异常检测可以通过对学习到的低维潜伏期进行重构来检测高维异常空间(CH2)。当潜在空间保留了重要的异常识别信息时,就可以有效地识别出潜在空间有助于提高检测精度高于原始数据空间(CH1)。5.1.3预测建模。基于可预测性模型的异常检测方法学习的表示形式预测当前数据实例,从而实现特性表示5.1.3预测建模。基于可预测性模型的异常检测方法学习属性的表示来预测当前数据实例临时窗口中以前的实例作为上下文。在本节中,数据实例被称为序列中的单个元素,例如视频序列中的视频帧。这种技术广泛用于序列表示学习和预测[64,83,100,147]。为了实现准确的预测,特征表示被强制捕获时间/顺序和r可以很好地预测这些依赖关系,而异常通常会违反这些依赖关系,并且是不可预测的。因此,可以用预测误差(如均方误差或似然值)来定义异常分数。假设。在一些时间相关的上下文下,正常的实例比异常的实例更容易预测。
该研究线在视频异常检测中很流行[1,88,168]。视频序列包含复杂的高维时空特征。该算法需要对图像的外观和运动特征进行不同的约束:

论文翻译:Deep Learning for Anomaly Detection: A Review,异常检测的深度学习:回顾

ed是一帧预测损失以均方误差来衡量,ℓ副词是一个敌对的损失。流行的网络架构U-Net[130]被用来实例化用于帧生成的同源函数。ℓpred是由一组三个独立的损失,分别实施t + 1 xˆ之间的亲密和xt + 1在三个关键图像特征描述符:强度、梯度和光学流。ℓ副词是由于使用对抗训练提高图像生成。n.经过训练,对于给定的视频帧x, a归一化峰值信噪比[100]基于预测的区别| |ξ−xˆ我使用||2定义异常分数。在相同的框架下,在[168]中增加了一个基于自编码器的重构网络,进一步提高了预测帧质量,有助于扩大正常帧与异常帧之间的异常分数差在这个方向上的另一个研究线是基于自回归模型[51],假设序列中的每个元素都与前面的元素线性相关。的自回归在[1]中利用模型来估计一个潜在空间中的训练样本密度有助于避免假设有一个特定的发行版系列。具体来说,给定x和它的潜值空间表示z =ϕ(x;Θ)因式分解的自回归模型p (z):

论文翻译:Deep Learning for Anomaly Detection: A Review,异常检测的深度学习:回顾

其中z1:j−1 = {z1, z2,···,zj−1},p(zj|z1:j−1)表示zj在之前所有实例条件下的概率质量函数z1:j−1,K为潜在空间的维数大小。
[1]的目标是联合学习一个自动编码器和一个密度估计网络配备了自回归网络层。总损失可以用表来表示:

论文翻译:Deep Learning for Anomaly Detection: A Review,异常检测的深度学习:回顾

)其中第一项是由均方误差(MSE)测量的重构误差,而第二项是由估计的条件概率密度先验下的表示的对数似然(logi -likelihood)测量的自回归损失。将这种损失最小化可以帮助了解常见的和容易预测的特性。在评价阶段,结合重构误差和对数似然来定义异常sco的优势。这类方法的优点如下。(i)可以采用若干顺序学习技术并将其纳入这一方法。(ii)这种方法能够学习不同类型的时间和空间依赖性。

缺点。它们的缺点如下。(i)此方法仅限于序列数据中的异常检测。(ii)顺序预测的计算代价可能很高。(3)学习的表示法对异常检测可能不是最优的,因为它的基本目标是序列预测而不是异常检测。

挑战的目标。这种方法是专门设计来学习表达时间依赖低维表示,这有助于解决异常检测在高维和/或时间数据集(CH1和CH2)的假阳性。这里的预测是基于一些经过的时间实例,因此这类方法能够检测基于时间上下文的条件异常(CH5)。

5.1.4 Self-supervised分类。该方法通过建立自监督分类模型来学习正态性表示,并将与分类模型不一致或不一致的实例识别为异常。该方法基于交叉特征分析或基于特征模型的异常检测[65,107,150]。这些研究通过数据实例与一组预测(分类/回归)模型的一致性/一致性来评估数据实例的正态性,每个模型学会基于其他特征来预测一个特征。给定测试实例的一致性可以通过对所有特征的分类/回归模型进行正确预测的平均次数或平均预测概率[65]、基于对数损失的surprisal[107]或二元决策的多数投票[150]来衡量。不像这些研究关注表格数据和构建功能或者基于所有特征的分类/回归模型的二元决策的多数投票[150]。不同于以往基于表格数据,利用原始数据构建特征模型的研究,基于深度一致性的异常检测主要针对图像数据,利用基于特征变换的增强数据建立预测模型。为了有效地区分转换实例,分类模型被强制学习特征,这些特征对描述训练数据中实例的潜在模式非常重要。因此,普通实例通常与分类模型有较强的一致性。

假设。正常情况比异常情况更符合增强的自监督预测模型。这种方法最初在[49]中进行了探讨。为了建立预测模型,首先对一组正常训练图像进行不同组成的几何特征变换操作,包括水平翻转、平动和旋转。在扩充后的数据上训练一个深的多类分类模型,用特定的转换操作处理来自同一类的数据实例,即。,一个合成的类。在评估阶段,测试实例使用每个转换组合进行扩充,它们的正态性得分通过将所有softmax分类得分聚合到给定测试实例的转换版本中来定义。其损失函数定义为:

论文翻译:Deep Learning for Anomaly Detection: A Review,异常检测的深度学习:回顾

实例x的低维特征表示是否被转换操作typeTj增强,是一个用W参数化的多类分类器,yTj是一个合成类的单热编码,该合成类被分配给使用转换操作Tj增强的实例CE是一个标准的交叉熵损失函数通过最小化Eq.(22),我们得到了针对分类器的优化的表示。然后我们可以应用特征学习者ϕ(Θ·∗和分类器互存(·,W∗)来获得每个使用转换操作Tj扩展的测试实例的分类分数。然后将每个测试实例的分类分数w.r.t不同的Tj进行汇总,计算异常分数。为此,假设每个Tj条件下的分类分数遵循Dirichlet分布评估测试实例对分类模型的一致性在[49]中,与不同Tj相关的分类分数的简单平均值与基于dirichlet的异常分数类似。半监督设置,即。时,训练数据只包含常规实例,在[49]。在[159]的无监督设置中也探索了类似的思想,其中变换集包含四个变换操作,即、旋转、翻转、移动和路径重新安排。[159]揭示的两个关键观点是t (i)在这种自监督多类分类模型的训练过程中,正常实例诱导的梯度值通常比离群值大得多;(ii)网络更新方向也偏向于正常实例。由于这两个特性,正常实例往往比异常实例更符合分类模型。评估了使用分类分数定义异常分数的三种策略,包括平均预测概率、最大预测概率和所有预测概率的负熵[159]。结果表明,基于负熵的异常分数总体上优于其他两种策略。的优势。基于深度一致性的方法的优点如下。(i)它们在无监督和半监督的情况下都工作得很好。(ii)异常评分基于梯度量级an的一些内在属性。

缺点。它们的缺点如下。(i)特征转换操作通常依赖于数据。以上转换操作仅适用于图像数据。需要探索不同的转换操作,以使此方法适用于其他类型的数据。(ii)虽然分类模型是端到端训练的,但在优化过程中,基于一致性的异常分数是根据分类分数而不是一个整体单元来得到的,因此可能是次优的。挑战的目标。与原始的高维空间(CH1和CH2)相比,该方法学习的低维正态性表达有助于更好地检测异常。由于自监督分类器中呈现的异常实例与正常实例之间存在一些内在差异,因此该方法也能够在无监督设置中工作[159],对训练数据中的异常污染具有良好的鲁棒性(CH4)。

依赖于异常度量的特征学习异常度量依赖特征学习的目的是学习针对一个特定的现有异常度量而特别优化的特征表示。在形式上,这组方法的框架可以表示为:

论文翻译:Deep Learning for Anomaly Detection: A Review,异常检测的深度学习:回顾

其中f是在表示空间上操作的现有异常评分度量。注意,f是否可能包含可训练参数W取决于使用的异常度量。不同于eq中的一般特征学习方法。(2-3)在获得所学表示后,根据一些启发式方法计算异常分数,本研究线直接将现有的异常测度f纳入特征学习目标函数中,针对f优化特征表示。下面我们回顾三种常见异常测度的表示法学习,包括基于距离测度、单类分类测度和基于聚类测度:1。基于距离测量。深度基于距离的异常检测旨在学习针对特定类型的基于距离的异常测度而优化的特征表示。基于距离的方法是直接和容易实现的。有一些引入了基于距离的有效异常测度,如DB离群值[73,74]、k近邻距离[126,127]、k近邻平均距离[9]、相对距离[174]、随机近邻距离[117,145]。传统的基于距离的异常测量方法的一个主要限制是由于维数的诅咒而无法在高维数据中有效工作。基于深度距离的异常检测在[114]中得到了首次探索,其中利用基于距离的随机最近邻异常测度[117,145]从超高维数据中学习低维表示。特别地,关键思想是优化表示,使伪标记异常在随机子样本中的最近邻距离大大大于伪标记正常实例的最近邻距离。伪标签由一些现成的异常检测方法生成。令S∈X为数据实例的子集