本文作者:张宇欣 中国科学院计算技术研究所博士生,研究方向为异常检测和深度学习。 本文对异常检测 (Anomaly detection) 领域进行了一个较为全面的概述,主要介绍异常检测的问题定义、研究挑战、应用领域,以及主要研究方法。
不同于常规模式下的问题和任务,异常检测针对的是少数、不可预测或不确定、罕见的事件,它具有独特的复杂性,使得一般的机器学习和深度学习技术无效。
关于异常检测方法有很多综述,这里列举一些我看过的 [2,3,12,19] 。
简单介绍一下该类的典型方法:Deep SVDD [11] 、OC-NN [20]。
采用深度学习的聚类方法一般是用神经网络对输入数据进行编码,然后认为最后的编码序列可以代表神经网络的很多特征,然后我们对编码序列进行聚类就可以达成聚类的目的。该类方法被用于异常检测的包括:CAE-l2 cluster [15] 、DAE-DBC [18]。
CAE-l2 cluster:在autoencoder中间加入了L2标准化以及k-means。
DAE-DBC:先利用autoencoder降维,然后通过聚类方法判别异常值。
一个通用的自动编码器由编码器和解码器组成,编码器将原始数据映射到低维特征空间,而解码器试图从投影的低维空间恢复数据。这两种网络的参数通过重构损失函数来学习。为了使整体重构误差最小化,保留的信息必须尽可能与输入实例(如正常实例)相关。
将自动编码器用于异常检测是基于正常实例比异常实例能从压缩的特征空间更好地被重构这一假设。 判别方式是计算重构误差 d ( x ) = ∥ x − f ( g ( x ) ) ∥ d(x) = \left \| x - f(g(x)) \right \| d(x)=∥x−f(g(x))∥,如果 d ( x ) > l a m b d a d(x) > lambda d(x)>lambda,则 x x x为异常,反之正常, λ \lambda λ 是需要定义的阈值。这里说一下阈值的计算方法有很多,可以通过训练集结果的正态分布计算,或者计算训练集结果的min-max标准化等等。
典型案例:稀疏自动编码器(sparse AE)、去噪自动编码器(denoising AE)、收缩自动编码器(contractive AE)、鲁邦自动编码器(Robust Deep AE)等。这类方法太多了,在这里就不举例了,基本原理很简单。
该类方法的优点是能够通过非线性方法捕捉复杂特征,试图找到正常实例的一种通用模式,缺点是如何选择正确的压缩程度,以及如何解决“过拟合”的问题(网络拟合的太好以至于异常实例也“潜伏”在低维特征空间中)。为了解决这个缺点,有研究者使用正则化或者记忆矩阵等等方法。
这种方法通常旨在学习生成网络G的潜在特征空间,使潜在空间能够很好地捕捉到给定数据背后的常态。
将生成模型用于异常检测是基于在生成网络的潜在特征空间中正常实例比异常实例能够更准确地被产生这一假设。 实际实例和生成实例之间的残差被定义为异常分数。
典型案例:AnoGAN、GANomaly、Wasserstein GAN、 Cycle GAN、VAE等。
该类方法的关键问题是如何设计合适的生成器和目标函数。
基于预测模型的异常检测方法通过使用时间窗内的历史实例预测当前实例来学习特征表示,这些特征表示能够捕捉时间或序列的依赖关系,正常实例通常能够保持良好的依赖关系,可以很好地被预测,而异常实例通常会违反这些依赖关系,使得不可预测。
**将预测模型用于异常检测是基于在与时间相关的序列中,正常实例比异常实例更容易被预测这一假设。 **预测序列与实际序列之间的残差被定义为异常分数。
典型案例:自回归模型(Autoregressive)、ConvLSTM预测模型、Slow Feature Analysis(SFA)等。
也有一些结合的重构和预测的异常检测模型,例如Composite LSTM [13] 、Composite ConvLSTM [14] 。
该类方法在工控数据集、视频异常监控比较常用,有利于处理时间序列数据。
迁移学习中数据迁移和特征迁移能够被用于异常检测,基于数据迁移:通过Data Augmentation生成合成数据扩大训练集数量,从而更好地进行正常实例的表征学习。基于特征迁移:representation transfer,从相关问题中提取一些表征层来提高异常检测模型精度。
通过度量学习的方法能够让同类样本之间的距离变小,异类样本之间的距离变大,在异常检测方法中可以将数据映射到meric空间中,从而更好地分离异常值,并减少维度灾难。目前的方法有:SCDML [17]、ADDML [16]等 。
SCDML : 为了提取更多的判别特征来优化聚类模型,在第一阶段使用Siamese网络,度量学习的损失函数为对比损失( contrastive loss)。在第二阶段使用k近邻标签更新策略,将未标记数据动态转换为有标记数据,充分发挥未标记数据的贡献。
ADDML:该方法通过最小化相似度误差将数据映射到低维空间,目的是在度量空间中让相似的实例更近。在测试阶段,利用实例到中心的距离计算异常分数。
[1] Chalapathy R, Chawla S. Deep learning for anomaly detection: A survey[J]. arXiv preprint arXiv:1901.03407, 2019. [2] Pang G, Shen C, Cao L, et al. Deep Learning for Anomaly Detection: A Review[J]. arXiv preprint arXiv:2007.02500, 2020. [3] Kiran B R, Thomas D M, Parakkal R. An overview of deep learning based methods for unsupervised and semi-supervised anomaly detection in videos[J]. Journal of Imaging, 2018, 4(2): 36. [4] Günter S, Schraudolph N N, Vishwanathan S V N. Fast iterative kernel principal component analysis[J]. Journal of Machine Learning Research, 2007, 8(Aug): 1893-1918. [5] Huber P J. Robust statistics[M]. John Wiley & Sons, 2004. [6] Zimek A, Schubert E, Kriegel H P. A survey on unsupervised outlier detection in high‐dimensional numerical data[J]. Statistical Analysis and Data Mining: The ASA Data Science Journal, 2012, 5(5): 363-387. [7] HubKim J S, Scott C D. Robust kernel density estimation[J]. The Journal of Machine Learning Research, 2012, 13(1): 2529-2565. [8] Xiong L, Póczos B, Schneider J G. Group anomaly detection using flexible genre models[C]//Advances in neural information processing systems. 2011: 1071-1079. [9] Chen Y, Zhou X S, Huang T S. One-class SVM for learning in image retrieval[C]//Proceedings 2001 International Conference on Image Processing (Cat. No. 01CH37205). IEEE, 2001, 1: 34-37. [10] Williams G, Baxter R, He H, et al. A comparative study of RNN for outlier detection in data mining[C]//2002 IEEE International Conference on Data Mining, 2002. Proceedings. IEEE, 2002: 709-712. [11] Ruff L, Vandermeulen R, Goernitz N, et al. Deep one-class classification[C]//International conference on machine learning. 2018: 4393-4402. [12] https://sites.google.com/view/kdd2020deepeye/home [13] Srivastava N, Mansimov E, Salakhudinov R. Unsupervised learning of video representations using lstms[C]//International conference on machine learning. 2015: 843-852. [14] Medel J R, Savakis A. Anomaly detection in video using predictive convolutional long short-term memory networks[J]. arXiv preprint arXiv:1612.00390, 2016. [15] Aytekin C, Ni X, Cricri F, et al. Clustering and unsupervised anomaly detection with l 2 normalized deep auto-encoder representations[C]//2018 International Joint Conference on Neural Networks (IJCNN). IEEE, 2018: 1-6. [16] Yilmaz S F, Kozat S S. Unsupervised Anomaly Detection via Deep Metric Learning with End-to-End Optimization[J]. arXiv preprint arXiv:2005.05865, 2020. [17] Li X, Yin H, Zhou K, et al. Semi-supervised clustering with deep metric learning and graph embedding[J]. World Wide Web, 2020, 23(2): 781-798. [18] Amarbayasgalan T, Jargalsaikhan B, Ryu K H. Unsupervised novelty detection using deep autoencoders with density based clustering[J]. Applied Sciences, 2018, 8(9): 1468. [19] Ruff, L., Kauffmann, J., Vandermeulen, R.A., Montavon, G., Samek, W., Kloft, M., Dietterich, T.G., & Muller, K. (2020). A Unifying Review of Deep and Shallow Anomaly Detection. [20] Chalapathy R, Menon A K, Chawla S. Anomaly detection using one-class neural networks[J]. arXiv preprint arXiv:1802.06360, 2018.
转载自:https://zhuanlan.zhihu.com/p/260651151
