BOND: Benchmarking Unsupervised Outlier Node Detection on Static Attributed Graphs

静态属性图上无监督异常节点检测的基准测试

检测图中哪些节点是异常值是一项相对较新的机器学习任务,具有许多应用程序。 尽管近年来针对此任务开发的算法不断涌现,但仍然没有针对性能评估的标准综合设置。 因此,很难理解哪些方法在广泛的环境下效果良好。 为了弥补这一差距,我们据我们所知提出了第一个名为 BOND 的静态属性图上无监督异常节点检测的综合基准,其亮点如下。 (1) 我们对从经典矩阵分解到最新图神经网络的 14 种方法的异常值检测性能进行了基准测试。 (2) 使用九个真实数据集,我们的基准评估不同的检测方法如何响应两种主要类型的合成异常值以及分别对“有机”(真实的非合成)异常值的响应。 (3) 使用现有的随机图生成技术,我们生成一系列不同图大小的综合生成数据集,使我们能够比较不同异常值检测算法的运行时间和内存使用情况。 根据我们的实验结果,我们讨论了现有图异常值检测算法的优缺点,并强调了未来研究的机会。 重要的是,我们的代码是免费提供的,并且可以轻松扩展:https://github.com/pygod-team/pygod/tree/main/benchmark

1 简介

图上的异常值检测(OD)是指识别图中哪些节点是异常值的任务。 这是许多应用中出现的关键机器学习(ML)问题,例如社交网络垃圾邮件发送者检测[77]、传感器故障检测[27]、金融欺诈者识别[22]和防御图对抗攻击[33]。 与表格和时间序列数据上的经典 OD 不同,图 OD 具有额外的挑战:(1)图数据结构通常承载更丰富的信息,因此需要更强大的 ML 模型来学习信息表示,以及(2)更复杂 ML 模型的训练在运行时间和内存消耗方面的计算成本可能更高 [35,47],这给时间关键型(即低时间预算)和资源敏感型(例如有限的 GPU 内存)应用程序带来了挑战。

尽管图 OD 很重要并且近年来为此开发了许多算法,但目前还没有关于图异常值检测的全面基准,我们认为这阻碍了图 OD 算法的发展和理解。 事实上,最近的一项图 OD 调查呼吁“系统基准测试”,并将其描述为“评估图 OD 技术性能的关键”[55]。 我们注意到,已经有了通用图挖掘的基准(例如,OGB [30])、图表示学习 [26]、图鲁棒性评估 [95]、图对比学习 [97]、图级异常检测 [85]、 1 以及表格 OD [6] 和时间序列 OD [46] 的基准。 这些不包括我们考虑的具体任务,我们现在正式定义:

定义1(静态属性图上的无监督异常节点检测(缩写为OND))静态属性图定义为G = (V,E,X),其中V = {1,2,. 。 .,N } 是顶点集合,E ⊆ {(i,j) : i,j ∈ V s.t. i 6= j} 是边的集合,X ∈ RN×D 是节点属性矩阵(X 的第 i 行是图中第 i 个节点对应的 RD 中的特征向量)。 给定图 G,OND 问题的目标是学习一个函数 f : V → R,该函数为 G 中的每个节点分配实值异常值分数。然后将异常值节点视为具有最高异常值的 k 个节点 分数,对于用户指定的 k 值。 这个问题是无监督的,因为在学习 f 时,我们没有任何关于哪些节点是异常值的地面实况信息。

请注意,还有其他图 OD 问题(例如,特征向量可能与时间相关、可能对标记的一些离群值进行监督、节点和边可能随时间变化等),但我们重点关注 OND 指出的问题 如上所述,因为它是最普遍的[16,55]。 对于 OND 而言,算法开发的现状存在以下局限性:

  • • 缺乏全面的基准:通常,仅在少数数据集上测试有限选择的 OND 算法,从而不清楚实证结果的推广程度 到更广泛的设置。 在这里,我们指出,这种泛化问题因以下事实而加剧:在不同的应用程序中,异常值的构成可能会有很大差异,同时也很难以领域专家一致同意的方式精确定义。
  • • 考虑有限的离群值类型:通常,仅考虑几种类型的离群值(例如,将特定类型的合成离群值注入到真实数据集中),这使得很难理解图 OD 算法如何响应更广泛的离群值节点 ,包括“有机”(非合成)的。
  • • 对时间和空间计算效率的分析有限:现有工作主要集中在检测精度上,对运行时间和内存消耗的分析有限。

为了解决上述所有限制,我们为 OND 问题建立了第一个全面的基准测试,我们称之为 BOND(静态属性图上无监督异常节点检测基准测试的缩写)。 为了容纳多种算法,我们专门创建了一个开源的图异常值检测(PyGOD)2 Python库,它提供了十多种最新的图OD算法,并且全部具有统一的API和优化。 同时,PyGOD还包含多个非图基线,从而产生了总共14种具有代表性且多样化的OND方法。 我们注意到这个库可以很容易地扩展以包含额外的 OD 算法。 我们的工作有以下亮点:

  1. 1. 第一个全面的节点级图 OD 基准测试。 我们研究了 14 种 OD 方法,包括经典方法和深度方法,并在 9 个基准数据集上比较了它们的优缺点。
  2. 2.异常节点的综合分类。 我们将现有的异常值节点概念分为两​​种主要类型:结构异常值上下文异常值。 我们的结果表明,大多数方法无法平衡这两种主要离群值类型的 OD 性能。
  3. 3.现有深度图OD方法发现系统性能缺陷。 令人惊讶的是,我们在 BOND 中的实验结果表明,大多数基准深度图 OD 方法在有机异常值上的 OD 性能不理想。
  4. 4. 检测质量和计算效率的评估。 除了常见的有效性指标(例如 ROC-AUC)之外,我们还测量不同算法的运行时间和 GPU 内存消耗作为其效率指标。
  5. 5. 可重复且可访问的基准测试工具包。 为了促进未来算法的可访问性和公平评估,我们在以下位置免费提供 BOND 代码:https://github.com/pygod-team/pygod/tree/main/benchmark

我们在第 2 节中简要描述了 OND 的现有方法。 我们在第 3 节中概述了 BOND,然后在第 4 节中提供了详细的实验结果和分析。 我们在第 5 节中总结了本文并讨论了未来的工作。

2 相关工作

本节简要介绍异常节点检测的相关工作。 请参阅[2]和[55]以获取对经典和基于深度学习的图形异常值检测器的更全面的评论。 我们已经在 PyGOD 中实现了本节讨论的大部分算法。

经典(非深度)离群节点检测。 现实世界的证据表明,离群节点在结构或属性方面与常规节点不同。 因此,节点异常值检测的早期工作采用基于图的特征(例如中心性度量和聚类系数)来从图中提取异常信号[2]。 基于学习的方法不再是手工制作特征,而是被用来更灵活地编码图信息以发现异常节点。 这些基于学习的方法的例子包括基于矩阵分解(MF)的方法[3,50,60,69]、基于密度的聚类[7,29,75]和关系学习[42,63]。 由于上述大多数方法对图/节点类型或先验知识都有限制,因此我们在 BOND 中仅包括 SCAN [75]、Radar [50] 和 ANOMALOUS [60] 来表示此类方法。

深度离群节点检测。 深度学习的快速发展及其在图数据中的使用已经将异常节点检测的格局从传统方法转变为神经网络方法[55]。 例如,自动编码器(AE)[38]是一种神经网络架构,旨在通过尝试从编码重建原始数据来学习原始数据的编码,已成为检测异常节点的流行模型[​​16, 25,39,64,70,80]。 AE 可以以无监督的方式学习,因为我们的目标是重建原始数据,而不需要单独尝试预测标签。 基于 AE 的异常值检测背后的启发是,我们可以使用 AE 重建误差作为异常值分数; 具有较高重建误差的数据点可能更不典型。

最近,图神经网络(GNN)在许多图挖掘任务中取得了优异的性能[17,18,40,71,82]。 GNN 的目标是学习图中每个节点的编码表示,同时考虑节点属性和底层图结构。 GNN 学习的编码表示能够捕获对 OD 有用的复杂模式。 因此,GNN 在检测图中的异常节点方面也变得很流行 [19,72,87,54,76]。 请注意,GNN 可以与 AE 结合使用; 在构建AE时,我们需要指定编码器和解码器网络,可以将其设置为GNN。

我们指出,也可以采用生成对抗网络(GAN)进行异常节点检测[11]。 GAN 通过同时学习生成器网络(可用于随机生成假数据)和鉴别器网络(试图辨别数据点是真还是假)来学习如何生成与真实数据相似的假数据。 当然,异常值可以被认为是被认为更“假”的数据点。 在众多深度离群节点检测器中,我们迄今为止已经实现了九个(参见表 2)并包含在 BOND 中,我们试图让这些检测器在方法上有所不同。

3 BOND

在本节中,我们概述了 BOND。 我们首先在第 3.1 节中定义两种异常值类型。 然后我们详细阐述了 BOND 中的数据集(§3.2)、算法(§3.3)和评估指标(§3.4)。

3.1 异常值类型

许多研究人员从不同角度定义了细粒度的异常值节点类型[2,3,16,33,50,55]。 在本文中,我们根据现实世界的异常值模式将现有的异常值节点定义分为两种主要类型:结构异常值和上下文异常值,如图1所示并定义如下。

定义 2(结构异常值) 结构异常值是与稀疏连接的常规节点相比密集连接的节点。 在许多实际应用中都会出现结构异常值。 例如,经常串通进行恶意活动的有组织欺诈团伙的成员可以被视为形成整个图的密集子图(节点代表不同的人)[2]。 另一个例子,协调的机器人帐户转发同一条推文将形成一个密集连接的共同转发图[29,58]。 请注意,一些论文[50,55]也将不属于任何社区的孤立节点视为结构异常值(即它们只有很少的边连接到任何社区),这与我们上面的定义不同。 由于我们知道没有现有的 OD 方法来检测这些孤立的异常值节点,因此我们不会在 BOND 中涵盖此类异常值。

定义3(上下文异常值)上下文异常值是其属性与其相邻节点显着不同的节点。

上下文异常值的一个示例是计算机网络中受感染的设备 [2]。 上下文异常值的定义与经典的基于邻近度的 OD 方法 [1] 中定义异常值的方式类似。 一些研究人员将其属性与所有其他节点的属性不同的节点称为全局异常值[55]或上下文异常值[50]。 我们在 BOND 中不考虑这些异常值,因为我们发现它们实际上并未使用图结构; 相反,可以使用表格异常值检测器来检测这些异常值[28,92]。

我们在定义 3 中定义的上下文异常值在之前的工作中也被称为属性异常值 [16] 或社区异常值 [50,55]。 我们认为,将这些上下文异常值称为更准确的术语。 原因是“属性异常值”听起来像是只依赖于属性(即特征向量),这对应于全局异常值[55],但令人困惑的是,这并不是该术语的含义。 同时,图论中的“社区”术语通常指的是节点之间的边密度,因此“社区离群值”可能会被误解为我们所说的结构离群值,如定义 2 所示。 在本文中,对于“结构”和“上下文”异常值,我们总是分别采用定义 2 和 3。

重要的是,请注意,在实际数据集中,存在的有机(非合成)异常值节点不需要严格是结构异常值或上下文异常值。 事实上,不需要明确说明是什么使它们成为异常值,它们既可能不是结构性异常值,也不是上下文异常值,甚至可能表现为这两种类型的混合! 这使得检测有机异常值比检测遵循特定模式(例如定义 2 和 3 的模式)的合成异常值更加困难。

3.2 数据集

为了全面评估现有 OND 算法的性能,我们研究了先前文献中使用的具有有机异常值的各种真实数据集。 请注意,某些标准数据集超出了我们考虑的问题范围,或者不使用图结构或节点属性/特征向量。 例如,YelpChi-Fraud [22]、Amazon-Fraud [22] 和 Elliptic [74] 是为监督节点分类而设计的三个图数据集; 然而,欺诈节点在图结构方面的异常模式有限。 [43] 中的 Bitcoin-OTC、Bitcoin-Alpha、Epinions 和 Amazon-Malicious 是四个二分图,其中节点没有属性。 DARPA [78]、UCI Message [94] 和 Digg [94] 是三个具有有机边缘异常值的动态图,它们也超出了我们的问题范围。

在 BOND 中,我们使用以下数据集。 首先,由于具有有机异常值节点的开源图数据集数量有限,因此我们包括三个没有有机异常值的真实数据集,我们将合成异常值节点注入其中。 具体来说,我们使用来自三个不同规模领域的节点分类基准数据集(Cora [66]、Amazon [67] 和 Flickr [81])。 接下来,我们使用六个包含有机异常值的真实数据集(Weibo [86]、Reddit [44,73]、Disney [65]、Books [65]、Enron [65] 和 DGraph [32])。 最后,我们还使用[36]使用随机算法生成的纯合成数据,该数据能够生成不同比例的图; 这种随机生成过程提供了一种受控方式,我们可以在运行时间和内存使用方面评估不同 OD 算法的计算效率。 表 1 给出了所使用的真实数据集的一些基本统计数据,Appx.1中提供了更多数据集详细信息。

为了制作我们在第 3.1 节中定义的两种类型的合成异常节点并“伪装”它们,以便使用简单的 OD 方法更难以检测到它们,我们稍微修改了广泛使用的方法 [16,25,11,80] (如下面所描述的)。 这些合成离群值与缺乏有机离群值的真实数据集(Cora、Amazon、Flickr)以及随机生成的图形数据一起使用。 在接下来的随机异常值注入过程中,对于我们正在使用的给定图 G,我们将顶点集视为固定的。 为了注入结构异常值,我们修改存在的边缘,而为了注入上下文异常值,我们修改随机选择的节点的特征向量。

注入随机结构异常值。 基本策略是创建 n 个不重叠的密集连接的节点组,其中每个组恰好有 m 个节点(这样总共注入了 m × 个结构异常值)。 为此,对于每个 i = 1,。 。 .,n,我们随机采样m个节点来形成第i组(这m个节点是从之前没有被选择形成组的节点中均匀随机采样的); 对于这 m 个节点,我们首先使它们完全连接,然后以概率 p 独立地丢弃每条边。

注入随机上下文异常值。 为了注入总共 o 个上下文异常值,我们首先从顶点集 V 中采样 o 个节点而不进行替换; 我们旨在修改这些节点的属性,将它们变成上下文异常值。 我们将这 o 个节点的集合表示为 Vc(使得 o =|Vc|),并将其余节点 Vr := V \ Vc 称为“参考”集合。 对于每个节点 i ∈ Vc,我们从参考集 Vr 中均匀随机地随机选择 q 个节点,无需放回。 在所选择的 q 个参考节点中,我们找到其属性与节点 i 的属性偏差最大(就欧几里德距离而言)的一个。 然后,我们将节点 i 的属性更改为与找到的最不相似的参考节点的属性相同。

有关合成离群值注入的更多详细信息,请参阅附录 A.1.3。

3.3 算法

表 2 列出了基准测试中评估的 14 种算法及其属性。 我们选择在 BOND 中实现的算法的原则是涵盖发表时间(“年份”)的代表性方法,是否使用图结构(“图”),是否使用神经网络(“深度”),以及 该方法背后的核心思想是什么(“核心”)。 通过包含非图 OD 算法(LOF、IF、MLPAE),我们可以研究基于图的 OD 算法与非基于图的 OD 算法在检测异常节点方面的优点和不足。 同样,结合三种经典的 OD 方法(基于聚类的 SCAN、基于 MF 的 Radar 和 ANOMALOUS)有助于我们了解经典 OD 方法与深度 OD 方法的性能。 我们选择了多种基于 GNN 的方法,包括普通 GCNAE; 经典的主导; AnomalyDAE,DOMINANT的改进版本; 还有 GUIDE 和 CONAD,这两种最先进的方法具有不同的数据增强技术。 除了基于 GNN 的 BOND 方法外,还包括两种使用其他模型(DONE/AdONE 和 GAAN)编码图信息的方法。 请参阅附录。 A.2 更详细地介绍了 BOND 中基准测试的方法。

3.4 评价指标

检测质量的衡量标准。 我们遵循图 OD [15,69,87] 中的大量文献,通过三个指标综合评估异常节点检测质量:(1)ROC-AUC 反映了检测器在正例和负例上的性能,而(2)平均精度 更关注正例,(3) Recall@k 评估预测离群值高的例子。 参见附录。 A.3 了解更多详情。

时间和空间上的效率措施。 基于图的算法的另一个重要方面是它们的高时间和空间复杂度[20,35],这给内存有限的 GPU 等硬件上的大型高维数据集带来了额外的挑战(例如内存不足错误)。

因此,我们分别衡量时间和空间上的效率,我们使用(1)挂钟时间和(2)GPU内存消耗。 我们在 Appx 中提供更多详细信息。 A.3.

4 实验

我们设计BOND来了解各种OD算法在解决OND问题时的检测效果和效率。 具体来说,我们的目标是回答:

RQ1 (§4.1):算法在检测合成和有机异常值方面的效果如何?

RQ2(§4.2):算法在两种类型的合成异常值(结构异常值和上下文异常值)下如何执行?

RQ3 (§4.3):算法在时间和空间方面的效率如何? 请注意,由于空间限制,为了检测质量,我们重点关注 ROC-AUC 指标,将使用 AP 和 Recall@k 指标的结果推迟到 Appx。 C.

模型实现和环境配置。 BOND 中的大多数算法都是通过我们新发布的 PyGOD 包实现的 [53],非图 OD 方法是从我们早期的工作中导入的 [92]。 尽管我们尽力将同一组优化技术(例如向量化)应用于所有方法,但我们怀疑进一步的代码优化是可能的。 更多实现细节和环境配置请参见附录。 B.

超参数网格。 在现实世界中,由于缺乏与地面实况良好相关的地面实况标签和/或通用标准,目前尚不清楚如何进行超参数调整和算法选择以进行无监督异常值检测[55,93]。 为了公平评估,当我们在表中报告性能指标时,我们对每个适用的算法应用相同的超参数网格(参见附录 B)并报告其平均值。 性能(即“预期的算法性能”),以及标准差(即“算法稳定性”)和最大值(即“算法潜力”)。

4.1 实验结果:合成和有机异常值的检测性能

使用第 3.2 节中描述的九个真实数据集,我们在表 3 和表 4 中报告了不同 OD 算法的 ROC-AUC 分数。以下是这些表的主要发现。

就平均而言。 性能上,没有异常值节点检测方法在所有数据集上都是普遍最好的。 表 3 和表 4 显示,评估的 14 种方法中只有 3 种(AnomalyDAE、Radar、ANOMALOUS)具有最佳平均值。 两个数据集(AnomalyDAE 的 Cora 和 Books;Radar 和 ANOMALOUS 的 Weibo 和 Enron)的性能(针对 ROC-AUC 指标)。 经典方法 Radar 和 ANOMALOUS 在微博和安然上都具有最好的性能(见表 4),但它们在检测合成异常值方面比许多深度学习方法差(见表 3)。 此外,性能最佳和最差的算法之间存在很大的性能差距,例如,与 Flickr 上的 LOF 相比,DONE 的平均 ROC-AUC 高出 2.06 倍。

大多数评估的方法都无法检测有机异常值。 由于我们评估的大多数方法都是为了处理第 3.1 节中定义的结构和上下文异常值而设计的,为了找出检测有机异常值失败和成功背后的原因,我们根据与结构定义相关的指标来分析有机异常值模式。 和上下文异常值。 我们首先表明,大多数方法在微博上的成功(见表4)是因为微博中的异常值表现出结构异常值和上下文异常值的属性。 具体来说,在微博中,异常值的平均聚类系数[24]高于内部值(0.400 vs. 0.301),这意味着这些异常值对应于结构性异常值。 同时,异常值的平均邻居特征相似度[22]远低于内部值(0.004 vs. 0.993),因此异常值也对应于上下文异常值。 相比之下,Reddit 和 DGraph 数据集中的异常值具有相似的平均邻居特征相似度以及异常值和内部值的聚类系数。 因此,它们的异常更多地依赖于具有领域知识的离群注释,因此有监督的OD方法比无监督的方法在Reddit([73]中的最佳AUC:0.746 vs.表4中的0.604)和DGraph([73]中的最佳AUC:0.792)上更有效。 [32] vs. 表 4 中的 0.620)比无监督的高。

使用 SGD 的深度学习方法和其他方法在小图上可能不是最优的。 迪士尼、图书和安然的异常值也具有第 3.1 节中定义的类似异常值模式。 然而,与经典基线相比,大多数评估的深度学习方法在迪士尼和安然公司上的效果并不是特别好。 原因是迪士尼和图书在 #Nodes、#Edges 和 #Feat 方面的图表很小。 (见表1)。 少量数据可能会使深度学习方法难以很好地编码内点分布,并且还可能导致过度拟合问题。 同时,经典方法Radar和ANOMALOUS在Disney和Books上也表现不佳; 这些方法使用 SGD,我们怀疑这对于如此小的数据集可能会出现问题。

不同类别的评估方法擅长检测不同类型的异常值。 根据表 3 和表 4,许多基于深度图的方法擅长检测合成异常值,但在检测有机异常值方面无用。 同时,当异常值不遵循分类法(Reddit 和 DGraph)时,非基于图的方法具有优势。 这些观察结果证实了我们对无监督 OD 算法的理解——它们的有效性取决于底层数据分布是否满足算法利用的结构特性。

就ROC-AUC指标的标准差而言,在深度学习方法中,有些方法明显不如其他方法稳定。1某些深度学习方法,例如GAAN,对超参数不敏感,其中ROC-AUC标准差大多为 低于1%。 同时,不稳定的方法往往涉及更复杂的损失项(例如,多个损失的加权组合); 例如,DONE 和 AdONE 在三个数据集上的深度图方法中实现了最高的最大性能(即表 3 和 4 中括号中的数字,而不是平均性能),同时在测试的超参数中显示出较高的 ROC-AUC 标准差 。 在这里,我们强调,在无监督 OD 的实践中,没有标签意味着超参数调整远没有那么简单,因此跨超参数的稳定性(在 OD 检测质量中)是算法的一个理想属性。

4.2 实验结果:结构和上下文异常值的检测性能

我们在表 5 中报告了不同算法在具有两种类型的注入合成异常值(来自第 3.2 节的上下文和结构异常值)的三个数据集上的 ROC-AUC 度量。请注意,我们只考虑合成 这里的异常值是因为我们生成了它们,以便我们准确地知道哪些节点是上下文异常值,哪些是结构异常值。 我们的主要发现如下。

 对于 GNN,结构信息的重建似乎在检测结构异常值方面发挥着重要作用。 具体来说,GCNAE 和 DOMINANT 在结构异常值上的性能差距超过 40%。 仔细研究这两种算法,它们的区别仅在于 DOMINANT 有一个旨在重建图的邻接矩阵的结构解码器。 DOMINANT 的表现明显优于 GCNAE,这表明重构图结构信息有助于识别结构异常值,这直观上是有意义的,因为这些异常值是根据图结构定义的。

低阶结构信息(即一跳邻居)足以检测结构异常值。 尽管 DOMINANT 编码 4 跳邻居信息,而 DONE 仅编码 1 跳邻居信息,但 DOMINANT 和 DONE 在检测 Cora 和 Amazon 数据集中的结构异常值时实现了相似的平均 ROC-AUC 分数 (∼92%)。 这一观察结果可以促进离群节点检测模型的设计,因为编码高阶信息通常会带来更高的计算成本,并且多跳邻居聚合甚至可能导致 GNN 中的过度平滑问题[8]。

没有一种方法能够同时实现结构异常值和上下文异常值的高检测精度。 例如,没有一种方法能够在结构异常值和上下文异常值上达到 85% 的检测 AUC。 此外,在注入结构异常值的Flickr上,大多数应该检测结构异常值的属性图OD方法的平均ROC-AUC得分比SCAN差,而SCAN是一种通过节点聚类来检测结构异常值的非属性图OD方法 。 上述结果表明,将结构损失项和上下文损失项与固定权重(即超参数)任意组合的常见方法可能难以平衡检测两种异常值类型的性能。 如何一致地检测这两种不同类型的异常值仍然是一个悬而未决的问题。

我们只测量不同方法的 GPU 内存消耗(而不是 CPU 内存消耗),因为它通常是 OD 算法的瓶颈 [89]。 有关本节生成的图表和实验设置的更多详细信息,请参阅附录。 A.1.2 和附录。 分别为B。 我们从图 2 中得到的主要发现如下。

4.3 实验结果:计算效率

时间效率。我们评估的经典方法比深度学习方法花费的时间更少,深度学习方法往往更复杂并且学习更灵活的模型。在基于 GNN 的方法中,GUIDE 比其他方法消耗更多的时间。原因是 GUIDE 使用图主题计数算法(#P-complete [13])来提取结构特征并消耗更多的 CPU 时间。 CONAD 由于使用对比学习(在小批量内使用成对比较)而花费第二多的时间。

空间效率。 根据图 2(右),随着图大小的增加,GCNAE 和 GUIDE 消耗的 GPU 内存比其他方法少得多。 GCNAE 由于其更简单的架构而节省了更多内存。 GUIDE消耗更多的CPU时间和RAM来提取低维节点主题度,从而节省更多的GPU内存。 尽管经典方法在运行时间方面具有优势,但由于矩阵分解和求逆等“全局”算子的限制,大多数方法无法以分布式方式部署。 深度模型的优点之一是它们可以通过图采样轻松扩展到小批量和分布式训练。 另一个优点是深度方法可以轻松地与现有的深度学习管道集成(例如,获得节点嵌入的图预训练模块)。

5 讨论

我们建立了 BOND,这是第一个静态属性图上无监督异常节点检测的综合基准。 我们的基准测试实证检验了多种 OD 算法在合成异常值与有机异常值、结构异常值与上下文异常值以及计算效率方面的有效性。 重要的是,我们开发 BOND 的一个主要目标是使其易于扩展,以便在更好地理解现有算法和开发新算法来解决 OND 方面取得进一步进展。 我们通过一般性地讨论 OND 的未来研究方向(第 5.1 节),然后具体讨论基准测试(第 5.2 节)来结束本文。

 5.1 解决 OND 问题的未来方向 我们对真实数据

(第 4.1 节和第 4.1 节)的实验结果揭示了算法之间检测性能的巨大差异,但没有一个算法是普遍获胜者。 即使对于单一算法,也存在超参数调整的问题(例如,微博上的 AnomalyDAE 的检测性能在不同超参数下的差异高达 14%)。 然而,根本问题是,由于 OND 问题是无监督的,因此无法直接决定“正确”的算法选择或超参数设置。 我们定义的任何有助于模型选择或超参数调整的定量指标都需要假设。 另外,可用的计算预算和要分析的数据集的大小可能会限制可以使用的方法(我们在第 4.3 节中的结果表明,某些方法的计算成本比其他方法高得多)。

 机会一:设计“类型感知”检测算法。 我们实验结果的一个主要发现是,哪种 OD 算法效果最好很大程度上取决于遇到的异常值的类型(合成与有机、结构与上下文)。 换句话说,如果我们期望看到特定类型的异常值,那么这应该告知要应用的 OD 算法的选择(例如,MLPAE 和 GCNAE 用于上下文异常值)。 当然,这需要我们对数据集中的异常值有一些先验知识或猜测。 重要的是,在实际应用中,我们可能不需要检测所有异常值。 例如,从业者可能只想关注高价值或高兴趣的异常值(例如,影响收入最大的非法交易[37]可以被视为上下文异常值,因此 MLPAE 和 GCNAE 可能是不错的选择)。 随着表格数据中离群值类型分类的最新进展 [34],我们呼吁关注在 OND 中识别更细粒度的离群值类型,并找出哪些算法非常适合这些不同的离群值类型。 一旦我们有了这类信息,就有机会自动选择单个或组合多个 OD 算法,考虑异常值类型(例如,使用像[91]这样的集成方法)。

机会2:合成更真实、更灵活的异常节点。 我们在真实数据实验(§4.1)中遇到的有机异常值可能很复杂,并且由多种异常值类型组成(可能包括我们关注的结构和上下文之外的类型)。 我们的实验结果表明,合成异常值与有机异常值的检测性能存在很大差距,需要更现实的异常值生成方法。 为了改进BOND中现有的生成方法,我们可以使用生成模型来拟合正常样本,然后扰动生成模型以生成不同类型的异常值。 这种方法在表格 OD 中取得了成功 [68]。

机会3:了解OND算法对超参数的敏感性并设计更稳定的方法。 我们在第 4.1 节中指出,就获得的 ROC-AUC 分数的标准差而言,某些深度学习方法(跨超参数)比其他方法更稳定。 这种现象当然也适用于经典方法。 更好地理解这些算法对超参数不敏感的驱动因素将有助于我们更好地设计在超参数设置方面更稳定的算法。 反过来,这可以帮助减轻无监督超参数调整的负担。 在表格 OD 任务中,研究人员开发了对于超参数更稳定的异常值检测方法,例如鲁棒自动编码器 [96]、RandNet [9]、ROBOD [21] 和集成框架 [91]。 也许这些表格 OD 方法中的一些技术可以合并到 OND 的特定方法中以提高稳定性。

机会4:开发更高效的OND算法。 我们的计算效率结果(§4.3)表明,某些算法比其他算法需要更多的时间和/或内存来执行。 与此同时,大多数测试的算法在百万级 DGraph 数据集上都出现了内存不足的情况(表 4)。 我们建议为 OND 开发更具可扩展性的算法,这可能意味着现有算法的更优化实现以及新算法的开发。 我们指出了一些可能对这一努力有所帮助的工作。 首先,现有的方法可以使 GNN 更具可扩展性 [35,49],但这些方法尚未专门用于解决 OND。 另外,我们测试的大多数现有的基于自动编码器的方法都会重建完整的图邻接矩阵(例如,DOMINANT、DONE、AnomalyDAE、GAAN),这是内存密集型的(与节点数量成二次方缩放)。 为这一步开发一个内存效率更高的实现将会很有趣。 接下来,可以在GUIDE中近似节点主题度,这可以显着减少计算时间和空间[10,79]。 最后,我们提到最近的一些工作 [90,89] 通过分布式学习、数据和模型压缩和/或量化来加速表格 OD。 这些想法可以扩展到 OND 算法。

机会5:元学习辅助模型选择和超参数调优。 最近关于一般图学习 [59] 和表格数据无监督 OD 模型选择 [93] 的工作表明,在元学习框架下,我们可以根据其与元的相似性来识别用于新任务(或数据集)的良好 OD 模型 -可获得真实信息的任务。 类似的方法也适用于无监督的超参数调整[88]。 我们建议在解决 OND 时探索用于算法选择和超参数调整的元学习框架,包括量化图 OD 数据集之间的任务相似性。 这样的框架需要一些但不是所有数据集具有基本事实,并且具有基本事实的数据集可以与不具有基本事实的数据集相关。

5.2 改进

我们的基准系统 BOND 的未来方向 将检测任务扩展到不同的“级别”。 在BOND中,由于静态属性图的流行,我们专注于节点级检测,而图的不同级别有更多的检测任务。 最近的图 OD 算法扩展到边缘 [83]、子图 [70] 和图级 [62,85] 检测。 未来的综合图 OD 基准可以包括这些新兴的图 OD 任务。

纳入监督。 尽管 BOND 专注于无监督方法,但在某些情况下,可能会有一小组标签(用于 OD 或相关任务)可用,以便(半)监督学习成为可能(例如,[22,84])。 扩展 BOND 来处理监督将特别有利于解决算法选择和超参数调整挑战。

整理更多数据集。 到目前为止,我们只在 BOND 中包含了 9 个真实数据集。 随着时间的推移添加更多数据集将是有益的,尤其是那些具有有机异常值的数据集。 对于更大的数据集(例如,≥ 20),可以运行统计测试进行比较 [14],这已用于表格数据集的 OD 任务中 [51,93]。 与表格 OD [23] 类似,可以通过将一个或多个小类视为单个小类来将现有的多分类图数据集(例如,来自开放图基准(OGB)[30] 的数据集)转换为 OD 数据集“ 异常值“类,所有其他类被视为“正常”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值