论文链接: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).