摘要

异常检测是一个在不同研究领域和应用领域中得到深入研究的重要问题。本综述的目标有两个方面,首先,我们提供了深度学习在基于异常检测的研究方法方面的结构化和全面的概述。此外,我们还回顾了这些方法在各种应用领域中用于异常检测的采用情况,并评估了它们的有效性。我们将最先进的深度异常检测研究技术根据其基本假设和采用的方法分为不同类别。在每个类别中,我们概述了基本的异常检测技术及其变体,并介绍了区分正常行为和异常行为的关键假设。此外,对于每个类别,我们还介绍了技术的优势和局限性,并讨论了在实际应用领域中技术的计算复杂性。最后,我们概述了研究中的未解决问题以及在将深度异常检测技术应用于现实世界问题时面临的挑战。

论文分两个方面,系统性概述和应用情况(有效性评估)

引言

在分析现实世界数据集时,通常需要确定哪些实例与其他所有实例不同。这些实例被称为异常,而异常检测的目标是以数据驱动的方式确定所有这些实例(也称为离群值检测)(Chandola等人,2007)。异常可能是由数据中的错误引起的,但有时它们可能表明存在一种新的、以前未知的潜在过程;Hawkins [1980] 将离群值定义为与其他观测值明显偏离,以至于引起怀疑它是由不同机制生成的观测值。在更广泛的机器学习领域中,近年来深度神经网络迅速增多,并在各种应用领域取得了前所未有的结果。深度学习是机器学习的一个子集,通过在神经网络的层级内学习将数据表示为概念的嵌套层次,实现了良好的性能和灵活性。正如图1所示,随着数据规模的增加,深度学习在性能上胜过传统的机器学习方法。近年来,基于深度学习的异常检测算法变得越来越受欢迎,并已被应用于各种任务,如图2所示;研究表明,深度学习完全超越了传统方法(Javaid等人,2016;Peng和Marculescu,2015)。

本综述的目标有两个方面,首先,我们对深度异常检测(DAD)的研究方法进行了结构化和全面的综述。此外,我们还讨论了在各种应用领域中采用DAD方法的情况,并评估了它们的有效性。

什么是异常?

在数据挖掘和统计学的文献中,异常也被称为异常、偏差或离群值(Aggarwal,2013)。如图3所示,N1和N2是由大多数观测组成的区域,因此被视为正常数据实例区域,而区域O3和数据点O1、O2是一些距离大部分数据点较远的少数数据点,因此被视为异常。

异常产生的原因有很多,例如恶意行为、系统故障、有意的欺诈等。这些异常揭示了关于数据的令人兴奋的见解,通常传达了有关数据的有价值信息。因此,异常检测被视为各种决策系统中的一个重要步骤。

什么是新颖性?

新颖性检测是在数据中识别新颖(新的)或未观察到的模式(Miljković,2010)。检测到的新颖性模式不被视为异常数据点;相反,它们被应用于正常数据模型。可以为这些以前未见过的数据点分配新颖性分数,使用决策阈值分数(Pimentel等人,2014)。与此决策阈值显著偏离的点可能被视为异常或离群值。例如,在图4中,正常老虎中的(白老虎)图像可能被视为新颖性,而(马、黑豹、狮子和猎豹)图像被视为异常。用于异常检测的技术通常也用于新颖性检测,反之亦然。

动机和挑战:深度异常检测(DAD)技术

传统算法检测异常值的性能在图像(如医学图像)和序列数据集上是次优的,因为它不能捕获数据中的复杂结构。

需要大规模的异常检测:随着数据量的增加,比如说是千兆字节,传统的方法几乎不可能扩展到如此大规模的数据来找到异常值。

深度异常检测(DAD)技术从数据中学习层次化的判别特征。这种自动特征学习能力消除了领域专家开发手动特征的需求,因此在诸如文本和语音识别等领域中倡导以原始输入数据解决问题的端到端方法。

这种能力可以避免需要由领域专家手动开发特征,而是让计算机自己去找到有用的信息。这意味着在一些领域,比如文本和语音识别,可以直接使用原始输入的数据来解决问题,而不必人为地提前处理数据。

正常和异常(错误)行为之间的边界通常在多个数据域中精确定义,而是不断演变。这种缺乏定义良好的代表性正常边界给传统算法和基于深度学习的算法带来了挑战。

相关工作

尽管深度学习方法在许多机器学习问题上取得了实质性的进展,但用于异常检测的深度学习方法却相对稀缺。

尽管有一些关于应用DAD技术的综述,但在用于离群值检测的深度学习架构的比较分析方面存在缺乏。例如,大量关于异常检测的研究使用了深度自编码器,但缺乏关于在给定数据集和应用领域中最适合的各种深度架构的综合调查。我们希望本综述填补这一空白,并为希望利用深度学习进行异常检测的研究人员和工程师提供全面的参考。表1显示了我们的调查涵盖的研究方法和应用领域。

虽然有很多关于异常检测的研究使用了深度学习的方法,尤其是深度自编码器,但缺乏一种综合性的调查,来确定在特定的数据集和应用领域中,哪种深度学习架构最适合用来进行异常检测。

主要贡献

近年来,已经开发出了几种新的基于深度学习的异常检测技术,这些技术大大降低了计算需求。本文的目的是调查这些技术,并将它们分类到一个有组织的架构中,以便更好地理解。我们根据训练目标的选择,引入了两个更多的子类别,即混合模型(Erfani等人,2016a)和单类神经网络技术(Chalapathy等人,2018a),如图5所示。对于每个类别,我们讨论了为获得最佳性能所采用的假设和技术。此外,在每个类别内,我们还介绍了挑战、优点和缺点,并概述了DAD方法的计算复杂性。

论文的组织形式

本章按照图5中描述的结构进行组织。在第8节中,我们确定了决定问题制定的各个方面,并强调了与异常检测相关的丰富性和复杂性。我们介绍并定义了两种类型的模型:上下文模型和集体或群体异常。在第9节中,我们简要描述了深度学习异常检测已被应用于的不同应用领域。在随后的几节中,我们根据它们所属的研究领域对基于深度学习的技术进行了分类。根据所采用的训练目标和标签的可用性,基于深度学习的异常检测技术可以分为监督(第10.1节)、无监督(第10.5节)、混合(第10.3节)和单类神经网络(第10.4节)。对于每种技术类别,我们还讨论了它们在训练和测试阶段的计算复杂性。在第8.4节中,我们讨论了基于深度学习的点、上下文和集体(群体)异常检测技术。我们在第12节中对各种现有技术的局限性和相对性能进行了一些讨论。第13节包含了结论性的评论。

基于深度学习的异常检测的不同方面

输入数据的性质

在深度异常检测方法中,选择深度神经网络架构主要取决于输入数据的性质。输入数据可以大致分为序列数据(例如语音、文本、音乐、时间序列、蛋白质序列)或非序列数据(例如图像和其他数据)。表2展示了输入数据的性质以及在异常检测中使用的深度模型架构。此外,根据特征(或属性)的数量,输入数据还可以进一步分为低维或高维数据。DAD技术被用于学习高维原始输入数据中的复杂层次特征关系(LeCun等人,2015)。在DAD技术中使用的层数受到输入数据维度的影响,深层网络在处理高维数据时表现出更好的性能。随后,在第10节中,将深入审查用于离群值检测的各种模型。

基于标签的可用性

标签表示所选择的数据实例是正常的还是异常的。由于异常是罕见的实体,因此很难获得它们的标签。此外,异常行为可能随着时间的推移而改变,例如,在Maroochy水处理厂,异常的性质发生了如此显著的变化,以至于长时间内没有被注意到,导致150百万升的未经处理的污水泄漏到当地水道(Ramotsoela等人,2018)。

由于这些异常情况相对较少发生,收集足够的带有异常标签的数据来训练一个可靠的异常检测模型可能会很困难。

深度异常检测(DAD)模型可以根据标签的可用性程度大致分为三类。

(1) 监督式深度异常检测。

(2) 半监督式深度异常检测。

(3) 无监督式深度异常检测。

监督式深度异常检测

监督式深度异常检测涉及使用正常和异常数据实例的标签,训练深度监督的二元或多类分类器。例如,监督式DAD模型被制定为多类分类器,有助于检测罕见品牌、禁用药物名称提及和欺诈性医疗交易(Chalapathy等人,2016a,b)。尽管监督式DAD方法的性能有所提高,但由于缺乏带标签的训练样本,这些方法不如半监督或无监督方法流行。此外,由于类别不平衡(正类实例的总数远远多于负类实例的总数),作为异常检测器使用的深度监督分类器的性能不够理想。因此,在本次调查中,我们不考虑监督式DAD方法的回顾。

用途:检测罕见品牌、禁用药物名称提及和欺诈性医疗交易

缺点:

  • 由于缺乏带标签的训练样本,这些方法不如半监督或无监督方法流行
  • 由于类别不平衡(正类实例的总数远远多于负类实例的总数),作为异常检测器使用的深度监督分类器的性能不够理想

半监督深度异常检测

相对于异常实例,正常实例的标签更容易获得,因此半监督式DAD技术更广泛地被采用,这些技术利用已有的单一类别(通常是正类)的标签来区分离群值。在异常检测中使用深度自编码器的一种常见方法是在没有异常的数据样本上以半监督的方式对它们进行训练。有足够的训练样本,正类自编码器会对正常实例产生低重构误差,而对异常事件产生较高的重构误差(Wulsin等人,2010;Nadeem等人,2016;Song等人,2017)。我们在第10.2节中详细回顾了这些方法。

无监督的深度异常检测

无监督式深度异常检测技术仅基于数据实例的内在属性来检测离群值。无监督式DAD技术用于对未标记的数据样本进行自动标记,因为获得带标签的数据非常困难(Patterson和Gibson,2017)。无监督DAD模型的变体(Tuor等人,2017)在健康和网络安全等应用领域中表现出优于传统方法(如主成分分析(PCA)(Wold等人,1987)、支持向量机(SVM)(Cortes和Vapnik,1995)和孤立森林(Liu等人,2008)技术)的性能。

自编码器是所有无监督DAD模型的核心。这些模型假设正常实例的普遍性要高于异常数据实例,否则会导致高的误报率。此外,无监督学习算法,如受限玻尔兹曼机(RBM)(Sutskever等人,2009)、深玻尔兹曼机(DBM)、深信念网络(DBN)(Salakhutdinov和Larochelle,2010)、广义去噪自编码器(Vincent等人,2008)、循环神经网络(RNN)(Rodriguez等人,1999)和长短时记忆网络(Lample等人,2016)被用于检测离群值,这些在第11.7节中进行了详细讨论。

基于训练目标

本文介绍了两种基于训练目标的新型深度异常检测(DAD)技术。

1)深度混合模型(DHM) ;2)一类神经网络(OC-NN)

深度混合模型

异常检测的深度混合模型主要使用基于自动编码器的深度神经网络作为特征提取器。自编码器隐藏表示中学到的特征被输入传统的异常检测算法,如一类支持向量机(OC-SVM),用于检测离群值(Andrews等人,2016a)。图7展示了用于异常检测的深度混合模型架构。鉴于迁移学习从在大数据集上预训练的模型中获得丰富的代表性特征的成功,混合模型也成功地使用了这些预训练的迁移学习模型作为特征提取器(Pan等人,2010)。Ergen等人[2017]提出了混合模型的一个变体,考虑到特征提取器的联合训练,以及OC-SVM(或SVDD)目标,以最大化检测性能。这些混合方法的一个显著缺点是缺乏为异常检测定制的可训练目标,因此这些模型无法提取丰富的差异特征来检测离群值。为了克服这个限制,引入了定制的异常检测目标,例如深度单类分类(Ruff等人,2018a)和单类神经网络(Chalapathy等人,2018a)。

利用了深度神经网络,特别是自编码器,来帮助提取数据的特征。"混合模型"是指将深度神经网络和传统方法结合起来使用,一些深度神经网络的隐藏层中学到的特征会被提取出来,然后送入传统的异常检测方法中。

缺点:这些混合方法存在一个问题,就是它们缺乏专门为异常检测设计的目标,因此无法从数据中提取出足够多的特征来有效地检测异常值。为了解决这个问题,研究人员引入了一些专门用于异常检测的方法,比如“深度单类分类”和“单类神经网络”。这些方法能够更好地适应异常检测的需求。

单类神经网络

单类神经网络(OC-NN)方法(Chalapathy等人,2018a)受基于核的单类分类方法的启发,它结合了深度网络提取数据逐渐丰富表示的能力,以及创建围绕正常数据的紧密边界的单类目标。OC-NN方法有一个重要的创新之处:隐藏层中的数据表示受到OC-NN目标的驱动,因此定制为用于异常检测。这与其他方法不同,其他方法使用的是混合方法,即使用自编码器学习深度特征,然后将这些特征输入到单独的异常检测方法(如一类支持向量机(OC-SVM))中。关于训练和评估单类神经网络的细节在第10.4节中有讨论。另一种单类神经网络体系结构的变体是深度支持向量数据描述(Deep SVDD)(Ruff等人,2018a),它通过将正常数据实例紧密映射到球心来训练深度神经网络,从而提取共同的变异因素。在MNIST(LeCun等人,2010)和CIFAR-10(Krizhevsky和Hinton,2009)数据集上显示出性能改进。

收到核的单分类方法的启发,什么是核的单分类?

核的单分类:在一个高维的空间中找到一个奇特的形状,将正常事物包围在内,而异常事物则位于外部

创新点:隐藏层中的数据表示受到OC-NN目标的驱动,因此定制为用于异常检测

其他使用混合方法,什么是混合方法:使用自编码器等神经网络来学习数据的深度特征,然后将这些学习到的特征输入到其他单独的异常检测方法中

异常类型

异常可以广泛分为三种类型:点异常、上下文异常和集体异常。

点异常

点异常通常表示的是一个随机发生的不规则或偏离,可能没有特定的解释。例如,在图10中,一笔在摩纳哥餐厅消费金额较高的信用卡交易似乎是一个点异常,因为它与其他交易明显不同。在考虑点异常检测的几个真实世界应用在第9节进行了回顾。

上下文异常

上下文异常,也被称为条件异常,是在特定背景下可能被视为异常的数据实例(Song等人,2007)。通过考虑上下文和行为特征来识别上下文异常。上下文特征通常包括时间和空间。而行为特征可能是花钱模式、系统日志事件的发生或任何用于描述正常行为的特征。图9a说明了一个上下文异常的示例,考虑了温度数据,显示了在6月前发生的急剧下降;这个值不符合此时正常值的特征。图9b使用基于深度长短时记忆(LSTM)(Hochreiter和Schmidhuber,1997)的模型来识别给定上下文中的异常系统日志事件(Du等人,2017)(例如,事件53被检测为不在上下文中)。

集体或组异常检测

集合或群体异常指的是由个别数据点组成的异常集合,在独立观察每个个体数据点时,它们可能看起来是正常数据实例,但在群体中观察时则展现出不寻常的特征。例如,考虑一个欺诈性信用卡交易的示例,在图10所示的日志数据中,如果发生了一笔"MISC"的单笔交易,可能不会看起来是异常的。但接下来的一组总价值为75美元的交易显然可能是集体或群体异常的候选项。群体异常检测(GAD)强调不规则群体分布(例如,使用自编码器模型的变体检测图像像素的不规则混合,Chalapathy等人,2018b,Bontemps等人,2016,Araya等人,2016,Zhuang等人,2017)。

DAD技术的输出

异常检测方法的一个关键方面是异常被检测的方式。通常,异常检测方法产生的输出要么是异常分数,要么是二元标签。

异常分数

异常分数描述了每个数据点的异常程度。数据实例可以根据异常分数进行排名,然后由领域专家选择特定领域阈值(通常称为决策分数)来识别异常。总体而言,决策分数比二元标签提供了更多信息。例如,在Deep SVDD方法中,决策分数是数据点与球心之间距离的度量,远离球心的数据点被视为异常(Ruff等人,2018b)。

二元标签

有些技术可能不会分配分数,而是将类别标签分配给每个数据实例,将其标记为正常或异常。使用自编码器的无监督异常检测技术会测量残差向量的大小(即重构误差)以获得异常分数,然后,这些重构误差会被领域专家排名或设定阈值,用于标记数据实例。

在深度异常检测中的应用

在本节中,我们将讨论深度异常检测的几个应用。对于每个应用程序领域,我们将讨论以下四个方面:

  1. 关于异常的概念
  2. 数据的性质
  3. 与检测异常现象相关的挑战
  4. 现有的深度异常检测技术

入侵检测

入侵检测系统(IDS)是指在与计算机相关的系统中识别恶意活动(Phoha,2002)。IDS可以部署在单个计算机上,称为主机入侵检测(HIDS),也可以部署在大型网络上,称为网络入侵检测(NIDS)。深度异常检测技术在入侵检测中的分类如图11所示。

IDS根据检测方法分为基于签名的和基于异常的。

"签名"是指一种用于识别特定恶意活动或攻击的模式或特征。这些模式可以是特定的代码、行为、数据包格式等。在基于签名的入侵检测系统中,这些签名被预先定义并存储在系统中。当系统检测到与某个签名相匹配的行为或数据时,它会标识这种行为或数据为恶意的,从而触发警报或采取其他相应的措施。

使用基于签名的IDS无法有效检测新攻击,因为没有特定的签名模式可用,因此基于异常的检测方法更受欢迎。

在这项调查中,我们关注用于入侵检测的深度异常检测(DAD)方法和架构。

主机入侵检测系统

这种系统是安装在单个主机或计算机上的软件程序,通过监听主机内部发生的系统调用或事件,监控恶意活动或违反策略的情况(Vigna和Kruegel [2005])。系统调用日志可以由程序生成,也可以由用户交互生成,从而产生如图9b所示的日志。恶意的交互会导致这些系统调用以不同的顺序执行。主机入侵检测系统(HIDS)还可以监控系统的状态,存储的信息,随机访问内存(RAM),文件系统,日志文件或其他位置的有效序列。应用于HIDS的深度异常检测(DAD)技术需要处理数据的可变长度和顺序性质。这些DAD技术必须要么对序列数据进行建模,要么计算序列之间的相似度。表3中展示了一些成功应用于HIDS的DAD技术。

网络入侵检测系统

NIDS系统负责监控整个网络,通过检查每个网络数据包来发现可疑流量。由于其实时的流数据特性,这类数据的本质与大数据相似,具有大量的数据量、速度和多样性。网络数据还带有与之相关的时间因素。表4中列出了一些成功应用于NIDS的DAD技术。本调查还在表5中列出了用于评估DAD入侵检测方法的数据集。DAD技术在入侵检测中面临的一个挑战是,随着入侵者适应现有入侵检测解决方案来规避检测,异常的性质会随时间变化。

面临的挑战:随着入侵者适应现有入侵检测解决方案来规避检测,异常的性质会随时间变化

欺诈检测

欺诈是一种有意的欺骗行为,旨在获取有价值的资源(Abdallah等人,2016)。普华永道(PwC)在2018年的全球经济犯罪调查(Lavion,2018;Zhao,2013)中发现,在他们调查的7200家公司中,有一半曾经遭受过某种形式的欺诈。欺诈检测指的是在各个行业中检测非法活动,如图12所示。

银行欺诈

信用卡已经成为在线购物商品和服务的流行支付方式。信用卡欺诈涉及窃取支付卡详细信息,并将其用作交易中的欺诈资金来源。在过去的几年中,已经提出了许多信用卡欺诈检测技术(Zhou等人,2018;Suganya和Kamalraj,2015)。我们将简要回顾一些在表格6中所示的DAD技术。

在信用卡欺诈检测中的挑战在于欺诈没有一致的模式。

信用卡欺诈检测的典型方法是为每个用户维护一个使用配置文件,并监控用户配置文件以检测任何偏离。由于有数十亿信用卡用户,这种用户配置文件方法不太可扩展。由于DAD技术的内在可扩展性,这些技术正在广泛应用于信用卡欺诈检测中。

移动蜂窝网络欺诈

近年来,移动蜂窝网络迅速部署和演进,支持数十亿用户和广泛多样的移动设备。由于广泛的采用和低廉的移动蜂窝服务费率,移动蜂窝网络现在面临着一些诈骗,例如针对窃取客户私人信息的语音诈骗,以及与消息相关的诈骗,以向客户敲诈钱财。

检测这种诈骗是至关重要的,但由于移动蜂窝网络的数据量和速度,这并不是一项容易的任务。传统的静态特征工程技术的机器学习方法无法适应不断演变的诈骗性质。表格7列出了用于移动蜂窝网络诈骗检测的DAD技术。

保险欺诈

一些传统的机器学习方法已成功应用于保险理赔欺诈的检测(Joudaki等人,2015年;Roy和George,2017年)。传统的欺诈检测方法基于被认为是欺诈指标的特征。这些传统方法的挑战在于需要手动专业知识来提取稳健的特征。另一个挑战是在保险欺诈检测中,欺诈案件的发生率远低于总理赔数目,而且每个欺诈案件都有其独特之处。为了克服这些限制,提出了几种DAD技术,这些技术在表格8中有所说明。

传统方法的挑战:

  • 需要手动专业知识来提取稳健的特征
  • 欺诈案件的发生率远低于总理赔数目,而且每个欺诈案件都有其独特之处

医疗保健欺诈

医疗保健是人们生活中的重要组成部分,浪费、滥用和欺诈每年都会使医疗保健成本增加数十亿美元。医疗保险理赔欺诈是增加医疗保健成本的重要因素,但可以通过欺诈检测来减轻其影响。在医疗保健领域,已经使用了几种机器学习模型有效地进行保险欺诈检测(Bauder和Khoshgoftaar,2017年)。表格9概述了用于医疗保健欺诈识别的DAD方法。

恶意软件

恶意软件,简称恶意软件。为了保护合法用户免受恶意软件的侵害,提出了基于机器学习的高效恶意软件检测方法(Ye等,2017年)。在经典的机器学习方法中,恶意软件检测的过程通常分为两个阶段:特征提取和分类/聚类。传统恶意软件检测方法的性能关键取决于提取的特征和分类/聚类方法。恶意软件检测问题的挑战在于数据的规模庞大,例如,如果将数据视为字节,特定的序列分类问题可能涉及到约两百万个时间步骤。此外,恶意软件的性质非常适应性,攻击者会使用高级技术来隐藏恶意行为。一些有效解决这些挑战并检测恶意软件的DAD技术在表格10中展示。

面临的挑战:数据规模巨大、恶意行为会被隐藏

医疗领域

已经进行了多项研究,以了解深度学习在医学和生物信息学领域的理论和实际应用(Min等,2017年,Cao等,2018a年,Zhao等,2016年,Khan和Yairi,2018年)。在医学图像分析、临床脑电图(EEG)记录等领域寻找罕见事件(异常)可以帮助诊断和预防各种医学状况。深度学习基础架构被成功地用于检测医学异常,如表格11所示。医学领域中大量的不平衡数据对于检测异常提出了重大挑战。此外,长期以来,深度学习技术一直被视为黑盒技术。尽管深度学习模型表现出色,但这些模型缺乏可解释性。最近,提出了具有良好可解释性的模型,并且已经证明能够产生最先进的性能(Gugulothu等,Amarasinghe等,2018b年,Choi,2018年)。

用于社交网络中异常检测的深度学习

近年来,在线社交网络已经成为日常生活的重要组成部分。社交网络中的异常是指社交网络中个体的不规律、通常是非法的行为模式;这些个体可能被识别为垃圾邮件发送者、性侵者、在线骗子、虚假用户或谣言制造者。检测这些不规律的模式非常重要,因为如果不被检测出来,这些个体的行为可能会对社会产生严重的影响。

传统异常检测技术及其在社交网络中检测异常时的挑战是文献中一个研究得较为深入的课题(Liu和Chawla,2017年,Savage等,2014年,Anand等,2017年,Yu等,2016年,Cao等,2018b年,Yu等,2016年)。数据的异构性和动态性给DAD技术带来了重大挑战。尽管面临这些挑战,表格12中列出的几种DAD技术表现出色,超越了最先进的方法。

日志异常检测

日志文件中的异常检测旨在找到可以指示系统故障原因和性质的文本。通常情况下,通过过去的经验构建特定于领域的正则表达式,通过模式匹配来查找新的故障。这些方法的局限性在于,较新的故障信息很容易被忽略(Memon,2008年)。日志数据的格式和语义的非结构性和多样性对日志异常检测提出了重大挑战。异常检测技术应该适应并发产生的日志数据集,并实时检测异常值。在深度神经网络在实时文本分析方面取得成功后,表格13中列出的几种DAD技术将日志数据建模为自然语言序列,在检测异常值方面表现出色。

物联网(IoT)大数据异常检测

物联网被认为为与软件、服务器、传感器等相互连接的设备网络。

在物联网(IoT)领域,由气象站、射频识别(RFID)标签、IT基础设施组件和其他一些传感器产生的数据大多是时间序列序列数据。

这些IoT网络中的异常检测识别出这些大规模互联设备的欺诈性、故障行为。异常值检测面临的挑战是,异构设备相互连接,使系统更加复杂。关于如何在IoT领域中使用深度学习(DL)来促进分析和学习的全面概述由Mohammadi等人(2018年)提供。表格14展示了应用于IoT设备的DAD技术。

工业异常检测

工业系统包括风力涡轮机、发电厂、高温能源系统、储能设备以及带有旋转机械部件,每天都面临巨大的压力。对这些类型的系统造成损坏不仅会造成经济损失,还会影响声誉,因此早期检测和修复对于工业系统至关重要。已经使用了多种机器学习技术来检测工业系统的这种损坏(Ramotsoela等人[2018],Mart´ı等人[2015])。已经发表的一些利用深度学习模型来检测早期工业损伤的论文显示出了很大的潜力(Atha和Jahanshahi[2018],de Deijn [2018],Wang等人[2018c])。设备损坏是罕见事件,因此检测此类事件可以被归纳为异常值检测问题。在这个领域中与异常值检测相关的挑战包括数据的量和数据的动态性,因为故障是由多种因素引起的。在各个行业中使用的一些DAD技术在表格15中有所描述。

时间序列中的异常检测

持续记录的数据被称为时间序列。时间序列数据可以广泛分为单变量和多变量时间序列。

在单变量时间序列的情况下,只有一个变量(或特征)随时间变化。例如,从房间内的温度传感器每秒钟收集的数据就是单变量时间序列数据。

多变量时间序列包含多个随时间变化的变量(或特征)。加速度计每秒钟产生三维数据,每个轴(x、y、z)都有一个数据,这是多变量时间序列数据的典型例子。

使用深度学习模型数据来检测时间序列中的异常现象的一些挑战是:

• 缺乏定义的异常出现模式可能会影响算法的性能。

• 输入数据中的噪声会严重影响算法的表现。

• 随着时间序列数据长度的增加,计算复杂性也会增加。

• 时间序列数据通常是非平稳的、非线性的,并且动态演化的。因此,深度异常检测模型应该能够实时检测异常。

单变量时间序列深度异常检测

深度学习领域的进展为提取丰富的分层特征提供了机会,这可以极大地改进对单变量时间序列数据中的异常的检测。用于在单变量和多变量时间序列数据上基准异常检测算法的行业标准工具和数据集(基于深度学习和非深度学习的)的列表可在 GitHub 仓库上找到和维护。表16展示了在单变量时间序列数据中用于异常检测的各种深度架构。

多变量时间序列深度异常检测

多变量时间序列数据中的异常检测是一项具有挑战性的任务。有效的多变量异常检测能够实现故障隔离诊断。基于循环神经网络(RNN)和长短时记忆网络(LSTM)的方法3在检测多变量时间序列数据中的可解释异常方面表现良好。DeepAD是一个基于深度学习的通用框架,用于多变量时间序列异常检测,由Buda等人[2018]提出。使用基于深度注意力模型设计的可解释性异常检测系统在解释检测到的异常方面非常有效(Yuan等人[2018b],Guo和Lin [2018])。表17展示了在多变量时间序列数据中用于异常检测的各种深度架构。

视频监控

视频监控,也被称为闭路电视(CCTV),涉及监控特定的关注区域,以确保安全。在视频监控应用中,大量的未标记数据是监督式机器学习和深度学习方法的重要挑战。

因此,由于缺乏标记数据的可用性,视频监控应用已被建模为异常检测问题。

一些研究已经研究了视频异常检测的最新深度模型,并根据模型类型和检测标准对它们进行了分类(Kiran等人[2018],Chong和Tay [2015])。(Boghossian和Black [2005])详细讨论了稳健的全天候视频监控系统的挑战。在现实生活中,对异常的明确定义不明确是影响DAD方法性能的重要问题。表19展示了在视频监控中使用的DAD技术。

深度异常检测模型(DAD)

对于每个模型类型领域,我们将讨论以下四个方面:

1)假设

2)模型体系结构的类型

3)优缺点

有监督的深度异常检测

相比于无监督异常检测技术,监督异常检测技术在性能上更卓越,因为这些技术使用了带有标签的样本(G¨ornitz等人[2013])。监督异常检测从一组带有标注的数据实例(训练)中学习分离边界,然后使用学习的模型将测试实例分类为正常或异常类别(测试)。

假定:深度监督学习方法依赖于分离数据类别,而无监督技术则专注于解释和理解数据的特征。基于多类分类的异常检测技术假设训练数据包含多个正常类别的标记实例(Shilton等人[2013],Jumutc和Suykens [2014],Kim等人[2015],Erfani等人[2017])。多类别异常检测技术学习一个分类器,以区分异常类别和其他类别。一般而言,基于监督深度学习的异常检测分类方案包含两个子网络,一个特征提取网络,后面是一个分类器网络。深度模型需要大量的训练样本(数量达到千百万级)来学习有效地区分各个类别实例的特征表示。由于缺乏干净数据标签,监督式深度异常检测技术在流行程度上不如半监督和无监督方法。

这种方法主要是将数据分成不同的类别来学习,监督深度学习包括两个网络:特征提取网络和分类网络。

缺点在于:很难获得大量干净的数据标签

计算的复杂性:深度监督异常检测方法的计算复杂性取决于输入数据的维度以及使用反向传播算法训练的隐藏层数量。高维数据往往需要更多的隐藏层,以确保对输入特征进行有意义的分层学习。计算复杂性还会随着隐藏层数量的增加而线性增加,需要更多的模型训练和更新时间。

优点:

比半监督模型和无监督模型更准确。

基于分类的技术的测试阶段很快,因为每个测试实例只需要与预先计算的模型进行比较。

缺点:

多类监督技术需要对各种正常类和异常实例的准确标签,这通常是不可用的。

如果特征空间是高度复杂和非线性的,则深度监督技术无法分离出正常数据和异常数据。(比如医疗领域)

半监督的深度异常检测

半监督或(一类分类)深度异常检测(DAD)技术假设所有训练实例只有一个类标签。Kiran等人[2018]和Min等人[2018]提供了基于深度学习的半监督异常检测技术的综述。DAD技术学习在正常实例周围构建一个判别边界。不属于多数类别的测试实例被标记为异常(Perera和Patel [2018],Blanchard等人[2010])。表20中列举了各种半监督DAD模型的架构。

假设:

• 邻近性和连续性:在输入空间和学习到的特征空间中彼此接近的点更有可能共享相同的标签。

这是一种常见的假设,用于半监督异常检测,其中没有完整的标签信息,但我们希望利用数据点在特征空间中的邻近性来辅助判断它们的标签。

• 强健的特征在深度神经网络的隐藏层中被学习,并保留了区分正常数据点和异常数据点的判别属性。

在深度神经网络的隐藏层中,学习到的特征对于区分正常数据和异常数据非常有用。这些特征能够识别出哪些数据点是正常的,哪些数据点是异常的。这些特征在神经网络学习的过程中被强化和保留

计算复杂度:

Semi-supervised DAD方法的计算复杂性与监督DAD方法类似,主要取决于输入数据的维度和用于学习代表性特征的隐藏层数量。

优点:

在半监督学习模式下训练的生成对抗网络(GANs)显示出了巨大的前景,即使有很少的标记数据。

使用标记数据(通常是一个类),可以产生相当大的性能改进。

缺点:

在深度学习背景下,由(Lu [2009])提出的半监督技术的根本缺点仍然适用。此外,在隐藏层中提取的分层特征可能不代表较少的异常实例,因此容易出现过拟合问题。

在某些情况下,半监督学习相对于监督学习并不一定能够提供显著的优势。除非学习器可以确定标签与未标记分布之间存在某种非平凡的关系。高度条件的簇假设可能不适用

簇假设(Cluster Assumption)是一种在机器学习和数据分析中经常使用的假设,特别是在半监督学习和无监督学习中。簇假设基本上指出,数据点倾向于在低维特征空间中聚集成簇,即具有相似性的数据点在特征空间中会靠近彼此,而不同簇之间会有明显的距离。

混合深度异常检测

深度学习模型广泛用作特征提取器,用于学习稳健的特征(Andrews等人,2016a)。在深度混合模型中,深度模型内学到的代表性特征被输入传统算法,例如一类径向基函数(RBF)、支持向量机(SVM)分类器。混合模型采用两步学习,已经显示出产生了最先进的结果(Erfani等人,2016a、b;Wu等人,2015b)。在异常检测中使用的深度混合架构在表21中呈现。

假设:

提出的用于异常检测的深度混合模型依赖于以下假设之一来检测异常值:

  • 在深度神经网络的隐层中提取鲁棒特征,有助于分离能够隐藏异常存在的无关特征。

通过深度神经网络学习的特征可以帮助识别并突显异常数据,而忽略那些可能掩盖异常的不相关特征

  • 在复杂的、高维度的空间中构建一个稳健的异常检测模型需要特征提取器和异常检测器。表格21中列出了与之一起使用的各种异常检测器。

复杂性:

混合模型的计算复杂性包括了深度架构和其中使用的传统算法的复杂性。此外,深度网络架构和参数的选择是一个复杂性问题,涉及在一个相当大的空间中搜索最优参数,这引入了在混合模型中使用深层的计算复杂性。此外,考虑到经典算法,例如线性支持向量机(SVM),其预测复杂度为O(d),其中d是输入维数的数量。对于大多数核函数,包括多项式和径向基函数(RBF),复杂性为O(nd),其中n是支持向量的数量,尽管对于带有RBF核的SVM,通常会考虑近似的O(d^2)复杂度。

首先,混合模型结合了深度学习架构和传统算法,因此其计算复杂性包括了这两部分的复杂性。

选择适当的深度网络架构和参数是一个复杂的任务,因为参数的选择涉及在一个很大的参数空间中搜索最佳组合,这会增加计算复杂性

优点:

  • 特征提取器在高维领域中显著降低了“维数灾难”的影响。

维数灾难是指在高维空间中,随着特征维数的增加,数据点之间的距离变得越来越远,导致数据变得稀疏且难以处理。

  • 混合模型更具可扩展性和计算效率,因为线性或非线性内核模型在降低的输入维度上运行。

混合DAD技术的显著缺点是:

  • 混合方法是次优的,因为它不能影响特征提取器隐藏层内的表征学习,而采用通用的损失函数代替定制目标。
  • 在混合模型中,如果各个深度网络的层次结构较深(即有更多的隐藏层),通常会获得更好的性能。这一性能的提升是基于一个研究(引用为Saxe等人,2011年的研究)的结果。然而,需要注意的是,增加深度网络的层数可能会引入更大的计算开销,因为更深的网络结构需要更多的计算资源和时间来训练和执行。

用于异常检测的ON类神经网络(OC-NN)

一类神经网络(OC-NN)将深度网络提取数据逐渐丰富的表示能力与一类目标(例如超平面或超球体)相结合,以将所有正常数据点与异常数据点分开(引用为Chalapathy等人,2018年的研究和Ruff等人,2018年的研究)。

OC-NN方法之所以新颖,有一个关键原因是:隐藏层中的数据表示是通过优化专门用于异常检测的目标函数来学习的

如实验结果在(Chalapathy等人,2018年的研究和Ruff等人,2018年的研究)中所示,OC-NN在复杂数据集上可以实现与现有最先进方法相当或更好的性能,同时与现有方法相比具有合理的训练和测试时间。

假设:

OC-NN模型提取了深度神经网络隐层内数据分布中的常见变异因素。

执行联合表示学习并为测试数据实例生成异常分数。

异常样本不包含常见的变异因素,因此隐藏层不能捕获异常值的表示。

计算复杂性:

与混合模型相比,OC-NN模型的计算复杂性仅包括所选深度网络的复杂性(Saxe等人[2011])。OC-NN模型在预测时不需要存储数据,因此内存复杂性很低。然而,很明显,OC-NN的训练时间与输入维度成正比。

优点:

OC-NN模型通过在输出空间中优化数据包围的超球面或超平面,同时训练深度神经网络。

超平面:在二维空间中,超平面是一条直线,可以将数据分成两部分。在更高维的空间中,超平面是一个类似于平面的结构,用于分隔不同类别的数据。例如,在三维空间中,一个超平面可以是一个平面;在更高维的空间中,它可以是一个超平面。

超球面:超球面是一个类似于球体的结构,但在高维空间中。在二维空间中,球面就是一个圆。在三维空间中,球面就是一个球体的表面。在更高维的空间中,超球面是一个类似于球体的超结构。

OC-NN提出了一种交替最小化算法来学习OC-NN模型的参数。我们观察到,OC-NN目标的子问题等同于解决一个已定义良好的分位数选择问题。

通过将OC-NN的优化问题转化为分位数选择问题,可以更容易地解决子问题,从而有助于更有效地学习模型参数。

缺点:

对于高维输入数据,训练时间和模型更新时间可能更长。

考虑到输入空间的变化,模型更新也将需要更长的时间。

无监督的深度异常检测

无监督DAD是基础机器学习研究和工业应用的一个重要研究领域。本文提出了几个深度学习框架来解决无监督异常检测中的挑战,并显示了可以产生最先进的性能,如表22所示。自动编码器是用于异常检测的基本的无监督深度体系结构。

假设:

在原始特征空间或潜在特征空间中的“正常”区域可以与在原始特征空间或潜在特征空间中的“异常”区域区分开来。

与数据集的其余部分相比,大多数数据实例都是正常的。

无监督异常检测算法根据数据集的内在属性,如距离或密度,产生一个数据实例的离群值分数。深度神经网络的隐藏层旨在在数据集中捕获这些内在属性。

计算复杂性:

Autoencoders是在异常检测中最常用的架构,其使用的是二次成本函数,优化问题是非凸的,类似于其他神经网络架构。模型的计算复杂性取决于操作数量、网络参数和隐藏层。然而,与传统方法(如主成分分析PCA)相比,训练自编码器的计算复杂性要高得多,因为PCA是基于矩阵分解的(Meng等,2018年,Parchami等,2017年)。

什么是PCA?

优点:

学习数据固有的特征以区分正常数据和异常数据点。这种技术识别数据中的共同特点,并促进异常检测。

这种技术具有成本效益,因为它在发现异常时不需要用来训练算法的标记数据。

缺点:

在一个复杂的高维空间中学习数据中的共性通常是一个挑战。

在使用自编码器时,选择适当的压缩程度,即降维的维度,通常是一个超参数,需要进行调整以获得最佳结果。

如果选择不当,可能会影响最终的异常检测结果。

无监督技术技术对噪声和数据损坏非常敏感,而且往往不如监督或半监督技术准确。

其他技术

本节讨论了许多高效且有前途的DAD技术,讨论其关键思想和应用领域。

基于迁移学习的异常检测

长期以来,深度学习因需要足够的数据才能产生良好的结果而受到批评。Litjens等人[2017]和Pan等人[2010]都提出了深度迁移学习方法的综述,并说明了它们对于学习良好特征表示的重要性。迁移学习是机器学习中的一个重要工具,用于解决训练数据不足的根本问题。它旨在通过放宽训练和未来数据必须在相同的特征空间中并具有相同分布的假设,将知识从源领域传递到目标领域。深度迁移表示学习已经被(Andrews等人[2016b]、Vercruyssen等人[2017]、Li等人[2012]、Almajai等人[2012]、Kumar和Vaidehi [2017]、Liang等人[2018])研究,并且显示出非常有前途的结果。关于使用迁移学习进行异常检测的开放性研究问题是迁移能力的程度,即定义特征如何传递知识并从一个任务到另一个任务改善分类性能。

基于零样本学习的异常检测

零样本学习(Zero Shot Learning,ZSL)旨在在训练集中从未见过的对象中进行识别(Romera-Paredes和Torr [2015])。

ZSL通过两个阶段实现这一目标:首先,捕获关于对象的自然语言描述或属性(通常称为元数据)的知识;其次,利用这些知识对新的一组类别中的实例进行分类。

在现实世界中,这种设置非常重要,因为在训练阶段可能无法获取所有可能类别的图像。这种方法面临的主要挑战是获取有关数据实例的元数据。然而,已经有多种在异常和新颖性检测中使用ZSL的方法,已经证明能够产生领先的结果(Mishra等人[2017],Socher等人[2013],Xian等人[2017],Liu等人[2017],Rivero等人[2017])。

基于集成学习方法的异常检测技术

深度神经网络的一个显著问题是它们对输入数据中的噪声敏感,通常需要大量的训练数据才能表现出稳健性(Kim等人[2016])。为了在嘈杂的数据中实现稳健性,一个随机改变自编码器连接架构的想法被证明可以获得显著更好的性能。陈等人[2017]对由各种随机连接的自编码器组成的自编码器集合进行了实验,在几个基准数据集上取得了有希望的结果。

集成方法仍然是一个活跃的研究领域,已经被证明能够产生更好的多样性,从而避免过拟合问题,同时减少训练时间。

基于聚类的异常检测

聚类涉及根据提取的特征将相似的模式分组在一起,以便检测新的异常。

聚类方法的时间和空间复杂度随着要进行聚类的类别数量的增加而线性增长,这可能会限制基于聚类的异常检测在实时实际应用中的可行性。

通过在深度神经网络的隐藏层中提取特征,可以降低输入数据的维度,从而确保对于复杂和高维度的数据集具有可扩展性。

基于深度学习的聚类方法的异常检测,该方法使用word2vec模型获得正常数据和异常的语义表示,以形成簇并检测异常值。

许多研究依赖于各种混合模型的变体,以及与自编码器一起获取用于聚类的代表性特征,以找出异常。

基于聚类的异常检测通常涉及以下步骤:

  1. 特征提取:从数据中提取特征,用于表示每个数据点。
  2. 聚类:将数据点分组成不同的簇,使得同一簇内的数据点彼此相似。
  3. 异常检测:分析数据点与所属簇之间的关系,检测那些与其它簇不太相似的数据点,即被认为是异常的数据点。

它和无监督学习有什么关系?

基于聚类的异常检测是无监督学习的一种特定应用,其重点是通过聚类算法来发现异常值,而无监督学习则更为通用,涵盖了更多的数据分析和模式识别任务。

基于深度强化学习(DRL)的异常检测

深度强化学习(Deep Reinforcement Learning,DRL)方法因其在高维数据空间中学习复杂行为的能力而受到了显著的关注。一些尝试使用深度强化学习来检测异常的工作已经被提出,例如由de La Bourdonnaye等人于2017年以及Chengqiang Huang于2016年所做的研究。基于深度强化学习的异常检测器不需要对异常概念进行任何假设,该检测器通过不断积累的奖励信号来持续增强其知识,从而识别新的异常。基于深度强化学习的异常检测是一个非常新颖的概念,需要进一步的研究和确定其研究空白以及应用领域。

深度强化学习用于让智能体从环境中不断采取行动以达到最大化累积奖励的目标,当深度强化学习应用于高维数据空间时,深度神经网络可以作为函数逼近器,帮助智能体学习从状态到动作的映射关系,或者学习值函数来评估不同状态下的累积奖励。通过使用适当的神经网络架构和训练方法,深度强化学习可以处理高维数据,并从中学习到有效的决策策略。这使得它在处理现实世界中的复杂任务和问题时具有广泛的应用潜力。

统计技术的深度异常检测

Hilbert变换是一种统计信号处理技术,它可以得出实值信号的分析表示。这一性质被(Kanarachos等人,2015年)用于健康相关时间序列数据的实时异常检测,且已经被证明是一种非常有前景的技术。该算法以顺序方式结合了小波分析、神经网络和Hilbert变换的能力,以实现实时异常检测。关于统计技术的DAD(数据分析与诊断)方法需要进一步的研究,以充分了解它们在异常检测方面的潜力和适用性。

Hilbert变换是一种数学工具,用于将实函数(实值信号)转换为复函数(复值信号),从而使实函数在频域中的分析更加方便。复值信号是指具有实部和虚部两个分量的信号,复值信号常常用于描述具有振荡、波形和相位信息的信号,如正弦波、复杂振荡和调制信号等。

用于定位异常的深度神经网络

DNN深度神经网络

“深度神经网络”中的“深度”指的是从数据中提取特征的层数(Schmidhuber [2015],Bengio et al. [2009])。深度架构克服了传统机器学习方法的可扩展性和对数据中新变化的泛化能力的局限性(LeCun et al. [2015]),以及对手动特征工程的需求。深度置信网络(DBNs)是一类深度神经网络,包括多个层次的图模型,称为受限玻尔兹曼机(RBMs)。使用DBNs进行异常检测的假设是,RBMs被用作带有反向传播算法的有向编码器-解码器网络(Werbos [1990])。然而,DBNs未能捕捉异常样本的特征变化,导致重构误差较高。DBNs已被证明在大数据方面具有高效扩展性并提高了解释性(Wulsin et al. [2010])。

空间时间网络(STN)

研究人员长期以来一直在探索学习空间和时间关系特征的技术(Zhang等人[2018f])。深度学习架构被用于分别学习空间方面(使用卷积神经网络CNN)和时间特征(使用长短时记忆网络LSTM)。时空网络(STNs)由深度神经网络架构组成,结合了CNN和LSTM,以提取时空特征。通过LSTM建模近邻时间点之间的相关性,通过局部CNN建模局部空间相关性,时空网络在检测异常时被证明是有效的(Lee等人[2018],SZEK'ER [2014],Nie等人[2018],Dereszynski和Dietterich [2011])。

和-积网络(SPN)

Sum-Product Networks(SPNs)是一种有向无环图,其中变量作为叶节点,内部节点和加权边构成求和和乘积操作。SPNs被认为是混合模型的组合,其能够在多层上进行快速准确的概率推断(Poon和Domingos [2011],Peharz等人[2018])。

SPNs的主要优势在于,与图模型不同,它们能够在高树宽模型上进行更加可追踪的操作,而无需进行近似推断。

此外,SPNs已被证明能够以令人信服的方式捕捉其输入的不确定性,从而实现鲁棒的异常检测(Peharz等人[2018])。SPNs在许多数据集上都取得了令人印象深刻的结果,但在与异常检测相关的领域仍有很多待探索的内容。

Word2vec

Word2Vec是一组用于生成词向量的深度神经网络模型(Mikolov et al. [2013])。这些模型能够捕捉数据实例中的顺序关系,如句子和时间序列数据。将词向量特征作为输入在多个深度学习架构中已被证明能够提高性能(Rezaeinia et al. [2017],Naili et al. [2017],Altszyler et al. [2016])。利用word2vec嵌入的异常检测模型也被证明显著提高了性能(Schnabel et al. [2015],Bertero et al. [2017],Bakarov et al. [2018],Bamler and Mandt [2017])。

生成模型

生成模型旨在学习准确的数据分布,以便生成具有一定变化的新数据点。最常见且高效的两种生成方法是变分自编码器(VAE)(Kingma和Welling [2013])和生成对抗网络(GAN)(Goodfellow等人 [2014a,b])。GAN架构的一个变种称为对抗自编码器(AAE)(Makhzani等人 [2015]),它使用对抗训练在自编码器的隐藏层中施加任意的潜在代码先验,也被证明能够有效地学习输入分布。利用学习输入分布的这种能力,几种基于生成对抗网络的异常检测(GAN-AD)框架(Li等人 [2018],Deecke等人 [2018],Schlegl等人 [2017],Ravanbakhsh等人 [2017b],Eide [2018])被证明在高维复杂数据集上有效地识别异常。然而,在与深度生成模型相比时,传统的K最近邻(KNN)等方法在少数异常情况下表现更好(Skvára等人 [2018])。

卷积神经

卷积神经网络(CNN)是分析视觉图像的常用神经网络选择(Krizhevesketal.[2012])。CNN能够从具有复杂结构的高维数据中提取复杂的隐藏特征,这使得其能够作为序列数据集和图像数据集的离群值检测的特征提取器(Gorokhov et al. [2017],Kim [2014])。对基于CNN的异常检测框架的评估目前仍是一个活跃的研究领域(Kwon et al. [2018])。

序列模型

循环神经网络(RNN)(Williams [1989])被证明可以捕捉时间序列数据的特征。然而,RNN的限制在于随着时间步数的增加,它们无法很好地捕捉上下文信息。为了解决这个问题,引入了长短时记忆(Long Short-Term Memory,LSTM)网络(Hochreiter和Schmidhuber [1997]),它们是一种特殊类型的RNN,包括一个可以存储先前时间步信息的记忆单元。门控循环单元(Gated Recurrent Unit,GRU)(Cho等人 [2014])与LSTM类似,但是使用一组门来控制信息流动,而不是单独的记忆单元。序列数据中的异常检测引起了文献中的重大关注,因为它在广泛的工程问题中具有应用,如第9.9节所述。基于长短时记忆(LSTM)神经网络的异常检测算法已经进行了研究,并且据报道在性能上比传统方法取得了显著的提升(Ergen等人 [2017])。

自编码器

具有单层和线性激活函数的自编码器几乎等同于主成分分析(Principal Component Analysis,PCA)(Pearson [1901])。虽然PCA受限于线性降维,但自编码器可以实现线性或非线性的转换(Liou等人 [2008, 2014])。自编码器的一个流行应用是异常检测。自编码器也被称为复制神经网络(Replicator Neural Networks,RNN)(Hawkins等人 [2002],Williams等人 [2002])。自编码器通过重构输入数据来在多个隐藏层中表示数据,从而有效地学习一个恒等函数。自编码器在仅在正常数据实例上进行训练时(在异常检测任务中通常占大多数),无法对异常数据样本进行很好的重构,因此产生了较大的重构误差。产生高残差误差的数据样本被视为异常值。如图13所示,提出了多种自编码器架构的变体,在异常检测中产生了有希望的结果。自编码器架构的选择取决于数据的性质,卷积网络在图像数据集中更受欢迎,而基于长短时记忆(LSTM)的模型倾向于对顺序数据产生良好的结果。努力将卷积和LSTM层结合在一起,其中编码器是卷积神经网络(CNN),解码器是多层LSTM网络,用于重构输入图像,已被证明在数据中检测异常时非常有效。使用组合模型,如门控循环单元自编码器(GRU-AE)、卷积神经网络自编码器(CNN-AE)、长短时记忆自编码器(LSTM-AE)可以消除制作手工特征的需要,并且在异常检测任务中,可以使用经过最小预处理的原始数据。尽管自编码器是用于异常检测的简单有效的架构,但由于训练数据中的噪声,性能可能会下降(Zhou和Paffenroth [2017])。

相对优势和劣势:深度异常检测方法

在前面的章节中讨论的每个深度异常检测(DAD)技术都有其独特的优势和局限性。了解在给定的异常检测问题背景下哪种异常检测技术最适合是至关重要的。鉴于DAD是一个活跃的研究领域,不可能为每个异常检测问题提供这样的理解。因此,在本节中,我们分析了不同类别技术在一些简单问题设置下的相对优势和劣势。

基于分类的监督DAD技术(在第10.1节中有说明)在正常和异常实例标签数量相等的情况下是更好的选择。监督DAD技术的计算复杂性是一个关键因素,特别是当该技术应用于实际领域时。虽然基于分类的监督或半监督技术的训练时间较长,但测试通常很快,因为它使用预训练的模型。

无监督DAD技术(在第10.5节中有说明)因为标签获取成本高昂且耗时,所以被广泛使用。大多数无监督深度异常检测需要假设关于异常分布的先验知识,因此这些模型在处理噪声数据方面不太稳健。

混合模型(在第10.3节中有说明)在深度神经网络的隐藏层中提取稳健特征,并将其提供给表现最佳的经典异常检测算法。混合模型的方法是次优的,因为它无法影响隐藏层中的表示学习。

在第10.4节中描述的单类神经网络(OC-NN)将深度网络提取数据的丰富表示能力与单类目标相结合,例如超平面(Chalapathy等人[2018a])或超球面(Ruff等人[2018a]),以将所有正常数据点与异常数据点分开。对于这种新架构提出的好处,需要进一步的研究和探索来更好地理解。

  1. 分类平衡的情况:当正常和异常实例的标签数量相等时,基于分类的监督DAD技术是更好的选择。然而,这些技术的训练时间可能较长,但测试速度较快。问题在于计算复杂性和训练时间较长。
  2. 标签获取困难的情况:在标签获取成本高昂且耗时的情况下,无监督DAD技术是合适的选择。但是,无监督深度异常检测通常需要假设异常分布的先验知识,因此对于噪声数据的处理不够稳健。
  3. 混合特征需求:在需要从深度神经网络的隐藏层中提取稳健特征的情况下,混合模型可以考虑。然而,混合模型的方法是次优的,因为它无法直接影响隐藏层中的表示学习。

什么是提取稳健特征的需求:

假设我们要对动物图像进行分类,而这些图像可能具有不同的背景、角度、光照条件等。使用深度卷积神经网络(CNN),我们可以训练一个多层的模型来学习图像的特征。在训练过程中,神经网络的隐藏层逐渐学会抽取各种特征,例如边缘、纹理、形状等。

对于异常检测,我们可能关注那些与正常样本不同的、有些许异常的情况。为了使得异常特征在表示中得到体现,我们需要从网络的中间层获取某种形式的特征表示,而不仅仅是最终的分类结果。这些特征应该对异常数据产生明显的反应,以便于后续的异常检测。

  1. 复杂数据和高维数据:对于处理复杂和高维数据的情况,SpaTial Temporal Networks (STNs),Generative Adversarial Networks (GANs)以及混合模型可能是有效的选择。然而,部分深度生成模型可能对于噪声数据敏感。
  2. 时序数据:对于时序数据,Recurrent Neural Networks (RNNs)和Long Short-Term Memory (LSTM)网络是可以考虑的。然而,普通RNN可能在较长的时间步上失去上下文信息,而LSTM在此方面表现更好。
  3. 原始数据处理:Autoencoders和Generative Adversarial Networks (GANs)可以用于处理原始数据,而无需进行手工特征工程。然而,它们对于噪声训练数据可能表现较差。
  4. 新型架构尝试:新兴的技术如Sum-Product Networks (SPNs)和One-class Neural Networks (OC-NN)具有创新性,但还需要进一步的研究来充分理解其优势和应用。

总结

在这篇综述论文中,我们讨论了基于深度学习的异常检测的各种研究方法,以及它在各个领域中的应用。本文讨论了深度异常检测面临的挑战,并提出了对这些挑战的现有解决方案。对于每一类深度异常检测技术,我们介绍了关于正常和异常数据概念的假设,以及其优势和劣势。这个综述的目标是调查并识别适用于异常检测的各种深度学习模型,并评估其在给定数据集中的适用性。在为特定领域或数据选择深度学习模型时,这些假设可以用作指导,以评估技术在该领域中的效果。基于深度学习的异常检测仍然是一个活跃的研究领域,未来的工作可能涉及对这篇综述进行扩展和更新,以适应更多复杂的技术提出。

Logo

欢迎加入我们的广州开发者社区,与优秀的开发者共同成长!

更多推荐