论文阅读 - Few-shot Network Anomaly Detection via Cross-network Meta-learning

论文链接:https://arxiv.org/pdf/2102.11165.pdf

 

目录

摘要:

引言

问题定义

方法

Graph Deviation Networks

Cross-network Meta-learning


摘要:

        网络异常检测旨在找到与绝大多数行为显着不同的网络元素(例如节点、边、子图)。它对从金融、医疗保健到社交网络分析等各种应用产生了深远的影响。

        由于难以承受的标签成本,现有方法主要是以无监督的方式开发的。尽管如此,由于缺乏对感兴趣的异常的先验知识,他们识别的异常可能会变成数据噪声或无趣的数据实例。

        因此,研究和开发网络异常检测的小样本学习至关重要。在现实场景中,很少有标记的异常也很容易在与目标网络相同域的类似网络上访问,而大多数现有工作都忽略了利用它们,而仅仅关注单个网络。

        利用这一潜力,在这项工作中,我们通过(1)提出一个新的图神经网络系列——图偏差网络(GDN)来解决小样本网络异常检测的问题,它可以利用少量标记的异常来检测强制网络上异常节点和正常节点之间存在统计显着偏差; (2)为所提出的GDN配备了一种新的跨网络元学习算法,通过从多个辅助网络传输元知识来实现​​小样本网络异常检测。广泛的评估证明了所提出的方法在少量甚至一次性网络异常检测方面的有效性。

引言

        由于标记异常是高度劳动密集型的,并且需要专门的领域知识,现有的方法主要是以无监督的方式开发的。作为一种流行的范式,人们尝试用基于自动编码器的模型的重建误差[6, 18]或基于矩阵分解的方法的残差[2,17,34]来测量节点的异常。

        然而,由于缺乏对感兴趣的异常的先验知识,他们识别的异常可能会变成数据噪声或不感兴趣趣的数据实例。该问题的一个潜在解决方案是利用有限或很少的标记异常作为先验知识来学习异常通知模型,因为它在现实场景中成本相对较低 - 一小组标记异常可以来自已部署的检测系统或由用户反馈提供。与此同时,这些有价值的知识通常分散在目标网络同一域内的其他网络中,可以进一步利用这些网络来提取监督信号。

        可以将 ACM 和 DBLP 视为计算机科学领域中具有类似引文关系的引文网络。根据之前的研究[33,51,52],由于拓扑结构和节点属性的相似性,将有价值的知识从源网络转移到目标网络,从而提高目标网络的性能是可行的。因此,在这项工作中,我们建议研究跨网络设置下的少样本网络异常检测的新问题。

        尽管如此,解决这个尚未探索的问题仍然很重要,主要是由于以下原因:(1)从微观(网络内)的角度来看,由于我们对异常的了解有限,因此很难精确地描述异常模式。如果我们直接采用现有的半监督[37]或PU[40]学习技术,这些方法往往无法达到令人满意的结果,因为它们可能仍然需要相对较大比例的正例[23]。为了处理如图1(a)所示的这种不完全监督挑战[47],有必要探索如何利用尽可能少的标记异常来学习正常模式的高级抽象,而不是关注异常节点; (2)从宏观(网络间)的角度来看,虽然同一域内的网络总体上可能具有相似的特征,但不同网络中存在的异常可能来自非常不同的流形。先前关于跨网络学习的研究[29, 41]大多集中于仅从单个网络迁移知识,这可能会导致结果不稳定和负迁移的风险。由于从多个网络中学习可以提供有关异常特征的更全面的知识,因此非常需要一种能够适应这些知识的跨网络学习算法

 (图 1:由于异常通常具有不同的模式,(a) 现有方法可能很容易无法将它们与潜在表示空间中的正常节点区分开来,而标记的异常很少,(b) 虽然它们可以在异常得分空间中通过以下方式很好地分离:强制异常节点和正常节点之间存在统计显着偏差。)

        为了应对上述挑战,我们在这项工作中首先设计了一种新的 GNN 架构,即图形偏差网络(GDN),以便在标注数据有限的情况下进行网络异常检测。具体来说,给定一个任意网络,GDN 首先使用一个 GNN 骨干异常得分学习器为每个节点分配异常得分,然后根据先验概率定义异常得分的平均值,作为指导后续异常得分学习的参考得分。通过利用偏差损失[23],GDN 能够在异常得分空间中强制执行异常节点的异常得分与正常节点的异常得分在统计上的显著偏差(如图 1(b)所示)。为了进一步将这一能力从多个网络转移到目标网络,我们提出了一种跨网络元学习算法,从多个少量网络异常检测任务中学习通用性良好的 GDN 初始化。无缝集成的框架 Meta-GDN 能够提取用于检测多个网络异常的综合元知识,这在很大程度上缓解了从单一网络迁移的局限性。随后,初始化可以通过微调轻松适应目标网络,只需少量甚至一个标注异常点,就能在很大程度上提高目标网络的异常检测性能。总而言之,我们的主要贡献有三个方面:

        问题:据我们所知,我们是第一个研究小样本网络异常检测这一新问题的人。值得注意的是,我们建议通过跨多个网络转移知识来解决这个问题。

        算法:我们提出了一个原则框架 Meta-GDN,它集成了一系列新的图神经网络(即 GDN)和跨网络元学习,以检测带有少量标记实例的异常。

        评估:我们进行了大量的实验来证实我们方法的有效性。实验结果证明了 Meta-GNN 在网络异常检测方面优于最先进的方法。

问题定义

        在本节中,我们正式定义少样本跨网络异常检测问题。在整篇论文中,我们使用粗体大写字母表示矩阵(例如,A),粗体小写字母表示向量(例如,u),小写字母表示标量(例如,𝑠),并使用书法字体来表示集合(例如,V)。值得注意的是,在这项工作中,我们专注于属性网络以实现更通用的目的。给定一个属性网络 G = (V, E, X),其中 V 是节点集,即 {𝑣1, 𝑣2,…。 。 。 , 𝑣𝑛},E 表示边的集合,即 {𝑒1, 𝑒2, . 。 。 ,𝑒𝑚}。节点属性由 X = [x T 1 , x T 2 , · · · , x T 𝑛 ] ∈ R 𝑛×𝑑 表示,x𝑖 是节点 𝑣𝑖 的属性向量。更具体地说,我们将属性网络表示为 G = (A, X),其中 A = {0, 1} 𝑛×𝑛 是表示网络结构的邻接矩阵。具体来说,A𝑖,𝑗 = 1 表示节点 𝑣𝑖 和节点 𝑣𝑗 之间存在边;否则,A𝑖,𝑗 = 0

        一般来说,少样本跨网络异常检测旨在通过从辅助网络传输非常有限的ground truth异常监督知识来最大限度地提高目标网络的检测性能。除了目标网络 G𝑡 之外,在这项工作中,我们假设还存在 𝑃 辅助网络 G 𝑠 = {G𝑠 1 , G𝑠 2 , 。 。 。 , G𝑠 𝑃 } 与 G𝑡 共享相同或相似的域。对于属性网络,标记的异常节点的集合表示为 V𝐿,未标记的节点的集合表示为 V𝑈 。请注意 V = {V𝐿 , V𝑈 } 并且在我们的问题中 |V𝐿 |≪ |V𝑈 |因为只给出了少量的标记数据。由于网络异常检测通常被表述为排序问题[1],我们正式定义少样本跨网络异常检测问题如下:

        问题 1. 小样本跨网络异常检测:给定: 𝑃 辅助网络,即 G 𝑠 = {G𝑠 1 = (A 𝑠 1 , X 𝑠 1 ), G𝑠 2 = (A 𝑠 2 , X 𝑠 2 ), 。 。 。 , G𝑠 𝑃 = (A 𝑠 𝑃 , X 𝑠 𝑃 )} 和目标网络 G𝑡 = (A 𝑡 , X 𝑡 ),每个网络都包含一组少样本标记异常(即 V𝐿 1 , V𝐿 2 , . . . , V𝐿 𝑃 和 V𝐿 𝑡 )

        目标:学习一个异常检测模型,该模型能够利用来自多个辅助网络的真实异常知识,即 {G𝑠 1 , G𝑠 2 , . 。 。 , G𝑠 𝑃 },检测目标网络 G𝑡 中的异常节点。理想情况下,检测到的异常应该比正常节点具有更高的排名分数。

方法

        在本节中,我们将介绍所提出的框架 - 用于小样本网络异常检测的 Meta-GDN 的详细信息。具体来说,Meta-GDN 通过以下两个关键贡献解决了所讨论的挑战:(1)图偏差网络(GDN),一个新的图神经网络系列,可以使用有限的标记数据对任意单个网络进行异常检测; (2) 跨网络元学习算法,使 GDN 能够跨多个辅助网络传输元知识,以实现对目标网络的小样本异常检测。图 2 概述了拟议的 Meta-GDN。

Graph Deviation Networks

         为了能够在具有少量标记数据的任意网络上进行异常检测,我们首先提出了一个新的图神经网络系列,称为图偏差网络(GDN)。

        由三个关键构建块组成,包括(1)用于学习节点表示的网络编码器; (2)异常评估器,用于评估每个节点的异常得分; (3) 用于优化带有少量标记异常的模型的偏差损失。详情如下所示:

        网络编码器。为了从输入网络学习表达节点表示,我们首先构建网络编码器模块。具体来说,它由多个 GNN 层构建,将每个节点编码为低维潜在表示。一般来说,GNN 遵循邻域消息传递机制,并通过以迭代方式聚合局部邻域的特征来计算节点表示。形式上,通用 GNN 层使用两个关键函数计算节点表示:

         为了捕获网络中的远程节点依赖性,我们在网络编码器中堆叠多个 GNN 层。因此,网络编码器可以表示为:

         异常评估器。然后,从网络编码器学习到的节点表示将被传递给异常评估器𝑓𝜽𝑠(·),以进一步估计每个节点的异常情况。具体来说,异常评估器由两个前馈层构建,将中间节​​点表示转换为标量异常分数:

         偏差损失。本质上,GDN 的目标是根据计算出的带有少样本标签的异常分数来区分正常节点和异常节点。在这里,我们建议采用偏差损失[23]来强制模型为那些特征显着偏离正常节点的节点分配较大的异常分数。为了指导模型学习,我们首先定义一个参考分数(即𝜇𝑟)作为一组随机选择的正常节点的异常分数的平均值。它可以作为量化异常节点的分数与正常节点的偏差程度的参考。

        根据之前的研究 [15, 23],高斯分布通常是拟合各种数据集的异常分数的稳健选择。基于这个假设,我们首先从高斯先验分布中采样一组 𝑘 异常分数,即 R = {𝑟1, 𝑟2, 。 。 。 , 𝑟𝑘 } ∼ N(𝜇, 𝜎2 ),其中每一个表示随机正常节点的异常。参考分数计算为所有采样分数的平均值:

         有了参考分数𝜇𝑟,节点𝑣𝑖的异常分数与参考分数之间的偏差可以用标准分数的形式定义:

         其中 𝜎𝑟 是采样异常分数集的标准差 R = {𝑟1, . 。 。 ,𝑟𝑘}。然后,通过将距离函数替换为式(6)中的偏差,可以从对比损失[11]中导出最终的目标函数:

         其中 𝑦𝑖 是输入节点 𝑣𝑖 的真实标签。如果节点 𝑣𝑖 是异常节点,则 𝑦𝑖 = 1,否则,𝑦𝑖 = 0。请注意,𝑚 是定义偏差周围半径的置信边际

        通过最小化上述损失函数,GDN 会将正常节点的异常分数尽可能接近 𝜇𝑟,同时强制 𝜇𝑟 与异常节点的异常分数之间至少有 𝑚 的较大正偏差。这样,GDN 就能够学习正常模式的高级抽象,而标记的异常要少得多,并使节点表示学习能够区分正常节点和罕见异常。因此,如果节点的模式显着偏离学习到的正常模式的抽象,则将向该节点分配较大的异常分数

        我们的初步结果表明,只要 𝜎 不太大,GDN 对 𝜇 和 𝜎 的选择并不敏感。具体来说,我们在实验中设置𝜇=0和𝜎=1,这有助于GDN在不同数据集上实现稳定的检测性能。还值得一提的是,由于我们无法访问正常节点的标签,因此我们简单地将 V𝑈 中未标记的节点视为正常节点。请注意,这样剩余的未标记异常和所有正常节点将被视为正常,从而将污染引入到训练集中(即未标记异常与总未标记训练数据 V𝑈 的比率)。值得注意的是,GDN 通过使用这种简单的策略表现非常好,并且对不同的污染水平具有鲁棒性。第 2 节评估了不同污染水平对模型性能的影响。 5.4.

Cross-network Meta-learning

        有了所提出的图偏差网络(GDN),我们能够有效地检测具有有限标记数据的任意网络上的异常。当来自目标网络同一域的辅助网络可用时,如何传递这些有价值的知识是在目标网络上实现少样本异常检测的关键。尽管它具有可行性,但如果我们直接借用现有跨网络学习方法的思想,性能将相当有限。主要原因是这些方法仅仅专注于从单个网络转移知识[29, 41],这可能会由于不同网络上的异常特征不同而导致负转移。为此,我们转而利用多个辅助网络来提取异常的全面知识。

        作为提取和转移知识的有效范式,元学习由于在各种高影响力领域的广泛应用,最近受到越来越多的研究关注[8,19,20,27,36,38]。本质上,元学习的目标是在各种学习任务上训练模型,使得学习到的模型能够有效地适应很少甚至只有一个标记数据的新任务[13]。特别是,芬恩等人 [10]提出了一种与模型无关的元学习算法来显式地学习模型参数,使得模型可以通过少量的梯度步骤和有限的标记数据实现对新任务的良好泛化。受这项工作的启发,我们建议学习一个元学习器(即 Meta-GDN)作为来自多个辅助网络的 GDN 的初始化,它具有有效识别新目标网络上异常节点的泛化能力。具体来说,Meta-GDN 在训练阶段从辅助网络上的不同小样本网络异常检测任务中提取真实异常的元知识,并将针对目标网络上的新任务进行进一步微调,使得模型可以做出快速有效的适应

        我们将每个学习任务定义为在单个网络上执行少量异常检测,其目标是强制将大异常分数分配给等式(7)中定义的异常。 令 T𝑖 表示由网络 G𝑠 𝑖 构建的少样本网络异常检测任务,那么每个时期我们都有 𝑃 学习任务。我们考虑由带有参数 𝜽 的参数化函数 𝑓𝜽 表示的 GDN 模型。给定 𝑃 任务,优化算法首先针对每个学习任务 T𝑖 独立调整初始模型参数 𝜽 至 𝜽 ′ 𝑖。具体来说,更新的参数 𝜽 ′ 𝑖 是使用 LT𝑖 对从 G𝑠 𝑖 中的 V𝐿 𝑖 和 V𝑈 𝑖 采样的一批训练数据计算的。形式上,一步梯度的参数更新可以表示为:

         通过在所有学习任务中优化 𝑓𝜽 相对于 𝜽 的最佳性能来训练模型参数。更具体地,元目标函数定义如下:

         通过优化 GDN 的目标,更新后的模型参数可以保留检测每个网络异常的能力。由于元优化是在参数𝜽上执行的,目标是使用所有任务的更新参数计算的,相应地,模型参数被优化,使得目标任务(网络)上的一个或少量梯度步骤将产生巨大的效果。

        形式上,我们利用随机梯度下降(SGD)来更新所有任务的模型参数𝜽,使得模型参数𝜽更新如下:

         其中 𝛽 是元步长。完整的算法总结在算法 1 中。具体来说,对于每个批次,我们从未标记数据(即 V𝑈 )和标记异常数据(即 V𝐿 )中随机采样相同数量的节点,分别表示正常和异常节点(步骤- 4).

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数字化失败最关键原因是是老板问题,技术问题还是产品问题?

大家都知道失败率高达80%,这太夸张了,ERP导入都没有这个失败率,那到底为什么呢?​ 数字化失败的最关键原因可能因具体环境和情况而异。题主提到的每个因素(老板问题、技术问题和产品问题)都可能以不同的方…

Java三大特征之继承【超详细】

文章目录 一、继承概念二、继承的语法三、父类成员访问3.1子类中访问父类的成员变量3.2子类和父类成员变量同名3.3子类中访问父类的成员方法 四、super关键字五、子类构造方法六、super和this七、再谈初始化八、protected 关键字九、继承方式十、final 关键字十一、继承与组合 …

IntelliJ IDEA快捷键大全 + 动图演示!

一、构建/编译 Ctrl F9:构建项目该快捷键,等同于菜单【Build】—>【Build Project】 执行该命令后,IntelliJ IDEA 会编译项目中所有类,并将编译结果输出到out目录中。IntelliJ IDEA 支持增量构建,会在上次构建的基…

GC 深入(小白,对gc有一个进一步的了解)

垃圾回收器的搭配 一般固定 一般这年轻代垃圾回收器,老年代垃圾回收器,如上图搭配着使用 1.8呢默认就是最后边那哥俩 jvm调优 一个就是增加吞吐量 一个就是减少STW的时间。 三色标记算法(理解根可达算法) 并发的可达性分析 有…

Nacos配置中心设置Mongodb

目录 1.common模块导入nacos config依赖 2.common模块新建bootstrap.yaml 3.在自己的模块导入common模块依赖 4.打开nacos新建配置,发布 5.运行服务并测试 效果:在部署完成后,其他人可以自动连接到你本地mongoDB数据库,无需再…

小程序原生实现左右锚点联动

效果 wxml <view classbox><scroll-view scroll-y scroll-with-animation style"width:25%"><view classnav><view wx:for"{{navList}}" wx:keyindex class"title {{index active ?select:}}"data-index{{index}} bin…

Day02-作业(JavaScriptVue)

作业1&#xff1a;实现5秒之后&#xff0c;当前页面直接跳转到官网首页&#xff08;首页地址&#xff1a;https://www.itcast.cn&#xff09; 提示&#xff1a; 5秒之后&#xff0c;才触发某一个动作 素材&#xff1a; <!DOCTYPE html> <html lang"en"&g…

基于Amoeba读写分离(三十六)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、概述 二、实验&#xff1a; 总结 前言 今天要学的是基于Amoeba读写分离。Amoeba是一个开源的关系型数据库管理系统&#xff0c;它支持读写分离的架构。在Amoe…

使用DeferredResult来设计异步接口

文章目录 DeferredResult 介绍思路Demo搭建1.定义一个抽象的请求体2.定义一个接口返回体3.定义一个接口请求体继承抽象类AsynTaskBaseRequest<T<T>>4.定义seveice类&#xff0c;并声明一个异步方法&#xff08;Async注解&#xff09;5.定义一个返回DeferredResult的…

一篇文章带你搞懂Java多态的概念、优点、实现多态的方式、以及不同方式的区别

一篇文章带你搞懂Java多态的概念、优点、使用场景 基本概念 ​ **多态&#xff08;Polymorphism&#xff09;是面向对象编程的一个重要特性&#xff0c;它指的是同一个行为具有多个不同表现形式或形态的能力。**它允许我们使用父类的引用变量来引用子类的对象&#xff0c;并根…

SpringBoot第29讲:SpringBoot集成MySQL - MyBatis-Plus代码自动生成

SpringBoot第29讲&#xff1a;SpringBoot集成MySQL - MyBatis-Plus代码自动生成 本文是SpringBoot第29讲&#xff0c;主要介绍 MyBatis-Plus代码自动生成&#xff0c;以及产生此类代码生成工具的背景和此类工具的基本实现原理。 文章目录 SpringBoot第29讲&#xff1a;SpringBo…

STM32(HAL)串口中断接收

目录 1、简介 2 基础配置 2.1.1 SYS配置 2.1.2 RCC配置 2.2 串口外设配置 2.3 项目生成 3、KEIL端程序整合 1、简介 本文对HAL串口中断函数进行介绍。 2 基础配置 2.1.1 SYS配置 2.1.2 RCC配置 2.2 串口外设配置 2.3 项目生成 3、KEIL端程序整合 首先在main.c文件中进行…

一套AI+医疗模式的医院智慧导诊系统源码:springboot+redis+mybatis plus+mysql

一套AI医疗模式的医院智慧导诊系统源码 相关技术&#xff1a; 技术架构&#xff1a;springbootredismybatis plusmysqlRocketMQ 开发语言&#xff1a;java 开发工具&#xff1a;IDEA 前端框架&#xff1a;Uniapp 后端框架&#xff1a;springboot 数 据 库&#xff1a;mys…

华为OD机试真题 JavaScript 实现【名字的漂亮度】【牛客练习题】

目录 一、题目描述二、输入描述三、输出描述四、解题思路五、JavaScript算法源码 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 刷的越多&#xff0c;抽中的概率越大&#xff0c;每一题都有详细的答题思路、详细的代码注释、样例测试&#xff0c;发现新题目&#x…

React的UmiJS搭建的项目集成海康威视h5player播放插件H5视频播放器开发包 V2.1.2

最近前端的一个项目&#xff0c;大屏需要摄像头播放&#xff0c;摄像头厂家是海康威视的&#xff0c;网上找了一圈都没有React集成的&#xff0c;特别是没有使用UmiJS搭脚手架搭建的&#xff0c;所以记录一下。 海康威视的开放平台的API地址&#xff0c;相关插件和文档都可以下…

CUDA_CHECK(cudaFree(...))报错CUDA error 1

GPT-3.5太好用了&#xff0c;报错情况如下&#xff1a; 总结一下, 在使用cudaFree释放之前cudaMalloc()分配的GPU内存时&#xff0c;报错cuda error,最有可能的几个原因就是&#xff1a; 试图释放已经释放的gpu内存&#xff0c;在调用cudafree&#xff08;&#xff09;时确保没…

C# Solidworks二次开发:自动创建虚拟零件及使用注意事项

今天要讲的是关于在solidworks中如何自动创建虚拟零件的功能&#xff0c;也就是solidworks中插入新零件这个功能。 实现这个功能需要使用的API如下所示&#xff1a; InsertNewVirtualPart&#xff08;swFaceOrPlane1, out swcomp2&#xff09;&#xff1b; 其中这个方法中使…

【深度学习】InST,Inversion-Based Style Transfer with Diffusion Models,论文,风格迁移,实战

代码&#xff1a;https://github.com/zyxElsa/InST 论文&#xff1a;https://arxiv.org/abs/2211.13203 文章目录 AbstractIntroductionRelated WorkImage style transferText-to-image synthesisInversion of diffusion models MethodOverview ExperimentsComparison with Sty…

登月再进一步:Apollo自动驾驶的里程碑

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 「推荐专栏」&#xff1a; ★java一站式服务 ★ ★前端炫酷代码分享 ★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff0c;vue成神之路★ ★ 解决算法&#xff0c;一个专栏就够了★ ★ 架…

spark-sql数据重复之File Output Committer问题

前言 我们先来回顾下之前介绍过的三种Committer&#xff1a;FileOutputCommitter V1、FileOutputCommitter V2、S3A Committer&#xff0c;其基本代表了整体的演进趋势。 核心代码讲解详细参照&#xff1a;Spark CommitCoordinator 保证数据一致性 OutputCommitter commitTask…