异常检测的深度学习:调查

    这几天完成今年初定的一个小目标:看一篇英语论文,并翻译为中文。为什么会考虑做这项工作呢,为啥不直接使用网络的翻译功能呢?源于学习提高需要,源于要克服阅读英语文档的障碍。还有一个小问题就是为以后小孩的英语教育问题,可以出一份力。

    参考单词翻译,花了几天时间阅读完27页的英语论文文献后,笔者决定自己把这篇文章翻译出来,养成阅读习惯和语感。下面就是笔者部分翻译,如有错误请您担待。

    原文地址:Deep Learning for Anomaly Detection: A Survey

摘要:异常检测是个重要的问题,已经在各个领域研究和应用。这篇调查文章关于两方面,一是基于深度学习的异常检测,呈现结构化的、综合的研究方法;二是采用这些异常检测方法应用在不同的领域,并评估它们的表现。我们区分了不同总类的最先进的深度学习异常检测,基于潜在的假设和采用的方法。针对不同的种类,我们概括了基本的异常检测技术,以及它们的变体和核心的假设,来区分正常和异常的行为。另外,针对每个种类,我们讨论了优势和劣势,和它们在真实应用中的计算复杂度。最后,当我们面对真实世界的问题,采用深度异常检测技术时,本文概括了研究中未解决的问题和挑战。

关键字:异常,离群,新颖性,深度学习

1 介绍

    一个常见的需求就是在分析真实数据集时,找出实例与其他实例的区别。这样的实例被称为异常值(或者离群值),异常检测的目标就是找出数据集中的这些实例。数据集中的错误会引起异常,但是有时候是新的、未遇到、潜在过程。Hawkins提出不同的机制,定义了离群值作为观察,明显的偏离其他观察值,这样可以用来判断异常。在更加广泛的机器学习领域,这些年在应用深度神经网络,在不同应用领域取得了优秀的表现。深度学习作为机器学习的一部分,可以达到良好的效果和灵活性,可以用神经网络的层来呈现嵌套层次。随着数据规模的增加,深度学习优于传统的机器学习,如图1所示。最近几年,深度学习异常检测算法正变得越来越受欢迎,也被应用到各种各样的任务,如图2所示。研究显示,深度学习完成超过了传统的机器学习方法。这个调查的目的包含两个方面:首先,基于深度学习的异常检测,呈现结构化的、综合的研究方法;二是采用这些异常检测方法应用在不同的领域,并评估它们的表现。

2 什么是异常

    异常值指的是在数据挖掘和统计文献中的不正常、偏离、离群。如图3展示,N1和N2是主要观察值组成的正常,因此认为是正常数据区域,同时区域O3,数据点O1 O2只有少数点,和正常数据区域相隔较远,因此被认为是异常值。出现此现象有如下的原因:比如恶意行为、系统故障、故意欺诈等。这些异常揭示了对数据存在的见解,同时传递了有用的信息。因此,异常检测认为是在决策系统里最基本的步骤。

3 什么是新颖性

    新颖性数据中是新的、未观察到的模式。新颖性不会被检测为异常数据点,相反,它们会被认为是常规的数据模型。新颖性分数使用临界点分数来检测之前未观察到的数据。数据点明显偏离决策边界可能会被认为异常或者离群。如图4,图片中的白老虎在常规的老虎中会认为是新颖,图片中的马、黑豹、狮子、猎豹会被认为异常。异常检测技术常常会被用来新颖性检测,反之亦然。

4 动机和挑战:深度异常检测技术

    传统算法在图像上的异常检测得到的是次优解,比如医疗图像。顺序数据集无法从数据中捕捉到复杂的结构。

    大量的异常检测需求:当数据量大量增加时,传统方法不可能从大量数据中直到离群值。

    深度异常检测可以从数据中学习到有区别的、有层次的特征。自动的特征学习能力可以不需要领域专家自己来找出特征,因此提倡使用端到端的原始数据输入来解决问题,比如文本和语音识别。

    正常行为和异常行为的边界在一些数据中常常没有被精确定义,这种趋势还在进一步加深。缺少标记的有代表性的正常边界给传统和深度学习算法带来挑战。

5 相关工作

    尽管在很多机器学习问题中,深度学习方法可以发挥巨大的优势,但是缺少异常检测的深度学习方法。Adewumi 和 Akinyelu 提供了欺诈检测的综合深度学习方法。Kwon展示了针对网络入侵检测的广泛的研究。Litjens等提供了基于深度学习的医疗领域的大量的研究。Mohammadi 等介绍了深度异常检测技术应用于物联网和大数据异常检测。Ball等完成传感器网络异常检测的研究。Kiran提供了最好的深度学习方法从多个分类中检测出异常视频。尽管现在又很多DAD的应用研究,但是缺少基于离群检测的不同深度学习框架的对比分析。例如,大量的研究完成异常检测都是使用深度自动编码器,但是缺少适合数据集和应用领域的不同深度框架的综合研究。我们希望这篇调查可以减少这个差距,给研究者和工程师一个综合的参考来提高深度学习异常检测。表1调查中的研究方法和应用领域的集合。

6 贡献

    我们关注与深度异常检测的调查。这篇调查呈现了深度异常检测DAD的详细的、结构化的研究和应用。我们总结主要的研究成果如下:

    现在的深度异常检测技术不是关注于部分应用场景,就是特定的特定测研究领域。这篇文章目的是提供一个最好的异常检测技术的综合的大纲,同时列举几个真实中应用的案例。

    最近几年来,基于异常检测的新深度技术被开发出来,大大减少了计算复杂度。这篇论文就是探索这些技术,并将它们结构化的分类,便于理解。我们基于训练目的,介绍两种子类-混合模型和单类神经网络技术,如上图所示。针对每种分类,我们讨论了各种假设和表现最好的技术。另外,每个种类我们也呈现了挑战、优势、劣势以及深度异常检测的计算复杂度。

7 组织

    这篇论文是根据下图的结构来组织的。在第八章节,我们确定了问题表述的各个方面,并强调了与异常检测相关的丰富性和复杂性。我们介绍并定义了两种类型的模型:上下文和集体或群体异常。在第九章节,我们主要描述了深度异常检测在不同应用领域的应用情况。在随后的章节,我们根据研究领域,提供了深度学习技术的分类。基于训练目的以及样本标签的可用性,深度异常检测技术可以被分为监督、无监督、混合和单类神经网络。针对不同分类。我们也讨论了他们的训练和测试的计算复杂度。在8.4章节,我们讨论了数据点、上下文和集体的深度异常检测技术。在12章节,我们提供了一些不同技术的局限性和相对表现。13章节是结束语。

8 深度异常检测的不同方面

    这个章节讨论了一些基于深度异常检测技术的各个方面。

8.1 输入数据性质

    在深度异常检测方法中,选择深度神经网络的结构是根据输入数据的性质。输入数据可以广泛的分为序列化数据(语音、文本、音乐、时间序列、蛋白质序列)和非序列化数据(图片以及其它数据)。下表说明了异常检测中的输入数据性质和深度模型结构。另外基于特征数量的输入数据空域进一步分为低纬度和高纬度的数据。DAD技术可以从高纬度的原始数据中学习到复杂的分层特征。DAD技术的网络层数是输入数据维度来驱动的,更深的网络可以在高维度数据上有更好的表现。在接下来的10章节展示了不同的模型可以用来边缘检测。

8.2 基于标签的可靠性

8.2.1 无监督深度异常检测

8.2.2 半监督深度异常检测

8.2.3 无监督深度异常检测

8.3 基于训练的样本

8.3.1 深度混合模型

8.3.2 单类神经网络

8.4 异常的类型

8.4.1 异常点

8.4.2 上下文的异常检测

8.4.3 集体的异常检测

8.5 深度异常检测的输出

8.5.1 异常分数

8.5.2 标签

9 深度异常检测的应用

9.1 入侵检测

9.1.1 基于主机的入侵检测系统HIDS

9.1.2 网络入侵检测系统NIDS

9.2 欺诈检测

9.2.1 银行欺诈

9.2.2 电信欺诈

9.2.3 保险欺诈

9.2.4 卫生保健欺诈

9.3 恶意软件检测

9.4 医疗异常检测

9.5 在社交网络中的深度学习异常检测

9.6 日志异常检测

9.7 物联网大数据异常检测

9.8 工业异常检测

9.9 在时间序列上的异常检测

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

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

9.10 视频监视

10 深度异常检测模型DAD

10.1 有监督的深度异常检测

10.2 半监督的深度异常检测

10.3 混合深度异常检测

10.4 单类神经网络的异常检测

10.5 无监督的深度异常检测

10.6 各种各样的技术

10.6.1 基于异常检测的转换学习

10.6.2 基于异常检测的独热向量学习

10.6.3 基于异常检测的集成学习

10.6.4 基于异常检测的聚类

10.6.5 基于异常检测的深度加强学习

10.6.6 异常检测的统计技术

11 异常检测的深度神经网络架构

11.1 深度神经网络DNN

11.2 时空网络STN

11.3 和积网络SPN

11.4 Word2sec模型

11.5 生成模型

11.6 卷积神经网络

11.7 顺序网络

11.8 自动编码器

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

13 总结

你可能感兴趣的:(异常检测的深度学习:调查)