论文阅读---《Graph Regularized Autoencoder and itsApplication in Unsupervised Anomaly Detection》

题目

        图正则化自编码器及其在无监督异常检测中的应用

摘要

        降维对于许多无监督学习任务,包括异常检测和聚类,是一个至关重要的第一步。自编码器是一种常用的机制,用于实现降维。为了使高维数据嵌入到非线性低维流形的降维变得有效,人们认识到应该使用某种测量测地线距离的方法来区分数据样本。受到ISOMAP等测地线距离近似算法的成功启发,我们提出使用最小生成树(MST)——一种基于图的算法,来近似局部邻域结构,并生成数据点之间保持结构的距离。我们将这种基于MST的距离度量用于自编码器的嵌入函数,开发了一种新的图正则化自编码器,在超过20个基准异常检测数据集上表现出优异性能,优于多种备选方法。我们进一步将MST正则化器应用于两个生成对抗网络,并发现使用MST正则化器显著提高了两个生成对抗网络在异常检测方面的性能。我们还在两个聚类应用数据集上测试了MST正则化自编码器,并观察到它在聚类应用中也表现出卓越性能。

引言

        自编码器[1],[2],[3]是许多无监督学习任务中广泛使用的工具,例如聚类和异常检测[4],[5]。它是一种高效的降维机制,将数据矩阵X ∈ R^m×d,其中列和行分别表示属性和观测,转换为降维输出Z ∈ R^m×p,其中p < d,但最好是p ≤ d。自编码器通过使用一对编码器和解码器来构建无监督的降维问题——编码器将X降维为Z,解码器将Z重构为X0 ∈ R^m×d,其维度与X相同。通过设计编码器/解码器对,目标是找到最优的低维表示Z,并将X与X0之间的重构误差最小化。请参见图1中的说明。

        通过生成低维表示Z,自编码器并不会自动执行聚类或异常检测。然而,人们认为一旦获得了原始高维数据的良好低维表示,随后的任务将变得更容易和可管理。因此,自编码器被视为解决无监督学习中的一个挑战的关键技术,特别是当降维对于实现良好性能是必要的时候。虽然自编码器的一般思想可以通过多种编码器和解码器的选择来实现,但实际上使用的实践方法几乎无一例外地是人工神经网络(ANN),如图1所示。

        自编码器由于当前深度神经网络的进步可以处理复杂数据。使用深度神经网络作为编码器/解码器,可以通过多个非线性转换步骤到达潜在空间,这有助于展现具有复杂内在结构的数据,并极大地促进后续的检测任务。深度神经网络的使用允许自编码器能够学习更复杂的特征和表达,从而更好地捕捉数据的重要信息和潜在模式。这使得自编码器在处理高维复杂数据和挖掘数据中隐藏的有用信息方面具有优势。

        确实,刻画X与X'之间重构误差的损失函数在成功的自编码器设计中起着关键作用并不令人意外。损失函数的选择通常取决于最终的学习任务,例如二元分类、多类分类或回归,典型的选择包括交叉熵、Kullback-Leibler散度、均方误差和平均绝对误差。然而,这些损失函数并没有考虑保持降维表示中的邻域结构。但是在降维过程中保持邻域结构被证明是至关重要的,实际上是非线性嵌入研究中的一个关键要求[6],[7],[8],[9]。保持邻域结构有助于确保低维表示在保留重要信息的同时保持数据中的局部关联性,从而更好地反映数据的本质特征和模式。

        降维问题与流形近似或内在结构恢复问题密切相关。根据流形假设[10],[11],高维数据倾向于位于高维空间中嵌入的低维流形上。如果正确设计,自编码器可以帮助我们找到适当的低维流形嵌入。为此,自编码器需要在损失函数中添加额外的嵌入组件,以确保数据点在低维空间中保持与它们在原始高维空间中的结构相似性。这样做可以确保在降维后的表示中,数据点之间的关系和相似性得到保留,有助于准确地反映原始数据在低维流形上的内在结构。

        首先要解决的问题是如何在可能存在嵌入式流形结构的情况下衡量数据点之间的相似性。我们不能使用传统的距离度量,如欧氏距离,因为根据[7]的研究,它们不能准确地衡量从流形中采样的数据点之间的相对接近程度。有关详细信息,请参阅[7]的图3中的说明性示例。人们普遍认为,在存在非线性流形结构的情况下,需要使用某种测地线距离度量。虽然已经有一些努力将非线性嵌入方法纳入自编码器中([12],[13],[14],[15],[16],[17]),但它们都没有提供近似和保持数据点之间测地线相似性的机制:[12]在单层自编码器中加入了多维缩放(MDS)[18]或拉普拉斯特征映射(LE)[8];[13]添加了额外的组稀疏约束,对于聚类有效,作为嵌入正则化;[14]和[16]探索了局部线性嵌入(LLE)[6]作为嵌入正则化;[15]提出了一个多层拉普拉斯自编码器,并进行了监督微调。局部嵌入或邻域相似性的概念还用于深度子空间聚类[17]。几何或邻域正则化还有其他好处。当用于深度学习模型时,它们往往提高了模型的鲁棒性[19],[20]。具体而言,在[20]中提出的深度k-NN相对于传统方法在对抗攻击下表现出更好的性能。

        我们即将提出的方法最接近的是图正则化自编码器(Graph Regularized Autoencoder,GAE),最初是为图像分类和聚类而开发的[21]。GAE借鉴了图正则化非负矩阵分解(Graph Regularized Non-Negative Matrix Factorization,GNMF)[9]的思想,但是在自编码器中应用了与GNMF相同的图正则化器。与GNMF类似,GAE使用图拉普拉斯嵌入正则化器,由k最近邻(k-Nearest Neighbors,k-NN)图和热核相似性组成。

        上面讨论的大多数嵌入方法都有一个共同的主要限制,即使用基于欧氏距离的相似性(在MDS和LLE框架下),从而无法捕捉数据点之间的内在/测地线距离。其余的方法,例如GAE,使用基于高斯核(也称为热核)的加权相似性方案,但在非线性流形存在的情况下,也被证明不够有效[22],[23]。这些方法都没有很好地处理在复杂数据空间中的局部结构和非线性相关性,从而导致其在捕捉数据内在结构时表现不佳。因此,需要一个更好的方法来解决这个问题。

        在本文中,我们建议使用最小生成树(MST)[24],一种基于图的方法,来近似数据点之间的测地线距离。根据[25]的研究,使用MST可以从随机点开始跟踪流形结构,而无需任何关于局部邻域的先验知识,并且可能提供更好的距离/相似性度量。借助这个潜在优势,需要进一步解决的问题是如何在自编码器创建的潜在空间中保留MST近似的内在结构。在这里,我们看到提供一个综合解决方案的机会。我们设计了一个基于MST的图正则化器,并将其作为额外的损失函数组件(除了原始的重构损失)嵌入到自编码器框架中。我们提供了两种图正则化器的替代形式,它们都引导自编码器在生成潜在特征时保留原始数据结构。这些潜在特征进而有助于检测异常或罕见事件,或者指导如何对数据集进行聚类。通过将MST的图正则化引入自编码器,我们期望能够更好地处理复杂数据结构和提高自编码器在降维和无监督学习任务中的性能。

        我们将得到的图正则化自编码器应用于20个基准数据集,以展示其在增强异常检测能力和稳健性方面的优点。为了突显使用MST的效果,我们将我们的图正则化自编码器与广泛的备选方法进行比较,包括GAE、带有或不带有正则化器的各种自编码器,以及六种不同强度的异常检测基线方法。为了进一步展示我们图正则化器的优势,我们将其纳入两种基于生成对抗网络(GAN)的异常检测方法[26],[27]。我们发现,添加基于MST的图正则化器显著提高了现有GAN-based方法的检测能力。为了证明我们的提议方法在除了异常检测之外的其他应用中也能发挥作用,我们对聚类应用进行了比较研究,这也是GAE最初开发的领域。在使用与[21]相同的数据集时,我们提出的基于MST的图正则化自编码器能够胜过GAE、GNMF和最初在[21]中测试的其他三种自编码器。这些实验证明了我们提出的方法在多个无监督学习任务中的优异性能和适用性。

        论文的其余部分如下所述。第2节讨论了自编码器的基本概念和工作机制。第3节描述了提出的自编码器的构造和设计。第4节在基准数据集上将提出的MST正则化自编码器与其他备选方法进行比较,用于异常检测。该节还展示了在将提出的图正则化器添加到基于GAN的异常检测方法中以及将提出的自编码器应用于聚类时的性能提升。最后,我们在第5节总结论文。

自编码器框架

        自编码器框架包括三个基本组件:编码器、解码器和损失函数。我们在这里提供一个概要,解释自编码器的工作原理。

基本设置

        编码器通常是一个前馈神经网络,几乎总是由多个层组成。编码机制g_{\varnothing }的概要如下:

         解码器本质上是另一个神经网络,从 Z 中重构原始数据。解码机制f_{\varnothing }的概要如下:(2)

        为了在潜在空间中获得有效的表示,自编码器的设计是最小化损失函数 L(θ),该函数量化了 X 与 X'之间的重构误差。最广泛使用的是平方误差损失,如式 (3) 所示:

         自编码器的概念可以通过许多不同类型的神经网络来实现,例如前馈神经网络、卷积神经网络(CNN)、循环神经网络(RNN)和最近流行的生成对抗网络(GAN)。在本文中,我们主要限制在前馈神经网络的范畴内。

嵌入损失函数

        为了在存在非线性流形的情况下揭示有意义且有效的潜在表示,自编码器需要额外的损失组件来处理嵌入问题。普通自编码器和非线性嵌入方法可以结合使用;为此,研究人员采用了以下联合损失框架 [12]:

        其中,第一个损失组件 L(θ) 反映了自编码器的重构损失,而第二个组件 G(θ) 捕捉了嵌入损失。在嵌入损失函数中,zi和zj分别是任意两个点的隐藏表示,Dij总结了原始空间中这两个点之间的欧氏距离。嵌入损失函数的目标是最小化原始成对距离与隐藏空间中相应成对距离之间的差异。有两种常用的非线性嵌入函数:

 多维缩放(Multidimensional Scaling,MDS)

        在这种方法中,主要目标是在隐藏空间中保持点之间的距离[18]。换句话说,多维缩放(MDS)试图最小化原始空间中成对欧几里德距离Dij与它们在隐藏空间中对应的距离之间的差异。在实践中,这个G(θ)函数的最小值由将高维数据矩阵X进行双中心化后的Gram矩阵的特征分解给出。

拉普拉斯特征映射

        在拉普拉斯特征映射中,局部特性是基于数据点之间的成对相似性[8]生成的。低维表示的计算方式使得在原始空间中较接近的数据点应该在隐藏空间中保持相对的接近程度,相比于其他数据点对。这意味着,如果两个点非常相似,那么将它们之间的距离最小化的奖励将比另一对相似程度较低的点更高。在实践中,高斯核(热核)是最广泛使用的相似性测量形式之一。拉普拉斯特征映射使用以下公式作为其嵌入函数:

        其中,Wij是图的邻接矩阵,也称为图相似性矩阵,在隐藏空间中用作距离的权重。第二个表达式是通过应用谱图理论得出的结果,其中L是图的拉普拉斯矩阵,通过L = S - W获得,其中S是一个对角矩阵,也称为度矩阵[9]。 

图正则化自编码器(Graph Regularized Autoencoder)

        在本节中,我们提出了一种图正则化器,并展示了如何将其融入自编码器中。由于图正则化器是基于最小生成树(MST)的,我们首先简要讨论了MST在流形逼近中的作用。

最小生成树(MST)用于流形逼近。

        假设有一个连通的边权重无向图G = (V, E),其中V表示顶点的集合,E表示边的集合,并且每条边都被赋予一个实数权重eij,其中i; j表示V中的一对顶点。最小生成树是图G中的边的子集,它连接了V中的所有顶点,没有任何环路,并且具有可能的最小总边权重。换句话说,它是一棵边权重之和最小的生成树。在这里,Dij用于表示由一条边连接的顶点i和顶点j之间的距离。然而,权重并不总是指物理距离。例如,权重可以表示一对顶点之间的流量量,有时也可以表示构建这条边的成本。 

        考虑图2左侧面板中的一个简单示例,其中有10个顶点和16条边。每条边都有一个唯一的边长,由数值表示。如果我们想要使用给定边的子集连接所有节点,同时不形成循环,可能会有许多这样的组合,但具有最小总边长的组合是最小生成树(MST)。MST可能不是唯一的,但对于这个例子,它是唯一的,并在图2的右侧面板中显示。黑色的边表示从总共16条边中选择的九条边,形成了最小生成树。

        我们可以看到,最小生成树通过减少总能量来压缩原始图,并因此为顶点之间提供了一种新的距离度量。例如,在图的右侧面板中,两个带颜色的顶点之间的新距离是12 + 11 + 13 + 10 + 9 = 55,而它们在左侧面板中的原始距离是23。我们将Mij中存储最小生成树中顶点的新成对距离,以备将来使用。

        这些基于最小生成树的距离近似顶点之间的测地距离[25],在非线性流形结构存在的情况下比欧几里德距离表现更好[7]。在将数据点表示为图对象后,MST可以应用于任何数据集。我们可以通过将每个观察作为一个顶点,将顶点之间的成对欧几里德距离作为边的权重来实现。有三个主要的算法[24],[28],[29]可以为给定的图构建最小生成树。构建最小生成树的计算成本是O(n log m),其中n是图中边的数量,m是顶点的数量。在这里,我们的n总是m^2(对于每对顶点都有一条边,即完全连接图),时间复杂度为O(m^2),这与计算成对欧几里德距离的复杂度相匹配。这意味着即使对于大型数据集,最小生成树也可以高效地构建。

提出的图正则化自编码器

        为了设计图正则化器,我们决定继续使用在第2.2节中介绍的两个嵌入损失函数,但我们的提议是将最小生成树(MST)距离代替欧几里德距离。对于MDS框架,我们将公式(5)中的成对欧几里德距离Dij替换为基于MST的距离Mij。对于LE框架,与传统的LE嵌入不同,我们通过MST-based距离Mij的倒数来定义我们的相似性度量Wij。具体来说:

        所提出的图正则化自编码器可以表示为重构误差和基于最小生成树(MST)的嵌入函数的联合损失函数的最小化,如下所示(公式(8)): 

        我们使用所提出的图正则化器来引导自编码器的重构机制,从而在低维空间中保持流形结构。我们将这个提议的自编码器称为基于最小生成树(MST)的图正则化自编码器,或简称为MST正则化自编码器。需要注意的是,这是一个通用的框架,因为可以将不同类型的自编码机制和各种神经网络架构纳入到这个框架中。

        我们想要添加一段说明,解释MST正则化器与GAE之间的区别。GAE的损失函数可以表示为:

        在上述公式中,Vij表示在GAE中使用的图相似性矩阵,而λ是一个正则化参数。 

        我们之所以说GAE是与我们的工作最接近的,是因为GAE与我们基于MST的自编码器的LE版本在图相似性矩阵方面有所不同。在GAE中,V首先是通过构建一个k-NN图,然后使用基于热核的加权方案生成最终的权重,这本质上与GNMF [9]中使用的图相似性矩阵相同。而我们的图相似性矩阵W,如上面所解释的,是使用基于MST的距离矩阵M构建的。这个新的图相似性矩阵在我们的其他工作中与非负矩阵分解[30]一起使用,在这里它是第一次与自编码器框架一起使用。这实际上是关键的区别,并且在性能结果上造成了所有的差异,稍后将在第4节中展示。

        与GNMF类似,GAE使用一个正则化参数λ来控制其图正则化项的权重。与GNMF相似,GAE对λ的选择很敏感。作为额外的好处,我们基于MST的图正则化器方法不需要λ,因此避免了由于λ选择引起的敏感性。这意味着我们的方法在图正则化方面更加稳健,并且不需要手动调整正则化参数。

        我们的方法的MDS版本在嵌入损失函数G(θ)和使用的相似性矩阵方面显然与GAE有所不同。在嵌入损失函数和相似性矩阵的定义上,两种方法存在明显的差异。

异常检测

        如前所述,自编码器并不一定能立即用于异常检测。要标记数据点,我们需要为每个数据点分配一个异常分数,以表示它与正常观测值之间的差异程度。异常分数越高,表示数据点越不同于正常观测值。这样的异常分数可以帮助识别潜在的异常数据点。

        为了生成异常分数,我们可以采取两种途径。第一种选择是使用与数据点相关联的重构误差,如下所定义:

        我们对所有观测值重复这个过程,并将得分按降序排列,其中较高的值意味着更有可能是异常的。换句话说,得分越高,越可能是异常值。

        第二个选项是提取低维表示,然后将其输入到一些现有的异常检测方法中以检测异常。在这个选项中,我们在这项工作中使用了两种现有的异常检测方法。一种是局部最小生成树(LoMST)[31],另一种是连通性离群因子(COF)[32]。通过这种方法,我们可以将自编码器学到的低维表示传递给这些异常检测方法,并利用它们来检测异常数据点。

        在LoMST方法中,对于每个观测和它的k个最近邻,形成一个局部最小生成树。然后为每个节点计算一个LoMST分数,它是与节点相关联的局部最小生成树的总边长。然后,节点的异常分数被计算为该节点的LoMST分数与其k个最近邻节点的LoMST分数的平均值之间的差异。对于这种方法,需要预先指定一个局部邻域大小k。

        COF引入了一种新的距离度量,称为平均链接距离,用来反映数据点与其他点之间的隔离程度。链接是指通过计算从观测点自身开始逐步计算最短路径,连接最近邻观测点的一种方式,而不产生环路。这条链的长度被称为链接距离。通过比较每个数据点的平均链接距离与其邻居数据点的链接距离,计算相应的异常分数。对于这种方法,同样需要预先指定邻域大小k。

        无论我们选择哪种方法来生成异常分数,我们都需要选择一个截断值来标记数据点是否为异常值。为了达到这个目的,我们选择了最简单的方法,即将前N个分数标记为异常值,其中N的值是预先确定的。无监督异常检测方法通常被用作第一步筛选工具,标记潜在的异常值,以便通过更复杂和昂贵的程序进行进一步分析和验证。N的选择通常是在覆盖所有可能的异常值和使异常值的验证可管理之间的权衡,即使得更昂贵或耗时的后续步骤变得实际可行。

 MST正则化自编码器的设计

        为了实现我们的图形正则化框架的高效设计,我们必须确定一些对自编码器至关重要的重要参数和组件。

嵌入层维度

        对于自编码器来说,最重要的参数可能是嵌入或瓶颈层 Z 中节点的数量。值得注意的是,如果自编码器有多个隐藏层,那么最后一个隐藏层就被称为嵌入或瓶颈层。从流形逼近的角度来看,该嵌入层的内在维度也是一个关键参数。如果选择的维度过小,有用的特征可能会被折叠在一起并变得纠缠不清,而如果维度过大,投影可能会变得嘈杂和不稳定[33]。

        遗憾的是,尽管在这个领域进行了多年的研究,对于如何选择嵌入层维度仍然没有共识。经过深入调查,我们选择遵循 [34] 中建立的步骤。该内在维度估计方法的主要步骤如下:

        这种方法有几个优势,这些优势导致了我们的选择。该方法使用最少的邻域信息来找出内在维度,因此与其他方法相比,它运行效率较高。此外,我们发现该方法在估计过程中也能够避免数据集不均匀性带来的负面影响。在性能研究中使用的数据集的估计内在维度列在表3的最后一列中。对于多层网络,一旦选择了嵌入层的维度,我们会决定其他隐藏层的维度,使得这些层的大小从输入层逐渐减小到嵌入层的大小。

附加组件和超参数

        除了在第2.1节中讨论的三个主要组件外,我们在图形正则化自编码器中还使用了两个辅助组件。这些辅助组件不仅适用于自编码器,而且在神经网络的训练过程中扮演重要角色。第一个是批量归一化[35],其目的是在经过自编码处理之前对数据进行归一化。一旦输入特征被归一化到相同的尺度上,与它们相关的权重也将处于相同的尺度。这样做有助于避免在训练过程中权重分布不均匀,并防止学习算法在寻找全局最小值时在平台上产生过多的振荡。

        第二个组件被称为dropout [36]。Dropout是一种正则化方法,有助于减少过拟合的可能性。当应用于某个层时,意味着该层的一些节点将被随机删除,以及它们所有的传入和传出连接。如果应用了dropout,那么各层将看起来由不同数量的节点和与之前层的连接构成。dropout的作用是使层上的节点有一个被忽略的随机概率,确保生成的神经网络不依赖于任何特定的输入节点。通常,dropout的概率可以设置为0.5 [36],在各种网络架构和任务中已被证明是最优的。

        由于自编码器遵循神经网络架构,还需要选择一些标准超参数的值。它们包括层数、激活函数的选择、如何初始化权重和偏置值、优化策略以及优化过程中的训练轮数等。在表1中,我们总结了关于图形正则化自编码器参数和组件的选择。在第4.3节中,我们将讨论在不同超参数情况下我们方法的鲁棒性。

去噪图形正则化自编码器

        基本的自编码器技术有时被批评为重构输出可能只是输入的复制。为了防止这种风险,引入了一种变体自编码器,称为去噪自编码器(Denoising Autoencoder)[37]。它采用部分损坏的输入,并从这个损坏的输入开始,用自编码器来重构原始输入。通过这种方式,自编码器不能简单地记忆训练数据并将输入复制到其输出。去噪自编码器的步骤如下所述:

        在我们的实验过程中,我们发现传统的加入噪声的做法(例如,给数据添加高斯噪声)对我们原始的MST正则化模型并没有提供明显的改进。因此,我们设计了一种新的方式来在输入数据中引入噪声,这实际上有助于获得更好的潜在空间表示,并从而改进异常检测。在这种方法中,每个数据点的噪声版本是通过其前5个最近邻的平均值来构造的,就像式(11)中所示。这种邻居重构的想法实际上与LLE [6](局部线性嵌入)的概念相一致,它是一种流行的非线性嵌入方法。这里选择了5个邻居是任意的,可以用任何有意义的值来替代。 

        其中,xk是点xi的第k个最近邻。如果一个观测值与其邻居不同,那么重构损失将会很高;这个思路与异常的定义非常一致。 

与其他自编码器的概念差异

        为了突出MST正则化自编码器与其他自编码器的差异,我们在表2中总结了与这些自编码器相关的几个属性。主要的区别在于嵌入函数中所使用的不同相似性度量。表2包括了我们将在性能分析的下一部分中与之比较的另外两组替代方法。第一组是列表1-8中列出的方法,包括三个子类别的方法:不使用嵌入损失(使用公式(3))、基于欧几里德相似性的嵌入损失(使用公式(4)-(6))和基于k-NN图和热核相似性的嵌入损失(使用公式(9))。第二组是列表9-10中列出的基于GAN的自编码器。通过与第一组进行比较,我们的目的是展示在嵌入函数中使用基于MST的图形正则化对异常检测的影响。性能分析中的第三组是一组异常检测的基线方法,它们不使用自编码器或GAN框架,因此在此处不列出。

        让我们通过在图3中使用一个玩具示例来可视化MST的影响以及MST正则化自编码器获得的低维投影的有效性。图3a代表了众所周知的"瑞士卷"数据(一种非线性流形结构)以及该结构的MST近似(黑色边缘)。值得注意的是,在应用MST之前,我们通过将每个数据点转换为一个顶点,并将两两欧几里德距离转换为顶点之间的边权重来构造一个初始图。结果得到的MST是一个稀疏图。我们从这个新图中提取数据点之间的相似性,然后将这些相似性用于自编码器。在这个例子中,为了可视化它们的相对位置,数据点被着色编码。我们通过三种不同的方法获得"瑞士卷"的2D表示:主成分分析(PCA),如图3b所示;使用欧几里德距离嵌入函数的自编码器,如图3c所示;以及我们的MST正则化自编码器,如图3d所示。所提出的方法能够在将数据投影到较低维度时保持高维空间中呈现的结构相似性,而其他两种方法则没有做到这一点。 

图形正则化自编码器性能分析

        本节致力于评估MST正则化自编码器的性能。在第4.1节中,我们总结了用于性能评估的基准数据集。在第4.2节中,我们将异常检测性能与其他几种自编码器(包括GAE)进行比较。在第4.3节中,我们分析更改自编码器中一些超参数的影响。在第4.4节中,我们提供了MST正则化自编码器与各种异常检测基线的额外性能数据。在第4.5节中,我们将基于MST的图形正则化器应用于两种基于GAN的异常检测方法中。在第4.6节中,我们将MST正则化自编码器应用于两个聚类数据集,以展示它在异常检测之外的应用。

基准数据集

        在本研究中,我们使用[38]中的20个基准异常检测数据集,以进行性能比较。表3总结了这20个数据集的基本特性。对于所有这些基准数据集,我们知道哪些观测值是异常值。因此,我们选择实际的异常数量作为N的值,并将其作为所有方法生成F1分数的截断点[39]。正如之前提到的,表3的最后一列是使用第3.4.1节中的方法估计的数据集的内在维度。 

性能比较

        我们在表4和表5中总结了六种自编码器变种的异常检测性能。前两个自编码器分别使用基于欧几里德距离的正则化器,如式(5)和(6)所示。第三和第四个自编码器是我们提出的两个版本的MST正则化自编码器。第五个是GAE,第六个是不使用正则化器的普通自编码器。为了更好地反映方法的比较优势,我们将比较分为四个主要类别,即更好、相等、接近和更差,如表中所解释的。在这种比较中,我们使用从自编码器生成的重构损失来标记异常值(在第3.3节中提到的第一种选择)。

        从表4中我们可以看到,MST-正则化方法在综合性能上优于其他自编码器变种。单独看,MST正则化器(MDS)在12个检测结果中表现最佳,并且在另外5个案例中与最佳结果接近(在10%内),而MST正则化器(LE)在17个检测结果中表现最佳,并且在剩余的3个案例中与最佳结果接近。在两种MST正则化器(MDS和LE)之间,LE似乎表现更好,因为它在8个案例中产生了独特的最佳检测结果,而MDS只有3个案例。GAE和两个基于欧几里德距离的正则化器表现不及MST正则化器,GAE与基于欧几里德距离的正则化器之间差异不大。没有正则化器的自编码器表现最差。没有正则化器的自编码器从未获得过任何最佳检测结果,而通常远远落后于表现最好的方法。

        表5呈现了每个竞争方法产生的F1分数。表4是基于表5中的信息进行总结的。为了验证MST正则化器与其竞争对手之间的统计学显著性,我们将非参数检验方法Friedman检验[40]应用于表5中的检测结果。Friedman检验产生了一个非常小的p值(5.05 * 10^(-13)),表明拒绝零假设是足够显著的,确认表5中的方法在统计上显著不同。

        我们将表5中的数值性能转换为排名(越低越好,1表示最好),并对竞争方法进行事后分析。所有自编码器变种之间的两两比较结果如表6所示。p值是通过Conover事后检验[41]计算得出的。我们还使用Bonferroni校正[42]来调整在显著性水平0.05下的多重比较的p值。

        显然,表6中的结果将自编码器分为三组:第一组具有最佳性能,即两种MST正则化自编码器(我们的提议);第二组包括GAE和两种基于欧几里德距离的正则化器;第三组是没有正则化器的自编码器。这些组之间的性能差异是显著的,而第二组内部的差异不显著,第一组内部即基于MST的正则化器之间的差异较小但显著。我们在图4中以图形方式突出显示这些结果。

        在第3.3节中,我们提到了用于标记异常的第二种选择,即将降维后的输出Z输入到现有的异常检测方法中。我们同样实现了第二种选择,将MST-正则化自编码器的LE版本用于降维,并结合LoMST或COF进行后续的异常检测。

        表7呈现了LoMST和COF方法产生的F1分数。我们将它们与使用重构损失进行的检测结果进行比较。我们看到,使用另一种异常检测方法,而不是重构误差,有时可以帮助检测,但通常情况下并不会。何时有帮助,何时没有,仍在持续研究中。但对我们来说,使用重构误差来标记异常对于自编码器是一个合理的选择,并且实际上是我们所有比较和性能研究中使用的方法。

        最后,我们探索去噪行为的好处。表8呈现了我们的MST正则化自编码器在LE配方下与常规和新的去噪选项的比较。我们可以看到,与不应用任何去噪的检测结果相比(见表5中的第5列),常规去噪选项并没有帮助太多。与常规去噪过程相比,新的去噪选项可以在一半的情况下稍微提高检测性能。

 

 

 

 超参数影响

        本小节研究我们的方法在超参数变化(包括层数、dropout率和噪声参数)存在时的稳健性。

改变神经网络层数

        我们通过将层数从2更改为12来测试层数的影响。图5a、5b和5c展示了三个数据集的重构误差随优化过程的变化。为了节省空间,我们省略了其他数据集的绘图,因为其结论是相同的(这个原因也适用于后续的小节,只使用了少量的样本数据集)。当给予足够长的时间时,无论使用多少层,重构误差最终会收敛到更或多或少相同的水平。然而,我们观察到,对于一些数据集,比如WPBC和WDBC,使用2个隐藏层显示出较慢的收敛速度。2层网络需要更多的轮数才能赶上其他设置。这对于使用2个隐藏层来说显然是一个劣势。图5d展示了相同三个数据集的F1分数与层数的关系。一旦有四个或更多的隐藏层,所提出的自编码器的性能就不会出现太大波动。在2层和4层之间,使用4层似乎是一个更稳妥的选择。这就是为什么在前面的小节中,在生成表4、5、6、7和8时,我们在MST正则化自编码器中设置了4个隐藏层。实际上,我们默认设置4个隐藏层,除非另有说明。

改变Dropout率

        我们测试了不同Dropout率的影响。图6a、6b和6c展示了三个样本数据集的Dropout率对重构误差的影响(一些数据集在层数测试中与所用的数据集不同)。在我们跨数据集的分析中,我们发现使用非常低的Dropout率,例如0.1,并不是一个有效的选择,但Dropout率为0.5或更高通常会导致相当的性能。图6d绘制了相同三个数据集的F1分数与Dropout率的关系。我们再次注意到使用约为0.5的Dropout率是一个安全的选择。因此,我们将此参数的默认选择设置为0.5。

改变去噪中的噪声参数 

        噪声参数是高斯噪声的标准差。我们将噪声标准差的值从0.1改变到0.8,并在图7中总结了它对8个数据集的影响。我们可以看到,使用较高的噪声标准差(大于0.6)对检测任务没有帮助。一般来说,使用较小的噪声更安全。中等到较低的值,比如0.3或0.4,似乎产生了最好的结果。对于我们的模型,我们选择0.3作为默认的噪声标准差。 

与现有的异常检测基线的比较

        我们还使用各种现有的异常检测基线评估了我们的MST正则化自编码器。这些现有的基线方法来自不同的异常检测方法家族,包括最近邻方法、分类方法、深度学习方法、孤立方法和子空间方法。从这些家族中包含的具体方法有局部异常因子(LOF)[43]、单类支持向量机(OC-SVM)[44]、深度自编码高斯混合模型(DAGMM)[45]、深度结构化能量模型(DSEBM)[46]、孤立森林(IF)[47]和子空间异常检测(SOD)[48]。所有这些方法最初都是为了异常检测而提出的。我们并未再次对所有20个基准数据集运行,而是选择了三个代表性的数据集进行比较,它们分别是KDD(观测值最多)、ALOI(异常值最多)和心律失常(特征最多)。比较结果在表9中突出显示。我们可以看到,MST-正则化自编码器的LE版本在所有三个案例中都实现了最佳性能(尽管在第三个数据集上与另一方法并列第一)。

MST-基于图形正则化器对基于GAN的异常检测的影响

        GAN(生成对抗网络)被称为过去10年中提出的最有趣的想法之一[49]。我们想看看我们的MST正则化器在被纳入GAN的损失函数后对基于GAN的异常检测产生怎样的影响。

        我们考虑了两种基于GAN的异常检测方法。第一种称为AnoGAN [26]。AnoGAN涉及训练一个深度卷积GAN,并在推断时使用训练好的GAN为每个测试数据点恢复潜在表示。异常分数是通过将重构损失和判别损失相加来测量的。重构损失(也称为残差损失)衡量生成的GAN能够使用训练好的生成器从代表性的潜在点重构数据的程度,而判别损失衡量GAN的判别器的性能,它将真实数据与生成器生成的伪样本分开。判别损失确保潜在空间中生成的数据点位于数据流形上。为了测试我们的MST-基于图形正则化器的影响,我们将MST-基于正则化器作为额外的损失组件纳入判别器中。如果一个测试点是异常点,重构损失和判别损失都会很高。 

        表10呈现了这两种基于GAN的异常检测方法(包括和不包括MST正则化器)的性能。所使用的数据集是KDD。我们使用了ALAD作者提供的参数和其他选择[27]。我们使用他们在GitHub上分享的代码,并对其进行修改以纳入MST正则化器,并生成评估分数,包括精确度、召回率和F1分数。很明显,MST正则化器提高了两种方法的检测性能。

关于聚类任务的性能

        GAE [21]最初是为聚类任务开发的。在将GAE用于异常检测后,我们想知道如果我们将提出的MST正则化自编码器应用于聚类任务会发生什么。MST-正则化自编码器在异常检测中的良好性能使我们认为MST确实提供了一种竞争力的相似性度量,也可能有助于聚类任务。

        为了测试这个想法,我们决定对我们的MST-正则化自编码器在GAE论文[21]中用于聚类应用进行分析。我们使用了与[21]相同的两个数据集(COIL-20和MNIST)和相同的两个性能度量(归一化互信息或NMI和聚类准确率或ACC)。GAE论文[21]在以下聚类方法上进行了测试:GAE本身、GNMF [9]、稀疏自编码器(SAE)[50]、收缩自编码器(CAE)[51]和没有任何额外正则化的普通自编码器(RAE)。为了从编码/潜在表示中生成聚类分配,对于所有自编码器变体都使用了k-means聚类算法。 

        我们的重点是将MST-正则化自编码器与GAE和GNMF进行比较,因为GAE和GNMF在[21]中被证明是最有竞争力的方法。为了确保我们进行了公平的比较,我们重新在自己的计算机上运行了GAE和GNMF,以及我们的MST-正则化自编码器,使用相同的数据集。GAE的代码由其作者提供,GNMF的代码由其作者发布供公众使用。由于这次重新运行,这里报告的结果与[21]中的结果不完全匹配。我们没有重新运行SAE、CAE或RAE,而是直接采用了它们在[21]中的性能值。根据[21],SAE、CAE和RAE并不像其他方法那样有竞争力,因此重新运行导致的性能波动不太可能改变性能的顺序。聚类性能比较汇总在表11和表12中。在这两种情况下,我们的方法优于GAE、GNMF和所有其他自编码器变体。 

总结

        为了获取高维数据的有用表示,我们需要在降维过程中保持数据的内在结构。在本文中,我们提出了一种新的基于最小生成树的图方法来近似嵌入在数据中的流形结构。我们设计了两个单独的框架,将这种基于最小生成树的距离度量作为附加正则化器加入到自编码器中。提出的基于最小生成树的图正则化自编码器有助于处理高维复杂数据,并获得有效的低维潜在空间表示。我们认为添加这种基于最小生成树的图正则化器能够增强自编码器在异常检测应用中的性能。

        为了支持我们的观点,我们进行了详细的性能比较研究,使用了20个基准异常检测数据集,其中基于最小生成树的图正则化自编码器明显优于各种替代方法,包括几种自编码器变体和一组六个非自编码器异常检测基线,这些基线来自不同的异常检测方法家族。为了进一步证明基于最小生成树的图正则化器的积极影响,我们将其纳入两种基于GAN的异常检测方法中,并比较添加正则化器前后的检测结果。正如我们预期的那样,基于最小生成树的图正则化的GAN表现比没有正则化的对应方法要好得多。我们将MST-正则化自编码器应用于聚类也取得了成功。一系列经验证据似乎强烈支持基于最小生成树的图正则化器的优点。

        我们研究了与图正则化自编码器设计相关的一些问题。其中一个问题仍然困扰着我们,那就是如何为编码器/解码器网络设计中更广泛的范围选择最佳层数。这个问题可能可以通过采用AutoML研究中的一些最新方法来解决[52]。

猜你喜欢

转载自blog.csdn.net/qq_25368751/article/details/132161243
今日推荐