英文题目:Deep Learning for Anomaly Detection: A Review

中文题目:基于深度学习的异常检测综述

论文地址:https://arxiv.org/pdf/2007.02500.pdf

领域:异常检测,深度学习

发表时间:2020.01

作者:Guansong Pang,阿德莱德大学

出处:ACM Comput. Surv.

被引量:697(谷歌学术)

代码和数据:见论文附录 A

阅读时间:2022.11.05

全文翻译:https://blog.csdn.net/pingguolou/article/details/117421638

1 读后感

本篇解读的论文发表于 2020 年,主要介绍基于深度学习的异常检测技术,可作为 2009 年发表的那篇高引的传统异常检测综述的互补。前三章主要是相关问题和挑战(1-3 章)。从第四章开始总结了近年来深度异常检测的具体方法,共 3 大分类(4-6 章),11 个小分类。分别对关键直觉,目标函数,基本假设,优势劣势,及应对挑战方法进行讨论。最后讨论了未来的机会,还提供了大量文献列表和训练数据集,实用性强。本文旨在做一个二十分钟左右的简单的导读。

2 介绍

异常检测被定义为:检测明显偏离大多数数据的数据实例。早期技术涉及:数据挖掘、机器学习、计算机视觉和统计学,近年来深度学习在多维数据、时间数据、空间数据和图数据都表现出巨大提升,深度学习异常检测是使用神经网络学习特征表征和异常得分。

本篇主要贡献如下:

  • 问题和挑战:提出问题的复杂性和挑战。
  • 归类和方法:将目前深度学习异常检测分为 3 大类 11 小类,并逐一介绍。
  • 文献回顾:回顾了大量会议和期刊的文献,通过关键直觉,目标函数,基本假设,优势劣势,挑战几个方面进行分析。
  • 未来的机会:讨论了未来机会和挑战
  • 源码和数据集:收集了大量源代码和数据集。

3 问题复杂性和挑战

3.1 复杂性

异常检测问题的复杂性主要包含以下几方面:

  • 不可知性:异常在发生前常是未知的,且每种异常表现可能不同(异质性)。
  • 稀有性和类别不平衡:异常数据占比小,难以收集,标注;正常与异常分布不均衡。
  • 异常类型多样:点异常,上下文异常(只在特点背景下才是异常),集体数据异常(整体是异常的,但其中点可能正常)。

3.2 主要挑战

下面问题大多未被很好解决,而深度学习方法可能发挥作用。

  • CH1 异常检测召回率(查全率)低:分布不均衡引发召回率低,需要尽量减少误报,同时增加召回率。
  • CH2 高维和非独立数据的异常检测:对于高维空间,常先把特征映射到低维空间,再检测,如何在映射中保留足够信息供下游任务使用;另外还需要处理时间、空间、图等相互依赖的关系。
  • CH3 正常和异常数据的使用效率:异常数据很难标记,更多时间要处理无监督和半监督数据,无监督学习往往需要依赖对数据分布的假设。另外,弱监督是指只有部分不完整的异常标签(不包含所有异常类别),且可能是不精确的。
  • CH4 抗噪声异常检测:需要处理标注错误的实例(即噪声)与异常数据,更好地利用标注数据。
  • CH5 检测复杂的异常:上下文异常和集体异常需要进一步处理;另外,还需要对多个异质数据源的异常,如:多维数据、图像、文本、音频等数据(关联异常)。
  • CH6 异常的解释:在有些领域不能把模型作为黑盒使用,它可能带来对少数群体的偏见(比如种族偏见),需要利用解释算法提供决策的原因,以便纠正偏见。尤其对于复杂的模型。

相对来说深度方法能进行端到端的优化,且能学到专门的表征(隐藏层输出),提升数据利用率,能处理更复杂的数据(如文本,视频,图像等),目前已有成熟的多种框架,相对传统方法更有优势。

4 使用深度学习异常检测

4.1 预备工作

跳过一些神经网络的基本原理介绍。

深度网络可学习更好地表征数据。设为 X 原始空间中的数据集,学习一个映射 X->Z,将其映射到表示空间,在表示空间中更容易区分正常和异常数据。异常检测目标是学习映射函数或者学习异常得分函数(异常得分越高,越可能异常)。

4.2 深度异常检测分类

文章将深度学习异常检测分为 3 大类 11 小类。

三大类分别是:提取特征的学习 (一个子类),标准化的特征表示(两个小类,七个子类),端到端的学习(四个子类)。

5 深度学习的特征提取

该方法从高维提取低维数据表示 z = 𝜙 (x;Θ),再用于下游的异常检测,上下游相互独立。

与传统的 PCA 和随机投影相比,深度学习在提取富含语义的特征和非线性特征关系方面表现出更强的能力。

它基于假设:

深度学习模型提取的表征保留了有助于将区分异常的信息

比如使用 AlexNet, VGG, ResNet 图像处理框架提图片低维特征,然后进一步代入下游任务,比如把视频拆成多帧图像,检测其中的异常帧。它需要特征转换器足够强大,且在不同任务中尽量是通用的。

优点

  • 可使用现成的预训练模型和异常检测方法(SVM)。
  • 网络提供了比线性提取器更强的降维功能。
  • 容易实现。

缺点

  • 完全分离的特征提取和异常评分可能导致次优结果。
  • 预训练的深度学习模型往往只能针对特定类型数据。

挑战

将高维投射到低维空间,使现有的异常检测方法能够在更简单的数据空间中工作,常有助于揭示隐藏的异常现象,并减少假阳性。而在映射过程中可能丢失异常相关的重要信息。另外,利用深度网络可以学习从更丰富的数据中提取特征。

6 学习特征的通用表示

结合特征学习和异常评分,一般分为以下两类:

6.1 通用的标准化特征学习

模型就可以直接给出异常得分,通常是其它算法的附产品,未针对异常检测优化

通过使用通用的目标来学习实例的表征,目标函数往往不是为检测设计,但可用于提升异常检测效果。它可以捕捉数据中的基本规律。

Pasted image 20221105175733.png

其中Θ和 W 是训练得到的模型参数,𝜙是特征空间的映射,𝜓用于处理具体任务,l 是损失函数,s 是异常评分,f 是评分函数。具体又分为以下 4 个子类别:

6.1.1 自编码器 AE

一种广泛使用的数据压缩和降维技术,低维数据表征强制学习数据的规律,以最小化重建误差。异常数据很难从低维表征中重建,因此有很大的重建误差,以此区分正常和异常。

它基于以下假设:

与异常情况相比,正常实例可以更好地从压缩的空间中进行重组。

一个 AE 由一个编码网络和一个解码网络组成,编码器将原始数据映射到低维特征空间,解码器则试图从投影的低维空间恢复数据,这两个网络的参数是用一个重建损失函数来学习的。模型会尽量保留与主导实例(即正常数据)相关的信息,而异常数据由于偏离正常数据,所以损失更大,也可将损失作为异常得分。

Pasted image 20221105185846.png

其中 e 表示编码,d 表示解码,z 是压缩后的数据 x^为重建数据,s 为异常评分。

之后还提出了 AE 的更多改进版本,如 sparse AE, denoising AE, contractive AE 等。AE 除了处理表格数据以外,也被用于序列数据图数据图像视频的异常检测,如 CNN-AE,LSTM-AE,GCN-AE 等,这些方法将编解码输入到处理流程中;也有先处理 AE,再处理其它网络如 RNN 的方法。

优点

  • 方法直接,通用
  • 可使用不同类型 AE 变体

缺点

  • 可能由于训练集中不常见的规律和异常存在偏差。
  • 目标是数据压缩,而非异常检测,没有对异常检测进行优化。

挑战

AE 可以和不同网络结构结合,检测高维数据异常及复杂数据,学到的表征数据可能优于手工提取数据。AE 容易受到训练中数据噪声的影响,导致过拟和及重建错误,RPCA(假设误差是稀疏的 PCA)思想也被用于改进 AE。

6.1.2 生成对抗网络 GAN

基于生成对抗网络的异常检测也被广泛使用,这种方法主要通过生成网络 G 学习潜在的特征空间,从而捕捉数据的规则。真实实例和生成实例的残差被定义为异常得分。

它基于的假设是:

正常数据比异常数据,通过生成网络生成数据的效果更好。

AnoGAN 是早期的方法,首先用常规目标训练 GAN:

Pasted image 20221105215031.png

其中 G 是生成模型,D 是判别模型,V 是博弈的价值函数,其损失函数由两部分组成,一部分是残差损失,用于衡量生成数据的效果:Pasted image 20221105215617.png 另一部分是基于特征匹配的损失:

Pasted image 20221105215552.png

其中𝛾是迭代次数的索引号,h 是隐藏层的输出。z 从一个随机采样开始,随着迭代逐步优化。异常得分被定义为最后一步得出的 z 构造出的数据和 x 的相似性:

Pasted image 20221105220306.png

𝛼为超参数。

AnoGAN 的主要问题是 Z 的迭代搜索效率低,后来又提出了 BEGAN,快速 AnoGAN,ALAD,GANomaly 进一步优化,另外还有 Wasserstein GAN,Cycle GAN 等。

优点

  • GAN 生成能力强,尤其在图像上能检测出从空间重构的异常实例。
  • 大量基于 GAN 的模型可用于特征检测。

缺点

  • 基于 GAN 的模型训练困难较大,可能无法收敛或模型崩溃。
  • 当训练数据包含意外的值或者真实分布很复杂时,模型可能产生异常的实例。
  • 模型目标是数据合成,不是目标检测,结果可能不是最优。

挑战

GAN 通过潜在空间重建高维空间,在潜在空间保留了重要信息,它可能提升精度以超过原始空间。

6.1.3 可预测模型

主要用于时序数据,使用时间窗口,将以前实例作为上下文,通过预测实例来学习特征表示。为了精准预测,需要表征学习窗口内的时间序列和复发性依赖。正常实例服从依赖关系,异常数据违反依赖关系,是不可预测的。预测误差可用于定义异常评分。

基于以下假设:

正常实例在时序上比异常实例更可预测。

该技术常用于视频异常检测,如已知 x1,x2,..xt 帧,任务是预测未来帧 xt+1,使预测的 t+1 帧与实际帧更为相似。损失函数被定义为:

Pasted image 20221105222232.png

其中 x^是预测的帧,x 是实际帧,pred 是 MSE 计算的帧预测损失,adv 是对抗损失,它使用对抗性训练来增强图像生成。

另一种研究方法是自回归模型,模型假设序列中的每个元素都线性地依赖于之前的元素。如给定 x 和它的潜在空间表示 z = 𝜙 (x; Θ),自回归模型因子 p(z) 被定义为:

Pasted image 20221105223156.png

K 是潜在空间的维度。

可能加

优点

  • 一些序列学习技术可用于异常检测
  • 可学习不同类型的时间和空间依赖

缺点

  • 只用于序列数据预测
  • 顺序预测计算量大
  • 其基本目标是序列预测,不是异常检测,异常检测结果可能不是最优。

挑战

该方法用于学习与时间相关的低维表征,一般用于上下文异常检测。

6.1.4 自监督分类器

通过建立自监督分类器来学习表征,它基于传统的交叉特征分析或特征模型,将与分类模型不一致的识别为异常。每个模型根据其他特征来预测一个特征。它评价的是特征内部的一致性。

传统方法多用于表格数据,深度学习模型可用于图像数据,通过增强数据建立预测模型。

它基于以下假设:

正常实例比异常实例对自监督分类器更一致。

开始的方法通过对图片的水平翻转,平移和旋转,在增强数据的基础上训练多分类模型,将同一图片及变换后的图片作为一个类别。在推理时,也用转换组合进行增强,用所有增强后的实例做 softmax 再聚合来定义规范性得分。其损失函数定义为:

Pasted image 20221105224756.png

其中 CE 是交叉熵,其中 z𝑇𝑗 = 𝜙 (𝑇𝑗 (x); Θ),其中 T 是变换,z 是低维空间的表示,𝜓是多分类器,yTj 是转换后合成类的 OneHot 编码。这里使用了特征学习器𝜙和类别学习器𝜓。在这种自监督多分类训练过程中,正常实例引起的梯度变化比离群值大得多,网络更新也偏向正常值,正常值与分类器更为一致。评估异常使用三种策略:平均预测概率,最大预测概率,所有预测概率的负熵(此策略更好)。

优点

  • 在无监督半监督情况下都能很好地工作,评分以内在属性为基础。

缺点

  • 只适用于图像数据。
  • 异常分数是在分类基础上得出的,它可能不是最优的。

挑战

学到的常态性的低维表征有助于比原始的高维空间更好地检测异常情况。由于自监督分类器中呈现的异常和正常实例之间的一些内在差异,这种方法也能够在无监督的环境下工作,对训练数据中的异常污染表现出良好的稳健性。

6.2 依赖异常检测的特征学习

深度学习和机器学习相结合

针对某一种异常优化特征表示,可表示为:

Pasted image 20221105230333.png

与式 2-3 不同,这里的 f 是一种现有的异常评分,专门针对当前目标 f 优化特征表征,一般对异常的量度分为以下三类:

6.2.1 基于距离的度量

针对距离优化特征表示。传统的基于距离异常度量的主要问题是,无法在高维数据中有效工作,而基于深度学习的方法可在度量前将高维转换到低维空间,很好地解决了这一问题。

它基于以下假设:

异常现象分布在离其最近的邻居很远的地方,而正常实例位于密集的邻域。

这种方法首先用于利用随机邻居距离优化从超高维数据中学习低维表示。让伪标签异常的近邻远大于正常的近邻。伪标签是由一些基本距离的异常检测器生成的。

设 S 为 X 中的抽样的数据子集,A 为异常集合,N 为正常集合,计算损失函数如下:

Pasted image 20221105232207.png

m 是预先定义好的常量,使用了铰链损失函数,其目的是让异常邻居的距离至少要比正常距离大 m。距离函数 f 是随机距离,计算方法如下:

Pasted image 20221105232409.png

f 用于表示实例的异常得分,也可以替换成其它距离计算方法。

优点

  • 基于距离的方法在以前的工作中建立了很好的基础。
  • 可解决传统基于距离方法无法解决的高维问题。
  • 可以学习专门为距离优化的表征。

缺点

  • 基于距离的方法计算量较大
  • 被基于距离方法的弱点限制

挑战

可对针对距离优化表征,解决了高维问题,可利用少数标记的异常实例学习常态表征。

6.2.2 基于分类的度量

学习为后续基于单类分类的异常检测定制的特征表示。单分类是检测测试实例是否符合训练数据。大多数单分类模型受支持向量机启发,此处的方法一般是将 SVM 和深度网络相结合。

它基于以下假设:

所有的正常实例都来自于一个类,并可用紧凑的模型来概括,异常情况并不符合这个模型。

具体思想是先用神经网络降维,然后从低维数据中用 SVM 学习一个超平面实现分类。其通用表述是:

Pasted image 20221106093234.png

其中 r 是边界参数,Θ是从高维向低维映射的网络参数,z 是转换后的低维向量,𝑣是一个超参数,它是训练集中异常分数的上限,任何𝑟 − w⊺z𝑖 > 0 的实例都可能报告为异常点。该方法有两个好处,可以用深度学习网络学习更有表现力的特征用于下游任务;另外有助于消除核函数中计算量大的配对距离计算。

另一条研究线路是研究 SVDD(建立一个最小的超球体,以尽可能地包含所有正常数据)的深度模型,其核心加数是中心 c 和半径 r,深度 SVDD 旨在利用神经网络将数据实例映射到最小体积的球体中,然后采用铰链损失函数来保证球体中心和投影实例之间的余量,目标可通过最小化以列损失函数共同训练:

Pasted image 20221106094645.png

一些改进方法,可将 SVDD 应用于半监督学习,其关键思想是最小化正常实例到中心的距离,同时最大化异常实体到中心的距离。

优点

  • 基于单分类的方法已得到很好研究。
  • 表征学习和单分类相结合,可有目的的学到更好的表征。
  • 免于手工选择核函数。

缺点

  • 单模模型在正常类复杂分布的数据集上可能不起作用。
  • 检测性能取决于单分类的异常量度。

挑战

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

6.2.3 基于聚类的度量

这个挺好的

深度异常检测旨在学习表征,使异常数据偏离正常数据表征空间中的聚类。大量研究致力于使用聚类定义异常,如判断聚类的大小,与质心的距离,质心间的距离,以及成员间的距离,基于高斯混合模型的异常检测也被纳入该类别。

它基于以下假设:

正常实例比异常实例对聚类有更强的依附性。

深度聚类专门为聚类算法定制特征,基于以下关键直觉:

  • 好的表征能学到更好聚类,好的聚类能为表征学习提供有效的监督信号
  • 聚类算法基础假设不同,为一种聚类算法优化的表征不一定可用于其它算法

深度聚类方法通常包括两个模块:在前向过程中进行聚类,在后向过程中使用聚类分配作为伪类标签学习表征。其损失函数一般是:

Pasted image 20221106102437.png

lclu 是聚类的损失函数,y 是伪标签,𝜙是特征映射,f 是聚类分配函数,aux 用于对表征施加额外的约束,比如基于自编码器的重建损失,以学习到稳健和保留局部结构的表征。

由于聚类可能被损失污染,上述方法可应用于半监督环境,在无监督环境中使用时还需要加一些额外约束条件。算法的目标是聚类,在过程中可以产生基于聚类的表征,后续还有一些改进,以加强对异常的识别。

优点

  • 可利用现有的聚类的方法和理论
  • 针对聚类的目标专门优化表征
  • 深度学习方法在处理复杂数据时,更容易发现异常。

缺点

  • 异常检测的效果取决于聚类结果
  • 聚类可能被噪声带偏,反过来导致不太有效的表征。

挑战

一些聚类算法对异常值很敏感,当训练数据被异常值污染时,深度聚类和随后的异常检测在很大程度上会被误导。使用来自自动编码器重建错误的手工特征的深度聚类可能有助于学习稳健模型。

7 端到端学习

以端到端方式学习标量异常评分,不依赖现有的异常度量(以免受该方法的缺陷影响),底层框架可表示为:

Pasted image 20221106104331.png

它同时学习异常表征和异常得分或排名。和 5.2 中方法的差异是,5.2 偏重结合现有的度量和深度学习方法,而端到端的学习通过重新设计损失函数直接学习。分为下列四个主要方法:

7.1.1 排序模型

这组方法直接学习异常排名,神经网络由序数变量驱动。

它基于以下假设:

存在一个可观察的序数变量来捕捉某些数据的异常性。

在无监督环境中,一个研究思路是设计基于序数回归的损失函数来驱动异常评分神经网络。设 y 为标签,y = {𝑐1, 𝑐2 } 且 𝑐1 > 𝑐2,其目标函数设置为:

Pasted image 20221106110623.png

此外 l 是 MSE 或 MAE 的损失函数,当 x 为异常时 y 是 c1,当 x 是正常实例时 y 是 c2,此处的 y 是标量,因此是一个标量序数回归问题。

在端到端的网络中,是否正常 (A/N,由一些现有的方法初始化,不断迭代更新) 也作为网络的输入,学习优化异常分数,让异常的数据去拟合更大的值,比如使用 ResNet-50 抽取图像特征,然后在其后加入两个全连接层来构建异常评分。

在弱监督环境中,假设有很少的有标签的异常,和大规模无监督数据,异常检测被设置成成对关系预测任务,以区分数据为以下哪种情况:两个异常,一个异常,没有异常。设 A 为标记异常集,U 为无标签集,全部数据 X 由 A 和 U 组成。P 为数据抽样实例对,y 是序列变量,预定义有:𝑦x𝑎𝑖 x𝑎 𝑗 > 𝑦x𝑎𝑖 x𝑢𝑖 > 𝑦x𝑢𝑖 x𝑢 𝑗,方法定义如下:

Pasted image 20221106133143.png

其中𝜏是预测标签的方法,模型被优化为:两个异常点分数大于一个异常点,大于无异常点。在推理阶段,每个实例与 A 和 U 分别配对,以获得异常得分。

另一种弱监督学习方法,用于视频监督,已知某个视频包含异常帧,但不知哪一帧异常,引入了基于多实例学习的排名模型,目标是保证异常视频(正袋)分数大于正常视频(负袋)分数。使用铰链损失:

Pasted image 20221106133946.png

其中 x 是抽样的视频片断,Bp 是正袋,Bn 是负袋,损失函数第一项保证异常得分大于正常得分,后两个是额外的优化约束,第二个保证得分平衡性,最后一个保证异常稀疏性(异常帧不会太多)。

优点

  • 异常得分可直接用损失函数优化
  • 通过对正常/异常的相对关系替代对异常的定义
  • 建立在成熟的排名技术和理论上

缺点

  • 无监督方法效果明显比半监督差。
  • 可能不适用于未被标记的异常情况。

挑战

  • 使用弱监督可能学习到更具表现力的低维表征,上述两种半监督方法提供了利用粗粒度的标签的方法,端到端的模型可定义造成异常大的特征,提供了直接的异常解释,另外,在有噪声的条件下也能很好工作。

7.1.2 先验驱动模型

基于概率的方法。

利用先验分布对异常分数学习进行编码和驱动。可以对异常分数的内部模块或学习输出施加先验。

基于的假设

强加的先验捕捉了数据集的基本(非)正态性。

它的关键的直觉是,将一组序列数据作为输入的代理,代理的正常行为可以通过其潜在的奖励函数来理解,如果代理给一个测试序列分配了低奖励,那么该测试序列就会被识别为异常情况。可表述为如下的后验优化问题:

Pasted image 20221106145430.png

其中𝑝 (Θ) 是基于Θ的先验分布,S 是一系列的观测序列,𝑝 (s|Θ) 是潜在回报函数,回报的倒数可作为异常评分,最大化上述公式就等于直接学习了异常评分。

经验表明,各种真实数据集中的异常分数都非常符合高斯分布,即假设正常实例的异常分数聚在一起,而异常实例的异常分数远离该聚类。研究使用高斯先验对异常分数进行编码,并使分数能够直接优化。

损失函数定义如下:

Pasted image 20221106150241.png

若夫中𝜇𝑏和𝜎𝑏分别是均值和方差,正常时 y=0,异常时 y=1,m 是置信区间参数。该方法具有很好的可解释性。

优点

  • 异常得分可以在给定的先验中直接优化
  • 可纳入不同的先验,使用不同的贝叶斯深度学习技术
  • 和其它方法相比,能学到更可解析的异常分数

缺点

  • 为场景设置合理的先验比较困难
  • 如果先验不能拟合分布,则模型效果会降低。

挑战

检测模型是由异常评分函数的先验分布驱动的,在训练数据中存在异常污染的数据中工作良好。

7.1.3 Softmax 似然模型

通过最大化训练数据中事件的可能性来学习异常分数。由于正常实例更为常见,因此被认为是高概率事件,异常为低概率事件,从而定义异常得分。

它基于以下假设:

异常和正常实例分别是低概率事件和高概率事件。

使用直接对事件似然建模来学习异常分数的思想。问题被定义为:

Pasted image 20221106142734.png

学习参数Θ,p 是 x 发生的概率,使用最大似然函数计算。

Pasted image 20221106143021.png

其中𝜏是异常评分函数,它通过特征间的关系计算:

Pasted image 20221106143352.png

其中 z 是 x 的低维表征,i,j 是特征编号,w 是交叉参数,通过训练获得。计算 p 时分母是正则化项,计算量大,因此,也有使用 NCE 方法对其进行优化的。

优点

  • 不同特征交互作用可被纳入异常得分的学习过程中。
  • 异常得分忠实于特定异常交互的优化(好像异常共性)。

缺点

  • 特征多时计算量大
  • 异常得分依赖于负样本的生成质量

挑战

这是一种基于特征交互作用的方法,为异质数据源泉的数据集的低维表征提供了方法,能人不同数据源捕捉到更到正态/非正态信息,比传统方法更好地检测异常。

7.1.4 端到端的单分类器

基于 GAN 的方法。

训练单分类器以端到端方式学习实例是否正常,与 5.2.2 的区别在于它不依赖 SVM 等已有分类器。这种方法是 GAN 和单分类的结合,其核心是生成判别器,区分正常实例和生成的伪异常实例。

它基于以下假设:

*(i) 近似于异常的数据实例可以被有效地合成。

  1. 所有的正常实例都可以由一个判别性的单模型来总结。*

最初提出的方法 ALOCC 训练两个深度学习网络,一个用于判别正常/异常实例,另一个被训练成扭曲正常值以生成异常实例(基于去噪 AE)。方法定义为:

Pasted image 20221106140703.png

Px^是被高斯噪声破坏的 X 的数据分布,它与 AE 的参数同时优化。除了用 AE 造数据,有的方法还从异常类中抽取数据,另外还有一些生成破坏实例的其它方法,比如生成与正常实例互补的实例,生成边界实例等。

优点

  • 以端到端方式进行对抗优化
  • 以对抗学习和单类技术作为理论基础

缺点

  • 很难保证生成的参考实例与未知的异常情况非常相似。
  • GANs 的不稳定性可能导致生成的实例具有不同的质量,从而导致异常分类性能不稳定。
  • 仅限于半监督的异常检测场景。

挑战

单分类器学习生成现实的边缘/边界实例,使学习富有表现力的低维规范性表征成为可能。

8 算法和数据集

7.1 代表性算法

表 -2 列出了代表性的算法

Pasted image 20221106150928.png

对其总结如下:

  • 大多数方法在无监督或半监督模式下运行
  • 深度学习技巧,如数据增强、dropout 和预训练等尚未得到充分研究
  • 所使用的网络架构并不深,大多数方法的网络层数不超过 5 层
  • (leaky) ReLU 是最常用的激活函数
  • 不同的骨干网可以用来处理不同类型的输入数据。

多数算法的源代码都是公开的,附录 A1 还列出的源码地址。

8.1 真实异常的数据集

表 -3 列出了可用数据集,可从 https://git.io/JTs93 获取

Pasted image 20221106151329.png

9 总结和未来的机会

9.1 探索异常监控信号

探索异常信号是深度异常检测的关键,以获取异常评分,及正常/异常。很多方法用以对探测无监督或自监督的数据。5.1 中的方法并未针对异常检测优化;5.2 中方法虽然包含优化,但对数据分布进行了假设;另外,还有使用领域知识,实现知识驱动的异常检测的方法。

9.2 深度弱监督异常检测

弱监督数据一般指不完全,不精确,不准确(如粗粒度)标记的异常数据,它们往往在现实中是可得的,并可以提升模型效果。但由于异常可能是高度异质性的,可能存在未知,新异常:超出了给定异常示例,最近研究发现,深度学习往往能学到超出给定异常示例范围的异常。

当然,检测已知异常也非常重要,异常可能来自不同的异常类,因此表现出完全不同的特征。重要的是探索利用少量标记数据来学习更强大的具有更深体系结构的检测模型的可能性。

9.3 大规模的正常学习

大规模无监督,自监督表示学习在实现下游学习任务方面取得了巨大成功。在很难获得足够的标记数据的情况下使用。首先在无监督/自监督模式下从大规模无标记数据中学习可转移的预训练表示模型,然后在半监督模式下微调检测模型。

另外,数据可能包含噪声,因此,鲁棒性在预训练建模和微调阶段都很重要。此外,不同领域的异常和数据集差异很大,因此大规模的常态性学习可能在特定领域进行。

9.4 复杂异常的深度检测

目前大多数深度异常检测方法都集中在点异常上,表现出比传统方法更好的性能。然而,对条件异常,集体异常的深度模型研究较少,而处理复杂依赖数据是深度模型的优势,也是未来重要的机会。

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

目前异常检测主要着重优化精度,对可解释性关注较少,导致解释性和可行动性较弱。可利用深度异常检测模型探索深度模型解释和可操作知识发现的方法。

9.6 新颖的应用程序和设置

已经有一些令人兴奋的新兴研究应用和问题设置,其中可能有一些扩展深度检测方法的重要机会。以及一些强相关的领域:比如 OOD 检测(分布外检测),好奇心学习,异常可能存在的依赖特征,检测对抗实例。