学习概要
1、图数据包括节点特征和图结构。这两类信息的不匹配产生了两种典型的异常节点,即特征异常和结构异常。前者指的是在特征方面与邻居存在差异的节点,而后者指的是一组不相似但联系紧密的节点。
2、异常检测的其他方法:LOF、SCAN、ANOMALOUS等。上述方法依赖于特定的领域知识,无法挖掘图数据集中深层次的非线性信息。这使得它们很难进一步提高检测性能。
3、CoLA 基于对比学习范式,通过计算节点与其邻域的关系来检测异常。该方法挖掘了节点周围的局部特征和结构信息。同时,它在训练过程中掩盖了目标节点的特征,不利于表示平均。与之不同的是,阿内莫内在对比网络中增加了节点-节点对比,关注节点层面的异常信息。
4、顺次佩列(Sequential Perceptron)是一种基础的神经网络模型,通常用于处理线性可分问题。顺次佩列模型是指通过多个感知器的层叠组合来构建更复杂的神经网络结构,能够捕捉非线性特征。
5、在对比学习(Contrastive Learning)中,损失函数是核心组成部分,它定义了模型训练的目标,即如何通过样本对之间的相似性或差异性来学习数据的有效表示。对比学习的损失函数通常旨在拉近正样本对(相似样本)的表示,同时推远负样本对(不相似样本)的表示。
6、重启随机游走(Random Walk with Restart, RWR)是一种在图论和网络分析中使用的算法,它在随机游走的基础上增加了一个回到起始节点的重启机制。这种算法可以捕捉图中节点之间的全局关系,并用于估计节点间的接近度或亲和力分数。
在RWR中,从一个节点(称为起始节点或种子节点)开始,随机游走者在每一步都面临两个选择:以概率 1−a1−a 移动到随机选择的邻居节点,或者以概率 aa(重启概率)跳回到起始节点。这里的 aa 是一个参数,它控制了随机游走的局部性与全局性之间的平衡。经过多次迭代后,算法会达到一个稳定状态,此时每个节点上的概率分布可以被看作是起始节点对该节点的影响力或亲和力的度量。
7、MLP是多层感知机(Multilayer Perceptron)的缩写,它是一种前馈人工神经网络模型。MLP通过多个层(或称为“隐藏层”)的神经元来学习数据中的复杂模式和关系。
一、研究背景:
图异常检测(GAD)是基于图的机器学习中的一项重要任务,已广泛应用于许多实际应用中。最近的方法关注了 GAD 的各种规模的对比策略,即节点-子图和节点-节点对比。然而,他们忽略了子图与子图的比较信息,即正常子图对和异常子图对在 GAD 中的嵌入和结构方面表现不同,导致任务性能不佳。LOF、SCAN、ANOMALOUS等方法依赖于特定的领域知识,无法挖掘图数据集中深层次的非线性信息。这使得它们很难进一步提高检测性能。GCN通过聚合来自邻域的信息来生成节点表示,这将使异常更加难以区分。现有工作忽略了对子图信息的进一步挖掘,也没有直接优化其嵌入来进行图异常检测,已经证明子图表示学习有利于基于图的机器学习任务。
二、主要贡献:
我们首次将子图-子图对比引入到GAD中,并提出了一个具有增强视图的多尺度对比学习网络框架。·我们研究了不同的图增强对子图表示学习任务的影响。·在六个基准数据集上进行了广泛的实验,证明了基于边修改的子图-子图对比策略对于图异常检测的有效性,以及顺次配列相对于最先进方法的优越性。
三、多视图图对比网络
提取子图
我们将原始图作为第一视图,通过边修改产生第二视图。对于每个视图,通过随机游走采样子图,并与目标节点形成对。在实验中,子图大小参数设置为4。
边修改
首先设置一个固定比例的 P,从邻接矩阵中均匀随机地丢弃二分之PM个边。 然后将二分之PM条边均匀随机地添加到矩阵中。通过这种方式,我们尝试在不破坏图属性的情况下学习子图的稳健表示。
Node-Subgraph Contrast.
目标节点vi与其所在的子图构成正对,与另一个节点vj所在的随机子图构成负对。我们首先采用一个GCN层,将子图中节点的特征映射到嵌入空间。值得注意的是,子图中目标节点的特征被掩盖,即设置为0。子图隐藏层表示可以定义为:
然后,通过Readout函数计算子图最终表示zi。具体来说,我们利用平均函数来实现Readout:
相应地,我们利用MLP将目标节点特征转换到与子图相同的嵌入空间。节点隐层表示为:
在每个视图中,目标节点的异常程度与子图的相似度s1i和节点嵌入有关。我们采用双线性模型来衡量相似度:
一般情况下,目标节点和子图表示在正对中趋于相似,即s1i = 1。相反,它们在负对中可能是不相似的,即s1i = 0。
然后使用二进制交叉熵(Binary Cross-Entropy, BCE)损失函数来训练模型以区分正负样本对。其中y是真是标签,s是模型预测的相似性分数。
也可以从另一个视图得到相似度s2i和BCE损失L2NS。值得一提的是,两个视图下的两个网络使用相同的架构和共享参数。因此,最终的节点-子图对比损失为:
Node-Node Contrast.
与节点与图的对比相似。
Subgraph-Subgraph Contrast.
子图和子图的对比体现在两个视图之间。一个子图与扰动子图形成一个正对,其中同一个目标节点vi位于另一个视图中。与另一个节点vj位于两个视图中的两个子图形成负对。节点vj是子图在节点-子图对比中与vi形成负对的节点。我们使用了一个损失函数来优化对比度:
子图-子图对比的主要目的是增强子图的表示能力,通过在两个视图中对同一节点的子图进行对比,可以使得模型学习到更加稳健和具有代表性的子图嵌入。这些嵌入表示在节点-子图对比中使用,从而影响最终的异常分数。
算法
损失函数优化
异常分数计算:
多轮检测结果的平均值和标准差:
四、实验
六个图基准数据集