论文首先对基于深度学习的异常检测的研究方法进行了系统全面的概述。此外,还回顾了这些方法在不同应用领域中的应用,并评估了它们的有效性。
根据基本的假设和采用的方法,将最先进的深度异常检测研究技术分为不同的类别。在每个类别中,作者概述了基本的异常检测技术及其变体,并提出了区分正常和异常行为的关键假设。
对于每个类别,论文也提出了优点和限制,并讨论了在实际应用领域的技术的计算复杂度。最后,概述了在应用深度异常检测技术解决实际问题时,研究中存在的问题和面临的挑战。
随着数据量的增加,深度异常检测( deep anomaly detection (DAD))相较传统的异常检测方法具有明显的优势。
本次调查的目的有两个方面:
1.对深度异常检测(DAD)的研究方法进行结构化和全面的综述。
2.讨论在各种领域中采用深度异常检测方法并评估其有效性。
在数据挖掘和统计文献中,异常也被称为异常、异常值或异常值(Aggarwal [2013])。如图3所示,n1和N2是由大部分观测值组成的区域,因此被视为正常数据实例区域,而区域O3和数据点O1和O2是离大部分数据点较远的少数数据点,因此被视为异常。
出现的原因有几个,如恶意行为、系统故障、故意欺诈。
这些异常揭示了关于数据的令人兴奋的见解,并且经常传达关于数据的有价值的信息。因此,异常检测被认为是各种决策系统中必不可少的一步。
新颖性检测是对数据中新的(新的)或未观察到的模式的识别(Miljkovi c [2010])。检测到的新奇事物不被视为异常数据点;相反,它们被应用于常规数据模型。
可以使用决策阈值分数为这些以前未见过的数据点分配新颖性分数(novelty score)(皮门特尔等人[2014])。显著偏离该决策阈值的点可被视为异常或异常值。例如,在图4中,普通老虎中的(白虎)形象可能被认为是新奇的,而(马、豹、狮子和猎豹)的形象则被认为是异常的。用于异常检测的技术通常用于新颖性检测,反之亦然。
传统算法在检测异常值方面的性能在图像(例如医学图像)和序列数据集上是次优的,因为它不能捕获数据中的复杂结构。
大规模异常检测的需求:随着数据量的增加,比如说千兆字节,传统方法几乎不可能扩展到如此大规模的数据来发现异常值。
深度异常检测(DAD)技术从数据中学习分层区分特征。这种自动特征学习能力消除了领域专家开发手动特征的需要,因此主张在文本和语音识别等领域端到端获取原始输入数据的问题。
正常和异常(错误)行为之间的界限通常在几个数据域中没有精确定义,并且在不断演变。这种缺乏良好定义的代表性正常边界对传统和基于深度学习的算法都提出了挑战。
尽管深度学习方法在许多机器学习问题中取得了实质性的进展,但是用于异常检测的深度学习方法相对较少。Adewumi和Akinyelu [2017]对基于深度学习的欺诈检测(Fraud Detection)方法进行了全面调查。Kwon等人[2017]对用于网络入侵检测(Cyber-Intrusion Detection)的深度异常检测技术进行了广泛综述。Litjens等人[2017]对在医疗(Medical)领域使用DAD技术进行了广泛的综述。Mohammadi等人[2017]介绍了物联网和大数据异常检测(Internet of Things (IoT) and big-data anomaly detection)的DAD技术概述。Ball等人[2017]回顾了传感器网络异常检测(Sensor networks anomaly detection)。Kiran等人在[2018]中介绍了基于深度学习的视频异常检测(video anomaly detection)方法以及各种类别。尽管在应用DAD技术方面有一些评论,但是缺乏对用于异常检测的深度学习体系结构的比较分析。例如,大量关于异常检测的研究是使用深度自动编码器进行的,但是缺乏对最适合给定数据集和应用领域的各种深度架构的全面调查。我们希望此次调查能够弥合这一差距,并为希望利用深度学习进行异常检测的研究人员和工程师提供全面的参考。表1显示了我们的调查涵盖的一套研究方法和应用领域。
我们遵循(Chandola等人[2007])的调查方法进行深度异常检测(DAD)。我们的调查对DAD技术的研究和应用进行了详细和结构化的概述。我们将我们的主要贡献总结如下:
大多数关于DAD技术的现有调查要么集中在特定的应用领域,要么集中在感兴趣的特定研究领域(Kiran等人[2018]、Mohammadi等人[2017]、Litjens等人[2017]、Kwon等人[2017]、Adewumi和Akinyelu [2017]、Ball等人[2017])。这篇综述旨在提供DAD技术的最新研究的全面概述,并介绍这些技术的几种实际应用。
近年来,已经开发了几种新的基于深度学习的异常检测技术,这些技术大大降低了计算需求。这篇文章的目的是将他们分类为一个有组织的概述,以便更好的理解。
如图5所示,基于训练目标的选择,我们引入了另外两个子类的混合模型和一类神经网络技术,对每个类别,我们都讨论了为了获得最佳性能而采用的假设和技术,并且提出了挑战,优点和缺点,并概述了DAD方法的计算复杂性。
本章按照图5中描述的结构组织。在第8节中,我们确定了决定问题形成的各个方面,并强调了与异常检测相关的丰富性和复杂性。我们引入并定义了两种类型的模型:上下文异常和集体或群体异常。在第9节中,我们简要描述了基于深度学习的异常检测已经应用到的不同应用领域。在随后的章节中,我们根据深度学习技术所属的研究领域对其进行分类。基于所采用的训练目标和标签的可用性,基于深度学习的异常检测技术可以分为有监督的(第10.1节)、无监督的(第10.5节)、混合的(第10.3节)和单类神经网络(第10.4节)。对于每一类技术,我们还讨论了它们在训练和测试阶段的计算复杂性。在第8.4节中,我们讨论了基于点、上下文和集体(组)深度学习的异常检测技术。我们在第12节中对各种现有技术的局限性和相对性能进行了一些讨论。第13节载有结束语。
深度异常检测方法中深度神经网络体系结构的选择主要取决于输入数据的性质。输入数据可大致分为顺序数据(如语音、文本、音乐、时间序列、蛋白质序列)或非顺序数据(如图像、其他数据)。表2说明了异常检测中使用的输入数据和深度模型架构的性质。
另外,取决于特征(或属性)数量的输入数据可以进一步分类为低维或高维数据。DAD技术一直用于学习高维原始输入数据中复杂的层次特征关系(LeCun等人[2015])。在DAD技术中使用的层数是由输入数据维度驱动的,更深的网络显示出在高维数据上产生更好的性能。随后,在第10节中,将深入回顾各种被考虑用于异常值检测的模型。
标签指示所选数据实例是正常的还是异常的。异常是罕见的实体,因此很难获得它们的标签。此外,异常行为可能会随着时间的推移而发生变化,例如,异常的性质发生了如此显著的变化,以至于在很长一段时间里,它在马洛奇水处理厂都没有被注意到,这导致了1.5亿升未经处理的污水泄漏到当地水道中(Ramotsoela等人[2018])。深度异常检测(DAD)模型可以根据标签的可用性程度大致分为三类。(1)有监督的深度异常检测。(2)半监督的深度异常检测。(3)无监督的深度异常检测。
监督深度异常检测涉及使用正常和异常数据实例的标签来训练深度监督二进制或多类分类器。例如,受监督的DAD模型,被设计为检测稀有品牌、违禁药品名称提及和欺诈性医疗交易的多类分类器辅助工具(Chalapathy等人[2016a,b])。尽管监督DAD方法的性能有所提高,但由于缺乏可用的标记训练样本,这些方法不如半监督或非监督方法流行。此外,由于类不平衡(正类实例的总数远远大于负类数据的总数),使用异常检测器的深度监督分类器的性能是次优的。因此,在本次调查中,我们不考虑监督督导方法的审查。
正常实例的标签比异常更容易获得,因此,半监督DAD技术被更广泛地采用,这些技术利用单个(通常为正类)的现有标签来分离异常值。在异常检测中使用深度自动编码器的一种常见方法是在没有异常的数据样本上以半监督方式对其进行训练。有了足够的训练样本,正常等级的自动编码器在正常情况下,在异常事件中会产生较低的重建误差(Wulsin等人[2010],Nadeem等人[2016],Song等人[2017])。我们在第10.2节中考虑了这些方法的详细回顾。
无监督的异常检测技术仅基于数据实例的固有属性来检测异常值,无监督DAD技术用于未标记数据样本的自动标记,因为标记数据很难获得,无监督模型的变体表现优于传统方法,如主要成分分析(PCA),支持向量机(SVM)和孤立森林,这些技术被应用在网络安全与健康领域。无监督DAD模型的核心是自动编码器,这个模型假定正常实例所占的比例高于异常数据所占的比例,这将导致较高的误报率,此外还有其他的无监督算法,如受限的玻尔兹曼机(RBM),深度波尔兹曼机(DBM),深度置信网络(DBN),广义降噪自动编码器,循环神经网络(RNN),用于检测异常值的长短期记忆网络(LSTM)(第11.7节)。
用于异常检测的深度混合模型使用深度神经网络(主要是自动编码器)作为特征提取器,在自动编码器的隐藏表示中学习的特征被输入到传统异常检测算法中,如单类SVM(OC-SVM)以检测异常值(Andrews et al.[2016a])。图7说明了用于异常检测的深度混合模型体系结构。继迁移学习成功地从大数据集上预先训练的模型中获得丰富的代表性特征之后,混合模型也成功地将这些预先训练的迁移学习模型用作特征提取器(Pan等人[2010])。
Ergen等人[2017]提出了一种混合模型的变体,该模型考虑了特征提取器和OC-SVM(或SVDD)目标的联合训练,以最大限度地提高检测性能。
这些混合方法的一个显著缺点是缺乏为异常检测定制的可训练目标,因此这些模型无法提取丰富的差异特征来检测异常值。为了克服这一限制,引入了定制的异常检测目标,如深度单类分类(Deep one-class classification)(Ruff等人[2018a])和单类神经网络(One class neural networks)(Chalapathy等人[2018a])。
单类神经网络(OC-NN)Chalapathy等人[2018a]的方法受基于核的单类分类的启发,该分类结合了深层网络提取逐渐丰富的数据表示的能力,和围绕正常数据创建紧密包络的单类目标。
OC-NN方法开创了新局面,原因如下:
隐藏层中的数据表示由OC-NN目标驱动,因此为异常检测定制。这与其他方法不同,其他方法使用混合方法,即使用自动编码器学习深度特征,然后将特征输入单独的异常检测方法,如单类SVM(OC-SVM)。第10.4节讨论了OC-NN的训练和评估细节。
OC-NN体系结构的另一种变体——深度支持向量数据描述(Deep SVDD)(Ruff等人[2018a])训练深度神经网络通过将正常数据实例紧密映射到球体(sphere范围,球体)中心提取变化的公共因子,它在MNIST(LeCun等人[2010])和CIFAR-10(Krizhevsky和Hinton[2009])数据集上产生了性能改进。
异常可大致分为三种类型:点异常、上下文异常和集合异常。深度异常检测(DAD)方法已被证明能够检测所有三种类型的异常,并取得了巨大成功。
文献中的大部分工作集中在点异常上。点异常通常表示随机发生的不规则或偏差,可能没有特定的解释。例如,在图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])。
通常,异常检测方法产生的输出是异常分数或二进制标签。
异常评分描述每个数据点的异常水平。可以根据异常评分对数据实例进行排序,主题专家将选择特定于领域的阈值(通常称为决策评分(decision score))来识别异常。一般来说,决策分数比二进制标签显示更多的信息。例如,在深度SVDD方法中,决策得分是数据点与球体中心距离的度量,距离中心较远的数据点被视为异常(Ruff等人[2018b])。
有些技术可能会为每个数据实例指定正常或异常的类别标签,而不是指定分数。使用自动编码器的无监督异常检测技术测量残差向量(即重建误差)的大小,以获得异常分数,然后,由领域专家对重建误差进行排序或阈值化,以为数据实例分配标签。
在本节中,我们将讨论深度异常检测的几个应用。对于每个应用领域,我们讨论以下四个方面:
(1)该异常的概念
(2)数据的性质
(3)与异常检测相关的挑战
(4)现有的深度异常检测技术
入侵检测系统(IDS)是指识别计算机相关系统中的恶意活动(Phoha[2002])。IDS可以部署在称为主机入侵检测(HIDS)的单台计算机上,用于大型网络入侵检测(NIDS)。入侵检测的深度异常检测技术分类如图11所示。根据检测方法的不同,入侵检测分为基于特征的入侵检测和基于异常的入侵检测。使用基于签名的入侵检测系统无法有效检测新的攻击,因为没有特定的签名模式,因此基于异常的检测方法更受欢迎。在本综述中,我们重点介绍了入侵检测中采用的深度异常检测(DAD)方法和体系结构。
此类系统是安装的软件程序,通过监听主机内发生的系统调用或事件来监控单个主机或计算机的恶意活动或违反策略(Vigna和Kruegel[2005])。系统调用日志可以由程序生成,也可以由用户交互生成,如图9b所示。恶意交互会导致以不同的顺序执行这些系统调用。HIDS还可以监控系统状态、其在随机存取存储器(RAM)、文件系统、日志文件或其他有效序列的存储信息、。应用于HIDS的深度异常检测(DAD)技术需要处理数据的可变长度和序列性质。DAD技术要么对序列数据建模,要么计算序列之间的相似性。HIDS的一些成功全DAD技术如表3所示。
NIDS系统通过检查每个网络数据包来监控整个网络的可疑流量。根据时间流(real-time streaming)行为理论,自然数据与高容量、高速度、高变化的数据是同步的。网络数据还具有与其相关联的时间方面。表4说明了NIDS的一些成功的全DAD技术。本调查还列出了表5中用于评估DAD入侵检测方法的数据集。DAD技术在入侵检测中面临的一个挑战是,随着入侵者调整其网络攻击以逃避现有入侵检测解决方案,异常的性质会随着时间的推移而不断变化。
欺诈是为了获取宝贵资源而故意进行的欺骗行为(Abdallah等人[2016])。普华永道(普华永道)2018年全球经济犯罪调查(Lavion[2018],Zhao[2013])发现,在他们调查的7200家公司中,有一半经历过某种性质的欺诈。欺诈检测是指检测不同行业的非法活动,如图12所示。
电信、保险(健康、汽车等)索赔、银行(纳税申报单索赔、信用卡交易等)欺诈是政府和私营企业的重大问题。侦查和预防欺诈不是一项简单的任务,因为欺诈是一种适应性犯罪。许多传统的机器学习算法已成功应用于欺诈检测(Sorournejad等人[2016])。与检测欺诈相关的挑战是,它需要实时检测和预防。本节重点介绍用于欺诈检测的深度异常检测(DAD)技术。
信用卡已经成为一种流行的支付方式在网上购物的商品和服务。信用卡欺诈涉及盗窃支付卡详细信息,并将其用作交易中的欺诈资金来源。在过去几年中,出现了许多信用卡欺诈检测技术(Zhou等人[2018],Suganya和Kamalraj[2015])。我们将简要回顾一些DAD技术,如表6所示。信用卡欺诈检测的挑战在于欺诈没有一致的模式。信用卡欺诈检测的典型方法是维护每个用户的使用情况档案,并监控用户档案以检测任何偏差。由于有数以十亿计的信用卡用户,这种用户配置文件方法的技术不具有很强的可扩展性。由于DAD技术固有的可扩展性,它在信用卡欺诈检测中得到了广泛的应用。
近年来,移动蜂窝网络的快速部署和发展支持了数十亿用户和种类繁多的移动设备。由于这种广泛的采用和较低的移动蜂窝服务速率,移动蜂窝网络现在面临着欺诈,如以窃取客户私人信息为目标的语音欺诈,以及与短信相关的勒索客户钱财的欺诈。由于移动蜂窝网络的容量和速度,检测此类欺诈行为至关重要,而且不是一项容易的任务。传统的基于静态特征工程技术的机器学习方法无法适应不断发展的欺诈行为。表7列出了用于移动蜂窝网络欺诈检测的DAD技术。
几种传统的机器学习方法已成功应用于检测保险索赔中的欺诈行为
(Joudaki等人[2015],Roy和George[2017])。欺诈检测的传统方法是基于欺诈指标的特征。这些传统方法的挑战在于需要手动专业知识来提取健壮的特征。另一个挑战是保险欺诈检测,即欺诈发生率远低于索赔总数,而且每种欺诈方式都是独特的。为了克服这些限制,提出了几种DAD技术,如表8所示。
医疗保健是人们生活中不可或缺的组成部分,浪费、滥用和欺诈每年会使医疗保健成本增加数百亿美元。医疗保险索赔欺诈是增加医疗成本的一个重要因素,但其影响可以通过欺诈检测得到缓解。几种机器学习模型已有效地用于医疗保险欺诈(Bauder和Khoshgoftaar[2017])。表9概述了用于医疗欺诈识别的DAD方法。
恶意软件,恶意软件的缩写。为了保护合法用户免受恶意软件的侵害,提出了基于机器学习的高效恶意软件检测方法(Ye等人[2017])。在经典的机器学习方法中,恶意软件检测过程通常分为两个阶段:特征提取和分类/聚类。传统恶意软件检测方法的性能主要取决于提取的特征和分类/聚类方法。与恶意软件检测问题相关的挑战是数据的绝对规模,例如,将数据视为字节一个特定的序列分类问题可能有200万个时间步。此外,恶意软件本质上具有很强的适应性,攻击者会使用先进的技术隐藏恶意行为。表10显示了一些DAD技术,这些技术有效地解决了这些挑战并检测恶意软件。
已经开展了多项研究,以了解深度学习在医学和生物信息学中的理论和实践应用(Min等人[2017],Cao等人[2018a],Zhao等人[2016],Khan和Y airi[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)领域,气象站生成的数据、射频识别(RFID)标签、IT
基础设施组件和一些其他传感器大多是时序数据。这些物联网网络中的异常检测可识别这些大规模互联设备的欺诈、故障行为。与异常检测相关的挑战是异构设备相互连接,这使得系统更加复杂。(Mohammadi等人[2018])对使用深度学习(DL)促进物联网领域的分析和学习进行了全面概述。表14说明了物联网设备采用的DAD技术。
由风力涡轮机、发电厂、高温能源系统、存储设备和旋转机械部件组成的工业系统每天都面临巨大的压力。这类系统的损坏不仅会造成经济损失,还会造成声誉损失,因此,及早发现并修复它们至关重要。几种机器学习技术已被用于检测工业系统中的此类损伤(Ramotsoela等人[2018],Martı等人[2015])。利用深度学习模型检测早期工业损害的几篇论文显示了巨大的前景(Atha和Jahanshahi[2018],de Deijn[2018],Wang等人[2018c])。对设备造成的损坏属于罕见事件,因此检测此类事件可表述为异常检测问题。由于故障是由多种因素引起的,因此该领域中与异常值检测相关的挑战既包括数据量,也包括数据的动态性质。表15说明了各行业采用的一些DAD技术。
持续时间内连续记录的数据称为时间序列。时间序列数据可大致分为
单变量和多变量时间序列。对于单变量时间序列,只有单个变量(或特征)随时间变化。例如,每秒从室内温度传感器收集的数据是单变量时间序列数据。多元时间序列由几个随时间变化的变量(或特征)组成。加速计每秒为每个轴(x、y、z)生成一个三维数据,这是多元时间序列数据的完美例子。在文献中,单变量和多变量时间序列中的异常类型分为以下几类:(1)点异常。8.4.1(2)上下文异常8.4.2(3)集体异常8.4.3.最近,许多深度学习模型被提出用于检测单变量和多变量时间序列数据中的异常,分别如表16和表17所示。使用深度学习模型数据检测时间序列中的异常的一些挑战是:
缺乏定义异常发生的模式.
输入数据中的噪声严重影响算法的性能。
随着时间序列数据长度的增加,计算复杂度也随之增加。
时间序列数据通常是非平稳、非线性和动态演化的。因此,DAD模型应该能够实时检测异常。
深度学习领域的进步为提取丰富的层次特征提供了机会,这可以极大地改进单变量时间序列数据中的异常检测。Github repository2提供并维护了一元和多元时间序列数据异常检测算法基准测试的行业标准工具和数据集列表(基于深度学习和非深度学习)。表16说明了在单变量时间序列数据中用于异常检测的各种深层结构。
多元时间序列数据中的异常检测是一项具有挑战性的任务。有效的多元异常检测可实现故障隔离诊断。基于RNN和LSTM的方法3在检测多元时间序列数据集中的可解释异常方面表现良好。DeepAD(Buda等人[2018])提出了一种基于深度学习的多变量时间序列异常检测通用框架。使用基于深度注意力机制(deep attention)的模型设计的可解释异常检测系统可有效解释检测到的异常(Yuan等人[2018b],郭和林[2018])。表17说明了在多变量时间序列数据中用于异常检测的各种深层结构。
视频监控也称为闭路电视(CCTV),用于监控指定的感兴趣区域,以确保安全。在视频监控应用中,大量未标记数据可用,这对有监督机器学习和深度学习方法是一个重大挑战。因此,由于缺乏可用的标记数据,视频监控应用被建模为异常检测问题。有几项工作研究了用于视频异常检测的最先进的深度模型,并根据模型类型和检测标准对其进行了分类(Kiran等人[2018],Chong和Tay[2015])。Boghosian和Black[2005]详细讨论了稳健的24/7视频监控系统的挑战。在现实视频监控中,缺乏对异常的明确定义是一个严重的问题,它也会妨碍DAD方法的性能。视频监控中使用的DAD技术如表19所示。
在本节中,我们将讨论根据标签可用性和培训目标分类的各种DAD模型。对于每个模型类型域,我们讨论以下四个方面:
-假设
-模型架构的类型
-计算复杂度
-利与弊;
监督异常检测技术在性能上优于无监督异常检测技术,因为这些技术使用标记样本(Görnitz等人[2013])。监督异常检测从一组带注释的数据实例(训练)中学习分离边界,然后使用学习的模型将测试实例分为正常类或异常类(测试)。
假设:深度监督学习方法依赖于分离数据类,而非监督技术侧重于解释和理解数据的特征。基于多类别分类的异常检测技术假设训练数据包含多个正常类别的标记实例(Shilton等人[2013],Jumutc和Suykens[2014],Kim等人[2015],Erfani等人[2017])。多类异常检测技术学习一个分类器来区分异常类和其他类。通常,基于监督深度学习的异常检测分类方案有两个子网络,一个子网络是特征提取网络,然后是分类器网络。深度模型需要大量的训练样本(以几千万的顺序)来学习特征表示,从而有效区分各种类实例。由于缺乏干净的数据标签,有监督的深度异常检测技术不像半监督和无监督方法那样流行。
计算复杂度:基于深度监督的异常检测方法的计算复杂度取决于输入数据维度和使用反向传播算法训练的隐藏层数量。高维数据往往有更多的隐藏层,以确保输入特征的完整层次学习。计算复杂度也随着隐藏层的数量线性增加,需要更多的模型训练和更新时间。
优缺点:
监督DAD技术的优点如下:
监督DAD方法比半监督和非监督模型更精确。
基于分类的技术的测试阶段很快,因为每个测试实例都需要与预计算模型进行比较。
监督DAD技术的缺点如下:
多类别监督技术需要对各种正常类和异常实例进行精确的标记,而这通常是不可行的。
如果特征空间高度复杂和非线性,深度监督技术无法将正常数据与异常数据分离。
半监督或(单类分类)DAD技术假设所有训练实例只有一个类标签。Kiran等人[2018]和Min等人[2018]对基于深度学习的半监督异常检测技术进行了综述。DAD技术学习正常实例周围的区分边界。不属于多数类的测试实例被标记为异常(Perera和Patel[2018],Blanchard等人[2010])。各种半监督DAD模型架构如表20所示。
假设:半监督DAD方法建议依赖以下假设之一对数据实例进行异常评分。
邻近性和连续性:在输入空间和学习的特征空间中彼此接近的点更有可能共享同一标签。
在深层神经网络层的隐藏层中学习鲁棒特征,并保留区分正常数据点和异常数据点的鉴别属性。
计算复杂度:基于半监督DAD方法的技术的计算复杂性类似于监督DAD技术,这主要取决于输入数据的维数和用于代表性特征学习的隐藏层的数量。
优缺点:
半监督深度异常检测技术的优点如下:
在半监督学习模式下训练的生成性对抗网络(GAN)显示出巨大的潜力,即使只有很少的标记数据。
与无监督技术相比,使用标记数据(通常为一类)可以显著提高性能。
(Lu[2009])提出的半监督技术的基本缺点甚至适用于深度学习环境。此外,在隐藏层中提取的分层特征可能不能代表少数异常实例,因此容易出现过拟合问题。
深度学习模型被广泛用作特征提取器来学习稳健的特征(Andrews等人[2016a])。在深度混合模型中,在深度模型中学习的代表性特征被输入到传统算法中,如一类径向基函数(RBF)、支持向量机(SVM)分类器。混合模型采用两步学习,并显示可产生最先进的结果(Erfani等人[2016a,b],Wu等人[2015b])。用于异常检测的深度混合架构如表21所示。
假设:提议用于异常检测的深度混合模型依赖于以下假设之一来检测异常值:
在深层神经网络的隐藏层中提取鲁棒特征,有助于分离可以隐藏异常存在的无关特征。
在复杂的高维空间上建立鲁棒的异常检测模型需要特征提取和异常检测器。表21说明了与之一起使用的各种异常检测器。
计算复杂度:混合模型的计算复杂度包括深层架构的复杂度以及内部使用的传统算法的复杂度。此外,深层网络结构和参数的非平凡选择的固有问题涉及在相当大的空间中搜索优化参数,这引入了在混合模型中使用深层的计算复杂性。进一步考虑了经典算法,如线性支持向量机(SVM),其预测复杂度为o(d),输入维数为d。对于大多数核函数,包括多项式核函数和RBF核函数,复杂度为O(nd),n是支持向量的个数。对于带有RBF核的支持向量机(SVM),考虑了近似O(d2)。
优缺点:
混合DAD技术的优点如下:
特征提取器显著降低了“维数灾难”,尤其是在高维领域。
混合模型更具可扩展性和计算效率,因为线性或非线性核模型在降低输入维的情况下运行。
混合DAD技术的显著缺点是:
混合方法是次优的,因为它无法影响特征抽取器隐藏层内的表征学习,因为使用了通用损失函数而不是定制的异常检测目标。
如果在网络层中加入额外的算力,深度混合模型会表现的更好。
单类神经网络(OC-NN)结合了深层网络提取逐渐丰富的数据表示的能力和单类目标,例如超平面(Chalapathy et al.[2018a])或超球面(Ruff et al.[2018a]),以将所有正常数据点与异常值分离。OC-NN方法之所以新颖,是因为以下关键原因:通过优化为异常检测定制的目标函数来学习隐藏层中的数据表示,如实验结果所示(Chalapathy等人[2018a],Ruff等人[2018a])证明OC-NN在复杂数据集上可以实现与现有最先进方法相当或更好的性能,同时与现有方法相比,具有合理的培训和测试时间。
假设:提议用于异常检测的OC-NN模型依赖于以下假设来检测异常值:
OC-NN模型在深层神经网络的隐藏层内提取数据分布中的共同变化因素。
执行组合表示学习并为测试数据实例生成异常值分数。
异常样本不包含共同的变异因素,因此隐藏层无法捕获异常值的表示。
计算复杂性:与混合模型相比,OC-NN模型的计算复杂性仅包括深度选择网络的复杂性(Saxe等人[2011])。OC-NN模型不需要存储用于预测的数据,因此具有非常低的内存复杂性。然而,很明显,OC-NN训练时间与输入维度成正比。
优缺点:
OC-NN的优点如下:
OC-NN模型联合训练深层神经网络,同时优化输出空间中包含超球面或超平面的数据。
OC-NN提出了一种交替最小化算法来学习OC-NN模型的参数。我们观察到,OC-NN目标的子问题等价于解决定义良好的分位数选择问题。
OC-NN用于异常检测的显著缺点是:
对于高维输入数据,训练时间和模型更新时间可能更长。
考虑到输入空间的变化,模型更新也需要更长的时间。
无监督DAD是基础机器学习研究和工业应用中的一个重要研究领域。提出了几种解决无监督异常检测挑战的深度学习框架,如表22所示,这些框架可产生最先进的性能。自动编码器是用于异常检测的基本无监督深层结构(Baldi[2012])。
假设:提议用于异常检测的深度无监督模型依赖于以下假设之一来检测异常值:
原始或潜在特征空间中的“正常”区域可以与原始或潜在特征空间中的“异常”区域区分开来。
与数据集的其余部分相比,大多数数据实例都是正常的。
无监督异常检测算法根据数据集的固有属性(如距离或密度)生成数据实例的异常值分数。深层神经网络的隐藏层旨在捕捉数据集中的这些内在属性(Goldstein和Uchida[2016])。
计算复杂度:自动编码器是二次成本异常检测中最常用的结构,优化问题是非凸的,类似于任何其他神经网络结构。模型的计算复杂度取决于操作数、网络参数和隐藏层。然而,由于主成分分析(PCA)基于矩阵分解,因此训练自动编码器的计算复杂度远高于传统方法,如主成分分析(PCA)(Meng等人[2018],Parchami等人[2017])。
优缺点:
无监督深度异常检测技术的优点如下:
学习固有的数据特征,将正常数据点与异常数据点分离。这种技术可以识别数据中的共性,并有助于异常检测。
这个寻找异常的技术经济有效,因为它不需要注释数据来训练算法。
无监督深度异常检测技术的主要缺点是:
在复杂的高维空间中学习数据中的共性通常是一项挑战。
当使用自动编码器时,对正确的压缩程度(即,降维,通常是一个超参数)的选择,需要调整以获得最佳结果。
无监督技术对噪声和数据损坏非常敏感,通常不如有监督或半监督技术准确。
本节探讨各种DAD技术,这些技术被证明是有效和有前途的,我们讨论这些技术背后的关键思想及其适用范围。
长期以来,深度学习因需要足够的数据才能产生好的结果而受到批评。Litjens等人[2017]和Pan等人[2010]都对深度迁移学习方法进行了回顾,并说明了它们对学习良好特征表征的重要性。迁移学习是机器学习中解决训练数据不足这一根本问题的重要工具。它的目的是通过放松 训练和未来数据必须在同一特征空间中且具有相同分布的假设,将知识从源域转移到目标域。(Andrews等人[2016b]、Vercruyssen等人[2017]、Li等人[2012]、Almajai等人[2012]、Kumar和Vaidehi等人[2017]、Liang等人[2018]对深度迁移表征学习进行了探索,结果显示其产生了非常有希望的结果。将转移学习用于异常检测的开放性研究问题是迁移能力度,即定义特征在不同任务之间迁移知识和提高分类性能的程度。
零次学习(ZSL)旨在识别训练集中以前从未见过的物体(Romera Paredes和Torr[2015])。ZSL分两个阶段实现这一点:首先捕获自然语言描述或属性(通常称为元数据)中的对象的相关知识,然后使用这些知识在一组新的类中对实例进行分类。这种设置在现实世界中很重要,因为人们可能无法在训练中获得所有可能类别的图像。与此方法相关的主要挑战是获取有关数据实例的元数据。然而,在异常和新颖性检测中使用ZSL的几种方法显示可产生最先进的结果(Mishra等人[2017]、Socher等人[2013]、Xian等人[2017]、Liu等人[2017]、Rivero等人[2017])。
深度神经网络的一个值得注意的问题是,它们对输入数据中的噪声非常敏感,通常需要大量的训练数据才能稳健地执行(Kim等人[2016])。为了实现即使在有噪声的数据中也具有鲁棒性,在自动编码器的连接结构上随机变化的想法被证明可以获得显著更好的性能。Chen等人[2017]对由各种随机连接的自动编码器组成的自动编码器集成进行了实验,以在多个基准数据集上获得有希望的结果。集成方法仍然是一个活跃的研究领域,已被证明可以产生改进的多样性,从而在减少训练时间的同时避免过度拟合问题。
文献中提出了几种基于聚类的异常检测算法(Ester等人[1996])。聚类包括根据提取的特征将相似模式分组,以检测新的异常。时间和空间复杂度随着待聚类类的数量呈线性增长(Sreekanth et al.[2010]),这使得基于聚类的异常检测对于实时实际应用来说是禁止的。通过在深层神经网络的隐藏层中提取特征,降低了输入数据的维数,从而确保了复杂高维数据集的可伸缩性。支持深度学习的聚类方法异常检测利用例如word2vec(Mikolov等人[2013])模型,以获得正常数据和异常的语义表示,形成聚类并检测异常值(Yuan等人[2017])。有几项工作依赖于混合模型的变体以及自动编码器来获得用于聚类的代表性特征以发现异常。
深度强化学习(DRL)方法因其在高维数据空间中学习复杂行为的能力而受到广泛关注。de La Bourdonnaye等人[2017]和黄成强[2016]提出了利用深度强化学习检测异常的努力。基于DRL的异常检测器不考虑任何关于异常概念的假设,检测器通过不断积累报酬信号(reward signals)来不断地提高其知识来识别新的异常。基于DRL的异常检测是一个非常新颖的概念,需要进一步研究和确定研究差距及其应用。
希尔伯特变换是一种统计信号处理技术,它导出实值信号的解析表示。(Kanarachos等人[2015])利用该特性实时检测健康相关时间序列数据集中的异常,并证明是一种非常有前景的技术。该算法结合了小波分析、神经网络和希尔伯特变换的能力,以顺序方式检测实时异常。统计技术和DAD技术的主题需要进一步调查,以充分了解其在异常检测中的潜力和适用性。
“深层神经网络”中的“深层”是指提取数据特征的层数(Schmidhuber[2015],Bengio等人[2009])。深度体系结构克服了传统机器学习方法的局限性,即可扩展性、数据内新变化的泛化(LeCun等人[2015])以及手动特征工程的需要。深层信念网络(DBN)是一类深层神经网络,由多层称为受限玻尔兹曼机(RBMs)的图形模型组成,。使用DBN进行异常检测的假设是,RBMs用作带反向传播算法的定向编码器-解码器网络(Werbos[1990])。DBNs无法捕捉异常样本的特征变化,导致重建误差较大。DBN被证明可以有效地扩展到大数据并提高可解释性(Wulsin等人[2010])。
长期以来,研究人员一直在探索学习时空关系特征的技术(Zhang等人[2018f])。深度学习体系结构可以很好地单独学习空间方面(使用CNN)和时间特征(使用LSTM)。时空网络(STN)由结合CNN和LSTM的深层神经结构组成,用于提取时空特征。时间特征(通过LSTM对近时间点之间的相关性进行建模)、空间特征(通过局部CNN对局部空间相关性进行建模)被证明在检测异常值方面是有效的(Lee等人[2018]、SZEKÉR[2014]、Nie等人[2018]、Dereszynski和Dieterich[2011])。
和积网络(SPN)是以变量为叶节点的有向无环图,内部节点和加权边构成和与积。SPN被视为混合模型的组合,在许多层面上具有快速精确的概率推断(Poon和Domingos[2011],Peharz等人[2018])。SPN的主要优点是,与图形模型不同,SPN比高树宽模型(high treewidth models)更具可追踪性,无需近似推理。此外,SPN以令人信服的方式捕获其输入的不确定性,产生稳健的异常检测(Peharz等人[2018])。SPN在许多数据集上显示出令人印象深刻的结果,而在异常检测方面还有许多有待进一步探索。
Word2vec是一组用于产生单词嵌入的深层神经网络模型(Mikolov等人[2013])。这些模型能够捕获数据实例中的顺序关系,例如句子、时间序列数据。在几种深度学习架构中,获得单词嵌入功能作为输入可以提高性能(Rezaeinia等人[2017],Nalli等人[2017],Altszyler等人[2016])。利用word2vec嵌入的异常检测模型被证明能显著提高性能(Schnabel等人[2015],Bertero等人[2017],Bakarov等人[2018],Bamler和Mandt[2017])。
生成模型的目的是学习精确的数据分布,以便生成具有某些变化的新数据点。两种最常见和最有效的生成方法是变分自动编码器(VAE)(Kingma和Welling[2013])和生成对抗网络(GAN)(Goodfello等人[2014a,b])。一种称为对抗式自动编码器(AAE)的GAN结构变体(Makhzani et al.[2015])使用对抗式训练对在自动编码器隐藏层中学习的潜在代码施加任意先验,也可有效地学习输入分布。利用这种学习输入分布的能力,几种基于生成性对抗网络的异常检测(GAN-AD)框架(Li等人[2018],Deecke等人[2018],Schlegl等人[2017],Ravanbakhsh等人[2017b],Eide[2018])所提出的方法在识别高维复杂数据集上的异常方面是有效的。然而,与深层生成模型相比,传统方法(如K-最近邻(KNN))在异常数量较少的情况下表现更好(ˇSkvára等人[2018])。
卷积神经网络(CNN)是分析视觉图像的常用神经网络(Krizhevsky等人[2012])。CNN从具有复杂结构的高维数据中提取复杂隐藏特征的能力使其能够作为序列和图像数据集的异常检测中的特征提取器(Gorokhov等人[2017],Kim[2014])。对基于CNN的异常检测框架的评估目前仍是一个活跃的研究领域(Kwon等人[2018])。
递归神经网络(RNN)(Williams[1989])用于捕获时间序列数据的特征。RNN的局限性在于,随着时间步长的增加,它们无法捕获上下文,为了解决这个问题,引入了长-短期记忆(LSTM)(Hochreiter和Schmidhuber[1997])网络,它们是一种特殊类型的RNN,由一个可以存储有关前一时间步长信息的存储单元组成。门控循环单元(Cho等人[2014])(GRU)与LSTM类似,但使用一组门来控制信息流,而不是单独的存储单元。序列数据中的异常检测因其在第9.9节所述的广泛工程问题中的应用而引起了文献界的极大兴趣。研究并报告了基于长短时记忆(LSTM)神经网络的异常检测算法,与传统方法相比产生了显著的性能提升(Ergen等人[2017])。
带有线性激活函数的单层自动编码器几乎等同于主成分分析(PCA)(Pearson[1901])。虽然主成分分析仅限于线性降维,但自动编码器可实现线性或非线性转换(Liou等人[2008,2014])。自动编码器的一个流行应用是异常检测。自动编码器也被称为复制神经网络(RNN)(Hawkins等人[2002],Williams等人[2002])。自动编码器通过重构输入数据来表示多个隐藏层中的数据,有效地学习身份函数。当仅针对正常数据实例(在异常检测任务中占多数)进行训练时,自动编码器无法重建异常数据样本,因此产生了较大的重建误差。产生高残差的数据样本被视为异常值。如图13所示,提出了几种不同的自动编码器架构,在异常检测方面产生了有希望的结果。自动编码器体系结构的选择取决于数据的性质,卷积网络是图像数据集的首选,而基于长短时记忆(LSTM)的模型往往能为序列数据产生良好的结果。在编码器为卷积神经网络(CNN)而解码器为多层LSTM网络的情况下,将卷积层和LSTM层结合起来以重建输入图像的努力被证明在检测数据中的异常方面是有效的。组合模型的使用,如门控循环单元自动编码器(GRU-AE)、卷积神经网络自动编码器(CNN-AE)、长短时记忆(LSTM)自动编码器(LSTM-AE),消除了准备手工特征的需要,并有助于在异常检测任务中以最少的预处理使用原始数据。尽管自动编码器是用于异常检测的简单而有效的架构,但由于训练数据的噪声,性能会下降(Zhou和Paffenroth[2017])。
前面章节中讨论的每种深度异常检测(DAD)技术都有其独特的优点和缺点。了解哪种异常检测技术最适合于给定的异常检测问题上下文是至关重要的。鉴于DAD是一个活跃的研究领域,对每个异常检测问题提供这样的理解是不可行的。因此,在本节中,我们将针对一些简单的问题设置分析不同类别技术的相对优势和劣势。基于分类的监督DAD技术如第10.1节所示,在正常和异常情况下,由等量标签组成的场景中,是更好的选择。有监督DAD技术的计算复杂性是一个关键方面,特别是当该技术应用于实际领域时。虽然基于分类、有监督或半监督的技术具有昂贵的训练时间,但测试通常很快,因为它使用预先训练的模型。第10.5节介绍的无监督DAD技术由于标签获取是一个成本高昂且耗时的过程,因此被广泛使用。大多数无监督深度异常检测都需要假设异常分布的先验信息,因此模型在处理噪声数据时的鲁棒性较差。第10.3节中说明的混合模型在深层神经网络的隐藏层中提取鲁棒特征,并将其反馈给性能最佳的经典异常检测算法。混合模型方法是次优的,因为它无法影响隐藏层中的表征学习。第10.4节中描述的单类神经网络(OC-NN)结合了深度网络的能力,以提取逐步丰富的数据表示,和单类目标,如超平面(Chalapathy等人[2018a])或超球面(Ruff等人[2018a]),以分离所有正常数据点和异常数据点。进一步的研究和探索是必要的,以更好地理解这种新的架构提出的好处。
在这篇综述文章中,我们讨论了基于深度学习的异常检测的各种研究方法及其在各个领域的应用。本文讨论了深度异常检测面临的挑战,并介绍了几种现有的解决方案。对于每一类深度异常检测技术,我们提出了关于正常和异常数据的概念及其优缺点的假设。本次调查的目的是调查和确定各种用于异常检测的深度学习模型,并评估其对给定数据集的适用性。在为特定领域或数据选择深度学习模型时,这些假设可作为评估该领域技术有效性的指南。基于深度学习的异常检测仍然是一项活跃的研究,未来可能的工作是随着更复杂技术的提出,扩展和更新这项调查。