【GNN报告】赵越-图神经网络与异常检测

目录

1、简介

2、图神经网络与异常检测

小引

图异常检测

背景

系统PyGOD 

基准BOND综述

未来方向 

总结

小结

QA

3、参考


1、简介

摘要

在这次演讲中,赵越会围绕异常检测与图上的异常检测来介绍他参与多校联合的Python Graph Outlier Detection (PyGOD)工具库,以及最近的NeurIPS论文:BOND: Benchmarking Unsupervised Outlier Node Detection on Static Attributed Graphs。

个人简介

赵越,卡内基梅隆大学博士在读,主要研究领域为异常检测和机器学习系统。他发表了超过30篇相关文章,并参与开发过多个重要的机器学习工具库,包括Python Outlier Detection (PyOD)用于表格数据异常检测Python Graph Outlier Detection (PyGOD)用于图上的异常检测。他在2021年暑假曾访问斯坦福大学,在Jure Leskovec教授的指导下参与设计了PyTorch Geometric的profiling和benchmarking模块。他独立设计的机器学习工具,已获得超过一千万次下载、超过1.5万个GitHub星标和上千次引用。他也是知乎的优秀答主「微调」。

2、图神经网络与异常检测

小引

图异常检测

背景

进可能找到异常点,目前大多是无监督学习

应用:

  • 无人机驾驶
  • 金融反洗钱
  • 医疗罕见病检测

少量样本很有实际应用场景的话,可以使用异常检测

系统PyGOD 

图上的异常检测举例

无监督图异常检测存在挑战:标签少且标注困难

这里讨论完全无label的

 静态属性图上的无监督节点异常检测定义

 做了一个library,来对图上异常检测进行深入研究

 PyGOD

 很像之前发布的PyOD库

 图上的异常检测库

 图上异常检测代表性工作1 

核心

  • 节点与邻居节点的差异性?(节点间特征X关系)
  • 节点与邻居节点特征/结构的差异性?(节点间结构A关系)

做法:

  • 用自编码器思想做的
  • 重构误差越大,则越是异常点

图上异常检测代表性工作2 

 人为地增加一些先验信息(手动异常)

核心在于重构(知识先压缩再重构)

 

核心源于不平衡来检测异常

 PyGOD优势在于

基准BOND综述

图上基于节点的异常检测综述

 

 带*是因为这些数据本身不携带异常点,因此人为注入异常点(共9个数据集)

异常种类:

  • 结构异常:子图节点间紧密相连(相对的)
  • 属性异常:节点结构与其他相似,但是属性不同

 度量标准

调参设置(无监督无法调参,但可以尽可能让不同模型架构的参数相似) 

 

 发现图异常检测方法在注入的数据上表现较好,但是在真实数据集上表现较差(可能是因为异常不源于结构,而真实数据上结构所占loss比重大,则会导致效果变差)

发现非graph如reddit上效果好,说明太过依赖于图关系的模型不见得好,这个为了说明不一定要用GNN模型,而要根据具体情况而定

 聚焦人工注入异常的表现发现:

  • 重构对于结构异常有益的;
  • 低阶信息足够使用

 如何同时考虑结构异常和上下文(属性)异常

仅仅loss加权很难做到

未来方向:预算开销上 

 

未来方向 

自动学习

 

设计生成模型生成注入异常

 鲁棒loss设计

 运算开销上

总结

小结

讲的很通俗易懂,未来发展方向这块的几个点都很不错哦

QA

1)图自监督在工业上初步开始,目前很少

2)动态图异常检测也是需要重构思想来所,但是关键在于node和edge随着时间变化和其他节点的差异性评估

3)无监督下的创新还是有限的,哪怕是伪标签,因为远远差于打标签效果?

4)因为不平衡,所以利用不平衡来进行图检测异常,都则就变成聚类了

5)无监督永远差于半监督和监督效果的

6)用生成模型注入异常来代替人为注入异常

3、参考

异常检测--ADBench (NeurIPS'22) is ALL You Need - 知乎

用PyOD工具库进行「异常检测」 - 知乎

LOGS 第2022/10/23期 || 卡内基梅隆大学赵越-图神经网络与异常检测_哔哩哔哩_bilibili

异常检测算法详解_哔哩哔哩_bilibili

【资源说明】 基于动态神经网络的异常流量检测Python源码+项目说明+详细注释.zip 将下载的数据集放在 `/data` 目录下。对于CSE-CIC-IDS 2018数据集,只使用“Thuesday-20-02-2018_TrafficForML_CICFlowMeter.csv”这一天的数据,因为其他数据文件不包含IP,无法建。 动态模型的作用在于进行子嵌入,子嵌入的结果可以用异常检测模型进行异常判断。 其他对比模型的代码在`/compare_models`目录下 ## 模型训练 基于cic2017数据集进行模型训练 python DyGCN/main.py --mode train --ck_path DyGCN/savedmodel/model.pt --embs_path DyGCN/data/graph_embs.pt --dataset data/cic2017 ## 模型测试 基于cic2017数据集进行模型测试 python DyGCN/main.py --mode test --ck_path DyGCN/savedmodel/model.pt --embs_path DyGCN/data/graph_embs.pt --dataset data/cic2017 ## 异常检测 基于模型嵌入结果进行异常检测 python DyGCN/intrusion_detection.py --dataset cic2017 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,也适用于小白学习入门进阶。当然也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或者热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载,沟通交流,互相学习,共同进步!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静静喜欢大白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值