异常检测(Anomaly Detection)综述
共 8035字,需浏览 17分钟
·
2020-10-25 21:29
极市导读
异常检测是一个发现“少数派”的过程,本文将目前深度学习的异常检测的热门研究方向进行了分类,并列举了对应的文章,并推荐了值得一读的8篇新颖论文,帮助大家理解学习异常检测这一领域。 >>加入极市CV技术交流群,走在计算机视觉的最前沿
一、简介
异常检测一直是机器学习中一个非常重要的子分支,在各种人工智能落地应用例如计算机视觉、数据挖掘、NLP中,异常检测算法都是很热门的研究方向,特别是大数据时代,人工处理数据的速度已经远远赶不上机器了,所以更快地检测数据中的异常情况成为了我们当下非常重要的任务。在深度学习广泛的推广之前,传统的异常检测算法有很多,例如高斯拟合,半监督学习等等,而在深度学习大火之后,人们也开始研究将深度学习应用于各种异常任务中(也就是Deep Anomaly Detection,以下统称DAD),并取得了很大的成功,本文将把当下该方向热门的研究方向分类并列举了对应的文章,希望能帮助大家更好地理解此方向的研究。
二、异常检测的概念
异常检测,从定义而言就是一种识别不正常情况与挖掘非逻辑数据的技术,也叫outliers。例如在计算机视觉的应用中,有人在抖音发表一个视屏,在边骑车边打电话,那这就是个不符合规范的视屏,我们能否采用一些方式来将其检测出来,再例如在数据挖掘领域中,那异常检测的应用就更广泛了,比如信用卡盗刷,超大金额支出等等。通常情况下,在我们阅读论文的过程中,异常检测(Anomaly Detection)也被叫做,Novelty Detection,Outlier Detection,Forgery Detection,Out-of-distribution Detection。在阅读论文的情况,这些名词也有轻微的区别,以计算机视觉为例,如下图所示。
在计算机视觉的基本任务——图像分类中,单分类与多分类问题,将几种概念的细微区别基本阐述清楚了。Anomaly Detection指在不属于该分类的数据集中,而Novelty是检测可能属于该分类但却没见过(Unseen)也就是Novel的数据集,而OOD(out-of-distribution)则是多分类中不同目标的分布,这些任务在接下来的论文中,也经常有人进行相应的研究。
三、异常检测相关工作与方向
首先根据查阅异常检测方向综述的文章,我将基于深度学习的异常检测应用方向论文,按照主要的逻辑结构列举在了下面,我相信这可以更加方便地向你展示异常检测方向你应该怎样去研究你的论文。
1. DAD研究的主要元素
(1) 异常数据集
点集 连续集 团队集
(2) 异常检测模型
无监督学习、AutoEncoder、GAN、矩阵因子分解 半监督学习、强化学习 Hybrid(混种)、特征提取+传统算法 单分类神经网络
(3) 异常检测应用
诈骗检测 网络侵入检测 医学异常检测 传感器网络异常检测 视屏监督 物联网大数据异常检测 日志异常检测 工业危害检测
2. 异常检测论文分类
下面也是我根据参考文献,把异常检测论文分成几个当前研究方向,相当于列出了一个目录在这里,可供之后方便查看,关于论文分类的一些概念,我会在下面的介绍中详细提及。
(1) 数据的连续性
(2) 数据标签的可用性
监督学习Supervised Learning 半监督学习Semi-supervised Learning 无监督学习Unsupervised Learning
(3) 基于训练对象的模型
深度混种模型Deep Hybrid Model(DHM) 单分类神经网络One-Class Neural Networks(OC-NN)
(4) 数据异常类型
点集Point 连续集Contextual 团队集Collective or Group
(5) 异常检测输出类型
异常分数Anomaly Score 标签Lable
(6) 异常检测应用
有将近十种异常检测相关的应用,由于目前对该部分研究较浅,所以之后会考虑单独写篇文章来总结异常检测方面的应用型论文。
四、原始数据的连续性Nature of Input Data
在DAD问题中选择怎样的网络结构很大部分取自于原始数据(raw/input data)的类型,原始数据在广义上我们可以分为连续型(Sequential)与非连续型(Non-sequential),如何选择相应的模型,我列举在下表中。
原始数据类型 | 举例 | DAD模型选择 |
---|---|---|
连续型Sequential | 视屏,DNA序列,自然语言文本 | CNN,RNN,LSTM |
非连续型Non-sequential | 图片,传感器 | CNN,AE及其变种 |
DAD在未降维的高维原始数据中表现优异,成功提取大规模数据的关系,通常情况下,网络越深,提取效果越好,这个部分感兴趣的话可以参考下面这篇文章。
Yann LeCun, Yoshua Bengio, and Geoffrey Hinton. Deep learning. nature, 521(7553):436, 2015.
五、数据标签的可用性Availability of Labels
数据标签是非常重要的事情,标签代表着正常(normal)数据或是未见过(unseen/novel)的数据,对于标签内容的使用同样是现在异常检测方向论文重点考虑的事情。异常检测的模型也可以根据数据标签的内容广义的分为三类,监督,半监督和无监督。
1. 监督Supervised DAD
基于监督学习的DAD文章,整理了两篇医学方向的,由于监督学习对于标签内容的依赖度过重,所以他对于异常检测的问题并不是那么合适,所以它并不如半监督和无监督应用地那么广泛。
Raghavendra Chalapathy, Ehsan Zare Borzeshi, and Massimo Piccardi. An investigation of recurrent neural architectures for drug name recognition. arXiv preprint arXiv:1609.07585, 2016a. Raghavendra Chalapathy, Ehsan Zare Borzeshi, and Massimo Piccardi. Bidirectional lstm-crf for clinical concept extraction. arXiv preprint arXiv:1611.08373, 2016b.
2. 半监督Semi-supervised DAD
由于正常数据集比异常数据集更好获得,所以半监督学习DAD方法被非常广泛的使用,拥有了足够的数据集,我们能更好地标出正常数据,异常数据,新数据的界限,半监督学习模型列举三篇论文。
Drausin Wulsin, Justin Blanco, Ram Mani, and Brian Litt. Semi-supervised anomaly detection for eeg waveforms using deep belief nets. In Machine Learning and Applications (ICMLA), 2010 Ninth International Conference on, pages 436–441. IEEE, 2010. Mutahir Nadeem, Ochaun Marshall, Sarbjit Singh, Xing Fang, and Xiaohong Yuan. Semi-supervised deep neural network for network intrusion detection. 2016. Hongchao Song, Zhuqing Jiang, Aidong Men, and Bo Yang. A hybrid semi-supervised anomaly detection model for high-dimensional data. Computational intelligence and neuroscience, 2017.
3. 无监督Unsupervised DAD
传统机器学习算法其实我感觉更倾向于直接从数据集中让机器去学习一些东西,然后直接用参数的方式表示出来,异常检测问题同样我们也用自动标签的方式去检测是否异常,因为有时候可能数据难以获取。自动解码器是无监督DAD的核心,所以这里深度学习的一些神经网络大有可为,例如RNN,LSTM等等。我们这里只列举了一种采用变种半监督学习方法的论文,应用于异常数据降维,表现效果超越很多传统降维算法,如PCA,Isolation等等。
Aaron Tuor, Samuel Kaplan, Brian Hutchinson, Nicole Nichols, and Sean Robinson. Deep learning for unsupervised insider threat detection in structured cybersecurity data streams. arXiv preprint arXiv:1710.00811, 2017.
六、基于训练对象的模型
按照训练对象的区别,我们把训练模型单独划分为两类,变种模型与单分类神经网络。
1. 深度变种模型Deep Hybrid Models(DHM)
Jerone TA Andrews, Edward J Morton, and Lewis D Griffin. Detecting anomalous data using auto-encoders. International Journal of Machine Learning and Computing, 6(1):21, 2016a. Tolga Ergen, Ali Hassan Mirza, and Suleyman Serdar Kozat. Unsupervised and semi-supervised anomaly detection with lstm neural networks. arXiv preprint arXiv:1710.09207, 2017.
2. 单分类神经网络One-Class Neural Networks(OC-NN)
Raghavendra Chalapathy, Aditya Krishna Menon, and Sanjay Chawla. Anomaly detection using one-class neural networks. arXiv preprint arXiv:1802.06360, 2018a.
七、数据异常类型
1. 点集Point
举信用卡盗刷的例子,点集异常就是指单笔交易大金额支出,比如你都花1块2块的钱,突然有一天消费了1k,那可能就出现了异常情况,但这个方向好像没有人单独发过文章。
2. 连续集Contextual or Conditional
连续集就是指上下文相关的连续数据,某一个中间数据出现了异常情况,可能引起了梯度消失爆炸等等问题。
Xiuyao Song, Mingxi Wu, Christopher Jermaine, and Sanjay Ranka. Conditional anomaly detection. IEEE Transactions on Knowledge and Data Engineering, 19(5):631–645, 2007.
3. 团队集Collective or Group
还是信用卡盗刷的例子,如果某天你的信用卡突然短时间内不停地消费50元,那机器可能会发现,这些团队数据集的消费出现了异常,这种情况我们也在其他场合经常遇到。
Raghavendra Chalapathy, Edward Toth, and Sanjay Chawla. Group anomaly detection using deep generative models. arXiv preprint arXiv:1804.04876, 2018b. Lo¨ıc Bontemps, James McDermott, Nhien-An Le-Khac, et al. Collective anomaly detection based on long short-term memory recurrent neural networks. In International Conference on Future Data and Security Engineering, pages 141–152. Springer, 2016. Daniel B Araya, Katarina Grolinger, Hany F ElYamany, Miriam AM Capretz, and G Bitsuamlak. Collective contextual anomaly detection framework for smart buildings. In Neural Networks (IJCNN), 2016 International Joint Conference on, pages 511–518. IEEE, 2016. Naifan Zhuang, Tuoerhongjiang Yusufu, Jun Ye, and Kien A Hua. Group activity recognition with differential recurrent convolutional neural networks. In Automatic Face & Gesture Recognition (FG 2017), 2017 12th IEEE International Conference on, pages 526–531. IEEE, 2017.
八、idea新颖的论文
这里我再给大家推荐8篇idea比较新颖的论文,可供大家阅读与交流。
[1] Liu W, Luo W, Lian D, et al. Future frame prediction for anomaly detection–a new baseline[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 6536-6545.
[2] Gong D, Liu L, Le V, et al. Memorizing normality to detect anomaly: Memory-augmented deep autoencoder for unsupervised anomaly detection[C]//Proceedings of the IEEE International Conference on Computer Vision. 2019: 1705-1714.
[3] Park H, Noh J, Ham B. Learning Memory-guided Normality for Anomaly Detection[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020: 14372-14381.
[4] Zhao Y, Deng B, Shen C, et al. Spatio-temporal autoencoder for video anomaly detection[C]//Proceedings of the 25th ACM international conference on Multimedia. 2017: 1933-1941.
[5] Ionescu R T, Khan F S, Georgescu M I, et al. Object-centric auto-encoders and dummy anomalies for abnormal event detection in video[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019: 7842-7851.
[6] Liu W, Luo W, Li Z, et al. Margin Learning Embedded Prediction for Video Anomaly Detection with A Few Anomalies[C]//IJCAI. 2019: 3023-3030.
[7] Sultani W, Chen C, Shah M. Real-world anomaly detection in surveillance videos[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 6479-6488.
[8] Luo W, Liu W, Gao S. A revisit of sparse coding based anomaly detection in stacked rnn framework[C]//Proceedings of the IEEE International Conference on Computer Vision. 2017: 341-349.
九、最后总结
最后给大家推荐一个超级nice的github仓库,里面的文章都比较新,并且也进行了一些分类。
https://github.com/hoya012/awesome-anomaly-detection
推荐阅读