这是一篇关于图上异常节点检测的文章,承接上文《Rethinking Graph Neural Networks for Anomaly Detection》,没有看过这篇文章的同学可以先看看这篇博客大致了解下:论文笔记:Rethinking Graph Neural Networks for Anomaly Detection-CSDN博客https://blog.csdn.net/qq_35356972/article/details/145441360https://blog.csdn.net/qq_35356972/article/details/145441360
论文来源:AAAI 2025
摘要
图异常检测对于识别图形中的异常节点以及解决金融欺诈检测和社交垃圾邮件检测等应用问题至关重要。最近的谱图神经网络通过关注显著影响图谱能量分布的异常来推进图异常检测。这种基于谱的方法依赖于两个步骤,图小波特征提取和特征融合。然而,这两个步骤都是手工设计的,捕获了小波特定特征的不全面的异常信息,并导致他们特征融合不一致。针对这些问题,我们提出了一种动态谱图异常检测框架DSGAD,以自适应地捕获全面的异常信息并进行持续的异常融合。DSGAD引入了动态小波,由可训练的小波组成,以自适应地学习异常模式,并使用全面的异常信息捕获小波特定特征。此外,小波特定特征的一致融合通过将小波特异性提取与能量差异相结合,以及使用位置相关的通道卷积融合来实现动态融合。四个数据集上的实验结果证实了我们的DSGAD方法的有效性,在同构和异构图上都超过了最先进的方法。
架构
这篇文章是在《Rethinking Graph Neural Networks for Anomaly Detection》这一篇的基础上进行的改进,其改进方面主要有两点:
- 对于图上的小波,其参数C=p+q需要手工设计,而且beta分布可能无法涵盖所有故障模式,单单采用beta分布作为图核函数来构建小波对于故障特征的提取可能会有所疏忽,提取出的特征可能不够全面和综合。
- 对于用小波提取出来的特征,在BWGNN中后续处理仅仅将其按列简单拼接,根据这篇论文中的说法,要想实现好的故障诊断,需要满足标签一致性、完整性和位置相关性,其中标签一致性说的是由不同频段小波所提取的小波特征虽然其内容不同但其所指向的故障标签是相同的(因为毕竟是对同一个节点的处理);完整性指的是虽然有许多不同频段的小波特征,但如果想要正确判定异常,这些不同频段的特征都是必需的;位置相关性则说不同频段小波提取出来的特征虽然内容不同,但是其形状相同,并且对应相同位置上的元素属性应有某种潜在的相关关系,但BWGNN并没有好好利用。
基于上述两个主要的缺陷,这篇论文给出了他的解法:混合小波和通道融合。其架构图如下所示:

从上面的图片中可以看出来,整个框架从整体来看分为两个部分:混合小波(Dynamic wavelets,动态小波)和通道融合(Dynamic fusion,动态融合),其中后一个阶段又可以分为两个部分:波特定特征提取和通道卷积融合。本文接下来就从混合小波、波特定特征提取和通道卷积融合这三个方面说明。
混合小波
直观地理解,混合小波本质上是在对不同的普通小波进行加权求和,并且这些权重由一个初始的权重生成矩阵和神经网络的输入二者共同生成,具体而言,将该权重生成矩阵与神经网络的输入相乘,并在后若干维度进行求和,得到一组权重,并用这组权重对原来的普通小波进行加权求和,得到一组混合小波,并在之后将这组混合小波与普通小波所提取出来的特征共同送入后续阶段进行处理。
更详细地说,假设图上的节点特征的形状为N x L,表示一共有N个节点,每个节点的特征向量长度为L,在经过了一开始的MLP之后(如前述的架构图所示),被C+1个普通beta小波进行图上特征提取,总共能够获取C+1个小波提取特征,设混合小波为
,总共有C个,第j个混合小波被定义为现有的beta小波的归一化线性和:
。其中
,是一组权重,表示第j个混合小波的权重向量,而i则表示其各部分分量,i在[0,C]之间,以对应总共C+1个普通小波。
从这里可以很显然的看出,混合小波本质上是对各个普通小波输出结果的加权和。那么对于C个混合小波,总共C组权重,一共C x (C+1)个数又是如何得到的呢?
文章中给出的解释是:更进一步的说,对应第j个混合beta小波的权重通过该式子进行计算:
这里,是特征-权重转换矩阵,而
代表对于第k个图上节点上第j个混合beta小波在第i个beta小波第d个属性上。
太绕了,第一遍看的时候甚至都没看懂。
首先,注意到特征-权重转换矩阵的维度是CxNx(C+1)xL,而经过了C+1个小波所获得的小波特征如果在通道上拼接的话是Nx(C+1)xL,将其在首个维度上复制C遍同样能够得到CxNx(C+1)xL的维度,然后把两个矩阵按照对应位置做点乘,维度不变,并在对应维度上求和,得到新的矩阵维度为Cx(C+1)。然后就可以看到,每行就是前文所述的权重p,并且每行中有C+1个元素,分别对应C+1个小波。对每行做Softmax后满足每组权重之和为1的要求。
从上面的描述中可以看到,关键在于特征-权重转换矩阵,这个矩阵在变换前后分别连接了神经网络的输入与权重输出,通过这个矩阵可以将混合小波的形成与输入特征联系起来,从而实现自适应的混合小波生成。
波特定特征提取
在经过了C+1个普通小波和C个混合小波之后,总共得到了2C+1个小波特征,根据前文所给的架构图中展示,每个小波特征还需要经过一个MLP,这个MLP的部分被称为 波特定特征提取 。
那么为什么要加这个结构呢,注意到前面的动机部分提到了一个好的故障诊断所需要满足的三个条件约束:标签一致性、完整性和位置相关性。而位置相关性则正是这篇文章所改进的主要要点,考虑到不同频段的小波所提取出来的特征分布于不同的空间,但它们实际上是同一高维空间在不同侧面的投影所致,为了能够利用其相同位置上元素之间潜在的相关性,并且挖掘其中的互补信息以提升异常检测性能,因此引入波特定特征提取模块将其变换到相邻的潜在空间中。

上面的t-SNE图展示了当C=2时在变换前后小波特征分布的直观展示,可以看到,在波特定特征提取之前,其分布距离较远,说明其分布差异性较大,而在波特定特征提取之后(红框内),其分布距离减小,变换至相同的潜在空间,从而方便利用其位置相关性信息。
通道卷积融合
最后的通道卷积融合比较简单,经历了前面一系列的操作之后,得到2C+1个NxL的特征,然后将其按照通道拼接,得到一个Nx(2C+1)xL的特征,然后送入卷积神经网络中走一遍,最后将输出打平,送入MLP分类器进行分类,得到故障概率分布,然后就是常见的处理手法了。
在这里采用通道拼接+卷积神经网络的组合,相较于BWGNN的简单按列拼接并且送入MLP,能够在一个额外维度上保留不同特征之间的位置相关性信息,从而提升模型异常检测的性能。
实验
最后是实验部分。

如上表所示,可以看到这篇文章的方法(DSGAD)在多个数据集上的表现都优于基线方法和其他主流方法。
下面是消融实验,展示了文章中提出方法各个模块的提升。

最后做了下超参数调参,综合性能和成本开销,最终选择了C=2的设置。

总的来说文章还是好文章,值得学习。(这就是AAAI吗,太强了hhh)