【论文分享】★★★ 小样本网络异常检测方法 GDN:Few-shot Network Anomaly Detection via Cross-network Meta-learning

  • 题目:Few-shot Network Anomaly Detection via Cross-network Meta-learning
  • 源码:-
  • 时间:2021.02
  • 链接:https://arxiv.org/pdf/2102.11165.pdf
  • 机构:亚利桑那州立大学
  • 会议:WWW(CCF-A)
  • 摘要:本文提出了一种新的图神经网络系列:图偏差网络(GDN),它可以利用少量标记的异常来加强网络中异常节点和正常节点之间统计上的显著偏差;为所提出的GDN配置一种新的跨网络元学习算法,通过从多个辅助网络传输元知识来实现少镜头网络异常检测。广泛的评估证明了所提出的方法在少量或甚至一次网络异常检测的有效性。
  • 其他:相当重要的一篇文章,和博主的研究方向完全契合,所以这篇论文博主首先用几张ppt做一个简单的总结,随后会做比较详细的翻译工作

    目录

    • 总结
    • 1 介绍
    • 2 相关工作
      • 网络异常检测
      • 图神经网络
    • 3 问题定义
    • 4 方法
      • 4.1 Graph Deviation Networks
        • 1. Network Encoder
        • 2. Abnormality Valuator
        • 3. Deviation Loss
      • 4.2 Cross-network Meta-learning
    • 5 实验
      • 5.1 实验设置
        • 1 数据集
        • 2 对比方法
        • 3 评价标准
        • 4 实现细节
      • 5.2 实验结果
        • 1 全面比较
        • 2 小样本验证
      • 5.3 敏感度和稳健性分析
      • 5.4 消融实验
    • 6 结论
    • 问题

总结

下图很清晰地展示了这篇文章的两个动机以及这篇文章的两个研究点,首先提出一个图偏差网络(GDN),然后再基于GDN进行跨网络的训练,提出了Meta-GNN模型。
【论文分享】★★★ 小样本网络异常检测方法 GDN:Few-shot Network Anomaly Detection via Cross-network Meta-learning_第1张图片

这张图的左侧是本文提出来的新的神经网络,图偏差网络GDN,右侧是对GDN进行跨网络训练得到Meta-GDN。GDN由三个关键部分组成。
【论文分享】★★★ 小样本网络异常检测方法 GDN:Few-shot Network Anomaly Detection via Cross-network Meta-learning_第2张图片

GDN的第一个部分:网络编码器
【论文分享】★★★ 小样本网络异常检测方法 GDN:Few-shot Network Anomaly Detection via Cross-network Meta-learning_第3张图片

GDN的第二个部分:异常估值器
【论文分享】★★★ 小样本网络异常检测方法 GDN:Few-shot Network Anomaly Detection via Cross-network Meta-learning_第4张图片

GDN的第三个部分:偏移损失,优化异常值
【论文分享】★★★ 小样本网络异常检测方法 GDN:Few-shot Network Anomaly Detection via Cross-network Meta-learning_第5张图片
vi为异常节点时,yi=1,这个损失函数会使得 该异常节点的异常得分与产生至少的较大正偏差。Vi为正常结点时,yi=0,这个损失函数会使得 正常节点的异常得分尽可能接近。用一句话概括一下:异常结点的异常分数,应该落在该高斯分布右侧远离均值区域,正常结点的异常值,应该落在高斯分布的均值附近。这就是对异常值的一个优化。
【论文分享】★★★ 小样本网络异常检测方法 GDN:Few-shot Network Anomaly Detection via Cross-network Meta-learning_第6张图片

到这一步,我已经讲完了这篇文章的第一个点,也是提出了一个将graph映射为了标量异常分数的神经网络GDN。接下来我要讲的是这篇文章的第二个大的点,也就是跨网络来训练GDN。
【论文分享】★★★ 小样本网络异常检测方法 GDN:Few-shot Network Anomaly Detection via Cross-network Meta-learning_第7张图片

  • 上面这张图是本文对Meta-GDN的描述,下面这张图是Meta-GNN(这篇文章博主也写过阅读笔记,可以看这篇:https://blog.csdn.net/qq_39328436/article/details/123679075)的描述。在我看来这两张图简直是一摸一样,总结一句话就是用元学习的策略来训练模型。

  • 所谓的跨网络,其实就是在网络数据集上随机抽取子图,构成元学习的支持集和查询集,进行元训练,这是在19年就有过的想法。我认为可以用,但是不至于专门作为整篇论文的第二个大点。如果后面有新的理解,我会更新此处的描述。

1 介绍

  网络结构数据,从社会网络到团队协作网络,从引文网络到分子图,已经被广泛用于建模无数的真实世界的系统。尽管如此,现实世界的网络通常被一小部分节点所污染,即异常,其模式明显偏离绝大多数节点。例如,在一个代表论文间引文关系的引文网络中,有部分科研论文存在与论文内容不符的虚假参考文献(即边)。由于极少的异常情况都可能造成极其不利的影响,网络异常检测问题受到了工业界和学术界的广泛关注。
  由于标注异常需要耗费人力并且需要专门的领域知识,现有的方法主要是在无监督的情况下发展起来的。作为一种流行的范式,人们试图通过基于自动编码器模型的重构误差或基于矩阵分解方法的残差来度量节点的异常。然而,由于缺乏对异常的先验知识,他们所识别的异常可能被证明是数据噪声。一个潜在的解决这个问题是利用有限或几个标签异常的先验知识学习anomaly-informed模型,这种方法是相对低成本的,在真实的场景中,少量的标签异常可以从部署检测系统或由用户的反馈。同时,这些有价值的知识通常分散在目标网络同一域内的其他网络中,可以进一步利用这些知识来提取监督信号。例如,LinkedIn和Indeed拥有类似的社交网络,代表着求职领域的用户友谊;在计算机科学领域,ACM和DBLP可以被视为具有相似引文关系的引文网络。根据以往的研究,由于拓扑结构和节点属性的相似性,可以将有价值的知识从源网络转移到目标网络,从而提高目标网络的性能。因此,在本工作中,我们提出研究跨网络设置下的小样本网络异常检测的新问题

  尽管如此,解决这一未得到充分研究的问题仍然不简单,主要原因如下:

  (1) 从微观(网络内)的角度来看,由于我们对异常的认识有限,很难精确地描述异常模式。如果我们直接采用现有的半监督或PU学习技术,这些方法往往达不到令人满意的结果,因为它们可能仍然需要相当大比例的异常样本。为了处理如图1(a)所示的这种不完全监督挑战,如何尽可能少地利用标记的异常来学习正常模式的高级抽象是有必要探索的;

  (2)从宏观(网络间)的角度来看,虽然同一域的网络在总体上可能具有相似的特征,但不同网络中存在的异常可能来自非常不同的流形。以往关于跨网络学习的研究多集中于单一网络的知识迁移,这可能会导致结果不稳定和负迁移的风险。

  由于从多个网络中学习可以提供关于异常特征的更全面的知识,因此非常需要一种能够适应这些知识的跨网络学习算法。

【论文分享】★★★ 小样本网络异常检测方法 GDN:Few-shot Network Anomaly Detection via Cross-network Meta-learning_第8张图片
   为了解决上述问题,我们首先设计了一种新的GNN架构,即图偏差网络(GDN),利用有限的标记数据进行网络异常检测。具体来说,给定任意网络,GDN首先使用GNN -backbone异常分数学习器为每个节点分配一个异常分数,然后根据先验概率定义异常分数的均值作为参考分数,指导后续的异常分数学习。通过利用偏离损失,GDN能够在异常得分空间中强制异常节点的异常得分与正常节点的异常得分存在统计学上的显著偏差(如图1(b)所示)。为了进一步将这种能力从多个网络转移到目标网络,我们提出了一种跨网络元学习算法,从多个小样本网络异常检测任务中学习GDN的良好广义初始化。无缝集成的Meta-GDN框架能够提取全面的元知识,用于跨多个网络的异常检测,极大地缓解了单一网络传输的局限性。随后,在标记异常很少甚至只有一个的情况下,通过微调使初始化容易适应目标网络,在很大程度上提高了目标网络上的异常检测性能。综上所述,我们的主要贡献有三方面:

  • 问题:据我们所知,我们是第一个小样本网络异常检测这一新问题的。值得注意的是,我们建议通过跨多个网络传递知识来解决这个问题。
  • 算法:我们提出了Meta-GDN,,它集成了一组新的图神经网络(即GDN)和跨网络元学习,以检测小样本异常 。
  • 评估:我们进行了大量的实验来证实我们方法的有效性。实验结果表明,Meta-GNN在网络异常检测方面的性能优于目前最先进的网络异常检测方法。

2 相关工作

网络异常检测

   网络异常检测方法针对的是网络结构数据。以往的研究主要是研究平面网络的异常检测问题。由于网络结构是普通网络中唯一可用的信息模态,这类异常检测方法试图利用网络结构信息从不同的角度发现异常。作者在此处提出了以下研究:

  • DOMINANT :Deep anomaly detection on attributed networks 用神经网络做编码器和解码器学习嵌入(看上去,多少有点可读性)

  • 【论文分享】★★★ 小样本网络异常检测方法 GDN:Few-shot Network Anomaly Detection via Cross-network Meta-learning_第9张图片

  • Semi-GNN:A Semi-supervised Graph Attentive Network for Financial Fraud Detection.有点不太理解多视点图

  • GAS:Spam review detection with graph convolutional networks 邮件审查机制

  • Error-Bounded Graph Anomaly Loss for GNNs

图神经网络

   图神经网络在将图的信息转化为低维潜在表示方面取得了突破性的成功。基于光谱的图卷积网络(GCNs)最初受到图谱理论的启发,通过设计不同的图卷积层来证明其有效性。其中,Kipf等人提出的模型(Semi-Supervised Classification with Graph Convolutional Networks)采用线性滤波器,成为最流行的模型。除了基于频谱的图卷积模型外,遵循邻域聚合方案的基于空间的图神经网络也得到了广泛的研究。这些方法不是为每个节点训练单独的嵌入,而是学习一组聚合函数来聚合节点的局部邻域特征。GraphSAGE学习了一个嵌入函数,该函数可以被泛化到不可见的节点,从而能够在网络结构化数据上进行归纳表示学习。类似地,Graph Attention Networks (GATs)提出在聚合节点的邻域信息时,通过引入自注意策略来学习隐表示。此外,图同构网络(GIN)扩展了用神经网络参数化通用多集函数的思想,并被证明具有与Weisfeiler-Lehman (WL)图同构检验同样强大的理论能力。为了超越单一的图,将知识转移到多个图中,近年来,研究人员探索将gnn与元学习技术整合在一起。例如PA-GNN通过元优化将清理后的图的鲁棒性传递给目标图。Meta-NA是一个图对齐模型,它可以跨多个图学习统一的度量空间,可以很容易地将不同图的实体连接起来。然而,这些努力并不能应用于我们的问题,我们是第一个研究小样本跨网络异常检测问题的。

3 问题定义

  • 粗体大写字母表示矩阵
  • 粗体小写字母表示向量
  • 小写字母表示标量
  • 书法字体表示集和
  • 属性网络表示一: G = ( ϑ , E , X ) \mathbf{G}=(\vartheta, \mathcal{E}, \mathbf{X}) G=(ϑ,E,X),分别代表结点集和,边集和,属性特征集和。
  • 属性网络表示二: G = ( A , X ) \mathbf{G}=(\mathbf{A}, \mathbf{X}) G=(A,X) A = { 0 , 1 } n × n \mathbf{A}=\{0,1\}^{n \times n} A={0,1}n×n为表示网络结构的邻接矩阵。
  • 小样本跨网异常检测目的:通过从辅助网络传输非常有限的ground-truth异常监测知识,最大限度地提高目标网络的检测性能。
  • 目标网络: G t \mathrm{G}^{t} Gt
  • 辅助网络: G s = { G 1 s , G 2 s , … , G P s } \mathcal{G}^{s}=\left\{\mathbf{G}_{1}^{s}, \mathbf{G}_{2}^{s}, \ldots, \mathbf{G}_{P}^{s}\right\} Gs={G1s,G2s,,GPs}
  • 辅助网络与目标网络共享相同或者相似的域
  • 有标记的异常结点: V L \boldsymbol{V}^{L} VL
  • 无标记的异常结点: V U \boldsymbol{V}^{U} VU
  • 所以节点集和为: V = { V L , V U } V=\left\{V^{L}, V^{U}\right\} V={VL,VU}
  • 本文的小样本场景中: ∣ V L ∣ ≪ ∣ V U ∣ \left|\mathcal{V}^{L}\right| \ll\left|\mathcal{V}^{U}\right| VLVU

Few-shot Cross-network Anomaly Detection 小样本跨网路异常检测

已知:

  • 辅助网络: G s = { G 1 s = ( A 1 s , X 1 s ) , G 2 s = \mathcal{G}^{s}=\left\{\mathrm{G}_{1}^{s}=\left(\mathrm{A}_{1}^{s}, \mathrm{X}_{1}^{s}\right), \mathrm{G}_{2}^{s}=\right. Gs={G1s=(A1s,X1s),G2s= ( A 2 s , X 2 s ) , … , G P s = ( A P s , X P s ) } \left.\left(\mathrm{A}_{2}^{s}, \mathrm{X}_{2}^{s}\right), \ldots, \mathrm{G}_{P}^{s}=\left(\mathrm{A}_{P}^{s}, \mathrm{X}_{P}^{s}\right)\right\} (A2s,X2s),,GPs=(APs,XPs)}
  • 目标网络: G t = \mathrm{G}^{t}= Gt= ( A t , X t ) \left(\mathrm{A}^{t}, \mathbf{X}^{t}\right) (At,Xt),
  • 有标签样本集合: V 1 L , V 2 L , … , V P L \mathcal{V}_{1}^{L}, \mathcal{V}_{2}^{L}, \ldots, \mathcal{V}_{P}^{L} V1L,V2L,,VPL and V t L \mathcal{V}_{t}^{L} VtL

目标:

  • 学习异常检测模型,该模型能够利用来自多个辅助网络 { G 1 S , G 2 s , … , G P S } \left\{\mathrm{G}_{1}^{S}, \mathrm{G}_{2}^{s}, \ldots, \mathrm{G}_{P}^{S}\right\} {G1S,G2s,,GPS}的ground-truth异常知识,去检测目标网络G中的异常节点。理想情况下,检测到的异常节点应该比正常节点有更高的排名分数。

4 方法

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

【论文分享】★★★ 小样本网络异常检测方法 GDN:Few-shot Network Anomaly Detection via Cross-network Meta-learning_第10张图片

4.1 Graph Deviation Networks

   我们首先提出了一种新的图神经网络,称为图偏差网络(graph Deviation network, GDN)。GDN由三个关键部分组成,包括 (1)用于学习节点表示的网络编码器; (2)异常估值器,用于估计每个节点的异常得分; (3)偏移损失,用于优化具有小样本标记异常的模型。具体情况如下:

1. Network Encoder

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

h N i l =  AGGREGATE  l ( { h j l − 1 ∣ ∀ j ∈ N i ∪ v i } ) h i l =  TRANSFORM  ( h i l − 1 , h N i l ) \begin{aligned} \mathbf{h}_{\mathcal{N}_{i}}^{l} &=\text { AGGREGATE }^{l}\left(\left\{\mathbf{h}_{j}^{l-1} \mid \forall j \in \mathcal{N}_{i} \cup v_{i}\right\}\right) \\ \mathbf{h}_{i}^{l} &=\text { TRANSFORM }\left(\mathbf{h}_{i}^{l-1}, \mathbf{h}_{\mathcal{N}_{i}}^{l}\right) \end{aligned} hNilhil= AGGREGATE l({hjl1jNivi})= TRANSFORM (hil1,hNil)

   h i l \mathbf{h}_{i}^{l} hil 是结点 v i v_{i} vi l l l 层的潜在表示, N i \mathcal{N}_{i} Ni v i v_{i} vi的一阶邻居。AGGREGATE ( ⋅ ) (\cdot) () 是一个聚合函数,聚合来自相邻节点的消息 ;TRANSFORM ( ⋅ ) (\cdot) () 根据节点的前一层表示和来自邻居的聚合消息计算节点的新表示。

  为了捕获网络中的长期节点依赖关系,我们在网络编码器中叠加了多个GNN层,因此,网络编码器可以表示为:

H 1 = G N N 1 (   A , X ) \mathrm{H}^{1}=\mathrm{GNN}^{1}(\mathrm{~A}, \mathrm{X}) H1=GNN1( A,X) . . . ... ... Z = G N N L (   A , H L − 1 ) \mathrm{Z}=\mathrm{GNN}^{L}\left(\mathrm{~A}, \mathrm{H}^{L-1}\right) Z=GNNL( A,HL1)

   其中Z是从网络编码器学习到的节点表示。为简单起见,我们使用一个参数化函数 f θ e ( ⋅ ) f_{\theta_{e}}(\cdot) fθe()表示网络编码器(层GNN)。值得注意的是,网络编码器与任意基于GNN的体系结构兼容,这里我们在实现中使用了简单图卷积(Simple Graph Convolution, SGC)。

2. Abnormality Valuator

   由网络编码器学习到的表示随后被送入异常值评估器 f θ s ( ⋅ ) f_{\theta_{s}}(\cdot) fθs(),进一步评估每个结点的异常情况。异常评估器由两个前馈层构成,将中间节点表示转化为标量异常得分:
o i = ReLU ⁡ ( W s z i + b s ) s i = u s T o i + b s \begin{aligned} \mathbf{o}_{i} &=\operatorname{ReLU}\left(\mathbf{W}_{s} \mathbf{z}_{i}+\mathbf{b}_{s}\right) \\ s_{i} &=\mathbf{u}_{s}^{\mathrm{T}} \mathbf{o}_{i}+b_{s} \end{aligned} oisi=ReLU(Wszi+bs)=usToi+bs
   s i s_{i} si表示结点 v i v_{i} vi的异常值; o i o_{i} oi表示中间输出; W s W_{s} Ws u s u_{s} us分别是可学习的权重矩阵和权重向量; b s \mathbf{b}_{s} bs b s b_{s} bs是偏置项。
  具体而言,整个GDN模型可以描述为:
f θ ( A , X ) = f θ s ( f θ e ( A , X ) ) f_{\theta}(\mathbf{A}, \mathbf{X})=f_{\theta_{s}}\left(f_{\theta_{e}}(\mathbf{A}, \mathbf{X})\right) fθ(A,X)=fθs(fθe(A,X))
  GDN直接将输入网络映射到标量异常分数,并可以端到端方式进行训练。

3. Deviation Loss

  GDN的目标是根据计算出的异常分数,用少量标签来区分正常节点和异常节点。在这里,我们建议采用偏差损失来加强模型,对特征与正常节点显著偏离的节点给予较大的异常分数。为了指导模型学习,我们首先定义一个参考分数(即 μ r \mu_{r} μr)作为随机选取的一组正常节点的异常分数的平均值。它可以作为参考来量化异常节点的得分偏离正常节点的程度。
  根据以往的研究,高斯分布可以很好地拟合各种数据集的异常分数分布,采样 k 个结点的异常值构造以下分布: { r 1 , r 2 , … , r k } ∼ N ( μ , σ 2 ) \left\{r_{1}, r_{2}, \ldots, r_{k}\right\} \sim \mathcal{N}\left(\mu, \sigma^{2}\right) {r1,r2,,rk}N(μ,σ2) 。参考分数计算为所有采样分数的平均值:
μ r = 1 k ∑ i = 1 k r i \mu_{r}=\frac{1}{k} \sum_{i=1}^{k} r_{i} μr=k1i=1kri
  节点的异常分值与参考分值之间的偏差可以用标准分值的形式定义:
dev ⁡ ( v i ) = s i − μ r σ r \operatorname{dev}\left(v_{i}\right)=\frac{s_{i}-\mu_{r}}{\sigma_{r}} dev(vi)=σrsiμr
   σ r \sigma_{r} σr是采样的K个异常得分 R = { r 1 , … , r k } R=\left\{r_{1}, \ldots, r_{k}\right\} R={r1,,rk}的标准差。将距离函数替换为上式中的偏差,由对比损失得到最终目标函数:
L = ( 1 − y i ) ⋅ ∣ dev ⁡ ( v i ) ∣ + y i ⋅ max ⁡ ( 0 , m − dev ⁡ ( v i ) ) \mathcal{L}=\left(1-y_{i}\right) \cdot\left|\operatorname{dev}\left(v_{i}\right)\right|+y_{i} \cdot \max \left(0, m-\operatorname{dev}\left(v_{i}\right)\right) L=(1yi)dev(vi)+yimax(0,mdev(vi))
  其中是输入节点的ground-truth标签。如果节点为异常节点,则= 1,否则= 0。请注意,是一个置信度,它定义了一个围绕偏差的半径。
  通过最小化上述损失函数,GDN将使正常节点的异常得分尽可能接近,同时使与异常节点的异常得分之间产生至少的较大正偏差。通过这种方式,GDN能够学习具有较少标记异常的正常模式的高级抽象,并使节点表示学习能够从罕见异常中区分正常节点。因此,如果一个节点的模式明显偏离了学习到的正常模式的抽象,就会给该节点分配一个较大的异常分数。
  我们的初步结果表明,只要不是太大,GDN对和的选择并不敏感。具体来说,我们在实验中设置= 0,= 1,这有助于GDN在不同的数据集上获得稳定的检测性能。另外值得一提的是,由于我们无法访问正常节点的标签,所以我们将 V U \mathcal{V}^{U} VU中未标记的节点视为正常节点。注意,通过这种方式,剩余未标记异常和所有正常节点将被视为正常处理,从而将污染引入到训练集。值得注意的是,通过使用这种简单的策略,GDN表现得非常好,并且对不同的污染水平都很健壮。第5.4节评估了不同污染水平对模型性能的影响。

4.2 Cross-network Meta-learning

   有了提出的图偏差网络(GDN),我们能够有效地检测带有有限标记数据的任意网络上的异常。当来自目标网络同一域的辅助网络可用时,如何传递这些有价值的知识是实现目标网络小样本异常检测的关键。尽管跨网络学习方法是可行的,但如果直接借用现有的跨网络学习方法的思想,其效果会相当有限。主要原因是,这些方法只专注于从单个网络传递知识,不同网络上的异常特征不同,可能会导致知识的负传递。为此,我们转而利用多个辅助网络来提取异常的综合知识。
   元学习作为一种提取和转移知识的有效范式,近年来因其在各种高影响领域的广泛应用而受到越来越多的研究关注。从本质上讲,元学习的目标是对一个模型进行各种学习任务的训练,使学习后的模型能够有效地适应只有很少甚至只有一个标记数据的新任务。特别是**Finn et al.[10]**提出了一种模型不可知的元学习算法,明确地学习模型参数,使得模型能够在标记数据有限的情况下,通过少量的梯度步长对新任务实现良好的泛化。受此工作的启发,我们提出从多个辅助网络中学习一个元学习器(即Meta-GDN)作为GDN的初始化。其中,Meta-GDN在训练阶段从辅助网络上不同的小样本网络异常检测任务中提取ground-truth异常元知识,并针对目标网络上的新任务进一步进行微调,使模型能够快速有效地适应。
  我们将每个学习任务定义为在单个网络上执行小样本异常检测,其目标是按照Eq(7 损失函数)中的定义增大异常分数。 T i \mathcal{T}_{i} Ti表示由网络 G i s \mathrm{G}_{i}^{s} Gis构造的小样本网络异常检测,每个epoch中训练P个任务。GDN模型由函数 f θ f_{\theta} fθ表示,给定P个任务,优化算法会首先将每一个任务的初始参数 θ i ′ \theta_{i}^{\prime} θi 调整为 θ i ′ \theta_{i}^{\prime} θi。更新的参数 θ i ′ \theta_{i}^{\prime} θi是由 L T i \mathcal{L}_{\mathcal{T}_{i}} LTi在每一个batch中计算而来,一个梯度步长的参数更新可以描述为:
θ i ′ = θ − α ∇ θ L T i ( f θ ) \boldsymbol{\theta}_{i}^{\prime}=\boldsymbol{\theta}-\alpha \nabla_{\boldsymbol{\theta}} \mathcal{L}_{\mathcal{T}_{i}}\left(f_{\theta}\right) θi=θαθLTi(fθ)

   α是元学习的学习率,以上公式只描述了步一步梯度更新。通过在所有学习任务中优化相对的最佳性能来训练模型参数。具体地说,元目标函数定义如下:
min ⁡ θ ∑ i = 1 P L T i ( f θ i ′ ) = min ⁡ θ ∑ i = 1 P L T i ( f θ − α ∇ θ L T i ( f θ ) ) \min _{\theta} \sum_{i=1}^{P} \mathcal{L}_{\mathcal{T}_{i}}\left(f_{\theta_{i}^{\prime}}\right)=\min _{\theta} \sum_{i=1}^{P} \mathcal{L}_{\mathcal{T}_{i}}\left(f_{\theta-\alpha} \nabla_{\theta} \mathcal{L}_{\mathcal{T}_{i}}\left(f_{\theta}\right)\right) θmini=1PLTi(fθi)=θmini=1PLTi(fθαθLTi(fθ))

   通过优化GDN的目标,更新后的模型参数可以保持对每个网络的异常检测能力。由于元优化是对参数执行的,目标是使用更新的参数(即’)为所有任务计算的,相应的,模型参数经过一个或少量的梯度步骤的优化后对目标任务(网络)将产生极大的效果。
   在形式上,我们利用随机梯度下降(SGD)在所有任务中更新模型参数,使模型参数更新如下:
θ ← θ − β ∇ θ ∑ i = 1 P L T i ( f θ i ′ ) \boldsymbol{\theta} \leftarrow \boldsymbol{\theta}-\beta \nabla_{\boldsymbol{\theta}} \sum_{i=1}^{P} \mathcal{L}_{\mathcal{T}_{i}}\left(f_{\theta_{i}^{\prime}}\right) θθβθi=1PLTi(fθi)
   其中是元步骤大小。完整的算法在下面的算法中总结。具体来说,对于每一批,我们从未标记的数据和标记的异常数据中随机抽取相同数量的节点,分别表示正常节点和异常节点。

【论文分享】★★★ 小样本网络异常检测方法 GDN:Few-shot Network Anomaly Detection via Cross-network Meta-learning_第11张图片

5 实验

本节旨在回答以下研究问题:

  • RQ1:Meta-GDN对于检测目标网络上的异常有多少有效性?
  • RQ2:通过提供不同数量的辅助网络或不同的异常污染级别,Meta-GDN的性能会发生多大的变化?
  • RQ3:Meta-GDN的各个组成部分(即图偏差网络或跨网络元学习)对最终的检测性能有何贡献?

5.1 实验设置

1 数据集

【论文分享】★★★ 小样本网络异常检测方法 GDN:Few-shot Network Anomaly Detection via Cross-network Meta-learning_第12张图片
   在实验中,我们采用了三个真实世界的数据集,这些数据集都是公开的,在之前的研究中已经被广泛使用。上表总结了每个数据集的统计信息。详细说明如下:

Yelp:

  • Yelp是从Yelp.com上收集的,包含了对美国几个州的餐馆的评论,这些餐馆是按邮政编码组织的。根据Yelp反欺诈过滤算法,评论者分为两类,异常评论员和正常评论员。我们根据邮政编码选择同一位置的餐厅来构建每个网络,其中节点代表评论者,如果两个评论者评论过同一家餐厅,那么他们之间就有一条链接。我们将bag-of-words模型应用于文本内容之上,以获得每个节点的属性

PubMed:

  • PubMed是一个引文网络,其中节点表示与糖尿病相关的科学论文,边缘表示引文关系。节点属性由一个TF/IDF加权的词向量表示,该词向量来自一个包含500个唯一词的字典。我们将大型网络随机划分为大小相似且不重叠的子网络。

Reddit:

  • Reddit是从一个在线讨论论坛收集的,其中节点代表threads,如果thread被同一用户评论,则这两个结点之间会有一条边。节点属性是使用线程的平均词嵌入向量构造的。同样地,我们从原始的大型网络中提取出不重叠的子网络进行实验。

   请注意,除了Yelp数据集,我们无法访问PubMed和Reddit的ground-truth。因此,我们参考了两种异常注入方法去注入一组组合的异常(即结构异常和上下文异常),分别是扰动原始网络的拓扑结构和节点属性。为了注入结构异常,我们采用了[7]生成一组小团的方法,因为小团是一种典型的异常子结构。因此,我们在网络中随机选择节点(即团大小),然后使这些节点彼此完全连接。通过重复这个过程次(即cliques),我们可以得到×结构异常。在我们的实验中,我们将派系大小设置为15。此外,我们利用[31]引入的方法来生成上下文异常。具体而言,首先随机选择一个节点,然后从网络中随机抽取另外50个节点。我们在50个节点中选择属性与节点欧氏距离最大的节点。节点(即x)的属性将被替换为节点(即x)的属性。请注意,我们以相同的数量注入结构和上下文异常,注入异常的总数量约为网络规模的5%。

2 对比方法

   将我们提出的Meta-GDN框架及其基模型GDN与两类异常检测方法进行了比较,包括(1)只考虑节点属性的基于特征的方法(如LOF、Autoencoder和DeepSAD),以及(2)基于网络的方法(如SCAN、ConOut、Radar、DOMINANT、和SemiGNN),其中拓扑信息和节点属性都涉及。这些比较baseline方法的细节如下:

  • LOF:一种基于特征的方法,在上下文层面检测异常
  • Autoencoder:是一种基于特征的无监督深度自编码器模型,该模型引入了基于L1或L2规范的异常正则化惩罚。
  • DeepSAD:是一种最先进的用于一般半监督异常检测的深度学习方法。在我们的实验中,我们利用节点属性作为输入特征。
  • SCAN:是一种基于结构相似度的网络异常检测的有效算法。
  • ConOut:根据局部上下文中相应的子图和属性的相关子集来识别网络异常。
  • Radar:是一种无监督的方法,通过特征属性信息的残差及其与网络结构的一致性来检测属性网络上的异常。
  • DOMINANT :是一个基于 GCN 的自动编码器框架,使用网络结构和节点属性的重构误差计算异常分数。
  • SemiGNN :是一种半监督的GNN模型,它利用层次注意机制来更好地关联不同的邻居和不同的视图。

3 评价标准

   在本文中,我们使用以下指标对不同异常检测方法的性能进行综合评价:

  • AUC-ROC:在以往的异常检测研究中被广泛应用。曲线下面积(AUC)被解释为随机选择的异常比随机选择的正常样本得到更高分数的概率。
  • AUC-PR:是在不同阈值下准确率与召回率曲线下的面积,它只评估正类(即异常对象)的性能。AUC-PR计算为[21]中定义的平均精度,并在[23]中用作评价指标。
  • Precision@K:定义为对象的排序列表中真实异常的比例。根据特定异常检测算法计算出的异常分数,得到由高到低的排序列表。

4 实现细节

  • 网络编码器:两层Simple Graph Convolution实现GDN中的网络编码器
  • 异常值评估器:两层神经网络,隐藏层为512个单元,输出层为1个单元。
  • 置信度:5
  • k=5000
  • 网络总数为5(4个辅助网络和1和目标网络)
  • 每个网络有十个有标记异常
  • GDN和Meta-GDN训练1000个epoch
  • batch size=16
  • 学习率=0.01
  • 在目标网络上进行微调,将对应的节点分成40%进行微调,20%进行验证,40%进行测试。
  • 对于所有的比较方法,我们选择在验证集上性能最好的超参数,并将结果报告在目标网络的测试数据上,以便进行公平的比较。特别是对于所有基于网络的方法,在训练过程中都可以访问整个网络结构和节点属性。

5.2 实验结果

【论文分享】★★★ 小样本网络异常检测方法 GDN:Few-shot Network Anomaly Detection via Cross-network Meta-learning_第13张图片

1 全面比较

【论文分享】★★★ 小样本网络异常检测方法 GDN:Few-shot Network Anomaly Detection via Cross-network Meta-learning_第14张图片

2 小样本验证

【论文分享】★★★ 小样本网络异常检测方法 GDN:Few-shot Network Anomaly Detection via Cross-network Meta-learning_第15张图片

5.3 敏感度和稳健性分析

【论文分享】★★★ 小样本网络异常检测方法 GDN:Few-shot Network Anomaly Detection via Cross-network Meta-learning_第16张图片

5.4 消融实验

6 结论

  本文首次对小样本跨网异常检测问题进行了研究。为了解决这个问题,我们首先设计了一种新的GNN架构,即GDN,它能够利用有限的标记异常来加强单个网络中异常节点和正常节点之间统计上的显著偏差。为了进一步利用辅助网络中的知识,实现对目标网络的小样本异常检测,我们提出了一种跨网络元学习方法Meta-GDN,该方法能够从多个辅助网络中提取全面的元知识。

问题

  • 这里的辅助网络指的是不同的数据集吗?还是指不同的网络结构?

你可能感兴趣的:(#,小样本,#,GNN,#,异常检测,小样本,gnn,异常检测)