本篇论文是在上一篇(十八)Deep One-Class Classification论文的基础上进行改进的
论文信息
- 2020
- ICLR
- 作者单位:德国柏林工业大学 & 新加坡科技设计大学
- 数据集(3个):MNIST+Fashion-MNIST+CIFAR-10
- 半监督的异常检测问题
论文下载链接:
https://arxiv.org/pdf/1906.02694.pdf
论文代码下载:
https://github.com/lukasruff/Deep-SAD-PyTorch
理解论文需要储备的基本知识:
1、信息熵及其相关概念
2、信息熵是什么?
3、信息熵到底是什么?
一、论文动机
1、对于无监督深度学习,由于缺少标签Y,缺乏明确的任务,因此制定了其他信息理论的学习原则。其中,Infomax原理是最普遍和应用最广泛的原则之一,Infomax的目标是最大化数据X与其潜表示Z之间的相互信息I(X;Z),并最小化深度神经网络编码器的输入和输出之间的相互信息来学习良好的表示。
(互信息·代表一个随机变量包含另一个随机变量信息量的度量,这个概念在通信中用处很大。)
2、Infomax原则也被应用异常检测当中,最著名的是自动编码器(AE),AD的这些限制共享了一个理念,即正常数据的潜在表示应该在某种意义上“紧凑”,从而根据这一思想提出了Deep SAD的方法
二、论文创新
1、提出了Deep SAD,一种用于半监督异常检测的端到端深度方法。
2、该方法的思想是:基于正态数据潜在分布熵小于异常分布熵,进一步提出了一种用于深度异常检测的信息理论框架,为我们的方法提供了理论解释。
3、根据Deep SVDD与熵最小化之间关系的认识,我们可以将深度SAD目标解释为建模正态数据的潜在分布。
三、论文方法
是在上文中Deep SVDD上进行上进行拓展延伸的
1、非监督深度SVDD和熵最小化
(1)由上篇文章可知,深度SVDD的目标是训练神经网络的训练,让它学习一种转换,使以预定点c为中心的输出空间Z中的封闭数据超球的体积最小化,目标函数如下:
(2)Deep SVDD不仅可以在几何上解释为最小体积估计,也可以在概率上解释为潜在分布上的熵最小化。
2、Deep SAD
(1)这是一种半监督的异常检测方法,有n个未标记样本及m个标记样本,y^ = -1代表已知异常,y^=1代表已知正常;
(2)其目标函数如下(该式的理解是全文的核心):
与上篇文章一样,同样通过SGD优化该目标函数
(这个式子是在上文的Deep SVDD延伸的,Deep SVDD使用的是无监督的方法,有n个未标记数据,在本文中除了n个未标记数据还有m个标记数据,该式中,如将m=0代入,则和Deep SVDD的式子是一样的)
(其中,第一项和第三项和上文一样,第二项是针对标记的m个标记数据引入了一个损失项)
- 第一项:使用二次损失来惩罚每个网络表示到超球中心的距离。
- 第三项:网络权重衰减正则项,λ是超参。
- 第二项:针对标记的m个数据引入了一个损失项,使用超参数 η控制带标签项和未带标签项之间的平衡。 η>1,更注重标记数据; η<1,更注重未标记数据。
- 第二项更重要的理解
对于标记的正常的数据,即y^=+1,对映射点到中心c的距离施加二次损失,从而更加全面学习集中正常数据的潜在分布;对于标记的异常数据,即y ^= -1,对距离的倒数进行了惩罚,这样异常就必须被映射到离中心更远的地方。因此,这与异常不集中的普遍假设是一致的
(3)异常分数——映射点到中心c的距离
定义与上文相同
3、关于Deep SAD该方法的理解
(1)正常数据的潜在分布:Z+= Z|{Y =+1},有低熵;
异常数据的潜在分布:Z-= Z|{Y =−1},有高熵
(2)Deep SAD目标可以理解为建模正常数据的潜在分布。
- 对于标记正常(y^=+1)的点,最小化其到中心c的距离
- 对于标记异常(y^= -1)的点,通过反平方范数损失对标记异常的映射点进行低方差惩罚,从而推导出异常数据的高熵潜分布
- 也就是说,网络必须尝试将已知的异常现象映射到某些重尾分布
三、论文实验
实验研究三种情况,改变以下三个实验参数
1、带标记的训练数据比例
- 这里增加了训练集中标记异常的比例
2、含有异常的未标价数据的污染率- 研究了不同方法的鲁棒性,以增加污染比
3、标记的训练数据中包含的异常类的个数- 比较了不同数量的已知异常类的检测性能
4、超参数的敏感性- 显示的结果表明,Deep SAD对于超参数的改变是相当稳健的。
- 显示的结果表明,Deep SAD对于超参数的改变是相当稳健的。
- 比较了不同数量的已知异常类的检测性能
- 研究了不同方法的鲁棒性,以增加污染比