论文阅读:Deep Learning for Anomaly Detection: A Review

Deep Learning for Anomaly Detection: A Review

参考:https://zhuanlan.zhihu.com/p/419161328

定义:用于异常检测的深度学习,简称深度异常检测,旨在通过神经网络学习特征表示或异常分数以进行异常检测

本文:首先讨论异常检测的问题性质和主要未解决的挑战,然后系统地回顾当前的深层方法及其应对这些挑战的能力,最后提出一些未来的机会。

重点:当前深度检测方法在解决异常检测中一些基本上未解决的挑战方面的直觉、固有能力和弱点的关键见解。

5个工作:

•问题性质和挑战。我们讨论了异常检测背后的一些独特问题复杂性以及由此产生的大部分未解决的挑战。

•分类和制定。我们将当前的深度异常检测方法制定为三个原则框架:通用特征提取的深度学习、正态性的表示学习和端到端的异常分数学习。提出了一种分层分类法,以根据 11 种不同的建模视角对方法进行分类。

• 综合文献回顾。我们回顾了多个相关社区的主要会议和期刊上的大量相关研究,包括机器学习、数据挖掘、计算机视觉和人工智能,以对研究进展进行全面的文献回顾。为了提供深入的介绍,我们描述了基本假设、目标函数、关键假设及其在所有类别的方法中解决上述一些挑战的能力

• 未来的发展方向。我们进一步讨论了一系列可能的未来机会及其对应对相关挑战的影响。

• 源代码和数据集。我们征集了几乎所有类别的方法的可公开访问的源代码和大量具有真实异常的真实世界数据集,以提供一些经验比较基准。

2 异常检测:问题的复杂性和挑战

本节总结了复杂异常数据中的此类内在复杂性和未解决的检测挑战

2.1 主要问题的复杂性

异常检测针对少数、不可预测/不确定和罕见的事件(数据不平衡)→

• 未知性。异常与许多未知因素相关联,例如,具有未知突然行为、数据结构和分布的实例。在实际发生之前,它们仍然未知。(异常的模式是不固定且可能会随时更新的)

• 异构异常类。异常是不规则的,因此,一类异常可能表现出与另一类完全不同的异常特征。不同异常的模式不同。

• 稀有度和等级不平衡。异常通常是罕见的数据实例,与通常占数据绝大多数的正常实例形成对比。因此,即使不是不可能,也很难收集大量标记的异常实例。(有监督学习很难)

• 不同类型的异常。已经探索了三种完全不同类型的异常。点异常是w.r.t.异常的个别实例。大多数其他个体实例,例如患者的异常健康指标。条件异常,也称为上下文异常,也指单个异常实例,但在特定上下文中,即数据实例在特定上下文中是异常的,否则是正常的。实际应用中的上下文可能有很大不同,例如,特定时间上下文中的突然温度下降/升高,或不寻常空间上下文中的快速信用卡交易。组异常,也称为集体异常,是数据实例的一个子集,总体上是异常的 w.r.t。其他数据实例;集体异常的个别成员可能不是异常,例如社交网络中的虚假账户形成的异常密集的子图作为一个集合是异常的,但这些子图中的各个节点可以像真实账户一样正常。

点异常 Point anomalies 、上下文异常contextual anomalies、集体异常Group anomalies

2.2 深度异常检测解决的主要挑战

1.低召回率:由于异常非常罕见且异质,因此很难识别所有异常。无监督方法假阳性高。

2.高维和/或非独立数据中的异常检测:

异常通常在低维空间中表现出明显的异常特征,而在高维空间中变得隐藏且不明显。

解决方案:在由原始特征的小子集或新构建特征 (用多个原始特征构建成一个新的特征以减少维度)中执行异常检测 。

如何保证新的特征空间为特定检测方法保留正确的信息对于下游准确的异常检测至关重要,

3.正常/异常的数据高效学习:

有监督成本太大,且数据集难以获得。

无监督方法没有任何关于真实异常的先验知识。他们严重依赖于他们对异常分布的假设。

半监督异常检测,假设一组标记的正常训练数据,是专门针对这个问题的研究方向。

弱监督异常检测,假设我们有一些异常类的标签,但类标签是部分/不完整的(即它们不跨越整个异常类集)、不精确的(即粗粒度标签) ,或不准确(即,某些给定的标签可能不正确)

半监督和弱监督的主要挑战是:如何使用少量标记的异常数据学习表达正常/异常表示,以及如何学习推广到给定标记异常数据发现的新异常的检测模型。

4.抗噪异常检测:

许多弱/半监督异常检测方法假设标记的训练数据是干净的,这可能容易受到被错误地标记为相反类别标签的噪声实例的影响。在这种情况下,我们可能会使用无监督的方法,但这无法利用真正的标记数据。

5.复杂异常的检测:

现有的方法大多是针对点异常的,不能用于条件异常和组异常,因为它们表现出与点异常完全不同的模式。

如何将条件/组异常的概念合并到异常测量/模型中

6.异常解释:

安全关键领域中,如果将异常检测模型直接用作黑盒模型,则可能存在一些重大风险。大多数异常检测研究只关注检测精度,而忽略了提供对已识别异常的解释的能力。

如何平衡模型的可解释性和有效性仍然是一个主要挑战。

深度模型的优点:可以实现端到端优化, 专门的异常检测表示学习、关系建模,异质性处理

提高标记的正常数据或少量异常数据的利用率→可以提高召回

尽管深度方法通常是黑盒模型,但它们提供了将异常检测和解释统一到单个框架中的选项,从而对特定模型发现的异常做出更真实的解释(参见第 8.5 节)。

3 通过深度异常检测应对挑战

3.1.描述了深度方法的一般形式:

将原始数据映射成更低维度的特征表示,或映射成用于区分异常的分数(即一维数据)

3.2

深度异常检测的分类

分层分类,三大类十一小类

三个概念范式:用于特征提取的深度学习、学习正态性特征表示和端到端异常分数学习

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6ZcP71DC-1662000700090)(C:\Users\Dell\AppData\Roaming\Typora\typora-user-images\image-20220829212618474.png)]

在第一范式特征提取中:深度学习技术只被用作 特征提取器,深度学习和异常检测完全隔离。

在第二 范式针对性表征学习中,deep learning 和 anomaly detection 是相互依赖的,一起学习正常样本的有效表征。

(3) 在第三范式端到端学习中,deep learning 和 anomaly detection 是完全一体的,通过端到端的学习,直接输出异常分数。

4 特征提取的深度学习

旨在利用深度学习从高维和/或非线性可分离数据中提取低维特征表示,用于下游异常检测

相对于传统的降维方法,如主成分分析,随机投射,深度学习方法能捕获到更丰富的语义和特征之间的非线性联系

依赖的假设:深度学习模型提取的特征表示保留了有助于将异常与正常实例分开的判别信息。

方法1:预训练的深度模型:AlexNet [75]、VGG [143] 和 ResNet [58],来提取低维特征。一般用于视频和图像。

关键思想是迭代训练一个二元分类器,以在滑动窗口中将一组视频帧与其后续视频帧分开,在每个迭代步骤中删除最具辨别力的特征。这类似于取消屏蔽过程。该框架假定第一组视频帧正常,并评估其与后续视频帧的可分离性。

方法2:训练深度模型

在视频检测中,有的工作训练三个分开的自编码器去学习样貌,动作,样貌-动作的低维特征表示,再分别用三个 one-class SVM 去在这个三个特征维度上进行异常评分。有的工作用深度信念网络去学习表格数据的低维度特征表示,并用线性的 one-class SVM 去进行异常检测。有的工作用卷积编码器提取帧 (frame) 的低维度特征后,将它们进行聚类,所得的聚类标签被当为伪标签,然后进行分类,分类的概率就是异常分数。

举的例子是图像/视频异常处理,没太看懂

优点:已有现成的优秀深度模型和异常检测器可用,

深度特征提取比流行的线性方法提供更强大的降维。

深度模型和检测方法的开源较多,很容易实现。

缺点:

(i) 完全脱节的特征提取和异常评分通常会导致次优的异常评分。

预训练的深度模型通常仅限于特定类型的数据。

关键问题:由于特征提取和异常检测完全隔离,可能无法保留足够信息以完成下游工作。

5 学习特征表示正常

在某些方面将特征学习与异常评分结合起来,分为:

通用特征学习和异常度量相关的特征学习。

5.1 通用正态特征学习Generic Normality Feature Learning

这类方法最优化一个特征学习目标函数,该函数不是为异常检测而设计的,但学习到的高级特征能够用于异常检测,因为这些高级特征包含了数据的隐藏规律。这类方法的框架如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jv2n6lzF-1662000700092)(C:\Users\Dell\AppData\Roaming\Typora\typora-user-images\image-20220829234858555.png)]

其中,ϕ 将原始数据映射到新的表征空间 Z。ψ 作用于新表征空间,根据设定的目标,学习到数据的隐藏规律。ℓ 是跟目标有关的损失函数。f 是异常评分函数。

这种方法包括由多种观点驱动的方法,包括**数据重建、生成建模、可预测性建模和自监督分类。**可预测性建模和自监督分类都是建立在自监督学习方法之上的,但它们具有不同的假设、优势和缺陷,因此分别进行了评估。

这类方法可以细分为四个小类。分别是 (1) Autoencoders, (2) Generative Adversarial Networks, (3) Predictability Modeling,(4) Self-supervised classification

5.1.1 Autoencoders

这种方法旨在学习一些低维特征表示空间,在这些空间上可以很好地重构给定的数据实例。

假设:比起异常的数据,正常的数据能够更好地从压缩空间中恢复过来。

Encoder 将原始数据映射到更低维的特征空间 (压缩空间),而 decoder 从压缩空间中将数据恢复到原始空间。学习目标是让所有数据尽可能恢复原形。因为正常数据占了绝大部分的比例,模型会倾向保留最能恢复正常数据的信息,而异常数据占比例很小,模型就会倾向于忽略恢复异常数据所需要的信息。因此,正常数据的恢复误差较小,而异常数据恢复的误差较大。误差本身就可以作为 anomaly score。其框架表示如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H5mCv5rd-1662000700094)(C:\Users\Dell\AppData\Roaming\Typora\typora-user-images\image-20220829235846733.png)]

其中,x是原始数据X中的一个样本,z 是x 映射到低维度空间的表示。 x^是恢复后的样本。 sx是重构样本的误差

  • Autoencoder 的种类

已有的工作使用多种 Autoencoder 来学习更为有效的特征表示。比如,sparse AE(稀疏AE) 通过保持前 K 个最活跃的单元来鼓励稀疏性。Denoising AE(去噪AE) 从预定义的被污染的数据而不是原始数据中来重构数据,从而让模型能抵抗微小的扰动。Contractive AE(收缩AE) 通过在 encoder的激活函数的 中添加惩罚项来加强模型对样本邻居的微小扰动的健壮性。Variational AE (变分)通过往样本在隐空间的先验分布中引入正则项来对样本进行编码,防止过拟合和保证模型能学到有意义的信息。

  • Autoencoder 适用的数据类型

Autoencoder 可以处理的数据类型非常广泛,除了 tabular data 外,还有复杂的数据,如 sequence data, graph data, image/video data。有两类方法处理这些复杂的数据,第一类是 AE 本身能接受这些数据作为输入,如 CNN-AE,LSTM-AE,Conv-LSTM-AE,graph convolutional network-AE。第二类是先用 AE 去学习样本的低维度表示,然后用其他模型去重构数据。

优点:

AE 的概念对于不同类型的数据来说是直截了当和通用的。

可以利用不同类型的强大 AE 变体来执行异常检测。

缺点:

学习的特征表示可能会因训练数据中不常见的规律和异常值或异常的存在而产生偏差。

数据重建的目标函数是为降维或数据压缩而设计的,而不是异常检测。结果,得到的表示是对底层规律的通用总结,没有针对检测不规律进行优化。

挑战:

AE 通常容易受到训练数据中出现的数据噪声的影响,因为它们可以被训练来记住这些噪声,从而导致严重的过拟合和小的异常重建错误。 RPCA 的想法可用于 AE 以训练更稳健的检测模型

5.1.2 GAN

这种方法通常旨在学习生成网络的潜在特征空间,以便潜在空间很好地捕获给定数据的正态性。然后将真实实例和生成实例之间的某种形式的残差定义为异常分数。

假设:正常数据实例比异常更好地生成。

方法1:AnoGAN

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YHm90PHA-1662000700096)(C:\Users\Dell\AppData\Roaming\Typora\typora-user-images\image-20220830125124146.png)]

其中,x 是样本,zγ 是第 γ 步的迭代随机样本,模型将会从一个随机采样的 z 开始,通过最小化 Overall loss 来更新z。

G是生成器,h 是判别器的中间层。Overall loss 旨在让生成器的伪造样本尽可能接近真实样本,让判别器尽可能判断出真实样本和伪造样本。α 是调节两个目标权重的超参数。

当伪造样本越接近真实样本,判别器越不能识别伪造样本和真实样本,那么 Anomaly score 就越小,而这时该样本极有可能是正常样本,因为模型学习到的是正常样本的分布。而当伪造样本跟真实样本有差距,判别器可以识别伪造样本和真实样本,那么 Anomaly score 就越大,这时,该样本极有可能是异常样本。

AnoGAN 的一个主要问题是 z 的迭代搜索中的计算效率低下。解决这个问题的一种方法是添加一个额外的网络,该网络学习从数据实例到潜在空间的映射,即生成器的反向操作。

方法2:EBGAN

有生成器 G,判别器 D,添加一个编码器E,不同于一般的 GANs 用判别器来区分 x 和 G(z),EBGAN 旨在区分 (x,E(x)) 和 (G(z),z)。类似于 AnoGAN,EBGAN 的结构是

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KUqkYs0u-1662000700098)(C:\Users\Dell\AppData\Roaming\Typora\typora-user-images\image-20220830152643702.png)]

比起 AnoGAN,EBGAN 的优点在于不用进行迭代去更新伪造样本 z 的值,这里的伪造样本直接变为 E(x),节省计算资源。

其他:ALAD、GANomaly、Wasserstein GAN, Cycle GAN

优点:

(i) GAN 在生成真实实例方面表现出卓越的能力,能够检测从潜在空间中重建效果不佳的异常实例。

(ii) 大量现有的基于 GAN 的模型和理论可能适用于异常检测。

缺点:

(i) GAN 的训练可能会遇到多个问题,例如无法收敛和模式崩溃,这导致训练基于 GAN 的异常检测模型有很大的困难。

(ii) 如果数据集的分布是复杂的,或者训练数据中夹杂着 outliers,会导致生成模型产生的数据点偏离主流特征,不能很好地复原正常样本。

(iii) 基于 GANs 的异常检测结果可能是次优的,因为模型本身是为合成数据而设计,不是为了异常检测而设计。x

5.1.3 预测性建模

假设:正常样本比异常样本在时间维度上能更好地被预测

1.视频异常检测(Video anomaly detection)为例:

给定视频中的 t 帧 x1,x2,…,xt,模型旨在预测未来 t+1 帧 xt+1 ,让预测值 x^t+1 和真实值 xt+1 尽可能接近。

目标函数:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hrPx7skL-1662000700099)(C:\Users\Dell\AppData\Roaming\Typora\typora-user-images\image-20220830155103501.png)]

其中ℓpred是预测的损失函数,ℓadv是使用对抗训练加强图片生成。

2.自回归模型

假设序列中的每个元素是线性依赖于其前面的元素。自回归模型用来估计训练样本在隐藏空间中的密度,从而避免了对具体分布的假设。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u2qGwF5G-1662000700100)(C:\Users\Dell\AppData\Roaming\Typora\typora-user-images\image-20220830155822113.png)]

假定x及其潜在空间表示为式1,则自回归模型将z服从的分布pz分解为式2

其中,z1:j−1={z1,z2,…,zj−1},p(zj∣z1:j−1) 是概率质量分布,K 是隐藏空间的维度。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JwYk49Gp-1662000700101)(C:\Users\Dell\AppData\Roaming\Typora\typora-user-images\image-20220830160133849.png)]

其中,第一项是重构的误差 MSE;第二项 是由似然所表示的条件先验概率密度下的自回归损失。最小化该损失能够让模型学到共同且可预测的特征。

  • 优点

(i) 大量的序列学习模型能够用来预测异常检测。

(ii) 这种方法能学习到不同类型的时间和空间依赖性。

  • 缺点

(i) 这种方法只能用于检测序列数据。

(ii) 序列预测的计算可能非常耗时。

(iii) 学习到的表示可能是次优的,因为它们不是为了异常检测而设计,而是为了序列预测而设计。

5.1.4 自监督分类器

通过建立自我监督的分类模型来学习正常的表示,并将与分类模型不一致的实例识别为异常。这些浅层方法通过与一组预测模型的一致性来评估数据实例的正态性,每个模型都学习根据其余特征预测一个特征。测试实例的一致性可以通过平均预测结果 、基于日志损失的意外或给定所有特征的分类/回归模型的二元决策的多数投票来衡量。

假设:正常实例比异常实例更符合自监督分类器。

方法1:看不明白

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xYXDQm9X-1662000700102)(C:\Users\Dell\AppData\Roaming\Typora\typora-user-images\image-20220830171622338.png)]

S1 通过转换操作 Tj 对样本 x 进行增强。此处样本是图片,转换操作有多种,如水平翻转、旋转。

S2 通过映射函数 ϕ 将加强后的样本映射到隐藏空间中,得到 zTj。

S3 用多分类器 ψ 对隐藏空间的样本进行分类,得到多类别预测概率。

S4 用标准交叉熵 CE 计算预测类别概率和标签类别 yTj 的差距。yTj 是人工合成的类别标签的独热编码,它通过转换操作 Tj 的加强。

S5 在测试阶段,每个样本先被一种转换操作 Tj 增强,然后通过 ψ(zTj;W) 获取其异常分数。再将不同转换操作下所获得的异常分数进行平均,获得最终的异常分数。

方法2:

Wang et.al 在其工作中提出了跟方法一类似的想法,但其专注于无监督场景。该论文中提出四种转换操作,分别是旋转,翻转,移动,路径重组。该论文的两个关键性 insights 分别是(1)在训练期间,输入正常样本所产生的梯度变化幅度是比输入异常样本要大的。(2)网络的更新方向是偏向于正常样本的。因此,模型会更偏向学习到正常样本的分布规律。该论文还提出用分类分数去定义异常分数的三种策略,分别是平均预测概率,最大预测概率,所有预测概率的负熵

  • 优点

(1)这类方法在无监督和半监督的情况下都能发挥作用。

(2)异常分数受到由梯度的幅度和更新速度影响。

  • 缺点

(1)该方法中的转移操作只限于数据。

(2)模型目标是分类分数,而异常分数是基于分类分数而来,所以模型并没有把异常分数当成优化目标,导致结果可能是次优的

5.2 依赖异常测量的特征学习

旨在学习针对特定现有异常度量专门优化的特征表示。

形式化表示为:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4DXKmgUm-1662000700103)(C:\Users\Dell\AppData\Roaming\Typora\typora-user-images\image-20220830230028309.png)]

其中,ϕ 将原始数据映射到新的表征空间 Z。f 是异常评分函数。ℓ 是损失函数。

该类方法可分为三个子类:(1) distance-based measure,(2) one-class classification measure ,(3) clustering-based measure。

5.2.1 基于距离的测量

旨在学习针对特定类型的基于距离的异常度量进行优化的特征表示。简单易行,已有许多机遇距离的异常度量: DB 异常值 ,最近邻距离,平均最近邻距离 ,相对距离 , 和随机最近邻距离。问题在于传统方法无法在高维数据中应用。由于基于深度距离的异常检测技术在应用距离测量之前将数据投影到低维空间,它可以很好地克服这一限制。

假设:异常分布在远离其最近邻居的地方,而正常实例位于密集的邻域中

方法一

  • 用现成的异常检测模型来产生伪标记的正常样本集 A 和异常样本集 N ,它们共同构成数据集 X,且 X=A∪N 和 ∅=A∩N。
  • 从数据集 X 中随机抽取一个子集 S∈X。
  • 给定一个样本 x,计算出它到集合 S 中所有其他点的距离,并选出最小的距离,记为 f(x,S;Θ)=minx′∈S‖ϕ(x;Θ),ϕ(x′;Θ)‖2。其中,ϕ 是将样本从高维空间映射到低维空间的一个函数。f 是距离函数。
  • 异常样本的邻居最近距离和正常样本的邻居最近距离应该是越大越好,因此损失函数设计为合页损失:
  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V6bHBG6L-1662000700105)(C:\Users\Dell\AppData\Roaming\Typora\typora-user-images\image-20220830231334660.png)]
  • m 用来保证异常样本的邻居最近距离至少比正常样本的最近邻居距离要多出m。
  • 模型训练完后,在评估阶段,将样本的最近邻居距离 f(x,S;Θ) 设置为异常分数。

优点

(1) 基于距离的异常检测思想很直接。已有的工作提供了丰富的理论支持。

(2) 比起传统的方法,能处理高维空间的数据。

(3) 学习目标即异常评分函数。

  • 缺点

(1) 基于距离的异常检测方法都面临着计算量大的问题。

(2) 基于距离的异常检测方法本身存在着一些缺陷,这些缺陷也被带到 Deep Distance-based Measure 中

5.2.2基于One-class分类器 的方法

One-class分类器只判断"是"或者"不是",但并不是二分类器,因为“不是”的不一定属于同一类。

假设:所有正常实例都来自单个(抽象)类,并且可以通过压缩模型进行总结,异常不符合该模型。

方法1:Deep one-class SVM

传统的one-class SVM是在原始的输入控件学习一个超平面,Deep one-class SVM用神经网络将原始的输入空间映射到一个低维度的压缩空间,在压缩空间里学习最优超平面。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jxSJbVgY-1662000700106)(C:\Users\Dell\AppData\Roaming\Typora\typora-user-images\image-20220831165327156.png)]

其中,r 是支持向量到最优超平面的距离。Θ 是神经网络 ϕ 的参数。zi 是样本 xi 在低维空间中的表示。N 是总的样本数。v 是训练数据中异常点比例的上限。w⊤ 是最优超平面的参数。w⊤z 是样本到最优超平面的距离。正常样本中,其他点到最优超平面的距离均大于支持向量到最优超平面的距离 r ,因此对于正常样本来说,r−w⊤zi≤0。

这种方法有两个好处:(1)它可以利用预训练的神经网络根据下游任务对每个样本学习到更有表达性的特征。(2)它能够避免原 SVM 中的核函数计算消耗。

方法2:Deep one-class SVDD

SVDD 旨在寻找最小的超球体,它的球心是 c ,半径是 r,该超球体将所有的训练样本都包含进去。

DeepSVDD逻辑类似于Deep SVM,都是利用神经网络将样本映射到超球体中,以合页损失保证球心和映射样本点之间的距离。

如果我们拥有少量的正常样本和异常样本,我们可以扩展 Deep SVDD 去解决该情景下的问题,核心想法是最小化正常样本到球心的距离,同时最大化异常样本到球心的距离。

优点:

(1) 传统的 one-class anomalies 工作提供了丰富的理论支持。

(2) 表示学习和 one-class models 能一起学习更为优化的特征表示。

(3) 比起传统的方法,该类方法不需要选择核函数。

缺点:

(1) 如果正常样本并不是单一分布,而是分布复杂的话,那么该方法可能无效。

(2) 模型的效果依赖于one class anomaly 的评价指标。

挑战目标:

可以利用少量标记的正常和异常数据来学习更有效的一类描述模型,该模型不仅可以检测已知异常,还可以检测新的异常类别。

5.2.3 基于聚类的度量

旨在学习表示(一个新的特征空间),以便异常明显偏离新学习的表示空间中的集群。聚类的结果和异常度是密不可分的,因此有很多工作研究如何用聚类结果来定义异常,比如簇的大小,样本到簇心的距离,簇心之间的距离,簇的相互关系。

假设:与异常相比,正常实例对簇的依从性更强。

深度聚类旨在学习为特定聚类算法量身定制的特征表示,是这种异常检测方法中最关键的组成部分。由于聚类方法的性能高度依赖于输入数据。学习专门为聚类算法量身定制的特征表示可以很好地保证其在不同数据集上的性能。特征的学习与聚类算法是相互影响的,表现为(1)好的特征表示能获得更好的聚类结果,而好的聚类结果能为特征表示学习提供更好的监督信号;(2)由于聚类算法所依赖的假设可能不同,因此一个具体聚类算法下的优化特征表示不一定适用于另外一个聚类算法。

该方法只适用于半监督学习,即训练数据中只有正常样本。如果训练数据中有异常样本的话,学习过程可能会出现偏差。

  • 优点

(1) 很多列深度聚类的方法都能用于异常检测。

(2) 传统的聚类方法在样本的原始空间去检测异常点,而深度聚类方法在样本的优化特征空间去检测异常点,这对一些复杂的数据集尤其适合。

  • 缺点

(1) 该类模型的表现严重依赖于聚类结果。

(2) 聚类的过程可能由于训练数据中存在异常点而出现偏差,导致样本的新特征空间有效性降低。

6 端到端的异常分数学习

旨在以端到端的方式学习标量异常分数。与依赖异常度量的特征学习相比,这种方法中的异常评分不依赖于现有的异常度量;它有一个直接学习异常分数的神经网络。

形式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JK8jpS3p-1662000700108)(C:\Users\Dell\AppData\Roaming\Typora\typora-user-images\image-20220831202309374.png)]

与第 5.1 节(通用正态特征学习)基于中的那些在获得学习表示后使用某种启发式计算异常分数的方法不同,该类别中的方法同时学习特征表示和异常分数。这极大地优化了异常分数和/或异常排名。从这个角度来看,它们与第 5.2( 依赖异常测量的特征学习) 节中的方法有一些相似之处。然而,依赖异常度量的特征学习方法通常受到合并异常度量的固有缺点的限制,而这里的方法没有这样的弱点;它们还代表了设计模型的两个完全不同的方向:一个侧重于如何综合现有的异常度量和神经网络模型,而另一个侧重于为直接异常分数学习设计新颖的损失函数。

端到端的四种模型:

排序模型、先验驱动模型、softmax 似然模型和端到端的one-class分类模型。

6.1 Ranking Models

假设 :存在一个序数变量(?)能够捕获数据的异常性。

直接学习排序模型,从而可以根据与异常的绝对/相对排序关系相关的可观察序数变量对数据实例进行排序。

无监督场景:

设计基于序数回归的损失函数来训练异常评分神经网络。

用现有的异常检测模型来产生伪标记的伪异常样本集 A ,正常样本集 N。全样本集是 G=A∪N。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JVDdY9IC-1662000700109)(C:\Users\Dell\AppData\Roaming\Typora\typora-user-images\image-20220831204124022.png)]

其中,ℓ(⋅,⋅) 是损失函数,一般是MSE或者MAE。 τ(x;Θ)=η(ϕ(x;Θt);Θs),ϕ 是特征映射网络 (feature network),η 是异常评分网络 (anomaly scoring network)。

弱监督场景:

假设有极少数标记的异常以及大规模的未标记数据可用。为了利用已知异常,异常检测问题被表述为成对关系预测任务。

设计了一个双流序数回归网络来学习随机采样的数据实例对之间的关系,即区分实例对是否包含两个标记的异常、一个标记的异常或仅包含未标记的数据实例。

s1 令 A 为小型标记异常集,U 为大型未标记数据集,X = A ∪ U,

s2 从样本集 X 中随机抽取两个样本 xi 和 xj,组成样本对,所有样本对组成集合

P={{xi,xj,yxixj}∣xi,xj∈X and yxixj∈N}

yxixj 的取值是2,1,0,分别代表着样本对中异常样本的个数。

s3 目标函数:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cRv5w5Hc-1662000700110)(C:\Users\Dell\AppData\Roaming\Typora\typora-user-images\image-20220831204808251.png)]

优化目标时,当样本对包含两个样本点,它的yxixj=2,因此它的异常分数 τ((xi,xj);Θ) 会更大。

s4 在推理阶段,每个测试样本和X 中随机挑选的样本来组成样本对,输入模型,获得异常分数。

  • 优点

(1)模型优化的目标就是异常分数。

(2)对异常进行重新定义,得到可排序的标签。

(3)已有的排序理论可用于该类模型中。

  • 缺点

(1)训练样本中必须要有异常样本。

(2)模型能识别的是已有异常样本的特征,可能无法泛化到未见过的异常样本。

6.2 先验驱动模型

使用先验分布来编码和训练异常分数学习。由于异常分数是以端到端的方式学习的,因此可以将先验施加在分数学习函数τ的内部模块或学习输出(即异常分数)上。

假设:强加的先验捕获了数据集的潜在(异常)正态性。

方法1:基于贝叶斯逆强化学习的方法

(原理能理解但公式看不懂)

给定一个将一组序列数据作为输入的代理,代理的正常行为可以通过其潜在奖励函数来理解,因此如果代理给序列分配低奖励,则测试序列被识别为异常.

  • 优点

(1)给定先验知识,模型优化的目标就是异常分数。

(2)该框架能将不同的先验分布嵌入到模型中。

(3)先验知识比起其他方法能提供更多的可解释性。

  • 缺点

(1)不大可能存在一种对所有异常检测都适用的先验知识。

(2)如果引入的先验知识并不符合数据的真实分布,那么会起到反作用。

6.3 Softmax 似然模型

旨在通过最大化训练数据中事件的可能性来学习异常分数。由于异常和正常实例分别对应于罕见和频繁的模式,因此从概率的角度来看,正常实例被假定为高概率事件,而异常则倾向于低概率事件。因此,事件似然性的负值可以很自然地定义为异常分数。

假设:异常样本是小概率事件,而正常样本是大概率事件。

方法1:

通过直接建模事件似然性来学习异常分数(用样本概率的大小去衡量样本的异常程度)。

S1 将样本映射到低维度特征空间 Z 中,记样本 x 的第 i 个特征的低维度嵌入为 zi。

S2 通过计算样本的各个特征之间的内积(why?)来衡量样本的异常度,即 τ(x;Θ)=∑i,j∈{1,2,…,K}wijzizj,其中 wij 是可训练的参数。

S3 将异常度用 Softmax 函数标准化,用于模拟样本 x 的概率 p(x;Θ)。

S4 学习的目标是将所有样本的概率最大化:

Θ∗=arg⁡maxΘ∑x∈X log⁡p(x;Θ)

方法2:分类数据中的异常检测

方法一中 softmax 的计算可能会很耗资源,因为要把所有样本 x∈X 都计算一遍。在检测分类数据中的异常点情景下,有些文献采取NEC策略去近似估计正样本的概率和负样本的概率,其步骤如下:

S1 给定一个样本 x,从一个合成的噪音分布 Q 中产生 k 个负样本,x1,…,k′。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oidYudud-1662000700111)(C:\Users\Dell\AppData\Roaming\Typora\typora-user-images\image-20220901100121398.png)]

方法3:二分图上的异常检测

在二分图的异常路径检测工作中,样本 x 即图上的一条路径,而路径上的点即样本的各个特征。为了将样本映射到低维度特征空间 Z 中,点的映射采用的是多个全连接层,路径结构的映射采用的是自编码器。有些工作的目标函数参考了方法二中的目标函数。

  • 优点

(1)样本的各个特征之间的相互作用能够被嵌入到异常检测的过程中。

(2)模型优化的目标就是异常分数。

  • 缺点

(1)如果每个样本的特征个数很多,那么要计算特征之间的相互作用或是非常耗资源的。

(2)该方法严重依赖于所产生的负样本的质量。

6.4 端到端的One Class分类模型

该方法不依赖于任何现有的一类分类度量,例如一类 SVM 或 SVDD。这种方法的出现主要是由于 GAN 和一类分类的概念的结合,即对抗性学习的一类分类。关键思想是学习正常实例的一类鉴别器,以便它很好地将这些实例与对抗性生成的伪异常区分开来。

假设: (i) 可以有效地合成近似于异常的数据实例。 (ii) 所有的正常实例都可以用一个有区别的一类模型来概括。

方法1:ALOCC分类

关键思想是训练两个深度网络,一个网络训练为One Class模型,以将正常实例与异常分开,而另一个网络训练以增强正常实例并生成distorted的异常值。

Eg:AE-empower GAN

该模型类似GAN,它的生成网络 G 是去噪的 AE,它旨在加强正常样本,产生 distorted 的异常样本;它的判别器 D 是 one-class 模型,旨在将正常样本和异常样本分开。

S1 在数据集 X 中加入高斯噪音:x^=x+n ,n∼N(0,σ2I)

S2 用自编码器 AE 将带有噪音的数据恢复原样,重构误差为:ℓae=‖x−AE(x^)‖2

这里假设,对于带有噪音的正常样本,AE 能够很好地对它进行重构,甚至是加强。而对于带有噪音的异常样本,AE 会感到困惑从而产生扭曲的异常样本。

S3 模型的目标是

该目标和重构误差一起,成为该方法的优化对象。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RURdlelu-1662000700113)(C:\Users\Dell\AppData\Roaming\Typora\typora-user-images\image-20220901101344188.png)]

这里,通过生成对抗的过程,判别器 D 能够更好地区分正常样本和异常样本。而 D(AE(x^)) 本身可以评价异常度

方法2 :OCAN(One-class adversarial networks)

看不懂

优点
(1)这类异常分类模型是端到端式的对抗式优化。

(2)已有的丰富的对抗学习和 one-class 分类模型有助于这类方法的发展。

缺点
(1)很难去生成近似未知异常样本的参考样本。

(2)GAN 的不稳定性可能导致生成样本的质量各异,从而导致异常识别的不稳定性。

(3)这类方法的应用局限于半监督的异常检测场景。

目标挑战:逆向学习的one class分类器学习生成现实的边缘/边界实例,从而能够学习富有表现力的低维正态性表示

7 代表性算法和数据集的基本情况

8 结论和未来发展方向

回顾了 12 个关于利用深度学习技术进行异常检测的不同建模观点。我们还讨论了这些方法如何解决一些臭名昭著的异常检测挑战,以证明深度异常检测的重要性。

未来发展方向:

8.1探索异常监控信号

丰富的监督信号对深度异常检测是非常重要的。**自监督或无监督的优化目标都不是为异常检测而设计的。**基于异常指标的深度异常检测在优化目标中加入了异常指标。但异常指标是有隐藏假设的,输入数据的性质未必符合这些假设。所以,探索新的异常监督信号非常重要,该信号应该尽可能少地对异常分布作出假设。另一个方向就是利用领域知识作为监督信号的来源。

8.2 基于深度方法的弱监督异常检测

深度弱监督异常检测旨在利用深度神经网络学习具有一些弱监督异常信号的异常通知检测模型,例如部分/不准确/不准确标记的异常数据。这些标记数据提供了关于异常的重要知识,并且可以成为提高检测召回率的主要驱动力。

以下几个有关方向都是值得关注的:

(1) 利用少量的准确的有标记的异常样本来加强模型的检测能力。

(2) 模型能从已知的异常样本泛化到未知的异常样本。这方面已经有一些工作了。我们要进一步理解和探索这种泛化能力的强弱,进一步提高模型的精确度。

(3) 检测出属于同一个类别的异常样本也很重要,模型需要学习已知类别的异常样本的更强特征表示。(故障分类?)

(4) 利用少量标记的样本训练更深层的模型和表达能力更强的模型。

8.3 大规模正态学习

大规模的无监督或自监督表示学习已经在下游学习任务中取得成功,其中可迁移的预训练好的深度异常检测模型可以迁移到半监督学习中进行微调。当然,在预训练阶段和微调阶段都要保证模型的鲁棒性。另外,异常样本和数据集在不同的领域可能大不相同,因此大规模的normality learning 需要基于领域或基于应用

8.4 复杂异常的深度检测

  • 现有工作及局限

现有的深度异常检测方法大都聚焦在 point anomalies 和单模态异常检测。而 conditional/group anomalies 的有关工作相对较少。多模态异常检测的有关工作更少,传统的方法并不能处理多种类型的数据。

  • 研究方向

深度学习具备捕获复杂数据的性质的能力。那它是否能在复杂数据的异常检测中取得成功呢?这是个值得探索的问题,可能需要设计新的网络层和目标函数。另外,深度学习已经在多模态数据下的异常检测中取得成功,这个方向值得继续探索。

8.5 可解释和可操作的深度异常检测

  • 重要性

深度异常检测模型的可解释性和可操作性对于明白模型的决策和结果,降低潜在的对人类用户的偏差和风险,辅助决策都是非常重要的。

  • 现有研究进展及其局限性

已有的工作大都关注于提高深度异常检测的准确率。近年来,也有一些工作通过特征子集搜索来为异常检测提供解释。异常特征搜索方法是独立于检测模型本身的,对任何模型都适用。但这种方法无法提供对模型机制的解释,只能提供较弱的解释性和可操作性。

  • 研究方向

深度学习模型应该具备内在的异常解释能力。因此,深度异常检测模型的可解释性和可操作性都值得去探索。

8.6 新颖的应用程序和设置

  1. 分布外(OOD)检测是一个密切相关的领域,它检测远离训练分布的数据实例。这是使机器学习系统能够在开放世界环境中处理新类实例的一项基本技术。 OOD 检测也是异常检测任务,但在 OOD 检测中,一般假设在训练过程中有细粒度的正常类标签可用,我们需要在进行准确的 OOD 检测的同时保留这些正常类的分类精度。

  2. curiosity learning,旨在通过稀疏奖励学习强化学习中的奖励奖励函数。特别是,强化学习算法通常无法在奖励非常稀少的环境中工作。除了来自环境的原始稀疏奖励之外,好奇学习还通过奖励奖励来增强环境来解决这个问题。这种奖金奖励通常是根据状态的新颖性或稀有性来定义的,即,如果代理发现新奇/罕见的状态,它将获得大笔奖金。新奇/稀有状态是类似于异常的概念。因此,探索如何利用深度异常检测来增强这个具有挑战性的强化学习问题将会很有趣。

  3. 大多数用于异常检测的浅层和深层模型都假设数据实例的异常是独立同分布的(IID),而实际应用中的异常可能会受到一些非 IID 特征的影响,例如不同实例/特征的异常是相互依赖和/或异构的。这需要非独立同分布异常检测,专门用于学习这种非独立同分布异常。这项任务在复杂场景中至关重要,例如,如果不考虑这些非 IID 异常特征,异常只有细微的偏差并且在数据空间中被掩盖。

  4. 其他有趣的应用包括对抗性示例的检测,生物识别系统中的反欺骗 ,以及罕见灾难性事件的早期检测(例如,金融危机 [24] 和其他黑天鹅事件)
    用程序和设置

  5. 分布外(OOD)检测是一个密切相关的领域,它检测远离训练分布的数据实例。这是使机器学习系统能够在开放世界环境中处理新类实例的一项基本技术。 OOD 检测也是异常检测任务,但在 OOD 检测中,一般假设在训练过程中有细粒度的正常类标签可用,我们需要在进行准确的 OOD 检测的同时保留这些正常类的分类精度。

  6. curiosity learning,旨在通过稀疏奖励学习强化学习中的奖励奖励函数。特别是,强化学习算法通常无法在奖励非常稀少的环境中工作。除了来自环境的原始稀疏奖励之外,好奇学习还通过奖励奖励来增强环境来解决这个问题。这种奖金奖励通常是根据状态的新颖性或稀有性来定义的,即,如果代理发现新奇/罕见的状态,它将获得大笔奖金。新奇/稀有状态是类似于异常的概念。因此,探索如何利用深度异常检测来增强这个具有挑战性的强化学习问题将会很有趣。

  7. 大多数用于异常检测的浅层和深层模型都假设数据实例的异常是独立同分布的(IID),而实际应用中的异常可能会受到一些非 IID 特征的影响,例如不同实例/特征的异常是相互依赖和/或异构的。这需要非独立同分布异常检测,专门用于学习这种非独立同分布异常。这项任务在复杂场景中至关重要,例如,如果不考虑这些非 IID 异常特征,异常只有细微的偏差并且在数据空间中被掩盖。

  8. 其他有趣的应用包括对抗性示例的检测,生物识别系统中的反欺骗 ,以及罕见灾难性事件的早期检测(例如,金融危机 [24] 和其他黑天鹅事件)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值