论文阅读 - Generative and Contrastive Self-Supervised Learning for Graph Anomaly Detection

目录

 摘要:

1引言

3 问题定义

4 方法论

4.1 异常检测的图形视图建立

4.2 带有属性重构的生成学习

 4.3 多视角对比学习

4.4 图异常评分 

 4.5 模型优化与算法

4.5.1 复杂性分析

5 实验研究

5.1 数据集描述

 5.2 实验设置

5.3 与最先进方法的比较

5.4 组件的有效性

 6 结论


论文链接: https://arxiv.org/pdf/2108.09896.pdf

 摘要:

背景

        图数据的异常检测因其在网络安全、金融和社交网络等许多关键应用中的实际意义而备受关注。

前人局限:

        现有的数据挖掘和机器学习方法要么是无法有效捕获图形数据复杂相互依赖性的浅层方法,要么是无法充分利用上下文信息作为有效异常检测的监督信号的图自动编码器方法。

本文方法:

        为了克服这些挑战,在本文中,我们提出了一种新方法,即图异常检测的自监督学习 (SL-GAD)。我们的方法基于目标节点构建不同的上下文子图(视图),并使用两个模块,生成属性回归和多视图对比学习进行异常检测。

        生成属性回归模块允许我们捕获属性空间中的异常,而多视图对比学习模块可以从多个子图中利用更丰富的结构信息,从而能够捕获结构空间、结构混合和属性中的异常信息。

方法效果:

        我们对六个基准数据集进行了广泛的实验,结果表明我们的方法大大优于最先进的方法。

1引言

背景:

        过去几年见证了越来越多的领域,这些领域不断生成以图形或网络形式表示的复杂,相互依存和相互联系的数据。

        典型的例子包括社交网络、生物网络、交通网络和金融交易网络等等。来自这些图结构数据的数据挖掘和分析引起了很多关注,特别是对于图异常检测的任务,其目标是识别与大多数模式显着不同的模式(例如,节点、边、子图)图表

        例如,在金融交易网络中,识别两个账户之间的异常边缘(欺诈交易)至关重要 [1]。在社交网络中,检测异常节点(社交机器人)也很重要,因为它们可能会在社交网络上传播谣言 [2]。

前人不足:

        然而,检测图异常是一项具有挑战性的任务,因为许多图包含复杂的链接(结构)信息以及节点属性信息。因此,异常可以隐藏在结构空间、属性空间以及两者的混合中。此外,在许多情况下,异常的基本事实是未知的,导致许多监督分类方法不适用。

        近年来,这两个挑战促使人们越来越多地努力进行有效的异常检测,从用于异常检测的浅层方法到深度表示方法,以一种完全无监督的方式进行

        浅层方法主要侧重于定义图形的异常量化度量,并开发基于这些度量捕获异常的方法。

                Perozzi 和 Akoglu [3] 提出了一种常态性度量,通过同时考虑属性和图结构来评估内部和外部的邻域,其中实体邻域的异常挖掘 (AMEN) 被提出来优化度量以获得异常分数。

                注意到回归的残差对于限定异常分数起着重要作用,Li 等人 [4] 提出了一个Radar框架,它学习一个线性回归函数来拟合由网络结构正则化的节点属性。回归函数的残差用作衡量异常的分数。

                同样,Peng 等人[5] 提出了一种联合建模方法,使用残差进行属性选择和异常检测。虽然很简单,但这些浅层无法建模(或捕获)图的复杂相互依赖关系

引出方法:

        基于深度学习的方法在许多领域都取得了令人瞩目的进展,包括图像、文本和图形。对于图形异常检测任务,自动编码器成为一种流行的选择,因为它是一个纯粹的无监督框架,并且适合没有真实标签可用的设置。

        具体来说,Dominant [6] 采用图卷积网络 (GCN) 将结构和节点内容编码为潜在嵌入,在此基础上使用属性和结构重建解码器。异常分数由属性和结构的重建误差的加权和计算。

        SpaceAE [7] 采用带有密度估计模型的频谱自动编码器进行异常检测。

         AEGIS [8] 进一步将图形自动编码器推广到可能存在未见异常的归纳设置。

gap:

        然而,现有的基于图自编码器的方法并没有充分利用上下文信息(例如,相邻节点或子图),这对异常检测至关重要。

        这些自动编码器方法通常旨在为每个节点重建整个图形结构或属性。由于异常检测旨在“识别不符合预期行为的数据模式”[9],因此很自然地可以根据上下文信息定义预期行为,这在现有方法中基本上被忽略了。

        此外,这些算法没有充分利用可用信息作为监督信号来学习它们的模型。这些方法的学习目标主要集中在节点级别(例如,直接从图自动编码器学习节点级别的嵌入)。目标节点的子图信息可以提供更多的监督信号,但也没有很好地用于图异常检测。

本文方法:

        基于这些观察,在本文中,我们提出了一种用于图形异常检测的新型自监督算法 SL-GAD。我们的主题是构建目标节点的不同周围上下文(子图),并采用自监督学习策略进行比较并获得每个节点的异常分数。具体来说,我们首先采样集中在每个目标节点上的不同视图(局部子图)作为上下文信息。

        然后将这些视图输入图神经网络 (GNN) 编码器以学习每个节点的潜在表示。在此之后,我们采用两个模块,即生成属性重建和多视图对比学习,以自我监督的方式充分利用可用信息。通过使用 GNN 解码器重构节点属性,生成属性重构模块能够捕获属性空间中的异常。

        通过直接将目标节点与其周围的上下文进行比较,多视图对比学习模块可以捕获结构空间中的异常以及结构和内容信息的混合。

        最后,基于生成模块和对比模块计算异常分数,以提供综合分数来限定每个节点的异常。六个数据集的实验结果表明了我们算法的有效性。图 1 给出了我们模型的工作流程图。

 (图 1. SL-GAD 在自监督图异常检测上的工作流程图。一个节点的异常是从两个角度来估计的,即生成图异常评分和对比图异常评分。)

        本文的主要贡献可以概括如下。

        我们提出了一种新的基于自监督的图数据处理方法。通过开发基于子图的对比学习模块,我们的方法可以有效地利用图中的有用信息。

        我们开发了一种新的图形异常检测方法。通过开发生成属性回归和多视图对比学习机制,我们的方法提供了一种新方法来限定每个节点的异常分数以进行异常检测。

        我们对六个数据集进行了广泛的实验结果,以测试我们的图形异常检测设计。实验结果表明,我们的算法大大优于最先进的算法。

3 问题定义

        在本节中,我们介绍了本文中使用的无监督图异常检测问题和符号。具体来说,我们使用粗体大写和小写字母分别表示矩阵和向量。表 1 总结了所有重要的符号。图和图神经网络 (GNN) 定义如下:

        定义 3.1(图)。给定一个属性图 G = (X, A),我们使用 X\in R^{N*D} 和 A\in R^{N*N}来表示节点特征和图邻接矩阵,其中 N = |V|和 V = {v1, v2, . . . , vN } 是图中的一组节点。具体来说,我们使用 x_i \in R^D 来表示节点 vi 的特征。令 E 表示一组图边,其中 e_{ij} = \{v_i, v_j \} \in E 是节点 vi 和 vj 之间的边。底层图结构由 N × N 方阵 A 表示,其中如果 e_{ij} = \{v_i, v_j \},则 Aij = 1,否则 Aij = 0。特别是,节点 v 的邻域定义为 N (v) = \{ u \in V|e_{vu} \in E\}

        定义 3.2(图神经网络)。给定一个属性图 G = (X, A),图神经网络 GN N (·) 旨在学习局部聚合规则以映射原始节点特征 X = {x1, x2, . . . , xN } ∈ RN ×D 到低维表示(即嵌入) H = {h1, h2, . . . , hN } ∈ RN ×D′ 。

        在本文中,我们主要关注属性图的无监督异常检测问题,定义如下:

        定义 3.3(无监督图异常检测)。提供一个属性图 G = (X, A),我们旨在学习一个模型 F(·) : RN ×D → RN ×1,它通过计算节点的异常分数来衡量图中节点的异常程度,而不依赖于关于任何标签信息。因此,主要任务是根据节点的异常分数按降序对节点进行排名,根据这个排名列表可以很容易地检测到异常

4 方法论

        在本节中,我们介绍了我们提出的算法 SL-GAD 的总体框架,以无监督的方式检测节点级图异常。如图 2 所示,我们的方法具有三个不同的组成部分,包括图形视图采样、生成和对比自监督学习以及图形异常评分。

方法概括:

        首先,我们从输入图中选择一个目标节点,然后我们利用该节点的上下文信息。

        具体来说,我们通过利用不同的增强生成两个关联的图形视图。

        在此之后,为了充分利用丰富的节点和子图级信息来检测异常,我们构建了两个不同的自监督目标,即生成属性重建和多视图对比学习

        前一个目标受到图自动编码器(GAE)[37]的启发,其目的是根据其相邻属性信息重建目标节点的特征向量。这样,如果选定的目标节点是异常的,则它与其周围上下文之间的属性不匹配可以反映为其重构特征向量与原始特征向量之间的回归损失

        与此节点级生成目标相似但不同的是,我们引入了另一种混合级对比目标,在嵌入和结构空间上直接将目标节点与其周围上下文进行比较,在识别过程中注入了更丰富的结构信息。因此,我们的模型优化了两个与图异常检测密切相关的自监督目标。

设计评分函数:

        在推理过程中,基于上述两个目标精心设计了两个评分函数,它们倾向于在具有较高异常分数的图中分配属性和结构异常。

        在本节的其余部分,我们从 4.1 到 4.4 小节介绍了 SL-GAD 的三个核心组件。在 4.5 小节中,我们介绍并分析了训练目标、算法及其时间复杂度。

4.1 异常检测的图形视图建立

 前置信息介绍:

        图自监督学习的最新工作表明,区分对的设计是允许图编码器提取丰富的结构和属性信息的关键 [20]、[38]、[39]、[40]。与视觉领域类似,图自监督学习大致可以分为两类:Generative-based和Contrastive-based。

        对于生成分支,现有工作主要在于属性和结构辅助属性预测[18],其中比较通常放在同一尺度上,例如“节点与节点”(例如属性回归)和“图与图“(例如,结构预测)。另一方面,对比学习不仅可以区分相同尺度的实例,还可以区分不同尺度的实例,例如 [20] 和 [41] 中的“node v.s. graph”。

        然而,并非所有上述区分都适用于我们的任务,因为图形异常检测和表示学习是两个根本不同的任务。

我们的方法:

        在图异常检测中,受[15]的启发,我们推测异常通常反映为它与其周围上下文之间的不匹配,这构成了我们图视图构建的基础。

        在我们的方法中,为了建立目标节点与其周围环境之间的联系,我们提出了两个来自不同尺度和空间的自我监督学习目标。

        具体来说,我们首先进行节点级区分,利用 GAE 重建目标节点的特征向量,然后将其与属性空间中的真实值进行比较。

        为了注入更丰富的结构信息,我们进一步在嵌入和结构空间中构建目标节点与其局部子图之间的混合级对比,其中采样多个视图使我们的对比模块受益于探索多样化的半全局 (即,周围的上下文) 信息与它的区别 [42]。基于此,如图 2 最左侧所示,我们首先从输入图中采样一个目标节点,然后利用不同的图扩充对其周围的两个不同视图(局部子图)进行采样。尽管可以为 SL-GAD 配备两个以上的视图,但它可能会根据增强的选择引入冗余信息 [20]、[43],从而降低模型性能。

(SL-GAD 的概念框架,由三个主要部分组成:图视图采样、自监督判别和图异常评分。橙色和蓝色节点表示给定图中的异常节点和正常节点。首先,选定的目标节点和两个采样子图通过最左侧的 GNN 编码器进行编码。在此之后,中间部分引入了两个自监督目标,其中 D 和 R 是共享的判别器和回归器。GNN 解码器也在两个图形视图之间共享。最后,在最右边的部分,我们计算来自两个来源的每个节点的异常分数,其中异常可以很容易地被检测到(例如,橙色节点)。) 

        对于我们的生成目标,判别对是原始和重建的目标节点。在我们的对比目标中,目标节点和两个采样图视图由两个判别对组成。下面对上述处理步骤进行详细说明:

        1)目标节点采样。由于我们主要关注检测图中的节点级异常,因此需要先对目标节点进行采样。在本文中,我们通过无放回均匀采样从给定的输入图中采样目标节点。

        2) 图形视图采样。尽管已经在图上提出了几种扩充,例如节点特征屏蔽和边缘修改 [22],但这些扩充不适用于图异常检测,因为它们引入了额外的异常(例如,修改底层链接和节点特征)。或者,在本文中,我们利用重启随机游走 (RWR) [44] 作为增强,避免违反底层图形语义信息。具体来说,这种方法对以固定大小 K 的目标节点为中心的图形视图进行采样,该大小控制周围上下文的半径。值得注意的是,图扩散 [45] 也可能是我们方法的一种可能增强,可以进一步将全局信息注入我们的多视图对比中,我们将在未来的工作中保留它。

        3)图形视图匿名化。采样图视图中的目标节点是匿名的(即,其特征已归零)以增加两个预定义的自监督学习设定任务的难度,这有助于促进模型训练 [18]、[46]。这样,目标节点的原始属性信息就不会对其特征重构有帮助,也不会对图视图嵌入的计算有帮助。这种机制可以防止信息泄露,并鼓励模型依靠上下文信息来识别异常。

4.2 带有属性重构的生成学习

        正如[6]中所建议的,实例的异常通常可以反映为其原始信息和重建信息之间的不匹配程度。具体来说,这种类型的不匹配可以通过 2 范数距离来量化,其中距离越大表示重建误差越高,表明给定的实例更有可能是异常的。在现有的异常检测方法中,深度自动编码器(AE)[47]表现出了很强的性能。 AE 是一种神经网络,首先被引入以无监督方式学习潜在表示,它由两个组件组成:深度编码器和解码器。给定输入特征向量 x,典型的 AE 可以定义为:

        其中 x' = fdec(h) 和 h = fenc(x) 分别是深度解码器和编码器。 在上面的等式中,x'是重构的特征向量,h 表示 x 的潜在表示。 AE 的优化目标是使 x' 和 x 尽可能接近,这可以通过最小化它们的 2-范数距离来实现,即 ‖x' − x‖2 2,以鼓励 AE 学习之间的潜在不变模式输入。

        然而,在图异常检测的背景下,传统的AE只重建了节点的属性信息,没有考虑到底层的拓扑信息,不利于该任务的完成。

        为了减轻这种限制,如图 2 的中间部分所示,我们构建了一个具有两个组件的 GAE:基于 GNN 的编码器和解码器。

        基于 GNN 的编码器。给定目标节点 v_t 的两个图视图 G^{\phi _1}_tG^{\phi _2}_t,我们求助于通过 GNN 编码器将它们的高维节点特征转换为低维表示,公式为:

         其中 H_{\phi _i}X^{\phi_i}_t 和 A^{\phi_i}_t 分别表示 G^{\phi_i}_t 的节点嵌入矩阵、节点特征矩阵和邻接矩阵。 GNNenc(·)是图编码器,由一个L层GNN组成。具体来说,我们定义如下:

         其中 H^{(l)}_{\phi_i}[j,:] 表示 H^{(l)}_{\phi_i}v_j 的潜在向量,它是 G^{\phi_i}_t 在第 l 层的潜在表示。

        特别地,H_{\phi_i} = H^{(L)}_{\phi_i} 和 X_t^{\phi_i} = H^{(0)}_{\phi_i}

        在上面的公式中,我们使用 m^{(l)}_{\phi_i}[j,:] 表示第 l 层G^{\phi_i}_t 中 vj 的聚合消息。

         AGGREGATE^(l)(·) 和 COMBINE^(l)(·) 是典型 GNN 层中的消息聚合和组合(又名转换)函数.

        在本文中,为简单起见,我们应用一层 GCN [25] 作为我们的主干图编码器。这样,式(2)可以具体表述为:

         其中 。具体来说,σ(·) 表示非线性激活函数(例如 ReLU),而 Wenc 是我们的图形编码器中的可训练参数矩阵。

         基于 GNN 的解码器。同样,我们使用单个 GCN 层构建图解码器,这与等式 (4) 略有不同。在属性重构时,我们将节点嵌入矩阵作为输入,然后相应地重构节点特征:

        其中 Wdec 是我们的图形解码器中的可训练参数矩阵。

        生成图异常检测。通过聚合邻域信息,G^{\phi _1}_tG^{\phi _2}_t的属性重构主要基于以vt为中心的局部周围子图的属性信息。在本文中,我们将目标节点 v_t 在其两个图视图中匿名化,以完全基于上下文信息强制执行其属性重建。正如我们提到的,这个模式更好地反映了属性空间中的节点级异常。因此,我们建议在两个图形视图中最小化目标节点的原始特征和重建特征之间的均方误差 (MSE),如图 2 所示。 

         其中 xi 是目标节点 vi 的特征向量,并且 \widehat{X}^{\phi_j}_i[-1,:]表示匿名目标节点 v_i 在其第 j 个图视图中的重构特征向量。具体来说,\widehat{X}^{\phi_j}_i 可以通过方程(4)和(5)得到。最后,我们通过结合等式(6)中的 L^j_gen 得到我们的生成目标:

 4.3 多视角对比学习

        正如我们之前提到的,节点异常通常反映为节点与其周围上下文之间的不匹配

        我们的生成模块借助我们的 GNN 编码器和解码器识别属性空间中的异常,但尚未直接利用结构信息。

        为了克服这个限制并注入更丰富的结构信息,我们提出了一个多视图对比模块,它直接将目标节点与两个关联的图视图进行对比。与在节点级和属性空间中进行区分的生成目标不同,我们的多视图对比学习混合了不同的图拓扑尺度,它在嵌入和局部子图表示中区分目标节点的表示。结构空间,更强调半全局信息。如图 2 所示,我们的对比模块主要由三个不同的组件组成:图形编码器、读出模块和对比模块

         基于 GNN 的编码器。我们的对比模块将所选目标节点的节点特征向量和矩阵以及两个相关联的图视图作为输入,其中底层图编码器与生成模块共享相同的参数。两个图视图的编码已在等式(4)中制定,而目标节点特征向量的变换遵循不同的公式:

         其中 ht 和 xt 是目标节点 vt 的嵌入和特征向量。值得注意的是,单个目标节点没有底层图结构,因此式(4)中的图邻接矩阵在式(8)中被丢弃。因此,等式(8)等价于 xt 的非线性映射,其中 Wenc 与等式(4)共享。

        读出模块。由于我们的目标是直接将 ht 与周围的子图进行对比,因此我们有动机设计一个读出模块,以基于 H_{\phi_1} 和 H_{\phi_2} 生成两个半全局(子图级)表示,如图 2 的中间部分所示。

        通常,几个读出函数通常用于基于节点级嵌入生成图级表示,例如平均和可微分池 [20]、[48]。为了简单起见,我们在本文中采用平均池化,可以表示为:

         其中 g_{\phi_i} 表示视图 G^{\phi_i}_t的图级嵌入向量。 K 是图形视图中的节点数。

        对比模块。给定 h_tg_{\phi_1} 和 g_{\phi_2},我们的目标是成对区分它们。具体来说,我们首先将 vt 的正负对表示如下:

        其中 P^{\phi_i}_t 和\widetilde{P}^{\phi_i}_t 是所选目标节点 vt 的正负对。在等式(11)中,\widetilde{g}^{\phi_i}_t 表示负样本,它们是 G 中随机裁剪的子图的表示,不同于 G^{\phi _1}_t 和 G^{\phi _2}_t

         为了对比正负对中的两个元素,我们设计了一个基于双线性变换的鉴别器[15],其中 P^{\phi_i}_t 和 \widetilde{P}^{\phi_i}_t的鉴别分数定义如下:

         其中 s^{\phi_i}_t\widetilde{s}^{\phi_i}_t 是对 P^{\phi_i}_t\widetilde{P}^{\phi_i}_t的对比辨别分数。在上面的等式中,Ws ∈ RD' ×D' 是一个可学习的评分矩阵,它衡量两个输入向量之间的相似性。特别是,我们使用 sigmoid 函数作为上述两个方程中的非线性变换 σ(·),以确保我们的辨别分数落在 [0, 1] 范围内

         多视图对比图异常检测。从概念上讲,图异常在属性和拓扑角度上都应该与其周围的上下文不同。因此,我们推测  s^{\phi_i}_t应该明显大于\widetilde{s}^{\phi_i}_t ,这表明对于 G 中的大多数正常节点,目标节点表示(例如,ht)应该与其周围的上下文(例如,g_{\phi_i})共享更多相似性而不是其他子图(例如,\widetilde{g}_{\phi_i})。

         受此启发,我们基于 Jensen-Shannon 散度 [38] 形成了我们的多视图对比目标,它最大化了目标节点与其周围上下文之间的一致性:

        其中 L^j_{con} 表示图视图 j 在 G 中所有节点的对比损失。通过结合等式(14)中的L^j_{con},我们得到了最终的对比目标 

4.4 图异常评分 

         到目前为止,我们通过利用我们的生成和对比模块将节点与其上下文信息进行比较,引入了两种不同的自监督识别方案来检测图形异常。

        由于G中的大多数节点都不是异常,因此训练有素的图编码器和解码器可以将正常节点的特征向量映射到合适的潜在空间,反之亦然。 

         对于 G 中的异常,它们的嵌入和重构特征可能会因为它们的属性或结构异常而被扭曲。

         对于生成学习,匿名目标节点的属性重建完全基于其本地(即相邻)上下文信息,其中重建和原始特征向量之间的不匹配程度是衡量异常的理想指标一个节点。在本文中,我们采用`2范数距离作为生成异常评分函数。对于一个节点 vi ∈ V,我们定义这个函数如下:

         其中 fgen(vi) 表示 vi 的生成异常分数。上式中,\widehat{X}^{\phi_j}_i[-1,:]为vi的重构特征向量,由式(5)计算得到。具体来说,δ1 表示一个缩放器,它将一个 2 范数距离缩放到 [0, 1] 的范围。这样,如果 vi 是一个异常,则 fgen(vi) 应该接近 1,否则这个分数应该接近 0

        然而,我们的生成学习只关注属性空间上的节点级区分,其中没有直接利用图拓扑信息。为了克服这个限制,我们的对比模块直接在嵌入空间上区分目标节点和周围的子图,其中等式(12)和(13)中的区分分数可以自然地组合以形成异常度量。受[15]的启发,对于节点 vi ∈ V,我们将对比异常评分函数定义如下:

         其中 fcon(vi) 表示 vi 的对比异常分数。具体来说,s^{\phi_j}_i\widetilde{s}^{\phi_j}_i是等式(12)和(13)中定义的正负对比辨别分数。如果 vi 是正常节点,则 s^{\phi_j}_i 预计接近 1,\widetilde{s}^{\phi_j}_i 很可能接近 0。否则,如果 vi 是异常节点,s^{\phi_j}_i 和\widetilde{s}^{\phi_j}_i 预计接近 0.5,因为vi 与其周围子图之间的不匹配。因此,\widetilde{s}^{\phi_j}_i - s^{\phi_j}_i落在 [-1, 0] 的范围内。通过引入一个缩放器 δ2,我们最终的对比异常分数将被缩放到 [0, 1] 的范围内。

        通过结合上述两个异常评分函数,我们得到了最终的图异常评分函数来估计节点 vi ∈ V 的异常: 

         其中 α 和 β 是两个可调的平衡因子,用于衡量对比和生成评分函数的重要性。在实践中,如 [15] 中所建议的,我们可能必须重复此计算 R 次以获得统计上稳定的异常分数。这是因为两个采样图视图G^{\phi _1}_t  和 G^{\phi _2}_t 是对 vt 上下文信息的部分观察,可能不足以估计 vt 的异常。

 4.5 模型优化与算法

        通过结合等式(7)和(15)中的生成目标和对比目标,我们得到了最终的优化目标:

         其中 L 是要最小化的训练损失。 α和β是两个平衡因子,与式(18)相同,用于平衡两个自监督模块的重要性。

        所提出的 SL-GAD 的总体过程总结在算法 1 中。首先,我们从输入图中采样一批节点。对于每个节点,我们生成两个图形视图。

        在此之后,批处理中的节点和相关的图形视图通过可训练的 GNN 编码器进行编码。为了计算生成损失,图视图的节点嵌入通过 GNN 解码器进行解码,我们的目标是在每个图视图中重建匿名目标节点的特征向量。然后,我们将节点的重构特征向量与其原始特征向量进行比较。同时,聚合图视图的节点嵌入以生成视图表示,然后将其与目标节点嵌入进行比较以计算对比损失。最后,通过结合两个不同的目标,我们计算最终的训练损失,其中可以通过反向传播更新不同的可训练参数。在推理过程中,G中每个节点的异常分数将被重复计算R次每次采样不同的图视图,从而确保最终的异常分数在统计上是稳定的

4.5.1 复杂性分析

        在本小节中,我们分析了所提出的 SL-GAD 算法的时间复杂度。对于选定目标节点 vt 上的图视图采样,我们基于 RWR 的方法的时间复杂度为 O(ηK),其中 η 表示图中的平均节点度。给定具有 K 个节点的图视图 G^{\phi_i}_t,所提出的两个自监督学习模块的时间复杂度为 O(K^2)。因此,考虑具有 N 个节点的图,我们算法的训练复杂度为 O(N K(η + K))。在推理过程中,我们的图形异常评分具有恒定的时间复杂度。考虑到我们有 R 轮评估,在考虑模型训练和推理时,我们算法的时间复杂度为 O(RN K(η + K))。

5 实验研究

        在本节中,我们对六个真实世界的基准数据集进行了综合实验,以证明我们提出的 SL-GAD 模型的有效性。我们将我们的方法与最先进的异常检测和自监督学习方法进行比较,并按照它们的配置进行我们的实验以进行公平比较。我们进行消融研究和参数敏感性实验以进一步研究 SL-GAD 的特性.

5.1 数据集描述

        为了评估 SL-GAD 和竞争对手的表现,六个真实世界的图形数据集,包括两个社交网络数据集和四个引文网络数据集,在我们的实验中被用作基准。我们提供这些数据集的描述如下:

        社交网络。 Blogcatalog 和 Flickr [49] (http://socialcomputing.asu.edu/pages/datasets)是两个社交网络数据集,其数据分别来自博客共享网站 BlogCatalog 和图像共享网站 Flickr。在这些社交网络数据集中,每个节点代表网站的一个用户,每个链接表示两个用户之间的以下关系。用户的个性化内容(例如,发布博客或分享带有标签描述的照片)被提取为节点特征。

        引文网络。 Cora、CiteSeer、Pubmed [51] 和 ACM [50] 是四个公共引用图数据集。数据是从相应的出版物数据库中收集的。在这些图中,每个节点是一篇发表的论文,而每条边表示两篇论文之间的引用关系。每篇论文的文本内容被视为其节点特征.

        由于这些数据集中不包含真实异常,我们需要手动将合成异常数据注入原始数据。为了公平比较,我们遵循 [6] 和 [15] 中使用的异常生成策略。具体来说,当注入属性异常时,我们选择 N_a 个节点,然后用随机选择的远距离节点的特征替换它们的特征。在此之后,我们通过选择N'_a 节点并使它们完全连接,进一步将相同数量的结构异常注入到六个数据集中。我们重复这个过程 q 次,使得 Na = q × N ′ a。表 2 还总结了异常总数以及数据集统计信息。

 5.2 实验设置

        我们在本小节中说明了实验设置,包括基线方法、评估指标和参数设置。

        基线。我们将 SL-GAD 与五种最先进的异常检测和自我监督学习方法进行比较。我们简要介绍这些方法如下:

        AMEN [3] 通过自我网络分析检测异常。它评估自我网络中不同节点之间属性的相关性,以区分异常信息。

        Radar [4] 利用残差分析来识别图形中的异常。它考虑了属性信息的残差和与图的一致性信息来检测异常。

        ANOMALOUS [5] 通过考虑CUR 分解和残差分析来学习异常模式。采用联合学习框架来选择信息属性来检测异常;

        DOMINANT [6] 是一种基于深度学习的图异常检测方法。它利用图形自动编码器同​​时重建邻接矩阵和特征矩阵来学习图形的正常模式。然后,通过节点的重构误差来衡量每个节点的异常情况。

        DGI [52] 是一种基于无监督对比的代表性自监督学习方法。它通过最大化每个节点与全图之间的嵌入协议来学习节点表示。对于这种方法,我们利用其经过训练的双线性鉴别器和等式(17)对节点异常进行评分。

        CoLA [15] 是一种基于对比自监督学习的异常检测方法。它通过使用基于 GNN 的编码器模型评估每个节点与其相邻子图之间的一致性来捕获异常模式。

        指标。我们利用 ROC-AUC(一种广泛应用于异常检测的指标)来量化 SL-GAD 和竞争对手的性能。 ROC 曲线表示真阳性率(异常被识别为异常)与假阳性率(正常节点被识别为异常)的关系图。AUC是一个范围为0,1]的值,表示ROC曲线下的面积。AUC值越大,检测性能越好。

        参数设置。出于效率考虑,我们将采样子图大小 K 设置为 4。 GNN 编码器是一层 GCN 模型,其中隐藏维度 D' 为 64。对于所有数据集,α 固定为 1,而 β 选自 {0.2, 0.4, 0.6, 0.8, 1}。辨别模块是用 Adam 优化器训练的。 Cora、Citeseer、Pubmed 和 Flickr 的学习率为 0.001,BlogCatalog 为 0.003,ACM 为 0.0005。 BlogCatalog、Flickr和ACM的epoch数为400,Cora、Citeseer和Pubmed的epoch数为100。评估轮数R为256。

5.3 与最先进方法的比较

        我们将我们提出的 SL-GAD 与本小节中的六种基线方法进行比较。 ROC 曲线的比较如图 3 所示,AUC 值的结果如表 3 所示。根据这些结果,我们将观察结果总结如下:

         所提出的方法 SL-GAD 优于所有基准数据集上的所有基线方法,证明了其检测具有高维节点特征的图数据异常的能力。这背后的原因是 SL-GAD 通过联合利用生成和对比自监督学习来捕获异常模式;

        浅层方法(AMEN、Radar 和 ANOMALOUS)在我们的实验中没有显示出有竞争力的异常检测性能。这是因为这些机制从具有高维特征和复杂结构的图中区分异常的能力有限,从而导致性能相对较差。

        与其他深度方法相比,SL-GAD 表现出更强的检测性能和泛化能力。一个可能的原因是这些基线仅采用一种学习策略(例如,DOMINANT 仅使用重建,而 CoLA 仅考虑对比),这导致异常检测的次优解决方案。相比之下,SL-GAD 联合利用两种自监督学习策略(生成和对比),它们相互利用以获得更高的性能。

        与社交网络(BlogCatalog 和 Flickr)相比,我们的方法在检测引文网络(ACM、Cora、CiteSeer 和 Pubmed)中的异常方面获得了更可观的性能提升。我们观察到这些社交网络的度数(平均度数 = 32.35)比引文网络(平均度数 = 2.51)更显着,这可能会在对固定大小的子图视图进行采样时导致信息丢失。我们将高-度图的有效视图采样策略作为我们未来的工作。

5.4 组件的有效性

        我们在这个实验中研究了我们方法的不同组成部分的影响。我们首先考虑SL-GAD的两个变体,其中SL-GAD- con只使用对比自监督学习来识别异常节点,但不包括生成项,SL-GAD- gen只考虑特征重建来检测异常,而从训练损失和异常评分中去除对比项。

        为了研究设计的异常评分函数的有效性,我们进一步构建了 SL-GAD-Unscaled 和 SL-GAD-Unweighted,其中第一个变体去除了等式(16)和(17)中的定标器,第二个变体对生成异常和对比异常求和以未加权的方式得分,即等式(18)中的 α = β = 1。我们在表 4 中报告了以下观察结果:

 6 结论

        在本文中,我们研究了无监督图异常检测问题。我们认为现有方法没有充分利用目标节点的上下文信息,并且严重依赖可用的监督信号来检测图形异常。我们提出了一种新颖的自监督方法 SL-GAD,用于图形异常检测。我们的方法首先生成目标节点的两个不同子图视图作为其上下文信息。然后,我们使用两个关键组件,即生成属性重建和多视图对比学习来完成这项任务。属性重建利用生成学习模式,识别属性空间中与其邻居不同的节点,而多视图对比直接在隐藏和结构空间中告诉节点和周围上下文之间的差异。六个数据集的实验结果证明了所提出算法的卓越性能。

        所提出的方法是手动设计用于异常检测的。将来,我们将结合神经架构搜索方法 [53]、[54]、[55] 来自动设计异常检测模型。        

猜你喜欢

转载自blog.csdn.net/qq_40671063/article/details/130042216