GAD-NR: Graph Anomaly Detection via Neighborhood Reconstruction
摘要
图异常检测(Graph Anomaly Detection)(GAD)是一种用于识别图中异常节点的技术,应用于网络安全、欺诈检测、社交媒体垃圾信息检测及其他多个领域。GAD的常见方法之一是图自编码器(Graph AutoEncoders)(GAEs),它将图数据编码成节点表示,并通过评估基于这些表示的图重构质量来识别异常。然而,现有的GAE模型主要优化了直接链接重构,导致在潜在空间中连接的节点被聚类。因此,它们擅长检测聚类类型的结构异常,但难以处理不符合聚类的更复杂的结构异常。为了解决这一局限性,我们提出了一种名为GAD-NR的新型GAE变体,它结合了邻域重构来进行图异常检测。GAD-NR(Neighborhood Reconstruction)旨在重构节点的整个邻域,包括局部结构、自身属性和邻居属性,基于相应的节点表示。通过比较异常节点与正常节点之间的邻域重构损失,GAD-NR可以有效地检测任何异常。在六个真实世界数据集上进行的广泛实验验证了GAD-NR的有效性,显示出与最先进竞争者相比显著的改进(在AUC上提高了高达30%)。GAD-NR的源代码是公开可用的。重要的是,比较分析揭示了现有方法仅在检测三种研究中的一种或两种类型的异常时表现良好。相比之下,GAD-NR在检测数据集中所有三种类型的异常方面表现卓越,展示了其全面的异常检测能力。
关键词
异常检测,图神经网络,自编码器
1 引言
异常检测旨在识别显著偏离常态的实体,已被用于多种应用场景,例如揭露社交网络中的欺诈或垃圾活动[26, 63, 72, 76, 84, 85]以及金融交易网络[10, 18, 19, 55, 67, 69, 74]。
与表格数据和时间序列数据的异常检测方法不同,图异常检测(GAD)[3, 49?]提出了额外的挑战。图数据通常是多模态的,包含节点/边属性和拓扑结构的信息。这种复杂性使得为图结构数据找到一个统一的异常定义以及设计一个有原则的检测算法变得困难。
由于图结构数据的固有多模态性,图上的异常可以分为三类:上下文异常、结构异常和联合类型异常,如图1所示。
上下文异常(Contextual Anomaly)指的是那些属性与常规节点截然不同的节点,例如社交媒体网络中的垃圾信息发送者或虚假账户持有者[29, 32, 80]。
结构异常(Structural Anomaly)指的是与其他节点的连接模式不同的节点,例如一群恶意卖家通过超密集的连接交换假评论[73]或者机器人转发同一条推文形成密集连接的共转发网络[21, 28](具体来说,它指的是一群机器人账号(自动化的、非人类操作的账户)重复转发(即共转发)同一条推文,从而在网络中形成一个密集连接的子网络或者子图。这个密集连接的子网络由于机器人账号之间大量的互相转发行为而显著区别于正常的用户行为模式。)。
联合类型异常(Joint-type Anomaly)是那些只能通过同时考虑属性和连接模式来识别的异常,例如在电子邮件网络中向不同社区的用户发送大量钓鱼邮件的节点[35, 54]。为了识别所有这些类型的异常,我们需要一个强大的模型来捕捉属性信息、连接模式,以及最重要的它们之间的相关性。
图1:上下文异常在特征方面存在差异,结构异常在网络中构成了密集的子图,而联合型异常则与多个具有不同特征的节点建立了连接。
然而,目前的图异常检测(GAD)方法[3, 45, 49]只能有效检测这些异常中的一种或两种,而不能全面检测所有类型的异常。一些GAD方法仅利用网络结构,无法检测上下文异常。例如,检查中心性测量或聚类系数的方法[50, 65]、基于邻接矩阵分解的方法[71]以及进行网络聚类的方法[82]。一些方法检查节点特征的分布来检测异常[5, 43],比如使用节点特征上的k近邻算法,以检测与其他节点隔离的节点。这些方法未能检测除上下文异常之外的其他类型的异常。
近期,自编码器被广泛用于异常检测[7, 15, 20, 36, 61]。其理由在于,自编码器利用神经网络降低数据维度(自编码器利用神经网络降低数据维度这一过程,指的是自编码器通过神经网络模型对数据进行编码和解码,以实现数据维度的减少和特征的压缩。这里的“降低数据维度”意味着将数据从高维空间转换到低维空间,同时尽可能保留原始数据的重要信息或特征。)。数据中的异常通常是稀疏的,因此这样的数据压缩过程倾向于仅记录数据的主要部分,并自动排除稀疏异常。因此,可以使用获得的压缩数据表示来近似重构正常数据,但不能重构异常数据。监控重构损失因此可以从正常数据中识别出那些异常。对于GAD,已经提出使用图神经网络(GNNs)[25, 38, 81]的图自编码器(GAEs)来编码图结构和节点属性,最近这些方法已被用于检测图上的异常[15, 20, 36]。
然而,当前基于图自编码器(GAE)的方法[15, 20, 36]通常采取的策略是基于它们的表示重构节点之间的直接链接,这会使得在潜在空间中原本在图结构中相连的节点彼此靠近。这种以邻近性为驱动的损失函数来重构图结构可能有效地检测那些在图中本身就聚集在一起的结构异常。然而,它们无法检测那些不自然聚集的联合类型异常。直观地讲,联合类型的异常依赖于整个邻域来正确检测,因为哪些节点是相连的以及这些相邻节点上的属性信息对于检测是有用的。
在本文中,我们解决了当前的限制,并提出了一个新颖的框架:通过邻域重构进行图异常检测(GAD-NR)。GAD-NR扩展了最近提出的基于邻域重构的图自编码器模型,即NWRGAE[70],以解决GAD中的基本问题。具体来说,与其使用基于邻近性的损失来恢复直接链接,GAD-NR要求利用降维后的节点表示来重构整个邻域,即通过GNN编码/压缩(GNN:Graph Neural Network,图神经网络)到节点表示中的接收场(在GNN中,“接收场”(Receptive Field)是指一个节点能够从其邻居节点收集信息的范围。具体来说,一个节点的接收场包括了它自己和它可以直接或间接通过边连接到的所有节点。)。具体而言,GAD-NR旨在重构个体自身的属性、其连接模式,以及其相邻节点的属性。通过检查不同类型的重构损失,GAD-NR能够检测所有三种类型的异常。
重构损失是衡量原始数据与通过模型重构后数据之间差异的度量,常用于自编码器等神经网络模型中评估重构质量。这个差异通常通过均方误差(MSE)或交叉熵计算。重构损失较小意味着模型重构能力强,性能好。在异常检测中,通过比较重构损失的大小,可以区分正常和异常数据点。
GAD-NR的主要创新之处在于,它是首个将邻域重构确定为图异常检测(GAD)的一个强大度量的工作,这与之前采用链接重构/预测度量的图自编码器(GAE)模型有着根本的不同。此外,GAD-NR还在技术层面上改进了针对GAD任务的基础模型NWRGAE[70],在稳定性、可扩展性和准确性上取得了实质性提升。具体来说,GAD-NR采用高斯近似来处理邻居特征分布,这不仅大幅降低了NWRGAE的计算成本,也避免了学习过于表达式的模型,从而降低了数据中异常行为过拟合的风险。这一非平凡的改变使得最初仅为降维而提出的NWR-GAE现在也适用于GAD任务。
我们在六个最近基准化的真实世界图异常检测数据集上广泛比较了GAD-NR与最先进(SOTA,state-of-the-art)模型[45]。在这六个数据集中的五个上,GAD-NR按照[45]中的设置显著超越了所有基准线(在AUC上最高提高了30%)。我们还评估并展示了GAD-NR检测三种类型异常的能力。
方法类别 | 上下文异常 | 结构异常 | 联合类型异常 |
---|---|---|---|
基于结构的方法 SCAN [82] 和其他 [50, 65, 71] | ✗ | ✓ | ✗ |
基于特征的方法 LOF [5], IF [43], MLPAE [61] | ✓ | ✗ | ✗ |
带邻近性驱动损失的GAE AnomalyDAE [20], GCNAE [36] DOMINANT [15] | ✓ | ✓ | ✗ |
GAD-NR(我们的) | ✓ | ✓ | ✓ |
表1:当前最先进的方法在上下文或密集连接的结构异常上表现良好,而具有完整邻域重构原则的GAD-NR发现在检测这两种类型的异常以及连接大量具有不同特征的节点的联合型异常方面具有优势。
需要注意的是,在实际应用中,异常的类型往往是未知的。GAD-NR的重要性在于,它能够在不同数据集(在[45]中)上检测真实世界的异常,且只需一套固定的超参数配置,这展示了GAD-NR的鲁棒性。进一步的消融研究(消融研究指的是在科学研究或工程项目中,通过系统地移除或修改模型的某些部分(例如特征、组件或参数),来观察这些改变对模型性能的影响)也证明了与NWR-GAE[70]相比,GAD-NR采用的高斯近似对于GAD的有效性和计算效率。
本文的贡献可以总结如下:
1、我们设计了一个新颖的图异常检测框架GAD-NR。GAD-NR利用从节点表示中重构整个邻域的重构损失,原则上可以检测图1中的所有三种类型的异常。
2、在技术层面,GAD-NR采用了对邻居表示分布的高斯近似,并计算封闭形式的KL散度作为重构损失,这大大提高了方法的可扩展性和有效性。
3、在六个真实世界网络上的广泛实验展示了GAD-NR与最先进基准相比的有效性,以及GAD-NR设计细节的合理性。
2 相关工作
我们将先前针对GAD的方法分为以下三类。
基于结构的方法:传统的图异常检测侧重于仅检测结构异常。这一类别中的许多工作利用邻接矩阵及其变体的谱分析 [31, 51]。最近的方法为异常定义了结构相似性度量,然后采用聚类方法进行检测 [56, 82]。基于图结构计算的统计特征,如节点的入度/出度、边的总权重、节点的邻居数量或密集子图,可以用于GAD [2, 17, 28]。然而,这些基于结构的方法仅能检测结构异常。它们可能会检测到一些联合型异常,但由于缺少节点属性信息,它们往往会产生大量误报。
基于属性网络的传统方法:在实际应用中,大多数图都具有节点属性(特征)。具有不一致属性的节点很可能是异常节点。此外,考虑节点属性信息以及结构信息有助于更准确地定位异常。通过聚类方法 [9, 59]、与人类专家的交互 [16]、群体合并技术 [90] 可以在属性网络中检测异常。网络嵌入方法 [23, 60, 68] 也可以应用于属性图的GAD [6, 8]。网络嵌入可以与基于密度的方法 [5] 和基于距离的技术 [1, 43] 相结合,用于在图上找到节点异常。然而,这些方法由于单独处理图结构和节点属性,往往无法捕捉图结构和节点属性的协同作用,在某些情况下可能不够优化用于GAD。
基于深度学习的GAD方法:自动编码器框架通过深度学习从数据中提取主要成分,在异常检测中得到了广泛应用 [7, 15, 20, 36, 48]。将传统的自动编码器应用于节点属性 [61] 只能检测到上下文异常。基于GNN的GAE可以正确地结合节点属性和图结构,并且可以通过检查节点属性或链接的重构损失来检测异常 [15, 20, 36]。但是,这些方法并未为GAD重构整个邻域。相反,它们使用重构误差,同时也应用高斯混合密度用于GAD [42]。一些方法将节点视为具有多个视图,节点在不同视图中可能被视为异常或非异常。这些节点持有来自身份多个视图的属性。为了捕捉这种多视图信息,通常会应用多个GNN进行异常检测 [47, 57, 66, 78, 79]。GNNs还被应用于在多个尺度上检测异常,以及同时检测异常并解决推荐任务 [75, 87]。更复杂的技术,如自监督学习 [13, 30, 33, 46, 83, 89] 和强化学习 [16, 40, 52] 也已被应用于GAD。
欢迎关注:https://blog.csdn.net/hanhanwanghaha
3 符号定义与问题阐述
4 研究方法
在本节中,我们首先通过讲述之前的图自动编码器方法可能存在的缺陷来提供我们方法的动机。然后,我们引入基于邻域重构的GAD-NR。
个人解读:
第4部分详细讨论GAD-NR这一方法利用神经网络理解图的结构,通过检查节点(网络中的实体)及其邻居之间的连接。
编码器(Encoder):在本研究中,编码器的作用是捕捉每个节点及其邻居的信息,并将这些信息转换成一个压缩的低维表示形式。这个过程像是把节点的信息“打包”,只保留最核心的特征。
解码器(Decoder):解码器的任务是尝试从这些压缩的表示中重建节点和它们的邻居关系。如果能够准确地重建出原来的信息,这就表明编码器捕捉的信息是足够的。
在GAD-NR方法中,使用这些压缩和重建的步骤来发现异常:如果一个节点或其模式无法被精确重建,可能就是一个异常,需要进一步的关注。文档中的数学公式是用来精确描述这些步骤和计算的。
欢迎关注:https://blog.csdn.net/hanhanwanghaha
4.1 研究动机
自动编码器(AE)是一种易于使用且有效的异常检测框架。AE的初衷是通过编码器将高维输入数据压缩成低维潜在表示[27],并借助解码器重构原始输入来实现降维。之所以AE可以用于异常检测,是因为这种降维被期望能够捕捉到大部分对应于正常数据点的数据的主要特性。那些无法通过解码器恰当重构的数据点,即那些具有较大重构损失的数据点,往往被认为是异常。
图自动编码器(GAE)通过图神经网络(GNN)作为编码器来执行图数据的降维 [37]。给定一个图 G=(V,E),GAE将图数据编码为节点表示 {h𝑣|𝑣 ∈ 𝑉 }。当前GAE方法的解码器旨在从这些节点表示中重构图结构和节点属性。关于图结构重构,它通常依赖于将两个节点的表示映射到0或1,以表示它们之间是否存在边缘 [15, 20],例如,比较 ℎ⊤𝑢 h𝑣 与某个阈值 θ 来重构边缘。(
)然而,此过程只能保留图中节点的邻近信息,即如果对应节点在图中直接连接,则将节点表示拉近,这可能会遗漏检测异常所需的有用信息。此外,通过检查重构损失,人们可能只能判断一个边缘是否异常。为了检测在实践中往往更有用的节点异常,需要将边缘的重构损失聚合到节点级别,以及如何恰当地聚合这些损失本身就不是一个简单的问题,通常依赖于启发式方法。
4.2 通过邻域重构的GAE
我们克服传统GAE缺点的策略源于自动编码器的首要原理。自动编码器旨在执行数据的降维,同时尽可能少地损失信息以恢复原始数据。GAE将每个节点的属性及其一跳或多跳邻域内的节点属性编码为节点表示。因此,节点表示应能够尽可能少地损失地重构邻域及其属性。这一思想引导了本工作中GAE的设计。模型架构如图2所示,并在算法1中描述了伪代
码。
图2:GAD-NR的模型架构。编码器(左)使用MLP(Multilayer Perceptron,多层感知机)和消息传递GNN进行维度降低,以获得节点的隐藏表示。解码器(右)通过MLP重构自身特征和节点度,并使用MLP预测的重新参数化的高斯分布来估计邻居特征分布。自身特征和节点度的重构通过MSE损失(Mean Squared Error,均方误差)进行优化,而地面真实值与学习到的邻居特征分布之间的KL散度(KL散度(Kullback-Leibler散度),也称为相对熵,是衡量两个概率分布P和Q差异的非对称性指标。)用于分布估计的优化。
这两个图要配套看,就更加清晰明白:
4.2.1 编码器
编码器Φ(·)遵循消息传递GNN的常见流程,例如GCN [38] (GCN代表图卷积网络)或GraphSAGE[25] (GraphSAGE是一种图神经网络,专为大规模图数据设计。它通过随机采样邻居节点并聚合这些邻居的特征信息来生成节点的嵌入,支持对新节点进行归纳学习,适用于节点分类、图分类和链接预测等任务。)。
GNN将进一步迭代地聚合来自邻居的表示,并将它们与自己的表示结合起来,以更新表示。具体来说,设 AGG函数聚合来自邻居的消息,而UPDATE函数更新节点表示。注意,在实践中,如果节点属性 xu是极高维度且稀疏的,一个随机线性投影被用来将它们编码成一个密集的低维表示
4.2.2 解码器
请注意,上述计算的复杂度,包括方程(4),(5)和(6),是 O(du),这显著降低了文献 [70] 中管道的复杂度。剩下的挑战是,由于节点度在不同节点间的变化,方程(4)的计算是不规则的。为此,我们扩展了在主要邻域聚合 [14] 中采用的包,以便能够在不同节点间高效地并行实现方程(4)。
4.2.3 总体重建损失
总体重建损失是重建节点自身属性的损失(方程(2)),节点度的损失(方程(3))以及邻居表示分布的损失(方程(6))的组合:
4.3 异常检测
我们可以采用方程(7)中的Lu 作为分数来表征每个节点u的异常性。得分越高,意味着编码信息更难被重构,因此相应节点更有可能是异常。如果对检测的异常类型有不同的置信度或一些先验知识,可以采用不同的超参数λ’x、λ’d、和λ’n例如,如果倾向于检测上下文异常,可以增加λ’x。为了体现这种灵活性,定义了异常得分
,这个排名指出哪些节点更有可能是异常。尽管这里不同的权重强调了检测不同类型的异常,我们在第5节展示了GAD-NR对于这些权重选择的鲁棒性,一个固定的权重选择就足以超越基线模型,在不同的数据集上检测真实世界的异常。
4.4 相较于NWR-GAE的改进
我们提供了GAD-NR如何改进邻域重构思想的更直接解释(这一思想最初在NWR-GAE中被提出,用于降维而非图异常检测(GAD)),以更好地适应GAD任务。NWR-GAE基于最优传输损失构建,并需要为每个节点运行一个复杂的匈牙利匹配算法来重构其邻居的属性以计算损失函数。这样的复杂度对于度为d的节点是O(d3 )。相比之下,GAD-NR将邻居的属性表示视为来自高斯分布的样本,并采用高斯分布之间的KL散度作为重构损失,这有一个封闭形式且复杂度为O(d)。这种近似对于GAD任务至关重要:
NWR-GAE没有采用这种近似,因为NWR-GAE的目标是进行降维。实现低降维误差是NWR-GAE的最终目标。因此,NWR-GAE需要足够表达能力以使低维表示能够恢复高维数据。然而,GAD任务有不同的目标。GAD模型不应该过于表达能力强,否则有过拟合异常的风险。GAD-NR正好采取了正确的折中方案,采用了高斯近似(仅通过检查分布的一阶和二阶矩),这不仅提高了异常检测的准确性,而且大大降低了计算复杂度。此外,NWR-GAE还支持重建多跳邻居。然而,我们发现在GAD任务中,多跳重建并没有带来明显的改进,而且引入了大量的计算开销,因此GAD-NR在实践中只考虑第一跳。
5 实验
我们广泛地将GAD-NR与几种基线方法进行了图异常检测的比较。具体来说,我们旨在回答以下问题:
- 邻域重构如何在GAD-NR的图异常检测(GAD)性能提升中起到作用?
- GAD-NR中哪一部分对不同类型的异常检测很重要?
- 重要的超参数,如隐藏表示的大小和不同类型重构损失之前的权重,如何影响GAD-NR的性能?
- 采用的高斯近似邻域特征分布如何提高GAD-NR的运行时间效率?
5.1 数据集和基线
我们纳入了六个真实世界的数据集(Cora、Weibo、Reddit、Disney、Books和Enron)和十四个基线异常检测模型,以进行比较,这一比较遵循了BOND[44]论文。在基线模型中,我们包括了基于特征的模型LOF[5]、IF[43]、MLPAE[61]和基于结构的AD模型SCAN[82]。我们还将GAD-NR与那些同时关注结构和属性通过残差重构误差的模型进行了比较,如Radar[41]和ANOMALOUS[56]。最后,我们还纳入了一些流行的生成模型用于GAD,包括自动编码器架构GCNAE[36]、DOMINANT[15]、DONE和AdONE[7]、AnomalyDAE[20]、基于对抗学习的方法GAAN[11]以及基于对比学习的方法CONAD[83]。
5.2 实验设置
我们的第一个实验设置遵循了基准论文BOND[45]。需要注意的是,在这些数据集中,Weibo、Reddit、Disney、Books和Enron拥有真实世界的异常标签。对于Cora数据集,没有真实的基准异常标签,所以我们遵循BOND论文,其中上下文和结构异常的联合被认为是评估Cora数据集中的异常标签。结果报告在表2中。我们称这个设置为基准异常检测。此外,我们还尝试单独检测每种类型的异常的性能,所以对于每个数据集,包括那些带有真实世界标签的数据集,我们也注入了上下文、结构和联合类型的异常进行评估,这在表3中给出了后续结果。由于页面限制,我们在这项工作中将上下文和合并的结构及联合类型异常检测结果一起呈现。
上下文异常是指其属性与邻近节点显著不同的节点。因此,为了为目标节点u生成此类异常,我们将其特征xu替换为另一个随机采样节点v的特征xv,其中xv与xu的欧几里得距离最大。让n表示上下文异常节点的数量,
q表示上述过程中随机采样的候选节点数量。结构异常是指与稀疏连接的正常节点相反密集连接的节点。为了注入结构异常,我们随机考虑m个节点,然后使它们完全连接,这个过程将重复n次,以生成n个大小为m的团。根据BOND论文,我们大约将q和m设置为大多数数据集的平均度的两倍。为了在不同的数据集中添加联合类型异常,我们随机选择n个节点作为异常。然后,我们将这些n个节点与随机采样的m个其他节点连接。因此,这些异常节点可以被视为与具有不同类型特征的邻居连接的高度节点。我们利用PyGOD库[45]来注入上下文和结构异常,并运行基线异常检测模型。
超参数调优 在实际应用中,我们往往没有异常标签来调整模型参数。一般情况下,超参数的选择基于专家经验,一个良好的模型应该通过这样一组超参数展现出鲁棒性。因此,我们为所有数据集的实验固定了GAD-NR的编码器为GCN,隐藏层维度设置为16(对Cora数据集则使用128),并将解码器的超参数定为λx=0.8、λd=0.5、λn=0.001,进行五次实验并报告平均性能及其标准差。通过这一固定超参数配置,我们将GAD-NR的性能与基准文献[44]中提出的基线模型的平均性能进行了比较。实验结果表明,通过设置一组对数据集不敏感的超参数,GAD-NR能够超越基线模型,这在实际应用中具有重要意义。\
为了与[44]中报告的基线模型的最佳性能进行比较,我们还为每个数据集执行了GAD-NR的超参数的网格搜索,如下所示:1) 自属性重构权重λx∈{0.1,0.5,0.8,0.9}和
λ′x∈{0.25,0.5,0.75,1.0,1.25,1.5,1.75,2.0},2) 度重构权重λd∈{0.1,0.5,0.8}和
λ′d∈{0.25,0.5,0.75,1.0,1.25,1.5,1.75,2.0},3) 邻域重构权重λn∈{0.001,0.5,0.8}和
λ′n∈{0.25,0.5,0.75,1.0,1.25,1.5,1.75,2.0},4) 隐藏层的维数
{8,16,32,64,128},5) 编码器GNN,Φ∈{GCN,GraphSAGE,GIN}。
硬件 所有实验均在配备2.99GHz AMD EPYC 7313 16核处理器和1 NVIDIA A10 GPU(具有24GB内存)的Linux服务器上进行。
5.3 评估指标
我们采用ROC曲线下面积(AUC)作为评估指标。ROC曲线通过在不同阈值设置下绘制真正率(TPR)对假正率(FPR)的图形来创建。在实验中,我们将异常节点视为正类,并为其计算AUC。AUC等于1意味着模型做出了完美的预测,而AUC等于0.5则意味着模型没有区分能力。在评估异常检测任务时,AUC比准确率更优,因为它不受数据类别分布不平衡的影响。
(degree recon 度重构 (degree reconstruction)
feat. recon 特征重构 (feature reconstruction)
neighbor recon 邻居重构 (neighbor reconstruction)
)
表2:“GAD-NR在六个不同真实世界数据集(Cora数据集注入异常)的基准异常检测中的性能比较(ROC-AUC)”。对于基线方法的结果,我们遵循了BOND[44]论文,报告了平均性能±性能的标准差(最大性能)。对于我们的模型GAD-NR,我们固定超参数
λx=0.8、λd=0.5和λn=0.001,并报告所有数据集的平均性能±性能的标准差,包括每个数据集中调整超参数后的最佳性能。最佳和次佳性能分别用粗体和下划线标出,OOM_C表示由于GPU内存溢出。
表3:“GAD-NR在不同真实世界数据集中的上下文(上)和结构+联合类型(下)异常检测的性能比较(ROC-AUC)”。最佳和次佳性能分别用粗体和下划线标出,OOM_C表示由于GPU内存溢出。
表4:“NWR-GAE[70]和我们的模型GAD-NR之间的直接性能比较”。
这些表格在网络空间安全领域的研究中,展示了GAD-NR模型在处理各种真实世界数据集的异常检测任务上的性能,通过ROC-AUC指标进行评估。通过对比不同模型和设置,研究旨在展示GAD-NR在识别异常方面的有效性和鲁棒性,以及在不同异常类型检测任务上的表现。
5.4 检测性能对比
5.4.1 GAD-NR在各种类型的异常检测中展现出卓越性能。
在表2中,我们展示了GAD-NR在基准异常检测任务中相对于基线模型的结果。在表3中,我们呈现了在注入上下文、结构及联合类型异常检测中的结果。从这些结果中,我们可以观察到GAD-NR在大多数数据集上检测基准异常标签、上下文异常标签以及结构+联合类型异常时,性能均优于基线方法。
性能提升的关键原因可归因于对目标节点周围完整邻域的重构,包括其自特征重构、度重构以及邻居特征分布重构。
如MLPAE这类基于特征的模型在检测上下文异常方面做得很好,特别是在Cora数据集上,因为它们重视自特征的重构。然而,MLPAE在检测联合类型和结构异常方面表现较差,因为它们忽略了图结构。那些只考虑结构信息的方法,比如SCAN,在检测结构+联合类型异常方面表现非常好,但在上下文异常检测方面能力较弱。对于基于GAE的模型,其性能更具竞争力,尽管在表2和表3中仍不如GAD-NR。
5.4.2 不同类型重构损失的影响。
在表2和表3中,除了展示GAD-NR在三种类型重构损失下的表现外,我们还展示了从GAD-NR解码器的损失函数中去除每种部分的结果,即在公式(7)中设置λx= 0, λd = 0或λn = 0的情况。从表3的结果可以清晰看到,缺少邻域重构部分(λn = 0)时,GAD-NR在两种类型的异常检测中的性能下降最显著。
从表3的结果中,我们可以看到,缺少自特征重构损失(λx = 0)时,GAD-NR在检测上下文异常时性能大幅下降。在检测结构+联合类型异常时,GAD-NR的性能下降适度,这与预期相符。去除度重构损失(λd = 0)时,GAD-NR也会经历一定的性能下降。然而,这种下降程度比去除用于检测上下文异常的自特征重构或用于检测结构及联合类型异常的邻居特征分布重构的下降要轻。
5.4.3 与NWR-GAE [70]的性能比较。
我们从两个方面比较GAD-NR与NWR-GAE [70]:性能和运行时间。就性能而言,我们在表4中增加了NWR-GAE与我们模型GAD-NR之间的基准异常检测性能比较。我们可以观察到,在所有六个数据集中GAD-NR的性能显著优于NWR-GAE。NWR-GAE直接尝试匹配邻居表示的经验分布,通过这种方式NWR-GAE可能更精确地捕捉到邻居的特征(也更耗时),但它倾向于过拟合异常行为,相比之下,GAD-NR采用的高斯近似。就运行时间比较而言,我们还在表4中增加了NWR-GAE与我们模型GAD-NR的比较。优化KL散度导致的运行时间复杂度为𝑂(𝑑),从邻域匹配匈牙利算法的运行时间复杂度为𝑂(𝑑3)。因此,与NWR-GAE相比,GAD-NR在相对较大的图数据集上检测异常时更具可扩展性。
5.5 超参数分析
5.5.1 调整𝜆′𝑥、𝜆′𝑑和𝜆′𝑛的影响
我们通过变化公式(8)中的权重在图3中展示GAD-NR在不同类型的异常检测上的性能趋势。当在图3左上角增加自特征重构权重𝜆′𝑥时,我们观察到上下文异常检测的性能曲线(蓝色)非常陡峭。同样在图3左下角,我们观察到上下文和联合类型异常检测性能曲线(蓝色和绿色)的增长趋势。原因很直观。随着自特征重构权重的增加,GAD-NR的解码器倾向于给予上下文异常以及联合类型异常更高的重要性。通过变化度重构权重𝜆′𝑑在图3中间列,不同类型的异常的性能变化不那么显著。这是因为上下文和结构异常在节点度上没有太大变化。对于节点度可能提供有用信号的联合类型异常,仅检查节点度通常不足以确定异常。这是因为正常节点也可以有更高的度数。节点度重构应与邻居特征分布重构一起配对,以提供有效的异常检测。最后,在图3右列,当我们变化邻域重构权重𝜆′𝑛时,我们注意到在联合类型异常检测和结构+联合类型异常检测中显著的性能提升,这证明了通过利用邻域信号进行邻域重构的有效性。
图3:在Cora(上图)和Books(下图)数据集中,变化特征重构权重损失λ′x、度重构权重损失λ′d以及邻居重构权重损失λ′n在公式(8)中对检测不同类型异常的影响。
5.5.2 潜在表示维度的影响
表5:GAD-NR与不同潜在维度大小进行基准异常检测的性能比较,数据集为Cora和Reddit。
在表5中,我们通过变化隐藏表示的维度大小,展示了GAD-NR在Cora和Reddit数据集上的基准异常检测性能。从结果中,我们可以观察到,与其他基于GAE的方法相比,当潜在维度对于Cora(32至128)和Reddit(8至32)增加时,GAD-NR的性能逐渐提升。我们认为,使用邻域重构是GAD-NR逐渐性能提升的原因。其他自编码器只能通过增加潜在维度来增加潜在表示的能力。相反,GAD-NR还可以通过增加潜在维度来增加邻域重构的监督强度。当维度大小进一步增加,例如Cora的256和Reddit的64时,GAD-NR的异常检测性能下降。随着更高的潜在维度大小,模型变得过于表达,它可能会过拟合异常。对于异常检测,我们期望捕获正常行为,而不是使模型记住数据中的所有信息,尤其是异常行为。因此,我们需要在模型表达性和提取正常信息的比例之间找到平衡,以获得最佳的异常检测性能。
6 结论
在这项研究中,我们引入了GAD-NR,用于识别图结构中的异常节点。GAD-NR基于一个图自编码器,该自编码器从由GNN编码器生成的节点表示中重构邻域信息。重构过程包括自特征表示、度重构和邻近节点表示的分布,从而允许检测包括上下文、结构和联合类型异常在内的各种异常。在六个真实世界数据集上的实验结果证明了邻域重构在识别不同类型异常中的有效性。在基准评估的六个数据集中,GAD-NR在五个数据集上超过了最先进的GAD基线。此外,GAD-NR通过结合不同类型的重构损失与变化的权重,提供了检测不同类型异常的灵活性和潜力。GAD-NR还显示了选择权重以检测真实世界异常的鲁棒性。
7 致谢
Amit Roy和Pan Li部分由Sony Award和NSF资助项目IIS-2239565支持。作者非常感谢Prof. Bruno Ribeiro, Prof Ruqi Zhang, Prof. Sharon (Yixuan) Li和匿名审稿人为改进本文提供的深刻建议。
原文地址:
https://arxiv.org/abs/2306.01951
https://github.com/Graph-COM/GAD-NR