论文翻译:Deep Learning for Anomaly Detection: A Review,异常检测的深度学习:回顾

       异常检测,又称离群点检测,几十年来一直是各个研究领域中一个持续而活跃的研究领域。仍然有一些独特的问题、复杂性和挑战需要先进的方法。近年来,深度学习使得异常检测成为可能。深部异常探测,已成为一个关键方向。本文综述了深度异常检测方法的研究进展,并对检测方法进行了综合分类,包括三个高级分类和三个高级分类11种方法的细粒度分类。我们回顾了他们的主要直觉、目标功能、基本假设、优势和劣势,并讨论了他们如何应对上述挑战。我们进一步讨论了一系列未来可能的机遇和应对挑战的新观点。

         异常检测,又称离群点检测,是指检测与大多数数据实例显著偏离的数据实例的过程。几十年来,异常检测一直是一个活跃的研究领域,早期的探测可以追溯到60年代[53]。由于在风险管理、合规、安全、金融监控、健康和医疗风险以及人工智能安全等领域的需求和广泛应用,异常检测发挥着越来越重要的作用,在包括数据挖掘、机器在内的各个领域都得到了强调学习复杂数据(如高维数据、时间数据、空间数据和图形数据)的表达表示的能力,推动不同学习任务的边界。深度学习异常检测,简称深度异常检测,目的是通过神经网络学习特征表示或异常分数,进行异常检测。近年来,大量的深部异常检测方法被引入,在解决具有挑战性的检测问题上,表现出明显优于常规异常检测的性能各种实际应用中的构造问题。这项工作的目的是提供一个全面的审查这一领域。我们首先讨论了异常检测的问题本质和主要挑战,然后系统地回顾了当前深层异常检测方法及其应对这些挑战的能力,最后提出了该领域未来的一些机遇。

          作为一个热门领域,许多研究[2,4,16,28,54,63,178]致力于异常检测技术的分类和综述。然而,它们都只关注传统的异常检测方法。与我们密切相关的一项工作是[26]。它介绍了深度异常检测的一些实际应用的一个很好的总结,但只提供了一些非常高级的技术选择类别的概述,从中它是高度很难,如果不是不可能,获得当前方法所采取的方法的意义和方法背后的直觉。相比之下,为了回答为什么我们需要深度异常检测,本文描述了当前深度检测方法的形成过程,以获得对其潜在直觉、内在能力和弱点的关键见解,以解决异常检测中一些很大程度上尚未解决的挑战。这形成了对问题本质和现状的深刻理解,并带来了真正的开放机会。

综上所述,本工作有以下五个主要贡献:
•问题的本质和挑战。我们将讨论一些独特的异常检测问题的复杂性以及由此产生的未解决的挑战。
•分类和表述。我们将目前的深度异常检测方法构建为三个原则框架:用于通用特征提取的深度学习、正规性的学习表示和端到端异常分数学习。基于11种不同的建模视角,提出了一种层次分类方法。

综合文献综述。我们回顾了多个相关领域的主要会议和期刊上的大量相关研究,包括机器学习、数据挖掘、计算机视觉和人工智能,并对研究进展进行了全面的文献综述。为了提供一个深入的介绍,我们描述了基本假设,目标函数,关键直觉和它们在解决上述挑战的所有类别的方法。
•未来的机会。我们进一步讨论一系列未来可能的操作

异常检测:问题的复杂性和挑战
由于异常检测的独特性,与大多数分析和学习问题和任务相比,异常检测呈现出不同的问题复杂性。本节总结了复杂异常数据中固有的复杂性和未解决的检测挑战。

主要问题的复杂性
不像常规或明显模式下的问题和任务,异常检测针对的是少数、不可预测/不确定和罕见的事件,这导致了下面一些独特的复杂性,使得一般的深度学习技术无效。

异常与许多未知因素有关,例如,具有未知的突然行为、数据结构和分布的实例。它们直到真正发生时才为人所知,比如新的恐怖袭击、诈骗和网络入侵。

异构的异常类。异常是不规则的,因此一类异常可能表现出与另一类异常完全不同的异常特征。例如,在视频监控中,抢劫、交通事故和盗窃等异常事件在视觉上有很大差异

稀有和阶级不平衡。异常通常是罕见的数据实例,而正常实例通常占数据的绝大部分。因此,收集大量标了标签的异常实例是困难的,甚至是不可能的。
这导致在大多数应用程序中无法获得大规模的标记数据。类别不平衡的另一个原因是,异常的错误分类通常比正常实例的代价高得多

异常类型多样。已经发现了三种完全不同类型的异常[28]。点异常是指异常w.r.t的个例,大多数其他个例,如病人的异常健康指标。条件异常,又称情境异常,也指在特定情境下的个体异常情况,即情境异常。时,数据实例在特定上下文中是异常的,否则是正常的。在实际应用中,上下文可能会有很大的不同,例如,在特定的时间范围内,温度突然下降/上升。组异常,又称集合异常,是整个数据实例异常的子集。集体异常中的个体成员可能不是异常,例如,社交网络中虚假账号形成的异常密集的子图作为一个集合是异常,但子图中的个体节点可能与真实账号一样正常。

扫描二维码关注公众号,回复: 11507906 查看本文章

主要检测的挑战
上述复杂的问题性质给传统的异常检测方法和广泛使用的一般深度学习方法带来了许多检测挑战。一些挑战,例如可伸缩性w.r.t.数据大小,在最近几年已经得到了很好的解决,而下面的问题在很大程度上还没有解决,深度异常检测可以在其中发挥一些重要的作用。

异常检测召回率低。由于异常异常非常罕见且不均匀,很难确定所有的异常。许多正常的实例被错误地报告为异常,而真实而复杂的异常却被忽略了。尽管多年来已经引入了过多的异常检测方法,但目前最先进的方法,特别是无监督方法(例如[17,85]),仍然经常导致真实数据集的高误报率[20,116]。如何减少误报和提高检测召回率是最重要但又有区别的问题之一。

CH2:高维和/或非独立数据的异常检测。异常通常在低维空间中表现出明显的异常特征,而在高维空间中却隐藏不明显。高维异常检测是一个长期存在的问题[178]。在由原始特征或新构造特征的小子集张成的低维空间中进行异常检测是一种简单的解决方案,例如基于子空间的方法[71,78,86,124]和基于特征选择的方法[12,111,113,113]。然而,确定足高维数据仍然是异常检测的主要挑战。另外,如何保证新的特征空间为特定的检测方法保留适当的信息,对下游异常的准确检测至关重要,但由于上述异常的不确定性和异质性,这是一个挑战。此外,从相互依赖的实例(如时间、空间、基于图形和其他相互依赖关系的实例)中检测异常也是一项挑战。

数据高效的正常/异常学习。由于收集大规模标记异常数据的难度和成本,完全监督异常检测往往不切实际,因为它假定标记训练数据中既有正常类,也有异常类。在过去的十年里,主要的研究努力集中在不需要任何标记训练数据的无监督异常检测上。然而,无监督方法没有任何关于真实异常的先验知识。他们在很大程度上依赖于异常分布的假设,但未能奏效另一方面,通常也不难收集到有标记的正常数据和一些有标记的异常数据。在实践中,经常建议尽可能利用这些容易访问的标记数据[2]。因此,利用这些标记的数据来学习正态/异常的表达表示对于准确的异常检测是至关重要的。半监督异常检测,假设存在一组标记的训练数据a1,是致力于这一问题的研究方向。另一个研究方向是弱监督异常检测假设我们有一些异常类的标签,但类标签是部分/不完整的
(即。,它们不跨越异常类的整个集合),不精确(即不精确)。,粗粒度的标签),或不准确的(例如。,有些标签可能是不正确的)。两个主要的挑战是如何学习表达正态/异常表示与少量的标记异常数据,以及如何学习检测模型,可以推广到由给定的标记异常数据发现的新异常。

CH4:抗噪异常检测。许多弱/半监督异常检测方法假设给定的带标记的训练数据是干净的,因此容易受到误标记为相反类标签的有噪声实例的攻击。在这种情况下,我们可以使用无监督的方法代替,但这不能利用真正的标签数据。
此外,经常存在大规模异常污染的未标记数据。噪声模型可以进一步利用这些未标记的数据进行更精确的检测。主要的挑战是噪音的数量可以不同。

探测复杂异常。现有的方法大多是针对点异常的,但条件异常和群异常表现出与点异常完全不同的行为,不能用于点异常。这里的一个主要挑战是将条件/组异常的概念纳入异常度量/模型中。此外,目前的方法主要侧重于从单一数据源检测异常,而许多应用需要检测多个异构数据源的异常,如多维数据、图形、图像、文本和音频数据。一个主要的挑战。

异常的解释。在许多关键领域,如果将异常检测模型直接用作黑盒模型,可能会产生一些重大风险。例如,被报告为异常的罕见数据实例可能导致算法对数据中呈现的少数群体的偏差,例如在欺诈检测和犯罪检测系统中代表性不足的群体。减轻这类风险的一种有效方法是使用异常解释算法,该算法可以提供有关为什么某个特定数据实例被识别为异常的直接线索。然而,现有的异常检测研究大多只关注于设计准确的检测模型,而忽略了对已识别异常进行解释的能力。从具体的检测方法中获得异常解释仍然是一个很大程度上尚未解决的问题,特别是对于复杂模型。开发具有内在可解释性的异常检测模型也是至关重要的,但是如何平衡模型的可解释性和有效性仍然是一个主要的挑战。

解决深度异常检测的挑战
3.1预赛
深度神经网络利用可由计算图表示的线性/非线性函数的复杂组成来学习表达表意[50]。深度学习的两个基本构建模块是激活函数和层。激活函数决定计算图形节点的输出(即(如神经网络中的神经元)给定一些输入。它们可以是线性或非线性函数。一些常用的激活函数包括linear, sigmoid, tanh, ReLU(整流线性单元)和i神经元以某种形式堆积在一起。常用的层包括完全连接的,卷积的
&池和循环层。这些层可以被用来构建不同的流行神经网络。如多层感知器(MLP)网络由全连通的层组成,卷积神经网络(CNN)具有不同的卷积组的特点池化层,和递归神经网络(RNN),例如,普通RNN,门控递归单元(GRU)和长短期记忆(LSTM)是建立在循环层之上的。有关这些神经n的详细介绍,请参阅[50]。

给定数据集X = {x1, x2,··,xN}, xi∈RD,令Z∈RK (K)是一种表现空间,深度异常检测旨在学习一种特征表现映射功能ϕ(·):X 7→Z或异常分数学习函数τ(·):X 7→R的方式可以很容易地从正常分化异常数据实例ϕ或τ空间,ϕ和τ是神经网络映射函数矩阵H∈N隐藏层和体重Θ= {M1,M2,···,MH}。学习特征映射的ϕ(·),一个额外的步骤是必需的。

深度异常检测分类
为了深入了解该领域,我们引入了一种层次分类法,从建模的角度将现有的深度异常检测方法分为三个主要类别和11个细粒度类别。图1显示了这些方法的分类概况,以及它们所解决的挑战。其中,深度异常检测包括特征提取的深度学习、特征表示的学习三个概念范式正态性,端到端异常分数学习。

这三种框架的过程如图2所示。如图2(a)所示,深度学习和异常检测在第一个主要类别(第4节)中被完全分离,因此深度学习技术仅作为一些独立的特征提取器。在图2(b)所示的第二大类(第5节)中,这两个模块以某种形式相互依赖,目的是学习正态性的表达表示。这类方法可以根据传统异常测量方法的优劣,进一步分为两类方法的细粒度分类,每个分类采用不同的方法来制定其目标功能。这两个模块在图2(c)的第三大类(第6节)中完全统一,其中的方法用于通过神经网络端到端学习异常分数。这些方法被进一步分组为四类基于神经网络支持的异常评分。在接下来的三个部分中,我们将详细回顾这三个类别中的每一个方法,并讨论它们是如何解决上述某些问题的。

图1所示。提出的当前深度异常检测技术的分类。此外,还介绍了每一类方法可以解决的检测挑战。

图2所示。三种主要的深度异常检测方法的概念框架

特征提取的深度学习
这类研究代表了深度学习技术在异常检测中的最基本应用。它旨在利用深度学习从高维和/或非线性可分离数据中提取低维特征表示,用于下游异常检测。特征提取和异常评分是完全脱节、相互独立的。因此,深度学习组件只纯粹作为降维。形式上,该方法可以表示为 :

ϕ的地方:X 7→Z是一个深层神经网络特性映射函数,与X∈RD, Z∈R通常K和D≫K .异常计分法f没有连接特性的映射ϕ然后应用到新空间计算异常分数。与常见的异常检测降维方法(如主成分分析(PCA)[21,141, 180]和随机投影[81,114,124])相比,深度学习技术在提取语义丰富的特征和非线性特征关系方面表现出了明显更好的能力[14,50]:

假设。深度学习模型提取的特征表示保留了区分信息,有助于从正常实例中分离异常。一种研究方法是直接使用流行的、有效的预训练深度学习模型,比如AlexNet [76], VGG[144]和ResNet[59],提取低维特征。该方法用于图像、视频等复杂高维数据的异常检测。这一行的一个有趣的工作是在线异常检测的揭露框架[154]。该框架的关键思想是迭代第一组正常的视频帧,并评估其与后续视频帧的可分离性。因此,如果后续视频帧异常,则期望训练分类准确率高,反之则期望训练分类准确率低。揭露是一个异常评分的过程,随着用来定义异常评分的训练精度的变化。很明显,揭露框架的能力很大程度上依赖于特征的质量,因此拥有高质量的特征来表示视频帧是至关重要的。在ILSVRC基准上预先训练的VGG模型[135]被证明可以有效地提取表达性外观特征[154]。在[90]中,掩蔽框架被制定为一个双样本测试任务,以理解其理论基础。它们还表明,利用动态更新的视频帧采样池提取的特征可以提高框架的性能。此外,与分类等其他任务类似,从源数据集上预先训练的深度模型中提取的特征表示,可以转移到目标数据集上的异常检测器上进行微调。如[6]所示,一类支持向量机(SVM)可以首先使用ILSVRC基准上预训练的VGG模型提取的特征进行初始化,然后进行微调,以改进MNIST数据上的异常分类[79]。

该类别的另一个研究方向是明确训练深度特征提取模型,而不是预先训练的下游异常评分模型[45,66,164,169]。特别是,在[164]中,三个独立的自编码器网络被训练学习各自的外观、运动和外观-运动联合表示的低维特征,用于视频异常检测。一个由三个单类支持向量机组成的集合在每个学习到的特征表示上进行独立训练,以执行异常评分。类似于[164],利用线性单类支持向量机对深度信念网络[45]生成的高维表格数据的低维表示进行异常检测。与单类支持向量机不同,在[66]中使用了无监督分类方法来实现投影空间中的异常评分。具体来说,它们首先对卷积自编码器生成的视频帧的低维特征进行聚类,然后将聚类标签作为伪类标签,进行one vs-the-rest分类来计算帧的异常分数。在图异常检测中也可以找到类似的方法[169],其中在潜在表示空间中使用基于无监督聚类的异常测度来计算图顶点或边的异常。学习表达表征对于图顶点,以图顶点的单热编码作为输入,通过最小化基于自编码器的重构损失和相邻图顶点在表示空间中的成对距离来优化其顶点表示。的优势。这组方法的优点如下。(i)有大量最新的(预先训练的)深度模型和现成的异常检测方法。(ii)深度特征提取比常用的线性方法具有更强的降维能力。(三)鉴于深模和检测方法的公开可用性,这种方法很容易实施。

缺点。它们的缺点如下。(i)特征提取和异常评分完全脱节,往往导致异常评分次优。(ii)预训练的深度模型通常局限于特定类型的数据。挑战的目标。这类方法将高维/非独立数据投影到低维空间上,使现有的异常检测方法能够在更简单的数据空间上工作。低维空间通常有助于揭示隐藏的异常和减少误报(CH2)。但是,需要注意的是,由于数据投影与异常检测是完全解耦的,这些方法可能无法在投影空间中保留足够的信息用于异常检测。此外,该方法允许我们利用多种类型的特征并学习语义丰富的检测模型(如[66,154,164]中各种预定义的图像/视频特征),这也有助于减少误报(CH1)。

正规性的学习特征表示
本节从正态学习的角度对模型进行回顾。该类别中的深度异常检测方法在某种程度上将特征学习与异常评分相结合,不同于上一节中将两个模块完全解耦的方法。这些方法通常分为两类:一般特征学习和依赖异常度量的特征学习。下面我们将详细讨论这两种方法。

般正规性特征学习
这一类的方法学习的表征数据实例学习目标函数,通过优化一个通用的特性是主要不是用于异常检测,但仍然可以学到表示授权异常检测,因为他们被迫捕捉一些关键的基础数据规律。形式上,这个框架可以表示为:

ϕ地图的原始数据在表示空间Z,ψ参数化W是代孕的学习任务,作用于Z空间,致力于加强基础数据规律的学习,ℓ是一个损失函数相对于底层建模方法,和f是一个异常得分函数,利用这两个函数的参数训练Θ吗和W∗计算异常分数:

这种方法包括由多个角度驱动的方法,包括数据重构、生成建模、可预测性建模和自监督分类。5.1.1 Autoencoders。这种方法的目的是学习一些低维特征表示空间,在这个空间上给定的数据实例可以很好地重建。这是一种广泛使用的数据压缩或降维技术[62,69,151]。使用这个的启发式异常检测技术是利用学习到的特征表示学习数据的重要规律,最大限度地减少重构误差;异常很难从所得到的表征中重建出来,因此有很大的重建误差。假设。与异常数据相比,正常数据实例可以更好地从压缩特征空间进行重构。自动编码器(AE)网络是这一类中常用的技术。AE由编码网络和译码网络组成。编码器将原始数据映射到低维特征空间,而译码器试图从投影的低维空间恢复数据。这两种网络的参数通过重构损失函数来学习。瓶颈网络架构通常用于获得比原始数据低维的表示,这迫使模型保留在重构数据实例时非常重要的信息。为了使整体重构误差最小化,保留的信息必须尽可能与主要实例(如正常实例)相关。因此,数据实例,如偏离大多数数据的异常,很难重建。因此,数据重构误差能很好地拟合异常评分。这种方法的基本公式如下。

其中ϕe是编码网络参数Θe和ϕdΘd的解码网络参数。编码器和解码器可以共享相同的权值参数,以减少参数和规则的学习。sx是基于重构误差的x的异常评分。为了学习更丰富和更有表现力的特征表示,已经引入了几种正规化自动编码器[39,97,129,155]。特别地,稀疏AE训练的方式是鼓励隐层激活单元的稀疏性,例如,通过保持最活跃的k单元[97]。去噪AE[155]的目的是通过学习从一些预定义的损坏数据实例而不是原始数据重建数据,从而学习对小变化具有鲁棒性的表示。收缩AE[129]进一步学习了对周边实例的小变化具有鲁棒性的特征表示,这是通过添加一个基于编码器激活的雅可比矩阵的Frobenius范数的惩罚项来实现的。变分AE[39]通过使用隐藏空间上的先验分布对数据实例进行编码,从而将正则化引入到表示空间中,防止过拟合,并确保学习空间的一些良好特性,以便生成有意义的数据实例。AEs是易于实现的,在检测异常方面有直接的直觉。因此,它们在文献中得到了广泛的探讨。复制神经网络[58]是第一个探索数据重建来检测异常的想法的工作,实验集中于静态多维/表格数据。复制器网络建立在具有三层隐层的前馈多层感知器上。它使用参数化双曲正切激活函数,对不同的输入值获得不同的激活级别,有助于将中间表示离散到一些预定义的容器中。因此,隐藏层自然地将数据实例聚类到许多组中,从而能够检测聚类异常。在此工作之后,有许多研究致力于进一步提高AEs在异常检测方面的性能。例如,RandNet[29]进一步增强了basic通过学习一组AEs。在RandNet中,用eac训练了一组独立的AEsAE有一些随机选择的经常退出连接。采用自适应采样策略,以指数方式增加小批量的样本容量。RandNet专注于表格数据。[72]将自动编码器集成的思想推广到时间序列数据中。在鲁棒主成分分析(RPCA)的激励下,RDA[176]试图改进的健壮性AEs的迭代将原始数据分解为两个子集,正常组和异常组实例。这是通过添加一个稀疏点球ℓ1或分组点球ℓ2,1到其RPCA-alike目标函数的系数调整异常。

AEs也被广泛用于检测表数据以外的数据中的异常,如序列数据[93]、图形数据[38]和图像/视频数据[164]。通常,有两种类型的AEs对这些复杂数据的适应。最直接的方法是遵循相同的过程的常规使用AEs除了特定的网络体系结构针对特定类型的数据需要学习有效的低维特征表示,如CNN-AE [173], LSTM-AE [98], Conv-LSTM-AE GCN(图卷积网络)[94]和ae [38]。这种类型的AEs将编码器-解码器方案嵌入到这些方法的整个过程中。另一种基于ae的方法是首先使用AEs学习复杂数据的低维表示,然后学习预测这些已学习的表示。AEs的学习和表示预测通常是两个独立的步骤。这些方法与第一种方法不同,因为表示的预测是围绕着AEs产生的低维表示进行的。在[93]中,将去噪AE与RNNs相结合,学习多变量序列数据的正常模式,其中去噪首先使用两层隐含层学习多维数据输入在每个时间步长的表示,然后训练一个简单的单隐含层RNN来预测消噪后的声发射的表示。类似的方法也被用于检测声学异常[99],其中更复杂的RNN,双向LSTMs被使用。

的优势。基于数据重构方法的优点如下。(i)的构想AEs对于不同类型的数据是简单和通用的。(ii)可以利用不同类型的强大AE变体来执行异常检测。缺点。它们的缺点如下。(i)学习到的特征表示可能会由于训练数据中不常见的规律和异常值或异常的存在而产生偏差。(ii)数据重构的目标函数设计用于降维或数据压缩,而不是异常检测。因此,所得到的表示是底层规则的通用摘要,没有针对检测不规则情况进行优化。

挑战的目标。AE框架下可以使用不同类型的神经网络层和架构,允许我们检测高维数据中的异常,以及非独立数据,如属性图数据[38]和多元序列数据[93,99]。(CH2)。如果学习的表征更具有表现力,这些方法可能会比传统的基于手工特征的方法减少误报率(CH1)。AEs通常容易受到训练数据中出现的数据噪声的影响,因为经过训练后能够记住这些噪声,导致过拟合严重,异常的重构误差小。RPCA的思想可以用于AEs,以训练更健壮的检测模型[176](CH4)。

生成式对抗网络。基于gan的异常检测在早期应用于[139]后迅速发展成为深部异常检测的流行方法之一。这种方法通常旨在学习生成网络G的潜在特征空间,使潜在空间能够很好地捕捉到给定数据背后的常态。实际实例和生成的实例之间的某种形式的剩余被定义为异常分数。假设。在GANs中,生成网络的潜在特征空间可以更好地生成正常数据实例,而不是异常数据实例。

早期的方法之一是阳极氧化法[139]。关键的直觉是,对于任意给定的数据实例x,它的目标是在生成网络G的学习的潜在特征空间中搜索一个实例z,使生成的相应实例G(z)与x尽可能相似。由于潜空间被强制用于捕获训练数据的潜在分布,因此与正常实例相比,异常产生的高度相似的副本的可能性较小。具体地说,一个甘首先接受的常规培训目标如下:

在G和D分别生成器和鉴别器网络参数化ΘG和ΘD(参数是为了简便起见,我们省略了),两人和V的值函数的极小极大的游戏。在此之后,对于每个x,为了找到其最优的z,我们使用两个损失函数来指导搜索,即残差损失和鉴别损失。剩余损失定义为:

而识别损失是基于特征匹配技术定义的:

其中,(h)为判别器中间层的特征映射,(h)为搜索迭代步骤的索引。搜索从一个随机抽样z,紧随其后的是基于梯度更新z来自总体损失(1−α)ℓR (x, zγ)+αℓ调频(x, zγ),α是一个hyperparameter的地方。在整个搜索过程中,经过训练的GAN的参数是固定的;损失仅用于更新z下次迭代的系数。根据最后一步c .得到的x与z之间的相似性来定义异常分数

AnoGAN的一个主要问题是在z的迭代搜索中计算效率低。解决这个问题的一个有效方法是添加一个额外的网络来学习从数据实例到潜在空间的映射,即。,一个逆的生成器,产生类似的方法EBGAN[171]和fast AnoGAN[138]。这两种方法具有相同的精神。在这里,我们主要关注构建在双向GAN (BiGAN)[40]之上的EBGAN。特别的是,除了生成器G和鉴别器D之外,BiGAN的目标不是区分x和G(z),而是区分实例对(x, E(x))和实例对(G(z), z):

训练结束后,EBGAN受到AnoGAN的Eq.(11)的启发,定义了异常分数:

。这就消除了需要在AnoGAN中迭代搜索z。EBGAN被扩展为一个名为ALAD[172]的方法再增加两个甄别器,其中一个甄别器试图甄别来自(x,G(E(x)))和另一个试图区分(z, z)和(z, E() ,z)))。GANomaly[3]进一步改进了生成器,将生成器网络改为编码器-解码器-编码器网络,并增加了两个额外的损失功能。

generator在概念上可以表示为:G是一个组合的通用电气编码器和解码器GD。除了常用的特征匹配损失外:

生成器包括上下文丢失和编码丢失,以生成更实际的实例:

情商的上下文损失。(15)执行发电机考虑输入的上下文信息在生成xˆ。Eq.(16)中的编码损失帮助生成器学习如何从训练数据中对生成的实例的特征进行编码。然后定义发电机的总损失:

其中,“-”、“-”和“-”是决定每个人减重的超参数。由于训练数据主要包含正常实例,所以编码器G和E对正常实例的编码进行了优化,从而可以定义异常分数:

)其中,如果x是一种异常,则sx预计会很大。在过去的几年里,还引进了许多其他的甘人,比如Wasserstein GAN[10]与循环GAN[177]。它们可以用来进一步提高异常检测性能在上述方法中,如用Wasserstein GAN替代标准GAN[138]。另一个相关的研究方向是反向学习端到端单类分类模型,即分类到端到端异常分数学习框架中,在6.4节中讨论。

优势:这些方法的优点如下。(i)甘斯已经证明优越的能力在产生现实的实例,特别是在图像数据,授权从潜在空间中检测重构不佳的异常实例。(2)大现有的基于gan的模型和理论可以采用[32]进行异常检测。缺点。它们的缺点如下。(i)甘斯族的训练可能会受到影响多个问题,如失效收敛和模态崩溃[101],这导致了训练基于gan的异常检测模型的巨大困难。(ii)生成器网络会被误导,从正常实例的流形中生成数据实例,特别是当给定数据集的真实分布非常复杂和/或训练数据包含意外的异常值时。(iii)基于gan的异常分数可能不是最优的,因为它们建立在生成器网络上,目的是为了数据合成,而不是异常检测。

挑战的目标。与AEs相似,基于gan的异常检测可以通过对学习到的低维潜伏期进行重构来检测高维异常空间(CH2)。当潜在空间保留了重要的异常识别信息时,就可以有效地识别出潜在空间有助于提高检测精度高于原始数据空间(CH1)。5.1.3预测建模。基于可预测性模型的异常检测方法学习的表示形式预测当前数据实例,从而实现特性表示5.1.3预测建模。基于可预测性模型的异常检测方法学习属性的表示来预测当前数据实例临时窗口中以前的实例作为上下文。在本节中,数据实例被称为序列中的单个元素,例如视频序列中的视频帧。这种技术广泛用于序列表示学习和预测[64,83,100,147]。为了实现准确的预测,特征表示被强制捕获时间/顺序和r可以很好地预测这些依赖关系,而异常通常会违反这些依赖关系,并且是不可预测的。因此,可以用预测误差(如均方误差或似然值)来定义异常分数。假设。在一些时间相关的上下文下,正常的实例比异常的实例更容易预测。
该研究线在视频异常检测中很流行[1,88,168]。视频序列包含复杂的高维时空特征。该算法需要对图像的外观和运动特征进行不同的约束:

ed是一帧预测损失以均方误差来衡量,ℓ副词是一个敌对的损失。流行的网络架构U-Net[130]被用来实例化用于帧生成的同源函数。ℓpred是由一组三个独立的损失,分别实施t + 1 xˆ之间的亲密和xt + 1在三个关键图像特征描述符:强度、梯度和光学流。ℓ副词是由于使用对抗训练提高图像生成。n.经过训练,对于给定的视频帧x, a归一化峰值信噪比[100]基于预测的区别| |ξ−xˆ我使用||2定义异常分数。在相同的框架下,在[168]中增加了一个基于自编码器的重构网络,进一步提高了预测帧质量,有助于扩大正常帧与异常帧之间的异常分数差在这个方向上的另一个研究线是基于自回归模型[51],假设序列中的每个元素都与前面的元素线性相关。的自回归在[1]中利用模型来估计一个潜在空间中的训练样本密度有助于避免假设有一个特定的发行版系列。具体来说,给定x和它的潜值空间表示z =ϕ(x;Θ)因式分解的自回归模型p (z):

其中z1:j−1 = {z1, z2,···,zj−1},p(zj|z1:j−1)表示zj在之前所有实例条件下的概率质量函数z1:j−1,K为潜在空间的维数大小。
[1]的目标是联合学习一个自动编码器和一个密度估计网络配备了自回归网络层。总损失可以用表来表示:

)其中第一项是由均方误差(MSE)测量的重构误差,而第二项是由估计的条件概率密度先验下的表示的对数似然(logi -likelihood)测量的自回归损失。将这种损失最小化可以帮助了解常见的和容易预测的特性。在评价阶段,结合重构误差和对数似然来定义异常sco的优势。这类方法的优点如下。(i)可以采用若干顺序学习技术并将其纳入这一方法。(ii)这种方法能够学习不同类型的时间和空间依赖性。

缺点。它们的缺点如下。(i)此方法仅限于序列数据中的异常检测。(ii)顺序预测的计算代价可能很高。(3)学习的表示法对异常检测可能不是最优的,因为它的基本目标是序列预测而不是异常检测。

挑战的目标。这种方法是专门设计来学习表达时间依赖低维表示,这有助于解决异常检测在高维和/或时间数据集(CH1和CH2)的假阳性。这里的预测是基于一些经过的时间实例,因此这类方法能够检测基于时间上下文的条件异常(CH5)。

5.1.4 Self-supervised分类。该方法通过建立自监督分类模型来学习正态性表示,并将与分类模型不一致或不一致的实例识别为异常。该方法基于交叉特征分析或基于特征模型的异常检测[65,107,150]。这些研究通过数据实例与一组预测(分类/回归)模型的一致性/一致性来评估数据实例的正态性,每个模型学会基于其他特征来预测一个特征。给定测试实例的一致性可以通过对所有特征的分类/回归模型进行正确预测的平均次数或平均预测概率[65]、基于对数损失的surprisal[107]或二元决策的多数投票[150]来衡量。不像这些研究关注表格数据和构建功能或者基于所有特征的分类/回归模型的二元决策的多数投票[150]。不同于以往基于表格数据,利用原始数据构建特征模型的研究,基于深度一致性的异常检测主要针对图像数据,利用基于特征变换的增强数据建立预测模型。为了有效地区分转换实例,分类模型被强制学习特征,这些特征对描述训练数据中实例的潜在模式非常重要。因此,普通实例通常与分类模型有较强的一致性。

假设。正常情况比异常情况更符合增强的自监督预测模型。这种方法最初在[49]中进行了探讨。为了建立预测模型,首先对一组正常训练图像进行不同组成的几何特征变换操作,包括水平翻转、平动和旋转。在扩充后的数据上训练一个深的多类分类模型,用特定的转换操作处理来自同一类的数据实例,即。,一个合成的类。在评估阶段,测试实例使用每个转换组合进行扩充,它们的正态性得分通过将所有softmax分类得分聚合到给定测试实例的转换版本中来定义。其损失函数定义为:

实例x的低维特征表示是否被转换操作typeTj增强,是一个用W参数化的多类分类器,yTj是一个合成类的单热编码,该合成类被分配给使用转换操作Tj增强的实例CE是一个标准的交叉熵损失函数通过最小化Eq.(22),我们得到了针对分类器的优化的表示。然后我们可以应用特征学习者ϕ(Θ·∗和分类器互存(·,W∗)来获得每个使用转换操作Tj扩展的测试实例的分类分数。然后将每个测试实例的分类分数w.r.t不同的Tj进行汇总,计算异常分数。为此,假设每个Tj条件下的分类分数遵循Dirichlet分布评估测试实例对分类模型的一致性在[49]中,与不同Tj相关的分类分数的简单平均值与基于dirichlet的异常分数类似。半监督设置,即。时,训练数据只包含常规实例,在[49]。在[159]的无监督设置中也探索了类似的思想,其中变换集包含四个变换操作,即、旋转、翻转、移动和路径重新安排。[159]揭示的两个关键观点是t (i)在这种自监督多类分类模型的训练过程中,正常实例诱导的梯度值通常比离群值大得多;(ii)网络更新方向也偏向于正常实例。由于这两个特性,正常实例往往比异常实例更符合分类模型。评估了使用分类分数定义异常分数的三种策略,包括平均预测概率、最大预测概率和所有预测概率的负熵[159]。结果表明,基于负熵的异常分数总体上优于其他两种策略。的优势。基于深度一致性的方法的优点如下。(i)它们在无监督和半监督的情况下都工作得很好。(ii)异常评分基于梯度量级an的一些内在属性。

缺点。它们的缺点如下。(i)特征转换操作通常依赖于数据。以上转换操作仅适用于图像数据。需要探索不同的转换操作,以使此方法适用于其他类型的数据。(ii)虽然分类模型是端到端训练的,但在优化过程中,基于一致性的异常分数是根据分类分数而不是一个整体单元来得到的,因此可能是次优的。挑战的目标。与原始的高维空间(CH1和CH2)相比,该方法学习的低维正态性表达有助于更好地检测异常。由于自监督分类器中呈现的异常实例与正常实例之间存在一些内在差异,因此该方法也能够在无监督设置中工作[159],对训练数据中的异常污染具有良好的鲁棒性(CH4)。

依赖于异常度量的特征学习异常度量依赖特征学习的目的是学习针对一个特定的现有异常度量而特别优化的特征表示。在形式上,这组方法的框架可以表示为:

其中f是在表示空间上操作的现有异常评分度量。注意,f是否可能包含可训练参数W取决于使用的异常度量。不同于eq中的一般特征学习方法。(2-3)在获得所学表示后,根据一些启发式方法计算异常分数,本研究线直接将现有的异常测度f纳入特征学习目标函数中,针对f优化特征表示。下面我们回顾三种常见异常测度的表示法学习,包括基于距离测度、单类分类测度和基于聚类测度:1。基于距离测量。深度基于距离的异常检测旨在学习针对特定类型的基于距离的异常测度而优化的特征表示。基于距离的方法是直接和容易实现的。有一些引入了基于距离的有效异常测度,如DB离群值[73,74]、k近邻距离[126,127]、k近邻平均距离[9]、相对距离[174]、随机近邻距离[117,145]。传统的基于距离的异常测量方法的一个主要限制是由于维数的诅咒而无法在高维数据中有效工作。基于深度距离的异常检测在[114]中得到了首次探索,其中利用基于距离的随机最近邻异常测度[117,145]从超高维数据中学习低维表示。特别地,关键思想是优化表示,使伪标记异常在随机子样本中的最近邻距离大大大于伪标记正常实例的最近邻距离。伪标签由一些现成的异常检测方法生成。令S∈X为数据实例的子集:

其中em是f (x,S)产生的两个距离之间的裕度的预定义常数;Θ),这是一个随机的最近邻距离函数表示空间的操作:

Lquery是由公式(26)中定义的基于距离的随机最近邻异常测度增广的铰链损失函数。情商最小化损失。(25)保证随机异常的最近邻距离至少m比正常情况下ϕ-based表示空间。在评价阶段,直接利用Eq.(26)中的随机距离,得到每个测试实例的异常分数。按照这种方法,我们也可以通过用oth替换Eq.(26)来获得类似的针对其他基于距离的度量的表示学习与其他测度,如k最近邻距离[127]或平均k最近邻距离[9]。然而,这些度量比随机最近邻距离的计算代价要高得多。因此,这种适应的一个主要挑战是极高的计算成本。受[19]的启发,[114]要求查询随机数据子集中的最近邻距离,与之相比,在[157]中探索了一个更简单的想法,利用优化的表示和随机投影的相同实例的表示之间的距离来指导表示学习。该方法的目标如下:

在ϕ′是一个随机映射函数实例化的神经网络与固定ϕ使用随机权重,f是一个测量的两个之间的距离表示相同的数据实例。如[19]中所讨论的,求解Eq.(27)等价于从随机神经网络中提取知识,并帮助学习数据中不同底层模式的频率。但是,Eq.(27)忽略了数据实例之间的相对接近性,对数据中呈现的异常现象很敏感。为了解决这两个问题,一个额外的损失功能的目标在训练过程中使用过程迭代地过滤潜在异常,并对表示学习模型进行再训练。在评估阶段,f(ϕ(x;Θ∗),ϕ′(x))用于计算异常分数。的优势。这类方法的优点如下。(i)基于距离的异常是明确的,在文献中有丰富的理论支持。因此,基于深度距离的异常检测方法在前期工作中打下了良好的基础。(ii)它们在低维表示空间中工作,能够有效处理传统基于距离的异常测度无法处理的高维数据。(iii)他们能够学习为自己专门定制的表述。缺点。它们的缺点如下。(i)大部分基于距离的异常度量所涉及的大量计算可能是将基于距离的异常度量纳入表示学习过程的障碍。它们的能力可能受到基于距离的异常测量固有弱点的限制。挑战的目标。这种方法能够学习为现有的基于距离的异常度量量身定制的低维表示,解决了基于距离的检测中臭名昭著的维数诅咒[178](CH1 & CH2)。如[114]所示,可以设计一种适应的三重态损失,利用几个标记异常例子来学习更有效的正态表示(CH3)。得益于伪异常标记,这些方法[114,157]对潜在的异常污染也具有鲁棒性,并且在完全无监督的环境下有效工作(CH4)。

          看到下面成了一个基于分类的措施。这类方法旨在学习特征表示,这些特征表示用于后续基于单类分类的异常检测措施。单类分类是指学习一组数据实例的描述来检测新实例是否符合训练数据的问题。它是最流行的异常检测方法[103,132,140,149]。大多数单类分类模型是受支持向量机(SVM)[31]的启发,如两种广泛使用的单类模型:单类SVM(或v-SVC)[140]和支持向量数据描述(SVDD)[149]。这里的一个主要研究方向是学习专门针对这些传统的单类分类模型(如单类SVM和SVDD)优化的表示。这是本节的重点。另一种方法是学习端到端对抗性的单类分类模型,这将在6.4节中讨论。假设。所有的普通实例都来自于单个的(抽象的)类,并且可以通过一个紧凑的模型进行总结,而异常则不是这样。

       有许多研究致力于将单类SVM与神经网络相结合(27、106、162)。传统的单类支持向量机是学习一个超平面,使训练数据实例和原点之间的距离最大化。深度单类支持向量机的关键思想是从基于神经网络的低维表示空间学习单类超平面,而不是从原始的输入空间学习。让z =ϕ(x;Θ),然后一个通用配方的关键思想[27, 106, 162]可以表示为传统的单类支持向量机是学习一个超平面,使训练数据实例和原点之间的距离最大化。深度单类支持向量机的关键思想是从基于神经网络的低维表示空间学习单类超平面,而不是从原始的输入空间学习。让z =ϕ(x;Θ),然后一个通用配方的关键思想[27, 106, 162]可以表示为:

其中r是边缘参数,Θ表示网络的参数,w⊺z(即。w⊺ϕ(x;Θ)取代了原来的点积w,Φ(x)满足k(ξxj) =Φ(xi)Φ(xj)。在这里Φ再生核希尔伯特空间理论是一个(再生核希尔伯特空间)相关联的映射和k(··)是一个核函数;v是一个超参数,可以看作是训练数据中异常部分的上界。任何实例r−w⊺子> 0可以报告异常。

这个公式带来了两个主要的好处:(i)它可以利用(预先训练的)深度神经网络学习更多的表达特征用于下游的异常检测,(iii)它也有助于消除核函数中计算昂贵的成对距离计算。所示[106, 162], AEs中的重构损失可以加入到Eq.(28)中,以增强学习的表示形式z的表达能力。如[125]所示,许多核函数都可以用随机傅里叶特征近似。出于这一点,在w⊺z之前,进一步映射h可能适用于z生成随机傅里叶特征,导致w⊺h (z),这可能帮助实现更好的看到下面成了一个支持向量机模型。另一条研究线研究SVDD的深度学习模型[133,134]。SVDD的目标是学习一个中心为c,半径为r的最小超平面,使球面包含所有的训练数据实例,即:

与Deep one-class SVM类似,Deep SVDD[133]的目的也是利用神经网络将数据实例映射到最小体积的球体中,然后利用铰链损失函数来保证球体中心与投影实例之间的边界。然后,特征学习和SVDD目标可以通过最小化以下损失来共同训练:

这是假设训练数据在无监督设置中包含少量的异常污染。在半监督设置下,损失函数可简化为:

其中直接最小化训练数据实例的表示和中心c之间的平均距离。注意,在Eq.(32)中包含c作为可训练参数可能导致琐碎的解决方案。在[133]中表明,c可以固定为执行一次初始前向传递所产生的特征表示的平均值。深度SVDD还可以进一步扩展到另一种半监督设置,其中有少量标记的正常实例和异常实例可用[134]。其核心思想是最小化标记的正常实例到中心的距离,同时最大化已知异常实例到中心的距离。这可以通过添加来实现x
' j是一个标记实例,当它是一个普通实例时,yj = +1,否则,yj =−1。的优势。这类方法的优点如下。(i)文献对基于单类分类的异常进行了深入研究,为深入的基于单类分类方法提供了坚实的基础。(ii)将表示学习和单类分类模型统一起来,学习定制的、更优的表示。(3)在传统的单类模型中,用户无需手动选择合适的内核函数。缺点。它们的缺点如下。(i)单类模型在正常类内具有复杂分布的数据集上可能无法有效工作。(ii)检测性能依赖于基于单类分类的异常测度。挑战的目标。这类方法通过学习为单类分类模型(CH1和CH2)优化的低维表示空间来提高检测精度。这些方法可以利用少量标记的正常和异常数据[134]来学习更有效的单类描述模型,不仅可以检测已知异常,还可以检测新的异常类别(CH3)。

Clustering-based措施。基于深度聚类的异常检测旨在学习表示,使异常明显偏离新学习的表示空间中的聚类。聚类和异常检测的任务是相互关联的,因此有大量的研究致力于利用聚类结果定义异常,如聚类大小[67]、聚类中心距离[60]、聚类中心距离[68]、聚类隶属度[142]等。基于高斯混合模型的异常检测[44,96]由于其与聚类的一些内在关系,如似然拟合在高斯混合模型(GMM)对应于数据实例到高斯簇/组件[2]中心的距离的集合。假设。正常的实例比异常的实例更符合集群。深度聚类是该异常检测方法中最关键的部分,其目的是学习针对特定聚类算法的特征表示。近年来,许多研究对这一问题进行了探索[25,37,48,152,163,166,167]。主要的动机是由于聚类方法的性能高度依赖于输入数据。针对聚类算法的学习特征表示可以很好地保证聚类算法在不同数据集[5]上的性能。一般来说,这里有两个关键的直觉:(1)好的表征可以更好地聚类,好的聚类结果可以为表征学习提供有效的监督信号;和(ii)由于聚类算法所作的基本假设不同,针对某一聚类算法优化的表示对其他聚类算法不一定有用。深度聚类方法通常包括两个模块:在前向传递中执行聚类,在后向传递中使用集群分配作为伪类标签进行学习表示。其损失函数往往是最关键的部分,一般可以表示为

ℓclu集群损失函数,其中由Θϕ是学习者特征参数化,f是一个聚类分配函数参数化W和y代表伪类标签产生的聚类;ℓ辅助是一个非集群损失函数用于执行额外的约束学习表示;而主办者和主办者是两个超参数来控制这两个损失的重要性。ℓclu可以实例化与k - means损失[163],谱聚类的损失(152、167),一个凝结的集群损失[166],[37]或GMM损失,使表示或者一个GMM丢失[37],使得针对特定目标聚类算法的表示学习成为可能。ℓ辅助通常与一个autoencoder-based重建实例化损失[167]学习健壮的和/或局部结构保存表示,或防止崩溃集群。深入聚类后,利用由此产生的f函数中的聚类分配,根据[60,67,68,142]计算异常分数。然而,应该注意的是,如果训练数据是异常污染的,深度聚类可能会有偏差。因此,上述方法可以应用于训练数据仅由正常实例组成的半监督设置。在无人监督的环境中,需要一些额外的约束ℓclu和/或ℓ辅助消除潜在异常的影响。上述的深度聚类方法都集中在学习最优聚类结果上。虽然所得到的聚类结果适用于异常检测,但所学习的表示可能不能很好地捕捉异常的异常。利用聚类技术学习r是很重要的与普通实例相比,坚持使用集群。这种方法的一些有前景的结果显示在[84,179],其中他们的目标是学习一个基于gmm的模型的表示,使用优化的表示来突出异常。这两项研究的一般形成类似于情商。(33)和ℓcluℓ辅助分别指定为GMM损失和autoencoder-based重建损失,但学习异常的倾斜表示,他们将一些手工制作的特性的基础上,重建错误从autoencoders autoencoder优化的学习特性特性相结合在一起。由于基于重构误差的手工制作特征捕获了数据的正态性,所得到的表示比其他深度聚类方法更适合异常检测。的优势。基于深度聚类的方法的优点如下。(i)可以利用多种深度聚类方法和理论来支持异常检测的有效性和理论基础。(ii)与传统的基于聚类的方法相比,基于深度聚类的方法学习专门优化的表示,帮助发现异常比在原始数据上更容易,特别是在处理复杂的数据集时。缺点。它们的缺点如下。(i)异常检测的性能很大程度上依赖于聚类结果。(ii)训练数据中的异常污染可能会使聚类过程产生偏差,从而导致表现效果较差。

        挑战的目标。将基于聚类的异常测度应用于新学习的数据输入的低维表示;当新的表示空间保留足够的识别信息时,深度方法比在原始数据空间(CH1和CH2)中获得更好的检测精度。一些聚类算法对异常值很敏感,所以当给定数据被异常污染时,深度聚类和后续的异常检测会在很大程度上受到误导,但如[179]所示,利用深度自编码器重构误差的手工特征进行深度聚类,可以帮助学习更健壮的检测模型w.r.t.异常污染(CH4)。

端到端异常分数学习
本研究旨在以端到端方式学习标量异常分数。与依赖于异常测度的特征学习相比,该方法的异常评分不依赖于已有的异常测度;它有一个直接学习异常分数的神经网络。通常需要新的损耗函数来驱动异常评分网络。形式上,这类方法的目的是学习一个端到端异常分数学习网络:τ(·;Θ):X 7→r .底层框架可以表示为:

下面我们回顾一下在情商中实现这一目标的四种主要方法。(34-35):排序模型、优先驱动模型、softmax模型、端到端单类分类模型。该框架的关键是将顺序或鉴别信息纳入异常评分网络。这四种方法代表了设计这个网络的四种不同视角.

排名模型
这组方法的目的是直接学习排序模型,这样数据实例就可以根据与异常的绝对/相对排序关系相关的可观察序数变量进行排序。异常评分神经网络由可观测序数变量驱动。假设。存在一个可观察的有序变量,可以捕获一些异常数据.

该方法的一个研究方向是设计基于顺序回归的损失函数来驱动异常评分神经网络[115,118]。在[118]中,引入了一种自训练的深度有序回归模型来直接优化非监督视频异常检测的异常分数。特别地,它假设一个可观察的序数变量y = {c1,c2},其中c1 > c2,令
τ(x;Θ)=η(ϕ(x;Θt);Θs)和N分别是伪异常和正常实例集和G = A∪N,那么目标函数表示为:

ℓ(··)是一个MSE / MAE-based损失函数和y = c1,∀x∈和y = c2,∀x∈n y取两个标量顺序值,所以这是一个两级序数回归。端到端异常评分网络以A和N为输入,学习优化异常评分,使与A (N)中相似行为的数据输入量较大(small)得分越接近c1 (c2),异常帧的异常分数就会大于正常帧.

由于优越的能力捕获图像数据的外观特征,ResNet-50[59]是网络ϕ用于指定特性,其次是异常得分网络η建造完全连接两层神经网络。它由100个单元的隐层和一个单线性单元的输出层组成。类似于[114],通过一些现有的异常度量对A和N进行初始化。然后以自我训练的方式迭代更新和增强异常评分模型。Eq.(36)中使用基于maal的损失函数来减少A和N中虚假伪标签带来的负面影响。
与[118]处理无监督设置不同,[115,146]中假设了弱监督设置。在[115]的训练中,我们假设有非常少的标记异常和大量的未标记数据可用。为了利用已知的异常,异常检测问题被制定为一个两两关系预测任务。具体来说,设计了一个双流有序回归网络来学习随机抽样的数据实例对之间的关系,即,以区分实例对是否包含两个带标签的异常、一个带标签的异常或只是未带标签的数据实例。设A为小标号异常se是一个未标记的大型数据集

首先生成。这里P是一组带有合成序数类标签的随机实例对,

为序数变量。合成标签yxai xui表示分别从A和采样的实例xai和xui对的任何实例对的序数值

预先定义,使两两预测任务等价于异常分数学习。然后,就可以正式地提出这种方法

这是可以通过端到端方式进行培训的。通过最小化Eq.(37),优化了模型,以学习包含两个异常的输入对比只有一个异常或没有异常的输入对的更大的异常分数。在评估阶段,每个测试实例与来自A或U的实例配对,得到异常分数.

[146]中的弱监督设置用于帧级视频异常检测,但在训练过程中只能使用一组视频级类标签,即,一个视频是正常的或者在某个地方包含异常的帧,但是我们不知道哪些帧是异常的。文献[146]引入了基于多实例学习(multi instance learning, MIL)的排序模型,利用高级类标签直接学习每个视频片段(即视频片段)的异常分数。,少量连续vid帧)。其关键目标是保证视频中某处含有异常的片段的最大异常分数大于正常视频中的异常分数。为了实现这一点,每个视频在MIL中被当作一个实例包,包含异常的视频被当作正的包,而正常的视频被当作负的包。每个视频片段都是包中的一个实例。通过铰链损失函数将异常分数的排序信息以相对两两排序的方式强制执行。总体目标函数定义为:

其中,x是一个视频片段,B是一个视频片段包,Bp和Bn分别代表正袋和负袋。第一项保证相对异常分数顺序,即。,在正实例包中最不正常的视频片段的异常分数大于负实例包中的异常分数。第二项和最后一项是两个额外的优化约束,前者加强了连续视频片段之间的分数平滑性,后者加强了异常稀疏性,即。,每个视频只包含几个不正常的片段.

优势。基于深度排序模型的方法的优点如下。(i)异常分数可以直接用适应的损失函数进行优化。它们通常不受异常定义的限制,只对异常情况和正常情况之间的顺序作弱的假定。(iii)这种方法可以建立在诸如学习排名等领域成熟的排名技术和理论的基础上[70,87,89].

缺点。它们的缺点如下。(i)在这些方法中至少需要某种形式的已标记异常,但可能不适用于没有此类已标记异常的应用。文献[118]中的方法是完全无监督的,取得了一些很有前途的性能,但与半监督方法相比仍有很大的差距。(ii)由于模型是专门拟合用于检测少数标记异常,因此它们可能无法将具有不同标记异常特征的未见异常一般化.

有针对性的挑战:使用伪标签或有噪声的类标签等弱监管提供了一些可疑异常的重要知识,使学习表达性更强的低维表示空间和更好的检测精度(CH1, CH2)。MIL方案[146]和成对关系预测[115]提供了一种简单的方法,将粗粒度/有限异常标签纳入检测模型学习(CH3)。更重要的是,端到端异常分数学习通过反向传播异常分数的激活权值或梯度来定位导致大异常分数的特征,提供了直观的异常解释[118](CH6)。此外,[115,118]中的方法也适用于有异常污染或噪声标签的数据(CH4)。

Prior-driven模型
该方法利用先验分布对异常分数进行编码和驱动学习。由于异常分数是以端到端的方式学习的,因此可以在内部模块或学习输出(即分数学习函数的变化(如异常分数)。假设。强加的先验捕获数据集的底层(ab)常态。最近的一项基于贝叶斯逆强化学习的序列异常检测研究,举例说明了将先验引入内部异常评分函数.直觉的想法的关键是,给定一个代理,一组连续的数据作为输入,代理的正常行为可以理解其潜在的奖励功能,因此一个测试序列被确定为异常如果代理分配序列的低回报。反强化学习(IRL)方法[104]被用来推断奖励函数。为了更有效地学习奖励函数,我们使用了基于样本的IRL方法。具体而言,将IRL问题表述为以下后验优化问题

由Θ)是一种潜在的回报函数参数化,(o, a)是序列s中的一对状态和动作,Z表示配分函数,它是ex的积分

所有序列符合潜在的马尔可夫决策过程动力学,p(Θ)是Θ的先验分布,和S是一组观察序列。由于异常分数采用的是反式的,因此将Eq.(39)最大化等于直接学习异常分数在训练阶段,假设奖励函数学习网络的权值参数为高斯先验分布,即。,Θ∼N(0,σ2)。配分函数Z的估计使用一组序列产生的采样策略:

策略k也表示为一个神经网络。可选的优化,即,,用一个固定的政策量来优化奖励函数量,用更新的奖励函数量来优化奖励函数量。注意,在[109]中,实例化的是一个带多个输出头的自举神经网络;为简便起见,公式(39)提出了一个简化的“可重构”规则。
在[116]中探讨了对异常分数强制执行先验的想法。在[75]中大量的经验结果表明,异常分数在各种真实世界数据集中非常适合高斯分布,受此启发,该工作在编码异常分数之前使用高斯,并使分数能够直接优化。即假设正常实例的异常分数聚在一起,而异常的异常分数则远离该聚类。利用先验来定义以下损失函数,称为偏差损失,它是建立在众所周知的对比损失之上的:

(2)式中,(b)中,(b)分别为高斯先验N的估计均值和标准差,(b)中,(b)为不规则物yx = 1, (b)为正常物yx = 0, (b) m等于a
z分数置信区间参数。对于每批实例,使用从N (kernel,团员)中提取的一组值{r1,r2,··,rl}来估计其对不规则和正态的鲁棒表示。

在偏差损失的驱动下,检测模型将正常实例的异常得分推到尽可能接近的水平,同时保证在水平和异常的异常得分之间至少有m个标准差。当x是异常且dev(x)为负时,损失会特别大,导致所有异常都有较大的正偏差。因此,偏差损失相当于在异常值的异常值与上尾部正常实例的异常值的异常值之间施加一个统计上显著的偏差。除了端到端异常sco。

分数,即。,对于任何异常值,我们都可以使用Z-score置信区间(fox±zp)来解释实例x的异常。这是现有方法所没有的重要且非常实用的特性。的优势。前驱动模型的优点如下。(i)在给定先验条件下,可以直接优化异常分数。(ii)提供了一个灵活的框架,可以将不同的先验分布纳入到异常分数学习中。异常检测可以采用不同的贝叶斯深度学习技术[158]。(iii)与其他方法相比,先验方法也能得到更多的可解释异常分数。
缺点。它们的缺点如下。(i)为不同的异常检测应用场景设计一个普遍有效的先验是困难的,如果不是不可能的。如果前一种模型不能很好地符合基本分布,则模型的效力可能较低。

有针对性的挑战:先验使模型能够学习不同复杂数据的低维表示,如高维数据和顺序数据(CH1)& CH2)。通过施加先验异常分数,偏差网络方法[116]在利用有限数量的标记异常数据来增强正态和异常的表示方面显示了良好的性能,大大提高了检测召回率(CH1 &CH3)。这里的检测模型是由先验分布w.r.t异常评分函数驱动的,在训练数据中有异常污染的数据中运行良好(CH4)。

Softmax模型
这种方法的目的是通过最大化训练数据中事件的可能性来学习异常分数。由于异常和正常实例分别对应罕见和频繁的模式,从概率的角度,正常实例被假定为高概率事件,而异常则倾向于低概率事件。因此,事件似然的负可以自然地定义为异常分数。假设。异常和正常情况分别是低概率和高概率事件。引入了通过直接建模事件似然来学习异常分数的思想[30]。特别是,这个问题被框定为:

wherep (x;Θ)是x(即实例的概率。,事件空间中的事件)带有参数Θ才能学到。为了便于优化,p(x);Θ)建模softmax功能:

τ(x;Θ)是一个异常得分函数用来捕获两两特征交互:

在哪里zi是一个低维嵌入的第i个特征值x在表示spa是一个归一化项,学习似然函数p等价于直接优化异常评分功能这个明确的归一化项的计算是禁止的昂贵的,公认的噪声对比估计,在近似的可能性:

;为每个实例k个噪声样本′1···k~ Q是由一些已知的合成“噪声”分布生成的在[30]中,使用上下文相关的方法来产生k个单变量的负样本观测实例的外推 。

该方法主要用于检测分类数据[30]中的异常。出于这应用中,采用相似的目标函数来检测异类中的异常事件带属性二部图[46]。[46]的问题是检测跨越两者的反常路径二部图的划分。因此,.(45)是包含一组异构图节点的图路径,zi和zj是该路径中每对节点的表示。为了将属性节点映射到表示空间Z中,对节点特征和图拓扑分别应用了多层感知器网络和自动编码器。的优势。基于softmax模型的方法的优点如下。(i)异常分数学习过程中可以纳入不同类型的交互作用。(ii)异常分数是我们要捕获的特定异常交互作用的忠实优化。
缺点。它们的缺点如下。(i)当每个数据实例的特征/元素数目很大时,计算交互作用的代价会非常高昂,即,我们有O (D n) D个特征/元素n阶交互作用每个实例的时间复杂度。(ii)异常分数学习在很大程度上依赖于生成负样本的质量。

有针对性的挑战:这类方法的配方提供了一种有前途的方法学习异构数据源(CH2和CH5)数据集的低维表示。学习表征通常从不同的信息中获取更多的正态/异常信息数据来源,从而使更好的检测比传统方法(CH)。

端到端的一类分类
这类方法的目的是训练一个单类分类器,学会以端到端方式区分给定实例是否正常。不同于Section中的方法5.2.2,这组方法不依赖于任何现有的单类分类测度,如单类SVM或SVDD;它直接学习一个单阶级歧视模型。这种方法的出现主要是由于GANs与单类分类概念的结合。,相反地学习了单类分类法。关键的思想是学习的正常实例,以便它很好地区别一些反向生成的伪异常。注意,此方法也与Section中基于gan的方法非常不同5.1.2由于两个关键的区别。首先,基于gan的方法旨在学习生成分布为了最大限度地接近真实的数据分布,实现一个生成模型,很好地捕获训练常态实例的常态性;而本节的方法旨在优化a区分模型训练正常的实例从反面产生的边缘在实际实例和相应的生成实例,而这里的方法直接利用判别模型对异常进行分类,即时,甄别器D在Eq.(34)中起失常作用。本节与5.1.2节和5.2.2节分开,以突出上述区别:

假设。这种方法的两个基本假设如下。(i)可以有效地合成近似于异常的数据实例。(ii)所有的正常实例都可以归纳为一个判别的单类模型。反向学习单类(ALOCC)分类的思想在[136]中首次得到研究。其关键思想是训练两个深度网络,其中一个作为单类模型训练用于分离正常实例和异常,而另一个网络训练用于增强正常实例和生成失真异常值。实例化和优化这两个网络甘斯的方法。单类模型建立在鉴别器网络上,而产生器网络基于去噪AE[155]。epa -empower GAN的目标定义为:

pXˆ代表一个数据分布的X的高斯噪声,即。xˆ= x + n, n∼n(0,σ2I).此目标与以下AE数据构造误差共同优化 :

Eq.(47)的直觉是AE可以很好地重建(甚至增强)正常实例,但它可能会被输入的异常值混淆,从而产生失真的异常值。通过极小极大优化鉴别器D学会了比使用原始数据实例更好地从异常值中辨别正常实例可以直接用来检测异常。在[136]中,异常值是从一些类中随机抽取的,而不是从正常实例出现的类中抽取的。

然而,在许多领域可能无法获得[136]中超出给定训练数据的参考异常值。我们可以根据给定的训练数据生成边缘数据实例,并将其用作负面引用实例,从而实现单类鉴别器的训练,而不是从其他数据集中随机抽取异常值。这个想法在[105,175]中进行了探讨。在[175]中引入了一类对抗网络(OCAN),以利用坏GANs的思想[33]生成基于正常训练数据分布的边缘实例。助教。与GANs中的传统生成器不同,bad GANs中的生成器网络被训练成生成与训练数据互补而不是匹配的数据实例。补码生成器的目标如下:

在H(·)是熵,我(·)是一个指标函数,ϵ阈值hyperparameter, H是一个功能映射来自鉴别器的一个中间层。设计前两项是为了在原始特征空间中生成低密度实例。然而,获取训练数据的概率分布在计算上是不可行的。相反,近似密度估计pX (zˆ)普通氮化镓的鉴别器。最后一个术语是被广泛使用的特性匹配丢失,它有助于更好地在原始数据spa中生成数据实例 

在[105]中,栅栏GAN被引入,其目的是生成紧密分布的数据实例训练数据分布的边界。这是通过引入两个l来实现的:

函数进入生成器,以强制生成的实例沿训练数据的球面边界均匀分布。生成器的目标在形式上定义为:

其中,∈(0,1)是一个超参数,用作生成器生成边界实例的判别参考分数,而设为生成的数据实例的中心。第一个术语称为包围损失,它强制生成的实例具有相同的歧视分数,理想情况下导致实例紧密地封闭训练数据。第二项称为色散损失,它强制生成的实例均匀覆盖整个boundar。

还引入了一些其他方法来有效地生成引用实例。例如,可以生成均匀分布的实例,强制常规实例在潜在空间中均匀分布[121];在[91]中使用了一组生成器,每个生成器为一个特定的常规实例集群合成边界实例。的优势。这类方法的优点如下。(i)异常分类模型是端到端逆向优化的。(二)可由国家发展和支持。

缺点。它们的缺点如下。(i)很难保证所产生的参考实例与未知的异常情况十分相似。(2) GANs的不稳定性可能导致生成质量参差不齐的实例,导致基于判别器的异常分类性能不稳定。这一问题最近在[170]中得到了研究,表明这类异常检测器的性能在不同的训练步骤中会有较大的波动。(iii)其应用仅限于半监督异常检测场景。挑战的目标。

算法和数据集
7.1具有代表性的算法
为了更深入地理解这一领域的方法,我们在表1中总结了每种方法的代表性算法的关键特征。主要观察包括:(i)大多数方法在无监督或半监督模式下运行;(二)深度学习的技巧,如数据扩充、辍学和预培训,尚未得到充分探索;(iii)大多数方法所使用的网络架构不是很深,大多数方法的网络层不超过5层;年代;(iv) ReLU或leaky ReLU是最常用的激活功能;深度学习可以被用来检测不同类型输入数据中的异常。这些有代表性的算法的源代码大多数是公开的。为了便于访问,我们在表2中总结了代码的来源。

真实异常的数据集
异常检测发展的一个主要障碍是缺乏真实异常的真实数据集。因此,许多研究(例如[3,49,105,133,159,171,176])评估了他们提出的方法在由流行分类数据转换的数据集上的性能。由于转换数据中的异常特征可能与实际的异常存在差异,因此这种方法在实际异常检测应用中可能无法反映方法的性能。我们总结了21个公开可用的真实的收集。

表1。30个代表性算法的关键特征。DA, DP, PT和Archit分别是data augmentation, dropout, pre-training和architecture的缩写。# layers代表除了输入层以外的所有层。lReLU代表漏水的ReLU。

结论与未来机会
在这项工作中,我们将当前的深度异常检测方法分为三个高级类别和11个细粒度类别,代表了利用深度学习技术进行异常检测的12个不同的建模视角。我们还将讨论这些方法如何解决一些臭名昭著的异常检测挑战,以展示深度异常检测的重要性。
通过这样的回顾,我们确定了一些令人兴奋的机会如下。

探索Anomaly-supervisory信号
信息监控信号是深度异常检测的关键,可以学习正常/异常或异常分数的表达形式,并减少假阳性。而广泛范围的无监督或自我监督的监督信号已经探索,如在第5.1节,为了学习表示,这些公式的一个关键问题是,它们的目标函数是通用的,但没有针对异常检测进行优化。5.2节中基于异常度量的特征学习通过imposin解决了这个问题从传统的异常测量。然而,这些约束可能有一些内在的限制,例如,在异常测量中的隐式假设。重要的是探索异常监测信号的新来源,它超越了广泛使用的公式,如数据重建和
对异常分布的假设较弱。另一种可能是通过利用领域知识[23]来开发领域驱动的异常检测,例如应用程序特有的异常知识和/或专家规则作为监控源。

深度弱监督异常检测
深度弱监督异常检测旨在利用深度神经网络学习带有弱监督异常信号的异常通知检测模型,如部分/不准确/不准确标记的异常数据。这些标记数据提供了重要的异常知识,可以成为提高检测召回率的主要驱动力[114-116,146,148]。一个令人兴奋的机会是利用少量精确标记的异常例子来增强检测模型,因为它们通常在实际应用中可用,例如,自已部署的检测系统/最终用户,并经专家验证。然而,由于异常可能具有高度的异质性,可能会出现超出给定异常例子跨度集的未知/新异常。因此,一个重要的方向是未知异常检测,我们的目标是建立检测模型,从有限的标记异常推广到未知异常。最近的一些研究[115,116,134]表明,深度检测模型能够了解超出给定异常示例范围的异常。这是很重要的检测与给定异常示例属于同一类的异常与检测新的/未知异常一样重要。因此,另一个重要的方向是发展数据高效的异常检测或少爆点异常检测,在这种检测中,我们的目标是学习仅给出有限异常示例的已知异常类的高度表达表示法[114-116,153]。需要注意的是,有限的异常示例可能来自不同的异常类,因此表现出完全不同的歧管/类特征。这种情况在根本上是不同的。

此外,不精确或不准确的(例如,粗粒度)异常标签在某些应用程序中收集起来通常成本不高[146];在这些情况下,学习这种监管薄弱的深度检测模型是很重要的。

大规模的正常学习
大规模的无监督/自监督表示学习在实现下游学习任务方面取得了巨大成功[36,123]。这对于学习任务尤其重要,在这些任务中很难获得足够的标记数据,例如异常检测(见2.1节)。其目标是在无监督/自监督模式下从大规模无标记数据中学习可转移的预训练表示模型,并在半监督模式下对检测模型进行微调。第5.1.3 m节中基于自监督分类的方法,然而,必须采取预防措施以确保(i)未标记数据没有异常污染和/或(ii)表示学习方法是鲁棒的w.r.t.可能的异常污染。这是因为第5节中的大多数方法都隐式地假设训练数据是干净的,并且不包含任何噪音/异常实例。这种健壮性在预训练的建模和微调阶段都很重要。此外,不同领域的异常和数据集差异显著,因此大规模正态学习可能需要针对特定领域/应用。

复杂异常的深层探测
现有的深度异常检测方法大多集中在点异常上,表现出明显优于传统方法的性能。然而,对条件/群异常的深层模型的探索却少得多。深度学习在捕获复杂的时间/空间依赖和一组无序数据点的学习表示方面具有优越的能力;在检测此类复杂异常时,深度学习是否也能获得与传统方法类似的优势,这一点很重要。新型神经网络层。

与传统方法一样,目前的深度异常检测主要集中在单一数据源上。多模态异常检测是一个很大程度上尚未探索的研究领域。传统的方法很难弥补这些多模态数据所带来的差距。深度学习在从不同类型的原始数据中学习特征表示用于异常检测方面取得了巨大的成功[38,66,93,114,136];它还能够连接来自不同数据源的表示,以学习统一的表示[50],因此深度方法提供了重要的机会。

可解释和可操作的深度异常检测
目前的深度异常检测研究主要集中在检测精度方面。可解释的深度异常检测和可操作的深度异常检测对于理解模型决策和结果、减轻对人类用户的任何潜在偏差/风险以及实施决策行动至关重要。近年来,有一些研究[7,8,43,143,156]通过寻找使所报道的异常最为异常的特征子集来探索异常解释问题。异常特征选择包括深度模型。另一方面,这种不依赖模型的方法可能会使解释变得不那么有用,因为它们无法真正理解具体检测模型背后的机制,从而导致潜在的建模偏差/风险以及较弱的可解释性和可行动性(例如,量化检测到的异常和缓解行动的影响)。具有提供异常解释的内在能力的深层模型是重要的,例如[118]。为此,可以探索深入模型解释[42]和可操作知识发现[23]的方法。

新颖的应用和设置
有一些令人兴奋的新兴研究应用和问题设置,其中可能有一些重要的机会来扩展深探测方法。首先,outof-distribution (OOD)检测[61,80,128]是另一个密切相关的领域,它检测与训练中使用的实例异常或显著不同的数据实例。这是使机器学习系统能够在开放世界环境中处理新类实例的必要技术。OOD检测也是一个异常检测任务,但是在OOD检测中,一般假设在训练时可以得到细粒度的正规类标签,我们需要在进行准确分类的同时保持这些正规类的分类精度OOD检测。其次,好奇心学习[18,19,119]的目标是学习稀疏奖励的强化学习中的奖励函数。特别是,强化学习算法常常无法在报酬非常少的环境中工作。好奇学习通过在原有的稀疏奖励之外增加额外奖励来解决这个问题。这种奖励通常是基于状态的新颖性或稀有性来定义的。,如果发现了新奇/罕见的状态,代理就会得到很大的奖励。新/罕见状态是类似于异常的概念。因此,如何利用深度异常检测来增强这一具有挑战性的强化学习问题将是一个有趣的探索;相反,可以利用好奇心学习技术进行异常检测,如[157]中的方法。第三,大多数浅层和深层异常检测模型都假设数据实例的异常是独立的、同分布的(IID),而实际应用中的异常可能存在一些非IID特征,如不同实例/特征的异常是相互关联的多种同步的疾病症状在疾病的早期发现中相互加强。这就需要进行非iid异常检测[110],而非iid异常检测则致力于学习此类非iid异常。这个任务在复杂的情况下是至关重要的,例如,异常只有细微的偏差,如果不考虑这些非iid异常特征,就隐藏在数据空间中。最后,其他有趣的应用包括对抗性例子的检测[52,120],生物识别系统中的抗欺骗干扰[47,122],以及罕见灾难性事件(如金融危机)的早期检测

猜你喜欢

转载自blog.csdn.net/com_fang_bean/article/details/107618191