【GAD】动态图的半监督异常检测

news2024/11/19 9:21:40

SAD: Semi-Supervised Anomaly Detection on Dynamic Graphs

  • Limitations of existing semi-supervised methods
  • Contribution
  • Related work
  • Method
    • Deviation Networks with Memory Bank
    • Contrastive Learning for Unlabeled Samples
  • Experiments
    • 少样本评估
    • 2D t-SNE可视化
    • 消融实验
  • mark

在这里插入图片描述
IJCAI2023
蚂蚁集团&中山大学
Code

Limitations of existing semi-supervised methods

  1. 没有利用大规模未标记样本
  2. 没有挖掘动态信息

Contribution

  • 一个end-to-end的半监督异常检测框架,SAD(semi-supervised anomaly detection),采用配备时间的内存库和伪标签对比学习模块,以有效解决动态图上的异常检测问题。
  • 使用未标记样本的统计分布作为损失计算的参考分布,并相应地生成伪标签来参与监督学习,从而充分挖掘未标记样本的潜力。
  • 大量的实验证明了所提出的框架相对于强基线的优越性。更重要的是,我们提出的方法还可以显着缓解实际应用中的标签稀缺问题。

Related work

最近的一项工作建议采用半监督学习,通过使用来自相关下游任务的少量标记样本来解决无监督学习往往会产生噪声实例的问题

SemiGNN [Wang et al., 2019] 学习具有分层注意力机制的多视图半监督图,用于欺诈检测。 GDN [Ding et al., 2021] 采用偏差损失来训练 GNN,并使用跨网络元学习算法进行少样本节点异常检测。 SemiADC [Meng et al., 2021] 同时探索时间序列特征相似性和基于结构的时间相关性。 TADDY [Liu et al., 2021] 构造一个节点编码来覆盖空间和时间知识,并利用唯一的transformer模型来捕获耦合的时空信息。

然而,这些方法基于动态图的离散时间快照,不太适合连续时间动态图,并且使用线性网络映射作为特征简单地将时间信息添加到模型中,而没有考虑周期性等时间属性。

Method

动态图 G = ( V , ε ) \mathcal{G}=(\mathcal{V},\Large{ \varepsilon}) G=(V,ε)
ε = { δ ( t 1 ) , δ ( t 2 ) , … , δ ( t m ) } \Large{\varepsilon}=\left \{ \delta{(t_1)}, \delta{(t_2)},\dots ,\delta{(t_m)}\right \} ε={δ(t1),δ(t2),,δ(tm)}为生成时间网络的事件流, m m m为观察到的事件数,事件为 δ(t) = (vi, vj, t, xij) 表示在时间 t t t 时从源节点$ v_i$ 到目标节点 v j v_j vj 发生交互或链接,并关联边特征 x i j x_{ij} xij. 请注意,不同时间戳的同一对节点身份之间可能存在多个链接.

Deviation Networks with Memory Bank

为了利用few-shot labeled data进行异常检测(anomaly detector),我们按照 [Ding et al., 2021] 构建了一个图偏差网络。然而,对于动态图的应用,我们首先使用基于时间编码信息的**时间图编码器(temporal graph encoder)来学习节点表示,并另外构造一个存储库(memory bank)**来动态记录正常和未标记样本的整体统计分布作为参考分数来计算偏差损失,通过少量标记样本优化模型。整个偏差网络是半监督的,大量未标记样本用作记忆库中的统计先验,少量标记数据用于计算偏差损失。

memory bank 异常分数计算基于大多数未标记数据是正常样本的假设,产生正态样本的统计分布,作为Reference Score

受到deviation networks(利用高斯先验和基于Z-Score的偏差损失来直接优化异常分数的学习)最近成功的启发 ,我们采用偏差损失作为我们的主要学习目标,以强制模型在异常得分空间中分离出正常节点和特征显着偏离正常节点的异常节点。与他们的方法不同,我们使用memory bank来产生正态样本的统计分布,而不是使用标准正态分布作为参考分数。这考虑到了两个主要因素,一是真实异常分数生成的统计分布可以更好地展示不同数据集的属性,二是在动态图中,数据分布可能会因为重要的实际情况而波动更显着。节假日或周期性事件,因此不适合使用简单的标准正态分布作为正态样本的参考分布。

算reference score(均值和标准差)的时候,引入时间衰减的影响,使用时间戳 t t t和异常分数存储时间 t i t_i ti之间的相对时间跨度来计算每个统计示例的权重项 w i ( t ) = 1 l n ( t − t i + 1 ) + 1 w_i(t) = \frac{1}{ ln(t−t_i+1)+1} wi(t)=ln(tti+1)+11(也就是时间越近权重越高)
偏差损失:也就是m(异常分数)和|dev|(偏差分数)越接近越是正常;但是问题在于:如果异常节点(y=1)的偏差分数如果远大于m,对比损失也为0. (好像dev会小于m).总之,这么计算可以保证越离群的点,deviation loss越大.
在这里插入图片描述

和我一样第一次见偏差网络的话可以看DevNet半监督异常识别模型简单学习一下

Contrastive Learning for Unlabeled Samples

为了充分利用未标记样本的潜力,我们根据现有的偏差分数 d e v ( v i , t ) dev(v_i, t) dev(vi,t) 为每个样本生成一个伪标签 y ^ i ( t ) \hat{y}_i(t) y^i(t),并参与图编码器网络的训练。在这里,我们设计了一个有监督对比学习任务,使得偏差分数越接近的节点也具有更相似的节点表示,而偏差分数差异较大的节点在其对应的表示中具有更大的差异。
该任务的目标与我们的偏差损失一致,这使得正常样本和异常样本之间的差异在表示空间和异常得分空间上都存在偏差。
对于单个样本 v i v_i vi
在这里插入图片描述
(投影网络将表征向量 x x x映射成的最终向量 z z z)该损失也就是达到拉近所有正样本对之间的距离,推远其他负样本对的目的.

有监督对比损失

Experiments

在这里插入图片描述

在这里插入图片描述

少样本评估

改变了丢弃率 p p p,即训练集中随机删除节点标签的比率,从 0.1 到 0.9,步长为 0.2.
在这里插入图片描述

值得注意的是,我们观察到当丢弃率为 0.3 时,SAD 在两个数据集上都实现了最佳性能。The result indicates that当前图数据集中存在大量冗余或噪声信息,很容易导致模型训练过拟合。通过丢弃这部分标签信息,使用伪标签数据参与训练,反而提高了模型的性能。其他方法在下降比率为 0.5 时性能显着下降。尽管如此,SAD 在两个数据集上仍然大幅优于所有基线,并且即使对于特定的大下降率(例如 0.7 和 0.9),下游性能也没有显着牺牲。

总的来说,我们认为模型的性能改进来自两个原因:

  1. 记忆库主导的异常检测器允许模型学习正常样本和异常样本之间的区别性表示;
  2. 基于伪样本的对比学习即使存在大量未标记数据,标签也有助于学习节点的通用表示。

2D t-SNE可视化

在这里插入图片描述

消融实验

在这里插入图片描述

看起来,偏差网络起了最大效果,
再加上考虑动态变化(动态图).

mark

本文所用图偏差网络👉[Ding et al., 2021] Kaize Ding, Qinghai Zhou, Hanghang Tong, and Huan Liu. Few-shot network anomaly detection via cross-network meta-learning. In Jure Leskovec, Marko Grobelnik, Marc Najork, Jie Tang, and Leila Zia, editors, WWW’21: The Web Conference 2021, Virtual Event / Ljubljana, Slovenia, April 19-23, 2021, pages 2448–2456, 2021.

偏差网络👉Pang G, Shen C, van den Hengel A. Deep anomaly detection with deviation networks[C]//Proceedings of the 25th ACM SIGKDD international conference on knowledge discovery & data mining. 2019: 353-362.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1478761.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Machine Vision Technology:Lecture1 Introduction

Machine Vision Technology:Lecture1 Introduction What kind of information can we extract from an image?Syllabus organized fromRoadmap路线图 计算机视觉(本科) 北京邮电大学 鲁鹏 What kind of information can we extract from an …

一张图读懂人工智能

一、生成人工智能的概念和应用,以及如何使用大型语言模型进行聊天和创造原创内容。这项技术将会对人类和企业产生深远影响。 计算机获得学习、思考和交流的能力,被称为生成人工智能。生成人工智能可以立即获得人类所有知识的总和,并回答任何…

OSCP靶场--Shenzi

OSCP靶场–Shenzi 考点(1.目录扫描:可以尝试使用多个工具(扫描不出来任何东西,可以结合机器名拼接url 2.WP 目标插入webshell getshell 3.windows环境AlwaysInstallElevated提权) 1.nmap扫描 ┌──(root㉿kali)-[~/Desktop] └─# nmap -sV -sC -p- …

C++编译相关学习笔记

1.编译是什么? 简单的说,就是将文本文件转化为obj对象。详细的说包含以下三个步骤: (1)预处理代码。常用的预处理语句包含#include、if、ifdef、pragma。经过这一阶段 main.cpp变为main.i 这种文件里的内容就是在原文…

vue中使用prettier

前言:prettier是一款有态度的代码格式化工具,它可以集成在IDE中,如VS Code、Web Storm等,也可以安装到我们开发的项目里面。本文主要讲解在Vue中集成prettier的过程,可以便于代码检测和格式化。 prettier官网 从官网的…

树的括号表示法

1.括号表示法构造一棵树 下面的代码都使用下面的图测试: 这颗树的前序遍历是 [A,B,D,G,C,E,F,H] 为了程序的完整性,我想先构建一颗上述树,知识匮乏的我只能使用括号表示法构造: “A(B(,D(G,)),C(E,F(H,)))” 1.用一个类表示树的节点 …

高效降本|深度案例解读 Koupleless 在南京爱福路的落地实践

文|祁晓波 南京爱福路汽车科技基础设施负责人 主要研究微服务、可观测、稳定性、研发效能、Java 中间件等领域。 本文 4812 字 阅读 12 分钟 Koupleless(原 SOFAServerless)自 2023 年开源以来已经落地了若干企业,这些企业也见证了…

C++之标准库中string的底层实现方式

目录 1、Eager Copy(深拷贝) 2、COW(Copy-On-Write)写时复制 2.1写时复制的实现 3、SSO(Short String Optimization)短字符串优化 4、最佳策略 5、线程安全性 我们都知道, std::string的一些基本功能和用法了,但它底层到底是如何实现的…

基于SSM SpringBoot vue物流配送人员管理系统

基于SSM SpringBoot vue物流配送人员管理系统 系统功能 登录注册 个人中心 员工管理 考勤信息管理 小区信息管理 打卡信息管理 出勤统计管理 派单信息管理 工资结算管理 任务统计管理 开发环境和技术 开发语言:Java 使用框架: SSM(Spring SpringMVC Mybaits)或…

黑马c++ STL部分 笔记(3) deque容器

双端数组,可以对头端进行插入删除操作 deque与vector区别: vector对于头部的插入删除效率低,数据量越大,效率越低(每次头插,后面的元素就往后移) deque相对而言,对头部的插入删除速…

Java Web(十)--jQuery

介绍 官网文档:jQuery 教程 jQuery API 中文文档 | jQuery API 中文在线手册 | jquery api 下载 | jquery api chm 下载地址:https://jquery.com/download/%20jQuery jQuery 是一个快速的,简洁的 javaScrip工具库,使用户能更方…

尝鲜18倍速大模型Groq和世界第二AI Mistral(Le Chat)

01 尝鲜 中午,一边吃饭,一边尝试一下最新的AI:Groq,它使用了重新设计的LPU,据说比英伟达的GPU快了18倍。 运行了开源的Mixtral-8x7b模型,屏幕上的文字回复几乎是瞬间的,那种速度感,让人心跳加速。 接着,我尝试了来自欧洲的新贵——Mistral AI的Le Chat。 这个三天前…

前端同时传递文件数据+非文件数据,前后端解决方案

之前录制视频《文件上传组件》的时候有位观众提了个问题,如果我没有理解错的话,应该就是前后同时传递文件数据 非文件数据,前后端数据该如何接收,这里我给出我自己的解决方案 tip:下文在编写前端代码的时候,用到了这篇…

基于SpringBoot的民宿租赁管理系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式 🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 &…

生成voc格式数据集

数据集存放格式:(Annotations文件夹放标注的xml文件,JPEGImages文件夹放标注的图片) 运行代码: import os import random import xml.etree.ElementTree as ETimport numpy as npdef get_classes(classes_path):with …

nacos开启鉴权+springboot配置用户名密码

nacos默认没有开启鉴权,springboot无需用户名密码即可连接nacos。从2.2.2版本开始,默认控制台也无需登录直接可进行操作。 因此本文记录一下如何开启鉴权,基于nacos2.3.0版本。 编辑nacos服务端的application.properties: # 开…

期货开户保证金保障市场正常运转

期货保证金是什么?在期货市场上,采取保证金交易制度,投资者只需按期货合约的价值,交一定比率少量资金即可参与期货合约买卖交易,这种资金就是期货保证金。期货保证金(以下简称保证金〕按性质与作用的不同。…

力扣-移除元素

问题 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长…

手机如何使用NFC卡模拟门禁刷卡

部分手机具备NFC卡刷卡功能,理论上也可模拟门禁卡。 一个功能强大且免费的NFC卡模拟器,可模拟各类门禁卡、电梯卡、部分公司(工厂)工卡或饭卡、部分学校饭卡、部分图书馆借书卡等各类IC卡,用手机替代卡片去刷门禁、刷…

377组合总和 Ⅳ

题目 给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。题目数据保证答案符合 32 位整数范围。示例 1:输入:nums [1,2,3], target 4 输出:7 解释&…