图异常检测:在一个大图或海量图数据库中寻找包含“陌生”或者“不寻常”模式的结构(包括节点、边或者子图)。例如因特网中的恶意攻击、社交网中的突发事件检测、电子商务中的水军发现等。
图的异常检测不仅将复杂的数据加以直观的呈现,也将数据中隐含的相关性融入到异常检测过程中。
工作:
- 基于静态图
- 基于动态图
通过神经网络对图进行嵌入不仅可以很好的保留信息,还可以很好的处理节点或边的属性,同时保留结构信息。
基于深度学习的图异常检测方法通常使用图的嵌入表示方法将图表示为隐空间中的向量,然后使用该向量重构图从而剔除异常信息的影响,最后通过重构误差进行异常检测。
1、图上的异常定义
1.1、静态图上的异常定义
静态图上的异常通常是指图中很少的或者与观察到的模式有明显偏差的节点、边或子图。
- 静态图上的结构异常
- 节点与节点之间
- 节点与子图之间
- 子图与子图之间
- 静态图上的属性异常
给定一个图G和其中的节点v,v在结构上属于一个社区,如果v和大量属于其他社区的节点的属性相似,那么这种异常可以定义为属性上的异常。 - 静态图上结构和属性的联合异常
1.2、动态图上的异常定义
对于一个随时间变化的动态图,图中可能会有新的节点或边的增加和删除,从而引起图结构和属性的动态变化,可能会出现异常.动态图上的异常通常是导致变化或事件发生的top k个节点、边或子图。
- 基于结构变化的异常
- 生长的社区
- 收缩的社区
- 合并的社区
- 划分社区
- 新生的社区
- 消失的社区
以上六种如下图所示:
- 基于属性变化的异常
- 基于结构和属性变化的异常
1.3、异常检测评价指标
- 曲线下面积AUC
- 召回率Recall
2、基于深度神经网络的图表示学习
2.1、图神经网络模型及应用
GCN将卷积推广到图领域,分为
- 谱方法
- 空间方法
2.2、基于深度神经网络的图表示学习方法
SDNE(structural deep network embedding), DNGR(deep neural networks for learning graph representations)、图自编码器利用深度自动编码器可以捕捉数据非线性关系的能力来获得节点更好的表示。
图自编码器可同时编码节点结构信息和属性信息来捕捉节点的更好嵌入表示。
3、基于深度学习的图异常检测方法
具有代表性的基于深度学习的图异常检测方法:
3.1、基于深度学习的静态图异常检测方法
在基于深度学习的静态图异常检测场景下,由于标签数据难以获得,通常采用无监督或者半监督学习的方法来检测异常。
3.1.1、无监督的深度图异常检测方法
目前已有的基于深度学习的无监督异常检测方法大都采用基于残差分析的思想,在基于残差分析的异常检测方法中,原始数据与估计数据的差距(即重构误差)是显示数据集中实例异常的有力指标。
在各种基于残差分析的异常检测方法中,深度自编码实现了最先进的性能。基于残差分析的异常检测模型:
一系列图上无监督的异常检测方法:
- Radar
- DONE
- AdONE
- ……
图神经网络可将结构和属性信息结合起来,利用图神经网络的异常检测方法:
-
Dominant在自动编码器框架中利用从GCN获得的节点嵌入来重构原始的属性和结构信息,如下图:
-
SpecAE,联合训练将残差分析的损失与聚类分析的损失联合起来,构造一个统一的损失函数,利用深度神经网络技术去同时优化特征抽取与聚类分析的过程,从而取得更准确的异常检测结果。如下图:
-
双自动编码器AnomalyDAE进行异常检测的深度联合表示学习框架,捕获了图结构和节点属性之间的跨模态交互。如下图:
-
AEGIS利用同质性检测异常。同质性是指连接在一起的节点理应具有相似的模式。通过捕捉本节点和周围节点的不同能够检测异常。如下图:
3.1.2、半监督的深度图异常检测方法
如何针对大图进行异常检测也是半监督深度异常检测方法未来的一个重要研究方向。
3.1.3、静态图上的异常检测对比实验
手动将5%的异常(包括结构异常、属性异常和两者组合而成的异常)注入到部分公开的属性化网络数据集中。
异常注入过程包括:
- 计算每个类的节点数目的概率分布;
- 用这些概率选择一个分类;
- 对于结构异常:在所选分类中注入一个异常节点,使该节点具有(m+/-10%)的边连接其余(未选定)分类的节点。
对于属性异常(从不同的分类中随机抽取属性)和组合异常(分别从2个不同的类中采样边和属性)采用了类似的方法.
3.2、基于深度学习的动态图异常检测方法
重点介绍因为时序引发的图结构和属性变化的相关异常检测方法。
3.2.1、基于结构变化的动态图异常检测方法
针对由一系列静态图组成的动态图,寻找那些时间点,在这些时间点上图发生了显著变化或者发生了异常事件;进而,发现影响最大的节点、边或者子图结构。
- DPADS,异常的子结构(或子图)是正常模式的结构变种(正常模式边和节点的增加或者缺失)。如下图:
- AnomRank提出了一种快速准确的在线算法用于检测动态图中的异常。
- NetWalk,一种基于图嵌入的动态图异常检测框架。
3.2.2、基于属性变化的动态图异常检测方法
这类方法的主要步骤是:
- 从输入图的每个快照中,提取关键的特征值来为每个快照构造“摘要”;
- 使用距离函数比较连续摘要;
- 当距离大于阈值时,将相应摘要定性为异常.
其中不同算法的区别体现在:
- 构造“图摘要”的方法不同
- 使用的距离或相似度函数不同
- 定义和选择阈值以将实例标记为异常的方式不同
4、图异常检测应用场景和数据集
4.1、应用场景:
- 电信欺诈
- 垃圾评论检测
- 网络入侵检测
- 社交网络
4.2、数据集:
4.2.1、数据集
ODDS异常检测数据集,主要包括:
- 多维点数据
- 用于事件检测的时间序列图数据集
- 时间序列点数据集,时间点数据,其中每个点都有一个或多个属性,并且这些属性会随时间变化,
- 对抗/攻击场景和安全性数据集
- 拥挤场景视频数据
数据集 | 数据领域 | 数据描述 |
---|---|---|
SNAP | 多类型 | 包含很多动态或静态图数据,包括网络通信、社交网络、生物网络等. |
VASY Challenge 2008 | 社交 | 电话通信数据集,包含10个通话日内的400个手机的通话记录. |
PeMS | 车辆交通 | 提供加州公路网长达10年的真实历史数据. |
Wikipedia | 网页链接 | 提供一个扩展的Wikipedia数据集,其中包含页面链接、页面视图和页面修订等信息. |
Enron | 邮件通信 | 大约150名前安然员工的邮件通信记录,其中大部分是高层管理人员. |
IMDB | 社交 | 超过100年的电影数据,包括片名、制片人和演员. |
DBLP | 学术 | 计算机科学论文信息网络. |
US Patent Citations | 引用 | 一份1963年1月至1999年12月期间授予的近300万项美国专利的清单,以及1975年至1999年期间对这些专利的所有引用. |
Climate Reanalysis | 气候 | 1948年至今,全球各地的各种以相同时间粒度记录的气候变量(气温、可降水量). |
Reality Commons | 通信与社交 | 多个数据集,每个数据集都包含基于地理位置的通信信息. |
HEP-Th | 引用网络 | 来自KDD 2003理论高能物理论文数据集的综合数据. |
Can-o-sleep | 通信包含 | p2p文件共享网络在81天内共享和传输的所有mp3文件的记录. |
KDD Cup 1999 | TCP通信信息 | 已标记的网络流量数据,是1988年DARPA入侵检测评估程序提供的模拟网络数据的一个版本. |
社交 | Facebook wall post列表,2个用户之间的一个wall posts会创建一个带时间戳的边 | |
House and SenateSponsors | Co-sponsorship | 从1973年到2004年,美国参众两院提出了28万项立法的co-sponsorship网络. |
LBNL | FTP网络流量 | 数据集由跨度1个小时,粒度为秒的网络流量测量组成,包含该小时内启动的所有连接的源IP地址,目标IP地址和端口号,以及每个连接的时间戳. |
Digg | 社交 | 新闻聚合网站digg.com的回复网络,每个节点都是网站用户,每个边沿表示2个用户之间的回复. |
4.2.2、异常注入方法
- 扰动原始数据
- 插入新的异常数据
- 在包含阶段类别标签的图中,将对应标签数目出现次数最少的节点作为异常进行处理。
这里是论文地址:陈波冯,李靖东,卢兴见等.基于深度学习的图异常检测技术综述[J].计算机研究与发展,2021,58(07):1436-1455.