这两年,异常检测方面的工作越来越多。相比单纯的分类模型,异常检测需要更少的标注数据,更少的异常数据,因此,减轻了数据的获取难度以及标注难度。
目录
1 什么是异常检测(Anomaly detection)
2 异常检测相关资源汇总
2.1 书籍
2.2 教程
2.3 课程/研讨会/视频
2.4 综述与调查论文分享
2.5 关键算法分享
2.6 图和网络异常值检测
2.7 时间序列离群值检测
2.8 异常检测中的表征学习
2.9 可解释性
2.10 神经网络的异常值检测(主要方向)
2.11 离群值检测应用
3 医学图像异常检测值论文分享
3.1 脑MRI
3.2 脑CT
3.3 视网膜OCT
3.4 视网膜底
3.5 胸部X线
4 博主看过的好论文推荐
4.1 基于GAN的异常检测
4.2 基于内存机制(memory module)的异常检测
1 什么是异常检测(Anomaly detection)
在分类中,我们知道,卷积神经网络通过去学习异常的特征来检测异常。如肺结节的检测,胸部14种常见疾病的分类。就是让网络去学习这些疾病的特征,从而进行检测或分类。在这种方法中,主要存在两个问题。一是如果某些疾病的特征很难学,那么检测的误差就很大。二是如果某一类疾病的数量非常少,类别不平衡。而另一种可行的方法是:让网络去学习正常的图像是什么样子(在训练阶段,只提供正常的图像)。由于网络没有见过异常的图像特征,因此在推理的时候,就重建不出异常的特征,从而检测出异常。我们尽可能地去让模型充分学习正常数据的分布长什么样子,一旦来了异常图像,它即便不知道这是啥新的分布,但依旧可以自信地告诉你:这玩意儿没见过,此乃异类也!
由于异常检测只需要提供正常的图像,因此可以看成是无监督学习(Unsupervised)或半监督学习(Semi-Supervised)。
异常检测可应用于金融,银行欺诈、网络侵入检测、医学图像异常、传感器网络异常、视屏监督、物联网大数据异常、结构缺陷、设备故障,工业异常、日志异常等领域。而工业检测是应用的最多的,也是更成熟一点的领域。最近几年,在医疗上也逐步发展起来(如MRI 脑异常检测),目前可研究的方向非常多,抓住一个方向进行深入研究,进军SCI毫无问题。
2 异常检测相关资源汇总
2.1 书籍
- 离群值分析
涵盖大多数离群值分析技术的经典教科书。离群点检测领域的人们的必读读物。英文版链接, 价格:106,99 欧元 🤭 。pdf免费下载
- 离群值集合
离群值分析中集合学习的伟大入门书。英文版链接。价格:4279欧元🤭
- 数据挖掘:概念与技术
2.2 教程
Tutorial Title | Venue | Year | Ref | Materials |
Data mining for anomaly detection | PKDD | 2008 | ||
Outlier detection techniques | ACM SIGKDD | 2010 | ||
Anomaly Detection: A Tutorial | ICDM | 2011 | ||
Anomaly Detection in Networks | KDD | 2017 | ||
Which Anomaly Detector should I use? | ICDM | 2018 |
表格资源链接地址:github
2.3 课程/研讨会/视频
- Coursera异常检测简介(IBM出版):视频连接
课程简介:本课程,带DeepLearning的应用人工智能,是IBM当前正在创建的IBM Advanced Data Science证书的一部分,使您可以轻松访问有关Deep Learning模型的宝贵见解由自然语言处理,计算机视觉,时间序列分析和许多其他学科的专家使用。我们将学习线性代数和神经网络的基础知识。然后,我们介绍最受欢迎的DeepLearning框架,例如Keras,TensorFlow,PyTorch,DeepLearning4J和Apache SystemML。Keras和TensorFlow构成了本课程的最大部分。我们了解异常检测,通过使用Keras在来自IoT(物联网),财务标记数据,文献或图像数据库的真实示例中建立模型,来进行时间序列预测,图像识别和自然语言处理。最后,我们学习如何使用Kubernetes,Apache Spark和GPU扩展那些人造大脑。
- Coursera实时网络威胁检测和缓解部分涵盖了以下主题:视频连接
- 吴恩达的Coursera课程也部分涵盖异常检测:Anomaly Detection vs. Supervised Learning 异常检测系统的开发与评价
- 斯坦福大学的网络安全数据挖掘也涵盖了部分异常检测技术:视频链接
- Udemy数据挖掘和数据科学中的离群点检测算法: 视频链接
2.4 综述与调查论文分享
论文标题 | 会场 | 年 | 参考 | 材料 |
异常检测方法的调查 | ARTIF INTELL REV | 2004年 | ||
异常检测:调查 | CSUR | 2009年 | ||
异常检测问题的荟萃分析 | 预印本 | 2015年 | ||
关于无监督离群点检测的评估:度量,数据集和实证研究 | DMKD | 2016年 | ||
多元数据无监督异常检测算法的比较评估 | 一号通 | 2016年 | ||
异常检测算法的比较评估:实验和分析 | 模式识别 | 2018年 | ||
离群值检测的研究问题 | 本书章节 | 2019年 | ||
用于入侵检测的无监督异常检测算法的定量比较 | SAC | 2019年 | ||
离群值检测技术的进展:一项调查 | IEEE访问 | 2019年 | ||
深度学习用于异常检测:一项调查 | 预印本 | 2019年 | ||
深度学习中的异常实例检测:一项调查 | 预印本 | 2020年 | ||
深度学习用于异常检测:回顾 | 预印本 | 2020年 |
表格资源链接地址:github
2.5 关键算法分享
Abbreviation | Paper Title | Venue | Year | Ref | Materials |
kNN | Efficient algorithms for mining outliers from large data sets | ACM SIGMOD Record | 2000 | ||
KNN | Fast outlier detection in high dimensional spaces | PKDD | 2002 | ||
LOF | LOF: identifying density-based local outliers | ACM SIGMOD Record | 2000 | ||
IForest | Isolation forest | ICDM | 2008 | ||
OCSVM | Estimating the support of a high-dimensional distribution | Neural Computation | 2001 | ||
AutoEncoder Ensemble | Outlier detection with autoencoder ensembles | SDM | 2017 | ||
COPOD | COPOD: Copula-Based Outlier Detection | ICDM | 2020 |
2.6 图和网络异常值检测
论文标题 | 会场 | 年 | 参考 | 材料 |
基于图的异常检测和描述:调查 | DMKD | 2015年 | ||
动态网络中的异常检测:一项调查 | 电线计算统计 | 2015年 | ||
图形中的异常值检测:对多个图形模型的影响 | ComSIS | 2019年 |
2.7 时间序列离群值检测
论文标题 | 会场 | 年 | 参考 | 材料 |
时间数据的异常值检测:一项调查 | 传统知识 | 2014年 | ||
使用lstms和非参数动态阈值检测航天器异常 | 凯迪 | 2018年 | ||
Microsoft的时间序列异常检测服务 | 凯迪 | 2019年 |
2.8 异常检测中的表征学习
论文标题 | 会场 | 年 | 参考 | 材料 |
基于超高维数据的学习表示法,用于基于随机距离的离群值检测 | SIGKDD | 2018年 | ||
学习表示形式以进行预算异常值检测 | 预印本 | 2015年 | ||
XGBOD:通过无监督的表示学习来改善有监督的异常值检测 | 联合会 | 2018年 |
2.9 可解释性
论文标题 | 会场 | 年 | 参考 | 材料 |
用特征子空间规则解释组中的异常 | DMKD | 2018年 | ||
超越异常值检测:寻找图片说明 | 心电图 | 2018年 | ||
上下文离群值解释 | IJCAI | 2018年 | ||
从分类关系数据中挖掘多维上下文离群值 | 国际开发协会 | 2015年 | ||
识别和解释异常值的区别性特征 | ICDE | 2014年 | ||
异常检测的顺序特征说明 | TKDD | 2019年 |
|
2.10 神经网络的异常值检测(主要方向)
论文标题 | 会场 | 年 | 参考 | 材料 |
使用lstms和非参数动态阈值检测航天器异常 | 凯迪 | 2018年 | ||
MAD-GAN:使用生成对抗网络对时间序列数据进行多元异常检测 | 预印本 | 2019年 | ||
生成对抗性主动学习的无监督异常值检测 | 传统知识 | 2019年 | ||
用于无监督异常检测的深度自动编码高斯混合模型 | ICLR | 2018年 | ||
具有异常值暴露的深度异常检测 | ICLR | 2019年 | ||
LSTM神经网络的无监督异常检测 | IEEE TNNLS | 2019年 | ||
通过区分网络的内部优先级进行有效的端到端无监督异常值检测 | NeurIPS | 2019年 |
从上述表格中,可以看到,2019年后,主要是基于神经网络的异常检测算法。
离群值检测应用
场地 | 论文标题 | 会场 | 年 | 参考 | 材料 |
安全 | 网络入侵异常检测中使用的距离和相似性度量的调查 | IEEE通讯。生存 导师。 | 2015年 | ||
安全 | 基于异常的网络入侵检测:技术,系统和挑战 | 电脑与安全 | 2009年 | ||
金融 | 金融领域异常检测技术概述 | 未来一代计算机系统 | 2016年 | ||
交通 | 城市交通数据中的异常检测 | 世界信息管理系统 | 2018年 | ||
社交媒体 | 社交媒体异常检测调查 | SIGKDD探索 | 2016年 | ||
社交媒体 | GLAD:社交媒体分析中的组异常检测 | TKDD | 2015年 | ||
机器故障 | 使用异常检测方法检测机器故障的开始 | 大华 | 2019年 | ||
视频监控 | AnomalyNet:用于视频监控的异常检测网络 | TIFS | 2019年 |
说明:以上表格链接的资源见 github
3 医学图像异常检测值论文分享
3.1 脑MRI
- [Alex et. al.] [Generative adversarial networks for brain lesion detection] [Medical Imaging 2017: Image Processing] [google scholar] [pdf]
- [Chen et. al.] [Unsupervised Detection of Lesions in Brain MRI using constrained adversarial auto-encoders] [MIDL'18] [google scholar] [pdf]
- [Chen et. al.] [Deep generative models in the real-world: An open challenge from medical imaging] [arxiv, 2018] [google scholar] [pdf]
- [Chen et. al.] [Unsupervised lesion detection via image restoration with a normative prior] [MIA, 2020] [google scholar] [pdf]
- [Baur et. al.] [Deep Autoencoding Models for Unsupervised Anomaly Segmentation in Brain MR Images] [MICCAI'18 workshop] [google scholar] [pdf]
- [Baur et. al.] [Fusing unsupervised and supervised deep learning for white matter lesion segmentation] [MIDL'19] [google scholar] [pdf]
- [Baur et. al.] [Bayesian Skip-Autoencoders for Unsupervised Hyperintense Anomaly Detection in High Resolution Brain Mri] [ISBI'20] [google scholar] [pdf]
- [Baur et. al.] [Autoencoders for Unsupervised Anomaly Segmentation in Brain MR Images: A Comparative Study] [arxiv, 2020] [google scholar] [pdf]
- [Baur et. al.] [Scale-Space Autoencoders for Unsupervised Anomaly Segmentation in Brain MRI] [MICCAI'20] [google scholar] [pdf]
- [Zimmerer et. al.] [Context-encoding Variational Autoencoder for Unsupervised Anomaly Detection] [MIDL'19] [google scholar] [pdf]
- [Zimmerer et. al.] [Unsupervised Anomaly Localization using Variational Auto-Encoders] [MICCAI'19] [google scholar] [pdf]
- [Zimmerer et. al.] [High-and Low-level image component decomposition using VAEs for improved reconstruction and anomaly detection] [arxiv, 2019] [google scholar] [pdf]
- [Han et. al.] [MADGAN: unsupervised Medical Anomaly Detection GAN using multiple adjacent brain MRI slice reconstruction] [arxiv, 2020] [google scholar] [pdf]
- [Zhou et. al.] [Unsupervised anomaly localization using VAE and beta-VAE] [arxiv, 2020] [google scholar] [pdf]
3.2 脑CT
- [Pawlowski et. al.] [Unsupervised lesion detection in brain CT using bayesian convolutional autoencoders] [MIDL'18] [google scholar] [pdf]
3.3 视网膜OCT
- [Schlegl et. al.] [Unsupervised Anomaly Detection with Generative Adversarial Networks to Guide Marker Discovery (AnoGAN)] [IPMI'17] [google scholar] [pdf][unofficial code]
- [Schlegl et. al.] [f-AnoGAN: Fast unsupervised anomaly detection with generative adversarial networks] [MIA, 2019] [google scholar] [pdf][code]
- [Seebock et. al.] [Exploiting Epistemic Uncertainty of Anatomy Segmentation for Anomaly Detection in Retinal OCT] [TMI, 2019] [google scholar] [pdf]
- [Zhang et. al.] [Memory-Augmented Anomaly Generative Adversarial Network for Retinal OCT Images Screening] [ISBI'20] [google scholar] [pdf]
- [Zhou et. al.] [Sparse-GAN: Sparsity-constrained Generative Adversarial Network for Anomaly Detection in Retinal OCT Image] [ISBI'20] [google scholar] [pdf]
- [Zhou et. al.] [Encoding Structure-Texture Relation with P-Net for Anomaly Detection in Retinal Images] [ECCV'20] [pdf][code]
3.4 视网膜底
3.5 胸部X线
- [Tang et. al.] [Abnormal Chest X-ray Identification With Generative Adversarial One-Class Classifier] [ISBI'19] [google scholar] [pdf]
- [Zhang et. al.] [Viral Pneumonia Screening on Chest X-ray Images Using Confidence-Aware Anomaly Detection] [arxiv, 2020] [google scholar] [pdf]
- [Wolleb et. al.] [DeScarGAN: Disease-Specific Anomaly Detection with Weak Supervision] [MICCAI'20] [google scholar] [pdf][code]
该部分资源见 github
4 博主看过的好论文推荐
4.1 基于GAN的异常检测
- GANomaly: Semi-Supervised Anomaly Detection via Adversarial Training
第一篇将GAN用于异常检测的论文,也是深度学习异常检测方向的重要工作。
摘要:异常检测是计算机视觉中的经典问题,即当数据集由于另一类的样本量不足(异常)而严重偏向一个类别(正常)时,从异常中确定正常。虽然这可以解决为监督学习问题,但更具挑战性的问题是检测未知/未见异常情况,这将我们带入了一类半监督学习范例的空间。通过使用条件学习对抗网络,我们将共同学习高维图像空间的生成和潜在空间的推论,从而介绍这种新颖的异常检测模型。在生成器网络中使用编码器-解码器-编码器子网可以使模型将输入图像映射到较低维向量,然后将其用于重建生成的输出图像。使用附加的编码器网络会将生成的图像映射到其潜在表示。在训练过程中最小化这些图像和潜矢量之间的距离有助于学习正常样本的数据分布。结果,在推理时距该学习的数据分布更大的距离度量指示该分布的异常值(异常)。在来自不同领域的几个基准数据集上进行的实验表明,该模型的有效性和优越性超过了以前的最新方法。
总结:该论文主要在MNIST,CIFAR10,UBA,FFOB数据集上进行了实验。比如在MNIST手写数字上,把其中一个数字看成是异常,其余数字看成是正常进行实验。如下图所示,在MNIST,CIFAR10两个数据集上的AUC 结果,并不是每个类别下auc都好,但是毕竟是开篇之作,已经算是取得了很大的进展。在博主看来,要入门异常检测,这是一篇不得不看的文章。
公开数据,公开代码,可复现,关注我gongzhonghang(文末),手把手带你读懂论文,复现论文。
- Skip-GANomaly: Skip Connected and Adversarially Trained Encoder-Decoder Anomaly Detection
从x线安检图像中,检测出违规物品(如枪,刀)
这是上一篇论文的进阶版,也是同一个作者。在上述论文中,编码器解码器都是比较浅的神经网络,因此,重建后的图像就很模糊。在这一篇中,作者的主要工作就是将分割网络Unet作为编码器和解码器,使得重建后的图像接近于输入图像。
总结:可和上一篇论文一同学习。同样公开数据,公开代码,可复现,关注我gongzhonghang(文末),手把手带你读懂论文,复现论文。这篇论文只有复现后,你才知道它其实很不好推广使用,具体哪里不好,卖个关子🤭。
- MADGAN: unsupervised Medical AnomalyDetection GAN using multiple adjacent brain MRI slice reconstruction(2020)
将GAN应用于脑MRI的异常检测(我还没仔细看,不过多介绍~~~)。
摘要:依靠健康受试者的大规模无注释医学图像,无监督学习可以发现各种看不见的异常。 为此,无监督方法重建2D / 3D单一医学图像以检测学习到的特征空间中的异常值或从高重建损失中检测异常值。 但是,如果不考虑多个相邻切片之间的连续性,它们就无法直接区分由细微的解剖异常积累组成的疾病,例如阿尔茨海默氏病(AD)。 此外,没有研究表明无监督的异常检测与疾病阶段,各种(即,两种以上的)疾病或多序列磁共振成像(MRI)扫描如何相关。
4.2 基于内存机制(memory module)的异常检测
- Memorizing Normality to Detect Anomaly: Memory-augmented Deep Autoencoder for Unsupervised Anomaly Detection
第一篇将memory引入异常检测的文章,能够算是一篇挖坑之作。后续也有文章跟进这一方面的研究。
简介:提出了MemAE来显式地抑制Auto-encoder的泛化能力。他们的思路是,既然Auto-encoder泛化能力有时候会过强,那么如果让输入decoder的embedding都由正常样本的embedding组合而成,能够预计decoder输出的重构图像也主要由正常样本的特征组成。这样,通过抑制泛化能力来逼迫重构后的图像贴近于正常样本。说大白话:将正常图像的特征存在内存里,这样,在推理时,输入的图像会在内存里检索与它最相近的特征进行恢复重建。如果输入图像是正常图像,那么重建后的图像就和输入图像相似,误差小。如果输入图像是异常图像,但是内存里没有异常图像对应的特征,只能查询到与它最相近的正常特征,这样重建后的图像就和输入图像误差大。
这里不讲细节,同样公开数据,公开代码,可复现,关注我gongzhonghang(文末),手把手带你读懂论文,复现论文。
- Learning Memory-guided Normality for Anomaly Detection
这是CVPR 2020的一篇文章,可以看作是上一篇文章的升级版。主要是修改了内存机制。
看完这些还不够,以下是异常检测的一些好文推荐
异常检测综述:https://zhuanlan.zhihu.com/p/266513299
异常检测论文概述:https://github.com/yzhao062/anomaly-detection-resources#lazarevic2008data
医学图像异常检测论文概述:https://github.com/ClancyZhou/awesome-anomaly-detection-in-medical-images
这只是领域内的一些好文分享,接下来会分享经典论文的理解和复现。论文看的再多,会动手才是硬道理。关注我,一起学习,一起成长。