1.基于深度学习的异常检测的研究方法进行结构化和全面的概述
2.回顾这些方法在各个领域这个中的应用情况,并评估他们的有效性。
3.根据基本假设和采用的方法将最先进的深度异常检测技术分为不同的类别。
4.每个类别介绍了基本的异常检测与变体,提出关键假设,以区分正常和异常行文,对每个变体,提出有点和限制条件,并且讨论每个技术在真实应用中的计算复杂度。
5.概述深度异常检测技术研究时未解决的和面临的问题
1.对深度异常检测(DAD)的研究方法进行结构化和全面的综述。
2.讨论在各种领域中采用深度异常检测方法并评估其有效性。
异常:偏差或异常值。他们的位置远离大部分的数据点,因此被视为异常。
出现这种情况的原因:恶意行为,系统故障,故意欺诈
新颖性检测是堆数据中一种新颖或未观察到的模式的识别,不被视为异常数据点,而是应用与常规数据模型。
使用决策阈值分数为先前未见的数据点分配novelty score,明显偏离决策值的点可以被认为是异常或者离群值。
用于异常检测的技术通常用于新颖性检测。
1.传统算法无法捕获复杂的数据结构,因此在图像和序列数据集上检测异常值的性能不好。
2.数据量增加,传统方法不可能扩展到如此大的规模以赵建数据。
3.深度异常检测技术可以学习数据中的分级分区数据,这种自动特征学习功能消除了该领域专家手动操作的需求,因此提倡解决端对端问题,即在文本与语音识别领域采用原始数据。
4.异常与否的界定通常无法在几个数据域中精确定义, 并且还在不断发展。对于常规与深度学习算法而言,缺乏明确定义的代表性正常值边界仍是挑战。
尽管深度学习方法在许多机器学习方法取得了进步,深度学习方法相对于异常检测还是相对不足的。
之前在应用DAD技术方面存在一些分析,但仍缺乏用于离群值检测的深度学习体系结构的比较分析。
本综述希望能弥合这一差距,并为希望利用深度学习进行异常检测的研究人员和算法工程师提供全面的参考。
我们遵循(Chandola等[2007])的调查方法进行深度异常检测(DAD)。 我们的调查提供了DAD技术研究和应用的详细结构化概述。 我们将主要贡献总结如下:
1.这篇综述旨在提供DAD技术的最新研究的全面概述,并介绍这些技术的几种实际应用。
2.今年来已经开发了几种新的基于深度学习的异常检测技术,这些技术大大降低了计算需求。这篇文章的目的是将他们分类为一个有组织的概述,以便更好的理解。
基于训练目标的选择,我们引入了另外两个子类的混合模型和一类神经网络技术,对每个类别,我们都讨论了为了获得最佳性能而采用的假设和技术,并且提出了挑战,优点和缺点,并概述了DAD方法的计算复杂性。
本文以该结构进行组织。
在第八节中,我们定义了确定问题标准的各个方面,并强调了与异常检测相关的丰富性与复杂性,我们定义并介绍了两种类型的模型,上下文异常和集体异常(组异常)。
第九节中,我们简要描述了机遇深度学习的异常检测已经应用到的不同领域,在随后的部分中,我们将基于神的学习技术所属的研究领域进行分类,
第十节中,我们将基于深度学习技术的研究领域对他们进行分类,基于所采用的培训目标和标签的可用性,可以将基于深度学习的异常检测技术分为有监督的,无监督的,混合的,以及one-class 神经网络,对于每种技术,我们讨论了他们在训练与测试阶段的计算复杂度。
在第十二节中我们讨论各种现有的技术的局限性和相对性能。
第十三节为结论。
深度异常检测方法中对深度神经网络体系结构的选择只要取决于输入数据的性质,输入数据可以大致分为连续的与非连续的,另外,根据特征的数量可以将输入数据进一步划分为低维与高维的数据。
DAD技术已经被用来在高维原始数据中学习复杂的层次特征关系,DAD的使用受输入数据维数的驱动,更深的网络可以在高维数据上产生更好的性能。
标签可以指示所选的数据实例是正常数据还是异常数据,异常是罕见的实体,因此获取标签具有挑战性,此外,异常行为可能会随时间变化,例如异常的性质已经发生了变化。
根据标签的可用性,深度异常检测的(DAD)模型可以分为三类:
1)有监督的深度异常检测 2)半监督的深度异常检测 3)无监督的深度异常检测
有监督的异常检测是使用正常和异常数据实例的标签训练深度监督的二分类或多分类分类器。例如,有监督的DAD模型被构造为多分类器,可以用与检测稀有品牌,禁止被提及的药物名称或欺诈性医疗保健交易等。
尽管有监督的DAD方法有所提高,但由于缺乏标记训练样本的可用性,这些方法并不像半监督与无监督方法那样受欢迎。此外,由于正类实例的总数总是远远大于负类实例的总数,使用异常检测器的深度监督分类器性能欠佳,因此,本综述中不考虑分析有监督的DAD方法。
由于正常实例的标签比异常实例的标签要更好获取,因此半监督的DAD技术得到了更广泛的应用, 这项技术利用单个的标签来分离离群值。异常检测中一种常见的方法是在无异常的数据样本上使用深度自动编码器以半监督的方式训练它们,有了足够的训练样本,正常类别的自动编码器对于普通实例将产生较低的重构误差。
无监督的异常检测技术仅基于数据实例的固有属性来检测异常值,无监督DAD技术用于未标记数据样本的自动标记,因为标记数据很难获得,无监督模型的变体表现由于传统方法,如主要成分分析,支持向量机和孤立森林,这些技术被应用在网络安全与健康领域。无监督DAD模型的核心是自动编码器,这个模型假定正常实例所占的比例高于异常数据所占的比例,这将导致较高的误报率,此外还有其他的无监督算法,如受限的玻尔兹曼机,深度波尔兹曼机,深度置信网络,广义降噪自动编码器,循环神经网络,用于检测异常值的长短期记忆网络。
异常检测的深度混合模型主使用深度神经网络,将自动编码器用作特征提取器,将在自动编码器的隐藏表示中学习到的特征输入到传统的异常检测算法中。
该图说明了用于异常检测的深度混合模型架构,继从大型数据集上预训练的模型中获得丰富的代表特征的转移学习获得成功之后,混合模型也将经过预训练的转移学习模型用作特征提取器,并获得了巨大的成功。
Ergen等人提出了一种混合模型的变体,考虑了特征提取器与OS-SVM(SVDD)目标的联合训练,以最大化检测性能。这些混合方法的一个显著缺点是缺乏为异常检测定制的可训练目标,因此这些模型无法提取丰富的差异特征来检测异常值。为了克服这一限制,引入了用于异常检测的定制目标,例如Deep one-class,classification或One class neural networks。
OC-NN 该方法的灵感来自基于内核的单分类方法,该分类结合了深度网络提取逐渐丰富的数据表示的能力,以及创建围绕正常数据的紧密包络的一类目标。
OC-NN的优点:隐层中的数据表示由OC-NN目驱动,因此可以针对异常检测定制,这与哪些使用混合方法,即使用自动编码器学习深层特征,然后将特征反馈回单独的异常检测的方法中,如one-class SVM (OC-SVM).
关于训练与评估一类神经网络的详细信息,参阅10.4节,OC-NN的另一种变体是Deep Support Vector Data Description (Deep SVDD)训练深度神经网络,通过将正常的数据实例紧密的映射到球体中心来提取变化的公共因子,在MINIST与CIFAR-10数据集上显著提高。
异常可以分为三类:点异常,上下文异常,集体异常
DAD方法已经被证明可以成功的检测所有三种类型的异常。
文献中大部分工作都几种在点异常上,点异常表示随机发生的不规则或者偏差,并且没有特别的解释,第九节中介绍了点异常的几种实际应用。
上下文异常也称条件异常,是在某些特定的上下文中可以被视为异常的数据实例。
通过考虑上下文的行为特征来识别上下文的异常。通常使用的上下文的特征是时间和空间。尽管行为特征可能是一种spending money的方式,但系统日志时间的发生或特征被用来描述正常的行为。
该图给出了温度数据的异常示例,在6月的时候极度下降,这个值并不是在此期间的正常值。
该图给出了在给定上下文中使用LSTM模型来识别异常的系统日志事件。
单个数据点的异常合集被称为集合或组异常,其中孤立的每个单点均显示为正常的数据实例,而在组中观察到则显示出异常的特征,
如该图中,单个的一笔75$可能并不会被识别为异常,一组连续的75$消费就可能被识别为异常。
异常分数描述了每个点的异常程度,可以根据异常分数对数据实例进行排名,并且该领域的专家将选择特定域的阈值(通常称为决策分数)以识别异常,通常,决策得分比二进制的标签能涵盖更多信息,如Deep SVDD方法中,决策得分是数据点到球心距离的度量,距离中心更远的点被认为是异常的。
标签用来代替分配分数,一些技术可以为每个数据实例分配正常或异常的类别标签。使用自动编码器的无监督异常检测技术可以测量矢量残差的大小(即重构误差)以获得异常分数,随后,该领域的专家对重构误差进行排序或根据设定的阈值标记数据实例。
本节中我们讨论深度异常检测的几种应用。对于每个应用领域,我们讨论以下四个领域
1)异常的概念 2)数据的性质 3)与异常检测相关的挑战 4)现有的深度异常检测技术
入侵检测系统(IDS)是指识别与计算机相关的系统中的恶意活动,IDS可以部署在主机上称为单台主机入侵检测(HIDS),然后部署到大型网络的主机入侵检测(NIDS)。
用于入侵检测的深度异常检测技术分类如图所示
根据检测方法,IDS分为基于签名的和基于异常的。使用基于签名的IDS不能有效的检测新的攻击,因为新的攻击没有可用的特定签名模式,因此基于异常的检测方法更加流行,本次调查中,我们重点研究了入侵检测中使用的深度异常检测方法和结构体系。
此类系统是安装的软件程序,可通过侦听该主机中发生的系统调用或事件来监听单个主机或计算机的恶意活动或违反策略的行为,系统调用的日志可以通过程序生成,也可以通过用户交互生成日志,恶意交互导致这些系统调用以不同的顺序执行,HIDS还可以监视系统的状态,其在RAM,文件系统,日志文件或其他地方的存储信息,以获取有效序列。需要使用应用与HIDS的深度异常检测技术来处理数据可变长度和顺序性质。DAD技术必须对序列数据建模或计算序列之间的相似度。下表归纳了一下成功的HIDS DAD技术。
NIDS通过检查每个网络数据包来监视整个网络的可疑流量。由于实时流量行为,数据的本质是大数据的同义词,具有高容量、高速度、多样性的特点。网络数据还有与之相关联的时间,下表是一些成功的NIDS DAD技术,以及用于评估DAD入侵检测方法的数据集。DAD技术面临的一个挑战是,随着入侵者调整其网络攻击以逃避现有的入侵检测方案,异常的性质会随着时间不断的变化。
欺诈检测时为了获取有价值的资源而故意进行的欺骗行为,普华永道在2018年全球经济犯罪调查中发现,在他们调查的7200家公司中,有一半进行了某种性质的欺诈,欺诈检测时指跨行业的非法活动的检测。
电信,保险,银行等欺诈行为是政府和私营企业都面临的重大问题。侦察于预防欺诈不容易,因为诈骗是一种适应性犯罪。许多传统的机器学习算法已经成功的应用于欺诈检测。**与欺诈检测相关的挑战是,它需要实时检测和预防。**本节将介绍用于欺诈检测的深度异常检测技术。
欺诈检测的领域
信用卡已经成为网上购物和购买服务的一种流行支付方式。信用卡诈骗设计窃取支付卡的详细信息,并将其用作交易中的欺诈性来源。近些年来,人们提出了许多行用卡诈骗技术。下表表示了一些DAD技术,信用卡欺诈面临的挑战是,欺诈行为没有一致的模式。信用卡欺诈的典型方法是维护每个用户的配置文件,并监视用户配置文件以检测任何偏差。由于数以亿计的信用卡用户,采用这种监视用户配置文件的技术扩展很差。由于DAD技术固有的可扩展性,使得其在行用卡欺诈检测中得到了广泛的应用。
今年来,移动蜂窝网络经历了快速部署和发展,支持数十亿用户和各种各样的移动设备。由于这种广泛的采用和较低的移动蜂窝服务费率,移动蜂窝网络目前面临这诸如旨在窃取客户私人信息的语音诈骗和敲诈客户潜在等欺诈行为。由于移动蜂窝网络的容量和速度,检测这样的欺诈行为是至关重要的,并不是一项容易的任务。传统的机器学习方法采用静态特征工程技术,不能适应欺诈行为演化的本质。下表列出了常用于蜂窝网络欺诈检测DAD技术。
几种传统的机器学习方法已经成功的用于检测保险索赔中的欺诈行为。传统的欺诈检测方法是基于欺诈指标的特征。这些传统方法的挑战是需要专家人工提取健壮性的特性。为了克服这种限制,提出了几种DAD技术,如下表所示:
医疗保健是人们生活中不可或缺的部分,浪费、滥用和欺诈每年使医疗保健成本增加数百亿美元。医疗保险索赔欺诈使增加医疗成本的一个重要因素,但它的影响可以通过欺诈检测来减轻。几种机器学习模型已经有效的用于医疗保险欺诈,下表列出了几种识别医疗欺诈识别的DAD方法。
为了保护合法用户免受恶意软件的侵害,提出了基于机器学习的高效恶意软件检测方法。在经典的机器学习方法中,恶意软件的检测过程通常分为两个阶段:**特征提取和分类/聚类。**传统的恶意软件检测方法的性能主要取决于提出的特征和分类/聚类方法。与恶意软件检测问题相关的挑战是数据的绝对规模,如将数据考虑为字节,一个特定的序列分类问题可能需要有200万个时间步长。此外,恶意软件具有很强的自适应性,攻击者会用先进的技术来隐藏恶意行为。下表表示了以下有效应对这些挑战并检测恶意软件的DAD技术。
为了了解深度学习在医学和生物信息学中的理论和世纪应用,已经开展了多项研究。在医学图像分析、临床脑电图记录等领域发现罕见时间能够对各种疾病进行诊断并提供预防性治疗。采用基于深度学习体系来检测医学异常,取得了很大的成功,如下表所示,医学领域中大量的不平衡数据对异常值的检测提出了巨大的挑战。此外,长期以来,深度学习技术一直被认为是黑盒技术。尽管深度学习模型产生了卓越的学习效果,但这些模型缺乏解释能力。近年来,人们提出了具有良好解释能力的模型,并证明这些模型能够产生最先进的性能。
近些年在线社交网络已经成为人们日常生活中不可或缺的一部分。社会网络中的异常现象指网络中个体违规、往往是非法的行为模式,这些人可能被认定为垃圾邮件发送者,性侵犯者,网络骗子,谣言散布着。检测这些违规的模式至关重要,因为如果不被发现,这些人的行为可能会产生严重的影响。传统异常检测技术及其在社交网络异常检测中的挑战是研究的重点,下表列出了几种DAD技术表现优秀的方法。
日志文件异常检测的目的是查找文本,它可以揭示系统故障的原因和性质。最常见的方法是,根据过去的经验构造特定领域的正则表达式,通过模式匹配发现新的错误,这种方法的局限性在于,较新的失败消息不容易检测到。日志数据在格式和语义上的非结构化和多样性给日志检测带来了巨大挑战。异常检测技术需要是因生成的日志数据的并发集合,并实施检测异常数据。对着深度神经网络在实施文本分析中的成功应用,下表中的几种DAD技术将日志数据作为自然语言序列进行建模,这些技术对异常值的检测非常有效。
物联网是指与软件、服务器、传感器等互联的网络设备。在物联网领域,气象站、射频识别(RFID)标签,IT基础设施组件和一些其他传感器生成的数据大多数是时间序列数据。在这些物联网网络中,异常检测可以识别这些大规模互联设备的欺诈和错误行为。与异常值检测相关的挑战是,异构设备时相互连接的,这使得系统更加复杂。下表展示了使用物联网设备的DAD及技术。
由风力涡轮、发电场、高温能源系统、存储设备和旋转机械部件组成的工业系统每天都在承受着巨大的压力。对这类系统的破坏不仅仅会造成经济损失,还会造成声誉的损失,因此尽早地对其进行检测和修复具有十分重要地意义。一些机器学习技术已经被用来检测工业系统中地这种损伤。利用深度学习模型检测早期工业损害的几篇论文显示了这个领域巨大的前景。对设备造成的损坏是一种罕见的事情,因此对这类事件的检测可以归结为离群点的检测问题。与此领域的异常值检测相关的挑战是数据量和数据的动态特性,因为故障是由多种因素引起的。下表展示了不同行业使用的一些DAD技术。
在持续时间内连续记录的数据称为时间序列。时间序列可以大致分为单变量和多变量时间序列。对于单变量时间序列,只有一个变量(或特征)随时间变化。例如,从房间内的温度传感器每秒钟手机的数据是单变量时间序列数据。多元时间序列由多个随时间变化的变量(或特征)组成。多元时间序列数据的一个很好的例子是每秒一次为每一轴产生三位数据的交流速度计。
单变量和多变量时间序列的异常类型常被归纳为以下几类:
1)点异常 2)上下文异常 3)集合异常
近年来,针对单变量和多变量时间序列数据中的异常检测,提出了许多深度学习模型。
使用深度学习模型检测时间序列异常检测的一些挑战包括:
1)缺乏可定义的异常发生的模式
2)输入数据中的噪声严重的影响算法性能
3)随着时间序列数据长度的增加,计算复杂度也随之增加。
4)时间序列数据通常是非平稳、非线性和动态演变的。因此,DAD模型应该能够实时检测异常。
深度学习领域的进展为提取丰富的层次特征提供了机会,这些特征可以极大地提高单变量时间数据的离群点检测能力。用于单变量和多变量的时间序列数据的异常检测算法进行异常基准测试的行业标准工具和数据集(基于深度学习和非深度学习)在https://github.com/rob-med/awesome-TS-anomaly-detection进行维护。下表给出了用于单变量时间序列异常数据检测的各种深层体系结构。
多变量时间序列异常检测是一项具有挑战性的工作,有效的多变量异常检测可以进行故障隔离诊断。结果表明,基于**RNN和LSTM的方法,**在多变量时间序列数据集的表间异常检测表现良好。DeepAD是已经提出的一种深度学习的多变量时间序列异常检测的通用框架。可解释的是,使用技术深度学习设计的异常检测系统能够有效的解释检测到的异常。下表展示了用于多变量时间序列异常检测的各种深层体系结构和数据集。
视频监控也被称为闭路电视,包括监控指定的感兴趣区域,以确保安全。在视频监控应用中,大量的未标记标签的数据存在,对监督的机器学习和深度学习方法是一个重大的挑战。因此,由于缺乏有效的标记数据,视频监控应用被建模为异常检测问题。有几项研究工作研究了目前最先进的视频异常检测深度模型,并根据模型标准和检测标准对其进行分类。有文献详细讨论了全天候视频监控系统所面临的挑战。在现实的视频监控中,缺乏对异常的明确定义是一个严重的问题,这阻碍了DAD方法的性能。下表展示了用于视频监控的DAD技术:
在本节中,我们将讨论根据标签的可用性和训练目标分类的各种DAD模型。对于每个模型,我们讨论以下四个方面:假设,模型架构,计算复杂性,优缺点。
有监督的深度异常检测技术的性能优于无监督异常检测的技术,因为这些技术使用的是标记样本。有监督异常检测从一组带注释的数据示例中学习分离边界,然后使用所学习的模型将测试实例分为正常类和异常类。
假设:有监督的深度学习方法依赖分离的数据类别,而无监督的技术侧重于解释和理解数据的特征。基于多分类的异常检测技术假设训练包含多个正常类的标记实例。多类异常检测技术学习一个分类器来区分异常类与其他类。通常,基于深度学习的遗产过检测分类有两个子网络,一个是特征提取网络,一个是分类器网络。深度模型需要大量的训练样本来学习特征表示,从而有效的区分各种类别实例。由于缺乏有效的干净数据标签,有监督的深度异常检测技术并不像无监督与半监督的方法受欢迎。
计算复杂度:基于深度监督的异常检测技术的计算复杂度取决于输入数据的维数和使用反向传播算法的隐藏层训练的数量。高维数据往往具有更多的隐藏层,以确保输入特性的意义完全分层学习。计算复杂度也随隐含层的层数线性增加,需要更发的训练模型和更多的训练时间。
优点:1)有监督的DAD方法比半监督和非监督的模型具有更高的精度。2)基于分类技术的测试阶段非常快,因为每个测试实例都需要与预先计算的模型进行比较。
缺点:1)多类别监督技术要求为各种正常实例和异常实例提供准确的标签,而这通常是不可用的。2)如果特征空间高度复杂且非线性,深度监督技术无法将正常数据与异常数据分离。
半监督(单分类)DAD技术假定所有训练实例只有一个类标签。DAD技术在正常情况下学习有区别的边界,不属于大多是类别的测试实例被标记为异常。
假设:提出半监督的DAD方法依赖以下假设之一来为异常的数据实例打分。1)接近性和连续性:在输入空间和学习特征空间彼此接近的点更有可能享有同一个标签。2)鲁棒性:鲁棒性是在深度神经网络层的隐藏层中学习的,并保留区分正常点和离群点的判别属性。
计算复杂度:半监督DAD方法的计算复杂度与有监督的DAD技术相似,主要取决于输入数据的维数和用于代表特征学习的隐含层数。
优点:1)在半监督学习模式下训练的生成对抗网络与有监督的DAD技术相似,主要取决于输入数据的维数和用于代表性特征学习的隐含层数。2)使用标记数据(通常是一个类别的数据),与非监督技术相比,可以产生相当大的改进。
缺点:有学者提出的半监督技术的基本缺点即使在深度学习环境中也是使用的。此外,隐层中提取的分层特征不能代表较少的异常实例,因此容易出现过拟合问题。
深度学习模型被广泛的用作特征提取器来学习鲁棒性特征,在深度混合模型中,将深度模型中学习到的代表性特征输入到传统算法中,如单类径向基函数(RBF),支持向量机(SVM)分类器。混合模型采用两步学习,并显示出非常好的结果。用于异常检测的深度混合架构如下表所示:
假设:针对异常检测提出的深层混合模型依赖于以下假设之一来检测异常值:1)在深度神经网络的隐藏层提取鲁棒特征,有助于分离隐藏异常的无关特征。2)在复杂的高维空间上建立鲁棒异常检测模型需要特征提取器于异常检测器,与之同时使用的各种异常探测器如下表所示。
计算复杂性:混合模型的计算复杂度包括深层体系结构的复杂度和内部使用的传统算法和复杂度。此外,深层网络结构的参数的非平凡选择带来了在混合模型中使用深层网络的计算复杂性。进一步考虑到经典算法,如线性支持向量机,时间复杂度为o(d),随着输入维数的增加而增加。对于大多是核函数,包括多项式核函数和RBF核函数,其复杂度为O(nd),其中n为支持向量的个数,但是对于有RBF核函数的svm,则需要考虑今昔的O(d^2).
优点:1)特征提取器显著的降低了“维数灾难”,特别是在高维领域。因为线性或非线性模型输入的维数更少,因此混合模型具有更好的可扩展性和计算效率。
缺点:1)基于混合的方法是次优的,因为它不能影响特征提取器隐藏层中的表征性学习,因为异常检测使用泛函型损失函数,而不是定制的异常检测目标。2)如果单独的层引入开销,更深层的混合模型往往表现的更好。
单类神经网络结合了深度网络的能力,能够提取丰富的数据表示,并具有单类目标,如超平面或超球面,可以将所有正常的数据点从异常值中分离出来。OCNN方法之所以新颖:是因为它通过优化为异常检测定制的目标函数来学习隐层数据表示的,实验结果表明,OC-NN对于复杂的数据集可以达到与现有的最先进的方法相当或更好的性能,同时与现有方法相比具有更合理的训练和测试时间。
假设:提取出用于异常检测的OC-NN模型依赖以下假设来检测离群值:1)OC-NN模型提取深度神经网络隐含层内数据分布变化的共同因子。2)执行组合表示学习,并为测试数据实例生成异常值。3)异常样本不包含共同的变异因素,因此隐藏层无法捕获离群值的表示。
计算复杂度:相对于混合模型,OC-NN模型的计算复杂度只包含选择深度网络的复杂度。OC-NN模型不需要存储数据进行预测,因此具有很低的存储复杂度。然而,很明显,OC-NN模型训练时间与输入维数成正比。
优点:1)OC-NN模型在优化输出空间的数据的超球面或超平面的同时,联合训练深度神经网络。OC-NN模型提出一种交替最小化算法来学习该模型的参数。我们观察到,OC-NN目标的子问题等价于求解一个定义良好的分位数的选择问题。
缺点:1)对于高维输入数据,训练时间和模型更新时间可能更长。2)考虑到输入空间的变化,模型更新也需要更长的时间。
在机器学习的基础研究和工业应用中,无监督的DAD是一个非常重要的研究领域。有学者提出了几种解决无监督异常检测中的深度学习框架,并展示了这些框架的先进性能,如下表所示:
假设:提出用于异常检测的深度无监督模型依赖以下假设来检测异常值:1)可以将原始或潜在特征空间中的“正常”区域与原始或潜在特征空间的中“异常”区域分开来。2)与其他数据集相比,大多数数据实例都是正常的。3)无监督异常检测算法根据数据集的固有属性生成数据实例的离群值。深层神经网络的隐藏层旨在捕捉数据集中的这些内在属性。
计算复杂度:自动编码器是二次代价离群值检测中最常用的结构,优化问题是非凸的,类似于任何其他神经网络结构。模型的计算复杂性取决于操作数、网络参数和隐藏层。然而,由于PCA基于矩阵分解,因此训练自动编码器的计算复杂度比传统的主成分分析(PCA)的方法要高得多。
优点:1)学习数据的固有特征,将正常数据点与异常数据点分离,这种技术识别数据中的共性。并促进异常值检测。2)是发现异常最经济有效的技术,因为它不需要带标记的数据来训练算法。
缺点:1)在复杂的高维空间学习数据的共性通常很难。2)使用自动编码器时选择合适的压缩度,即降维通常时一个需要调整以获得最佳结果的超参数。3)非监督技术对噪音和数据损坏非常敏感,并且往往没有监督或者半监督的技术准确。
一直以来,深度学习一直受到批评,因为需要有足够多的数据才能产生良好的结果,许多学者都对深度迁移学习方法进行了综述,并说明了它们对于学习好的特征表示的重要性。
迁移学习是机器学习中解决训练数据不足这一问题的必要工具。它的目的是通过放松训练和未来数据必须在相同特征空间和分布相同的假设,将知识从源域转移到目标域。许多学者都对深度迁移学习进行了探索,并显示出非常有前景的结果。利用迁移学习进行异常检测的开放性研究问题是可迁移性程度,即特征如何很好地从一个任务转移到另一个任务,从而提高分类性能。
零样本学习(ZSL)地目标是识别训练集中从未见过地对象,ZSL通过两个阶段实现了这一点:首先获取自然语言描述或属性中的对象知识,然后使用这些知识在一组新的类中对实例进行分类。这种设置在现实世界中很重要,因为人们可能无法获得训练中所有可能类别的图像。**与此方法相关的主要挑战是获取关于数据实例的元数据。**然而,使用ZSL进行异常检测和新颖性检测即几种方法都取得了很不错的结果。
深度神经网络一个值得注意的问题是,它们对于输入数据中的噪声很敏感,通常需要大量的数据训练才能稳健的执行。为了实现鲁棒性,甚至在有噪声的数据中,随机改变自动编码器的连通性结构的思想被证明可以获得显著的更好的性能。有学者对由各种随机连接的自动编码器组成的自动编码及进行了实验,以在多个基准数据集上获得有希望的结果。继承学习方法仍然是一个活跃的研究领域,已经可以证明它可以产生更好的多样性,从而减少训练时间的同时避免过拟合问题。
文献中提出了几种基于聚类的异常检测算法,聚类是根据提取的特征将相似的模式组合在一起来检测新的异常。时间和空间复杂度随药聚集的类的数量呈线性增长,这使得基于聚类的异常检测难以满足实时实际应用的需要。降低了输入数据的维数,在深层神经网络的隐藏层中提取特征,保证了复杂高维数据的可扩展性。例如word2vec模型,获得正常数据和异常数据的语义表示,形成簇并检测异常值。有几项工作以来混合模型的变体和自动编码器,来获取用于聚类的代表性特征来发现异常。
深度强化学习方法能够在高维数据空间中学习复杂的行为,因此引起了人们的极大兴趣。有学者提出利用深度强化学习检测异常的方法,基于DRL的异常检测器不考虑任何关于异常概念的假设,而是通过不断积累的奖励信号增强知识,识别新的异常。基于DRL的异常检测是一个非常新颖的概念,需要进一步研究和识别其研究空白及其应用。
希尔伯特变化是一种统计信号处理技术,它推到出实值信号的解析表达式。(Kanarachos等[2015])利用该特性实时检测健康相关的时间序列数据集中的异常,被证明是一种非常有前途的技术。该算法结合了小波分析,神经网络,希尔伯特变换的能力,以序列的方式检测实时异常。DAD技术需要进一步研究,以充分了解其在异常检测中的潜力和适用性。
深度神经网络中的深度是指提取数据特征的层数,深度架构克服了传统机器学习方法的可扩展性和对数据中新变化的泛化的局限性和手工特征工程的必要性。DBNs是一类由多层图形模型构成的深度神经网络,称为受限玻尔兹曼机(RMBs)使用DBNs进行异常检测的假设是将RBMs作为具有反向传播算法的有向编码解码器网络,由于DBNs无法捕获异常样本的特征变化,导致重建误差较大,事实证明,DBN可以有效的扩展到大数据,并提高可解释性。
长期以来,研究人员一直在探索同时学习时空关系特征的技术。深度学习体系结构在学习空间方面由深层次的神经结构组成,结合CNN和LSTM来提取时空特征。时间特征(通过LSTM对近时间点之间的相关性进行建模)和空间特征(通过局部CNN对局部空间相关性进行建模)被证明在检测异常值方面是有效的。
SPN是以变量为叶的有向无环图,内部节点和边权节点构成和积。SPN被认为是一种混合模型的组合,它在许多层上具有快速、精确的概率推断。SPN的主要优点是:与图形模型不同,SPN在较高的宽树模型上具有更好的可追踪性,而不需要进行近似推理。此外,SPN被证明能够以一种令人信服的方式捕获输入的不确定性,从而产生健壮的异常检测。SPN在许多数据集上显示出令人印象深刻的结果,但在离群值检测方面有待进一步研究。
Word2vec是一组用于生成单词嵌入到深度神经网络模型,这些模型能够捕获数据实例中的顺序关系,例如句子、时序数据。在一些深度学习架构中,获取单词嵌入特性作为输入可以提高性能。利用word2vec嵌入的异常检测模型可以显著的提高性能。
生成模型的目的是学习精确的数据分布,从而生成具有一定变化的新数据点。最常见和最有效的生成方法是变分自动编码器(VAE)和生成对抗网络(GAN)。GAN体系结构的一种变体称为对偶自动编码器(AAE),它使用对偶训练对在自动编码器的隐藏层中学习到的潜在代码施加任意先验信息,也被证明能够有效的学习输入分布。利用这种学习输入的分布能力,提出了几种基于生成对抗网络的异常检测框架(GAN-AD)。这些框架被证明在识别高维复杂数据集中的异常方面是有效的。然而,与深度生成模型相比,传统的方法,如k近邻方法,在异常数目较少的场景中表现的更好。
卷积神经网络(CNN)是分析视觉图像的常用神经网络。CNN具有从复杂结构的高维数据中提取复杂隐藏特征的能力,使其额能够作为特征提取器用于序列数据和图像数据的离群点检测。基于CNN的异常检测框架仍然是一个活跃的研究领域。
循环神经网络(RNN)被证明能够捕捉时间序列数据的特征。RNN的局限性在于它们不饿能随着时间步长的增加而捕获上下文,为了解决这个问题,引入了长短期记忆网络(LSTM),它们是一种特殊类型的RNN,又可以存储信息之前的时间步骤和存储单元组成。门递归控制单元类似于LSTMs,但使用一组门来控制信息流,而不是单独的存储单元,**序列数据中的异常检测由于其在9.9节中描述的(时间序列异常驾检测)广泛工程问题中引起了研究者的极大兴趣。**基于长短期记忆的神经网络的异常检测算法相较于传统方法相比,该算法的性能由显著的提升。
带有线性激活函数的单层自动编码器几乎等同于主成分分析(PCA)。虽然PCA仅限于线性降维,但自动编码器支持线性或非线性变换。异常检测时自动编码器的主要作用之一。自动编码器也被称为复制因子器神经网络(RNN)。自动编码器通过重构输入数据来表示多个隐藏层中的数据,从而有效的学习一个恒等函数。当自动编码器仅针对正常数据输入(在异常检测任务中占大多数)进行训练时,无法重构异常数据样本,从而产生很大的重建误差。产生高残差的数据样本被认为时离群值。
如上图所示,提出了自动编码器体系的几种变体,在异常检测方面取得了很好的效果。自编码结构的选择取决于数据的性质,卷据网络是图像数据集的首选,而基于长短期记忆网络的模型对序列数据的效果较好。将卷积层和LSTM层结合起来,其中编码器是卷积神经网络中的异常。使用门控递归单元自动编码器(GRU-AE)、卷积神经网络自动编码器(CNN-AE)、长短期记忆网络和自动编码器(LSTM-AE)等组合模型。消除了手动制作特性的需要,并简化了在异常检测任务中使用的原始数据的预处理。虽然自动编码器是一种简单有效的异常检测架构,但是由于训练数据的噪声影响,性能会下降。
前面讨论的每种深度异常检测(DAD)技术都有其独特的优缺点。了解哪种异常检测技术最适合给定的异常检测问题上下文是至关重要的。鉴于DAD是一个活跃的研究领域,因此不可能对每个异常检测问题都有这样的理解。因此,在本节中,我们将针对一些简单的问题设置分析不同技术类别的相对优势和劣势。第10.1节中介绍的基于分类的监督DAD技术在正常和异常实例的标签数量相同的情况下是更好的选择。有监督DAD技术的计算复杂度是一个关键问题,尤其是在实际应用中。虽然基于分类、监督或半监督的技术有昂贵的训练时间,但测试通常是快速的,因为它使用的是预训练模型。第10.5节中介绍的无监督DAD技术正在被广泛使用,因为标签获取是一个昂贵和耗时的过程。大多数无监督深度异常检测需要对异常分布进行先验假设,因此模型在处理噪声数据时鲁棒性较差。第10.3节所示的混合模型提取深度神经网络隐藏层中的鲁棒特征,并将其反馈给性能最佳的经典异常检测算法。混合模型方法是次优的,因为它不能影响隐藏层中的表征学习。第10.4节中描述的一类神经网络(OC-NN)结合了深度网络提取数据的能力和一类目标,如超平面(Chalapathy等[2018a]【18】或超球面(Ruff等[2018a]【38】)将所有正常数据点与异常数据点分离。有必要进行进一步的研究和探索,以便更好地理解所提出的这种新结构的好处。
本文讨论了基于深度学习的异常检测的各种研究方法及其在各个领域的应用。本文讨论了深度异常检测面临的挑战,并针对这些挑战提出了几种现有的解决方案。本次调查的目的是研究和识别各种用于异常检测的深度学习模型,并评估其对给定数据集的适用性。在选择特定领域或数据的深度学习模型时,可以使用这些假设作为指导原则来评估该领域技术的有效性。基于深度学习的异常检测仍然是一个活跃的研究领域,随着更复杂技术的提出,未来可能的工作是扩展和更新这项调查。