少女祈祷中...

小组基本信息:

  • 小组方向:AI算法在入侵检测、恶意软件识别、恶意流量识别方面的应用
  • 论文题目:DAGAD: Data Augmentation for Graph Anomaly Detection

摘要

  1. 检测异常结点,属于结点型任务
  2. 目前存在的两个问题:
    • 异常结点很难被捕获,其异常行为很微小,并且往往没有关于异常结点的先验知识
    • 现实世界中大部分的结点都是正常的,就像银行贷款一样,往往1w人里面只有几个人是不还贷款的“异常结点”。存在严重的类别不平衡问题。
  3. 本文的模型:
    • GNN将非欧数据压缩为d维向量(表征学习)
    • 图增强模块,通过对生成的d维向量增加扰动,来进行数据增强,使用增强之后的生成数据作为训练集。
    • 一个用来对类别不平衡数据进行分类的模型
  4. 在DAGAD的架构下(分别是基于DAGAD的GCN和GAT),测试了三个数据集。

介绍

根据下游任务,也可以将图异常检测划分为:node-level, link-level, graph-level。下面以经融交易举例子:

  • 异常结点:诈骗犯
  • 异常边:异常交易
  • 异常子图:诈骗窝

该文章针对异常结点的检测。

现在的图异常检测都是通过图的拓扑结构以及特征信息来进行的。不足之处在于:

  • 异常样本太少了:例如在交易场景,90%的人在受到诈骗之后不会像平台反馈,这就导致了异常结点、异常边被标记为正常
  • 类别不平衡

另外,以前的方法在处理有限的异常结点时,没有充分利用异常结点,这也影响了最后模型区分异常结点和正常结点的能力。

框架

图神经网络

本文中作者使用GCN或GAT来将结点特征压缩为d维向量。

image-20231108220041190

image-20231108220205538

数据增强

  1. 表征增强

如果直接使用GNN后得到的表征,来进行异常检测,那么最终得到的是一个次优的模型。因为类别严重不平衡这个问题没有得到处理。

本文中使用的增强方法和cs224w中讲到的对图结构增强或者是结点特征增强不同,本文的表征增强方法是:通过GNN生成的表征,来生成新的表征,来增加最终的预测模型捕捉异常样本的能力。

PS,回顾cs224w中的图增强

  • 结点特征增强:给予结点相同的初始向量、给定结点唯一ID、使用图元、PageRank、聚类系数……
  • 图结构增强:增加一个虚拟结点让其和所有其余结点相连、使用$\mathcal A+\mathcal A^2$来代替邻接矩阵作为计算图……

image-20231108230031175

  1. 互补学习

在最终的预测部分时,有两个分类器,其中分类器A对普通的concat的数据进行训练;而分类器B则既对普通concat的数据训练,也对打乱后并且concat的数据进行训练。

其intuition有点类似于ResNET:

image-20231108231330236

image-20231108231421016

  1. 总结构以及算法

image-20231108231516480

image-20231108231608172

类别不平衡问题

其实就是在loss前面加一个因子,可以理解为惩罚,多类惩罚大,少类惩罚小。例如:

image-20231108232102552

实验

配置好环境后,直接运行代码:

1
python -W ignore main.py

后面的参数表示的是忽略警告信息。

运行结果如下:

image-20231130194645150

论文中的实验结果如下:

image-20231130194713432

可以看到实验结果基本吻合。