用于图分类的图神经网络的公平比较

Federico Errica
Department of Computer Science
University of Pisa
federico.errica@phd.unipi.it &Marco Podda
Department of Computer Science
University of Pisa
marco.podda@di.unipi.it &Davide Bacciu
Department of Computer Science
University of Pisa
bacciu@di.unipi.it &Alessio Micheli
Department of Computer Science
University of Pisa
micheli@di.unipi.it

Equal contribution.
摘要

实验的可重复性和可复制性是机器学习的关键主题。 作者经常对缺乏提高该领域质量的科学出版物表示担忧。 近年来,图表示学习领域引起了广泛研究界的关注,并产生了大量的研究成果。 因此,已经开发了几种图神经网络模型来有效地解决图分类问题。 然而,实验程序往往缺乏严格性并且难以重现。 受此启发,我们概述了应避免的常见做法,以便与现有技术进行公平比较。 为了应对这一令人不安的趋势,我们在受控且统一的框架中进行了超过 47000 次实验,以跨九个常见基准重新评估五种流行模型。 此外,通过将 GNN 与结构无关的基线进行比较,我们提供了令人信服的证据,表明在某些数据集上,结构信息尚未被利用。 我们相信这项工作可以为图分类模型的严格评估提供急需的基础,从而为图学习领域的发展做出贡献。

1简介

多年来,研究人员对学术中的一些缺陷提出了担忧,例如机器学习中的实验再现性和可复制性(McDermott,1976;Lipton & Steinhardt,2018)和一般科学(国家科学与医学院,2019) 这些问题并不容易解决,因为需要集体努力来避免不良做法。 例子包括实验程序的模糊性、无法重现结果以及机器学习模型的不正确比较。 因此,很难统一评估一种方法相对于另一种方法的有效性。 这项工作通过提供最先进模型的统一且严格的基准测试来研究图表示学习领域的这些问题。

图神经网络(GNN)(Micheli,2009;Scarselli 等人,2008)最近已成为图机器学习的标准工具。 这些架构有效地结合了节点特征和图拓扑来构建分布式节点表示。 GNN 可用于解决节点分类(Kipf & Welling,2017)和链路预测(Zhang & Chen,2018)任务,也可应用于下游图分类(Bacciu等人,2018) 在文献中,此类模型通常在化学和社会领域进行评估(Xu等人,2019)

鉴于其吸引力,越来越多的 GNN 正在开发中(Gilmer 等人,2017)
然而,尽管该领域的最新贡献在理论上取得了进步,但我们发现实验设置在许多情况下是模糊的或不可重复的。

我们在该领域遇到的一些最常见的再现性问题涉及超参数选择以及模型选择与模型评估中数据分割的正确使用。 此外,评估代码有时会缺失或不完整,并且不同作品之间的实验在节点和边缘特征方面也没有标准化。

这些问题很容易在需要完全透明和可重复的实验环境的从业者中产生怀疑和困惑。 事实上,模型的评估会经历两个不同的阶段,即验证集上的模型选择和测试集上的模型评估 显然,如果不能将这些阶段很好地分开,可能会导致对模型真实性能的过度乐观和有偏见的估计,从而使其他研究人员在不遵循同样模糊的评估程序的情况下很难提出有竞争力的结果。

在此前提下,我们的主要贡献是使用标准化且可重复的实验环境,为图学习社区提供 GNN 架构之间公平的性能比较。 更详细地说,我们在严格的模型选择和评估框架内进行了大量实验,其中使用相同的特征和相同的数据分割来比较所有模型。

其次,我们研究当前的 GNN 模型是否以及在多大程度上可以有效地利用图结构。 为此,我们添加了两个特定于领域且与结构无关的基线,其目的是将结构信息的贡献与节点特征分开。 令我们惊讶的是,我们发现这些基线在某些数据集上甚至可以比 GNN 表现得更好;这要求在报告没有明显优于与结构无关的竞争对手的改进时要谨慎。

我们的最后一个贡献是研究节点度作为社交数据集中特征的影响。
事实上,我们表明提供学位对于性能而言是有益的,并且它还对达到良好结果所需的 GNN 层数产生影响。

我们公开发布代码和数据集拆分来重现我们的结果,以便其他研究人员能够以最少的额外工作进行严格的评估111Code available at: https://github.com/diningphil/gnn-comparison

免责声明

在深入研究这项工作之前,我们想澄清一下,这项工作并非旨在找出表现最好(或最差)的 GNN,也不否认研究人员在开发这些模型中付出的努力。 相反,它的目的是尝试为 GNN 建立一个标准化、统一的评估框架,以便未来的贡献可以与现有架构进行公平、客观的比较。

2相关工作

图神经网络

GNN 的核心是计算图中每个节点的状态,并根据相邻节点的状态迭代更新。 由于分层(Micheli,2009)或递归(Scarselli等人,2008)方案,这些模型传播信息并构建可以“意识到”更广泛的节点表示。图结构。 GNN 最近受到欢迎,因为它们可以高效、自动地从图中提取相关特征;过去,处理复杂结构最流行的方法是使用核函数(Shervashidze等人,2011)来计算与任务无关的特征。 然而,此类内核是非自适应的,并且通常计算成本高昂,这使得 GNN 更具吸引力。

尽管在这项工作中,我们特别关注为图分类而设计的架构,但所有 GNN 都共享节点邻域上的“卷积”概念,作为网格上卷积的推广。 例如,GraphSAGE (Hamilton 等人, 2017) 首先执行求和、均值或最大池邻域聚合,然后在卷积顶部应用线性投影来更新节点表示。 它还依赖于邻域采样方案来保持计算复杂性恒定。 相反,图同构网络 (GIN) (Xu 等人, 2019) 建立在 GraphSAGE 的局限性之上,通过多集上的任意聚合函数对其进行扩展。 该模型被证明在理论上与图同构的 Weisfeiler-Lehman 检验一样强大。 最近,Wagstaff 等人 (2019) 给出了学习集合和多集合上的排列不变函数所需的隐藏单元数量的上限。 与上述方法不同的是,边缘条件卷积(ECC)(Simonovsky & Komodakis,2017)为每个边缘标签学习不同的参数。 因此,邻居聚合是根据特定的边缘参数进行加权的。 最后,深度图卷积神经网络(DGCNN)(Zhang等人,2018)提出了一个类似于Kipf & Welling(2017)的公式的卷积层。

一些模型还利用池化方案,该方案在卷积层之后应用,以减小图的大小。
例如,ECC 的池化方案通过可预先计算的可微池化图来粗化图。 类似地,DiffPool (Ying 等人, 2018) 提出了一种自适应池化机制,可根据监督标准折叠节点。 在实践中,DiffPool 将可微图编码器与其池化策略相结合,使得该架构是端到端可训练的。 最后,DGCNN 与其他作品的不同之处在于,节点通过名为 SortPool (Zhang 等人, 2018) 的特定算法进行排序和对齐。

模型评估

Shchur 等人 (2018) 的工作与我们的贡献有着相似的目的。 特别是,作者在节点分类任务上比较了不同的 GNN,结果表明结果高度依赖于所选择的特定训练/验证/测试分割,直到改变分割会导致性能排名显着不同。 因此,他们建议在多个测试分割上评估 GNN,以实现公平的比较。 尽管我们在不同的环境中操作(图而不是节点分类),但我们遵循作者的建议,在受控且严格的评估框架下评估模型。 最后,Dacrema 等人(2019)的工作批评了大量的神经推荐系统,其中大多数都是不可重现的,表明只有其中一个相对于简单的基线真正有所改进。

3风险评估和模型选择

在这里,我们回顾一下风险评估(也称为模型评估或模型评估)和模型选择程序,以清晰地布局本文遵循的实验程序。 由于篇幅原因,整个过程在附录A.1中进行了直观总结。

3.1风险评估

风险评估的目标是提供对一类模型性能的估计。 当未明确给出测试集时,常见的方法是使用k 折交叉验证 (CV) (Stone,1974;Varma & Simon,2006;Cawley & Talbot, 2010) k-fold CV 使用 k 不同的训练/测试分割来估计模型的泛化性能;对于每个分区,内部模型选择过程仅使用数据选择训练超参数。 这样,测试数据永远不会用于模型选择。 由于模型选择是针对每个训练/测试分组独立执行的,因此我们获得了不同的“最佳”超参数配置;这就是为什么我们提到一类模型的性能。

3.2模型选择

模型选择或超参数调整的目标是在一组候选超参数配置中选择最适合特定验证集的配置。 如果未给出验证集,则可以依赖保留训练/验证拆分或内部 k 折叠。 然而,要记住的关键一点是,验证性能是对真实泛化能力的有偏差估计。 因此,模型选择结果普遍过于乐观; Cawley & Talbot (2010) 中详细记录了此问题。 这就是为什么这项工作的主要贡献是明确区分模型选择和模型评估估计,这是正在考虑的文献中缺乏或含糊不清的。

4 再现性问题概述

为了激励我们的贡献,我们遵循 Dacrema 等人 (2019) 的方法,并简要回顾了最近描述五种不同 GNN 模型的论文,强调了实验设置中的问题以及结果的可重复性。 我们强调,我们的观察仅基于他们论文的内容和可用的代码222截至本提交日期。. 根据以下标准选择合适的 GNN 作品: i) 获得 10 倍 CV 的性能; ii) 同行评审; iii) 强烈的架构差异; iv) 受欢迎程度。 特别是,我们选择了 DGCNN (Zhang 等人, 2018)、DiffPool (Ying 等人, 2018)、ECC (Simonovsky & Komodakis, 2017) t2>、GIN (Xu 等人, 2019) 和 GraphSAGE (Hamilton 等人, 2017) 对于每个模型的详细描述,我们参考它们各自的论文。 我们评估评估质量和再现性的标准是:i)提供数据预处理、模型选择和评估的代码; ii) 提供数据分割; iii)通过分层技术对数据进行分割,以保留所有分区中的类别比例; iv) 使用标准差正确报告 10 倍 CV 的结果,并且它们指的是模型评估(测试集)而不是模型选择(验证集)。 1 总结了我们的发现。

表格1: 这项工作中考虑的再现性标准及其在所考虑的模型中的合规性。 (Y) 表示满足标准,(N) 表示不满足标准,(A) 表示不明确(即不清楚是否满足标准),(-) 表示缺乏信息(即不满足)提供了有关标准的详细信息)。 请注意,GraphSAGE 被排除在本次比较之外,因为作者并未直接将其应用于图分类任务。
DGCNN DiffPool ECC GIN
Data preprocessing code Y Y - Y
Model selection code N N - N
Model evaluation code Y Y - Y
Data splits provided Y N N Y
Label Stratification Y N - Y
Report accuracy on test Y A A N
Report standard deviations Y N N Y
DGCNN

作者在 10 倍 CV 上评估了模型。 虽然所有数据集的架构都是固定的,但学习率和历元仅使用一个随机 CV 折叠进行调整,然后在所有其他折叠上重复使用。 虽然这种做法仍然可以接受,但它可能会导致性能不佳。 尽管如此,重现模型选择的代码不可用。 此外,作者运行了 10 次 CV,并报告了 10 次最终得分的平均值。 因此,所提供估计值的方差会减少。 然而,同样的程序也没有适用于其他竞争对手。 最后,CV 数据分割正确分层并公开可用,使得至少可以重现评估实验。

差异池

从论文和提供的代码来看,尚不清楚报告的结果是否是在测试集而不是验证集上获得的。 尽管作者声明使用了 10 倍 CV,但没有报告 DiffPool 及其竞争对手的标准差。 此外,作者确认对验证集应用了提前停止以防止过度拟合;不幸的是,模型选择代码和验证拆分都不可用。 此外,根据代码,数据是随机分割的(没有分层)并且没有设置随机种子,因此每次执行代码时分割都是不同的。

ECC

论文报道,ECC 是在 10 倍 CV 上进行评估的,但结果不包括标准偏差。 与 DGCNN 类似,超参数是预先固定的,因此不清楚是否以及如何进行模型选择。 重要的是,代码存储库中没有提及数据预处理、数据分层、数据拆分和模型选择。

杜松子酒

作者正确列出了所有调整的超参数。 然而,正如论文和公共评论讨论中明确指出的那样,他们报告了 10 倍 CV 的验证准确性。 换句话说,报告的结果是指模型选择而不是模型评估。 没有提供型号选择的代码。

图圣人

原始论文并未在图分类数据集上测试该模型,但 GraphSAGE 经常在其他论文中用作强大的基线。 因此,GraphSAGE 图分类结果应附有重现实验的代码。 尽管如此,报告 GraphSAGE 结果的两项工作(DiffPool 和 GIN)却未能做到这一点。

概括

我们的分析表明,GNN 的工作在评估质量和结果的可重复性方面很少遵守良好的机器学习实践。 这促使需要在严格、可重复和公平的环境中重新评估所有模型。

5实验

在本节中,我们详细介绍我们的主要实验,其中我们使用严格遵循第 3 此外,我们还实现了两个基线,其目的是了解 GNN 能够利用结构信息的程度。 所有模型均通过 Pytorch Geometrics 库(Fey & Lenssen,2019)实现,该库提供图预处理例程,使图卷积的定义更容易实现。 我们有时会发现论文和相关代码之间存在差异;在这种情况下,我们遵守了论文中的规范。 由于原作中GraphSAGE并未应用于图分类,因此我们选择了最大池化全局聚合函数来对图实例进行分类;此外,我们不使用 Hamilton 等人 (2017) 中定义的采样邻域聚合方案,以允许节点访问其整个邻域。

数据集

所有图形数据集都是公开的(Kersting 等人,2016),并且代表了文献中最常用于比较 GNN 的相关子集。 有些收集分子图,而另一些则包含社交图。 特别是,我们使用了 D&D (Dobson & Doig, 2003)、PROTEINS (Borgwardt 等人, 2005)、NCI1 (Wale 等人, 2008) t2> 和 ENZYMES (Schomburg 等人, 2004) 用于化合物的二元和多类分类,而 IMDB-BINARY、IMDB-MULTI、REDDIT-BINARY、REDDIT-5K 和 COLLAB (Yanardag & Vishwanathan,2015) 是社交数据集。 数据集统计数据如表A.2所示。

特征

在 GNN 文献中,通常的做法是用结构特征来增强节点描述符。 例如,DiffPool 将度和聚类系数添加到每个节点特征向量,而 GIN 添加节点度的 one-hot 表示。 后一种选择权衡了性能的改进(由于第一个和的单射性)与无法推广到具有任意节点度的图。

一般来说,良好的实验实践表明,所有模型都应该与相同的输入表示进行一致的比较。
这就是为什么我们使用相同的节点特征重新评估所有模型。 特别是,我们对化学领域使用一种通用设置,对社交领域使用两种替代设置。 至于化学域,节点用其原子类型的 one-hot 编码进行标记,尽管在 ENZYMES 上我们遵循文献并使用 18 个可用的附加特征。 对于节点没有特征的社交图,我们要么对所有节点使用无信息特征,要么使用节点度。 因此,我们能够推断出模型所施加的结构归纳偏差的有效性;也就是说,模型是否能够隐式学习结构特征。 Gallagher & Eliassi-Rad (2008) 研究了向图的通用机器学习模型添加结构特征的效果;在这里,我们重点关注节点度对社交数据集性能的影响。

基线

我们采用两种不同的基线,一种用于化学,一种用于社会数据集。 在除 ENZYMES 之外的所有化学数据集上,我们遵循 Ralaivola 等人 (2005); Luzhnica 等人 (2019) 并实现了分子指纹技术,该技术首先应用全局求和池化(即通过将所有节点的特征相加来计算图中原子类型的出现次数)图在一起),然后应用带有 ReLU 激活的单层 MLP。 在社交领域和 ENZYMES 上(由于存在附加特征),我们从 Zaheer 等人 (2017) 的工作中获得灵感来学习节点集上的排列不变函数:首先,我们应用节点特征之上的单层 MLP,然后是全局总和池和另一个用于分类的单层 MLP。 请注意,两个基线都不利用图拓扑。 使用这些基线作为参考对于未来的工作至关重要,因为它们可以提供有关 GNN 在特定数据集上的有效性的反馈。 事实上,如果 GNN 的性能接近结构无关基线的性能,我们可以得出两个可能的结论:任务不需要拓扑信息来有效解决,或者 GNN 没有充分利用图结构。 虽然前者可以通过特定领域的人类专业知识进行验证,但后者更难以评估,因为多种因素都会发挥作用,例如训练数据量、架构施加的结构归纳偏差以及用于计算的超参数。型号选择。 尽管如此,相对于这些基线的显着改进有力地表明图拓扑已被利用。 因此,与结构无关的基线对于了解是否以及如何改进模型至关重要。

表2: 用于模型评估(左)和模型选择(右)的伪代码。 在算法1中,“Select”指的是算法2,而“训练”和“Eval”分别代表训练和推理阶段。 每次模型选择后,都会使用最佳配置 bestk 来评估外部测试折叠。 表现是 R 训练运行的平均值,其中 R 在我们的例子中设置为 3。
Algorithm 1 Model Assessment (k-fold CV)
1:Input: Dataset 𝒟, set of configurations Θ
2:Split 𝒟 into k folds F1,,Fk
3:for i1,,k do
4: traink, testk (jiFj), Fi
5: bestk Select(traink, Θ)
6: for r1,,R do
7: modelr Train(traink, bestk)
8: pr Eval(modelk, testk)
9: end for
10: perfk r=1Rpr/R
11:end for
12:return i=1kperfi/k
Algorithm 2 Model Selection
1:Input: traink, Θ
2:Split traink into train and valid
3:pθ =
4:for each θΘ do
5: model Train(traink, θ)
6: pθ pθ Eval(model, valid)
7:end for
8:bestθ argmaxθ pθ
9:return bestθ
实验设置

我们的实验方法是使用 10 倍 CV 进行模型评估,并使用内部保留技术(90%/10% 训练/验证分割)进行模型选择。 每个模型选择之后,我们在整个训练折叠上训练三次,保留数据的随机部分(10%)来执行早期停止。 需要这三个单独的运行来平滑不利的随机权重初始化对测试性能的影响。 最终的测试折叠分数是这三轮运行的平均值;表2报告了整个评估过程的伪代码。 为了与文献保持一致,我们使用耐心参数 n 实现早期停止,如果 n epochs 已经过去而验证集没有改进,则训练停止。 n 的高值可以通过降低模型对验证分数波动的敏感度来支持模型选择,但代价是额外的计算。 重要的是,所有数据分区都已预先计算,因此可以在相同的数据分区上选择和评估模型。 此外,所有数据分割都是分层的,即类比例保留在每个 k 折叠内以及用于模型选择的保留分割中。

超参数

超参数调整是通过网格搜索来执行的。 为了简洁起见,我们在A.7节中列出了所有超参数。 请注意,我们始终包含其他作者在各自论文中使用的内容。 我们为所有模型选择卷积层的数量、嵌入空间维度、学习率和提前停止的标准(基于验证准确性或验证损失)。 根据模型,我们还选择了正则化项、dropout 和其他特定于模型的参数。

计算方面的考虑

我们的实验涉及大量的训练。 对于所有模型,网格大小范围从 32 到 72 种可能的配置,具体取决于可供选择的超参数的数量。 然而,我们试图保持模型之间参数数量的上限尽可能相似。 以单次训练运行次数计算,完成模型评估程序所需的总工作量超过 47000 次。 如此大的数量需要在 CPU 和 GPU 中广泛使用并行性,以便在合理的时间内进行实验。 我们强调,在某些情况下(例如社交数据集中的 ECC 训练),单个 超参数配置需要超过 72 小时,这将使单个网格的顺序探索花费上个月的时间。 因此,由于需要进行大量实验以及可用的计算资源,我们将完成单次训练的时间限制为 72 小时。

6 结果与讨论

34 显示了我们的实验结果。 总体而言,GIN 似乎对社交数据集有效。 重要的是,我们发现在 D&D、蛋白质和酶方面,没有一个 GNN 能够比基线有所改进。 相反,在 NCI1 上,基线明显优于:这个结果表明我们分析的 GNN 实际上可以利用该数据集中图的拓扑信息。 此外,我们观察到过度参数化的基线无法完全过度拟合 NCI1 训练数据。 要看到这一点,请考虑具有 10000 个隐藏单元且无正则化的基线训练达到约 67% 的准确度,而 GIN 很容易过度拟合 (100%) 训练数据。 这表明结构信息极大地影响了训练集的拟合能力。 在社交数据集上,我们观察到添加节点度作为特征是有益的,但这种效果对于 REDDIT-BINARY、REDDIT-5K 和 COLLAB 更为明显。

6.1 基线的重要性

我们的结果还表明,与结构无关的基线是理解 GNN 有效性和提取有用见解的重要工具。 举个例子,由于没有一个 GNN 超过了 D&D、蛋白质和酶的基线,我们认为我们分析的最先进的 GNN 模型还无法充分利用此类数据集的结构;事实上,在化学中,已知结构特征与分子特性相关(van Rossum,1963) 出于所有这些原因,我们建议从正确的角度看待这些数据集的小幅性能提升,至少直到基线明显优于基线为止。 目前,这些数据集的小平均波动可能是由其他因素引起的,例如随机初始化,而不是结构的成功利用。 总之,我们强烈建议 GNN 从业者在未来的工作中进行基线比较,以便更好地表征他们的贡献程度。

6.2 节点度的影响

根据我们的结果,使用节点度作为输入特征几乎总是有利于提高社交数据集的性能,有时甚至是很大的提高。 例如,学位信息足以让我们的基线提高 15% 的性能,因此在许多数据集上具有竞争力;特别是,基线在 IMDB-BINARY 上实现了最佳性能。 相比之下,添加节点度对于大多数 GNN 来说不太相关,因为它们可以自动从结构中推断出此类信息。 一个值得注意的例外是 DGCNN,它明确需要节点度才能在所有数据集上表现良好。 此外,我们观察到所有模型的排名在添加度数后发生了巨大的变化;这就提出了其他结构特征(例如聚类系数)对性能的影响的问题,我们将其留给未来的工作。

但是,人们可能还想知道度数的增加是否会对解决任务所需的层数产生影响。
因此,我们通过计算 10 个不同折叠的层数中位数来研究这个问题。 我们观察到跨模型的总体趋势,GraphSAGE 是唯一的例外,其中度的添加减少了 1 所需的层数,如表 6 所示。 这可能是因为大多数架构发现在第一层计算度数很有用,因为此类信息似乎对整体性能有用。

表3: 报告了化学数据集的平均准确度和标准差结果。 最佳表现以粗体突出显示。
D&D NCI1 PROTEINS ENZYMES
Baseline 78.4±4.5 69.8±2.2 75.8±3.7 65.2±6.4
DGCNN 76.6±4.3 76.4±1.7 72.9±3.5 38.9±5.7
DiffPool 75.0±3.5 76.9±1.9 73.7±3.5 59.5±5.6
ECC 72.6±4.1 76.2±1.4 72.3±3.4 29.5±8.2
GIN 75.3±2.9 80.0±1.4 73.3±4.0 59.6±4.5
GraphSAGE 72.9±2.0 76.0±1.8 73.0±4.5 58.2±6.0
表 4: 报告了社交数据集的平均准确度和标准差结果。 最佳表现以粗体突出显示。 OOR 表示资源不足,可以是时间(> 单次训练 72 小时)或 GPU 内存。
IMDB-B IMDB-M REDDIT-B REDDIT-5K COLLAB
No Features Baseline 50.7±2.4 36.1±3.0 72.1±7.8 35.1±1.4 55.0±1.9
DGCNN 53.3±5.0 38.6±2.2 77.1±2.9 35.7±1.8 57.4±1.9
DiffPool 68.3±6.1 45.1±3.2 76.6±2.4 34.6±2.0 67.7±1.9
ECC 67.8±4.8 44.8±3.1 OOR OOR OOR
GIN 66.8±3.9 42.2±4.6 87.0±4.4 53.8±5.9 75.9±1.9
GraphSAGE 69.9±4.6 47.2±3.6 86.1±2.0 49.9±1.7 71.6±1.5
With Degree Baseline 70.8±5.0 49.1±3.5 82.2±3.0 52.2±1.5 70.2±1.5
DGCNN 69.2±3.0 45.6±3.4 87.8±2.5 49.2±1.2 71.2±1.9
DiffPool 68.4±3.3 45.6±3.4 89.1±1.6 53.8±1.4 68.9±2.0
ECC 67.7±2.8 43.5±3.1 OOR OOR OOR
GIN 71.2±3.9 48.5±3.3 89.9±1.9 56.1±1.7 75.6±2.3
GraphSAGE 68.8±4.5 47.6±3.5 84.3±1.9 50.0±1.3 73.9±1.7
Refer to caption
图1: 化学和社会(带有学位)基准结果与已发布的结果(如果有)一起显示。 对于每个模型,我们都会报告评估模型的验证和测试准确性,以及已发布的结果(如果有)。

6.3与已发表结果的比较

1将我们的测试结果的平均值与文献报道的平均值进行了比较。 此外,我们还绘制了 10 个不同模型选择的验证结果的平均值。 这些图显示了我们的测试精度在大多数情况下与文献中报道的不同,并且两个估计之间的差距通常是一致的。 相比之下,我们的平均验证准确率总是高于或等于我们的测试结果;正如 3.2 节中所讨论的,这是预期的。 最后,我们再次强调,我们的结果是i)在严格的模型选择和评估协议框架内获得的;ii)在数据分割和分配给所有竞争者的输入特征方面是公平的;iii)是可重复的。 相比之下,我们在第 4 节中看到已发表的结果如何依赖于不明确或记录不良的实验设置。

7结论

在本文中,我们想要展示对 GNN 的严格实证评估如何帮助设计未来的实验并更好地推理不同架构选择的有效性。 为此,我们强调了不同论文实验设置中的模糊性,并为未来的比较提出了一个清晰且可重复的程序。 然后,我们对 9 个数据集上的 5 个 GNN 进行了完整的重新评估,这需要大量的时间和计算资源。 这种统一的环境帮助我们推理结构的作用,因为我们发现结构不可知的基线在某些化学数据集上优于 GNN,因此表明结构特性尚未被利用。 此外,我们客观地分析了社交数据集中的度特征对性能和模型选择的影响,揭示了对 GNN 深度的影响。 最后,我们为图学习社区提供可靠且可重复的结果,GNN 从业者可以将其架构进行比较。 我们希望这项工作以及我们发布的库对于想要以更严格的方式比较 GNN 的研究人员和从业者来说是有用的。

致谢

D. Bacciu 衷心感谢意大利教育、大学和研究部 (MIUR) 在 SIR 2014 LIST-IT 项目(拨款编号:RBSI14STDE)下的支持。

参考

  • Bacciu et al. (2018) Davide Bacciu, Federico Errica, and Alessio Micheli. Contextual graph Markov model: A deep and generative approach to graph processing. In Proceedings of the International Conference on Machine Learning (ICML), volume 80 of Proceedings of Machine Learning Research, pp. 294–303. PMLR, 2018.
  • Borgwardt et al. (2005) Karsten M Borgwardt, Cheng Soon Ong, Stefan Schönauer, SVN Vishwanathan, Alex J Smola, and Hans-Peter Kriegel. Protein function prediction via graph kernels. Bioinformatics, 21(suppl_1):i47–i56, 2005.
  • Cawley & Talbot (2010) Gavin C. Cawley and Nicola L. C. Talbot. On over-fitting in model selection and subsequent selection bias in performance evaluation. Journal of Machine Learning Research, 11:2079–2107, 2010.
  • Dacrema et al. (2019) Maurizio Ferrari Dacrema, Paolo Cremonesi, and Dietmar Jannach. Are we really making much progress? A worrying analysis of recent neural recommendation approaches. In Proceedings of the 13th ACM Conference on Recommender Systems (RecSys), pp. 101–109, 2019.
  • Dobson & Doig (2003) Paul D Dobson and Andrew J Doig. Distinguishing enzyme structures from non-enzymes without alignments. Journal of molecular biology, 330(4):771–783, 2003.
  • Fey & Lenssen (2019) Matthias Fey and Jan Eric Lenssen. Fast graph representation learning with pytorch geometric. In Representation Learning on Graphs and Manifolds Workshop, International Conference on Learning Representations (ICLR), 2019.
  • Gallagher & Eliassi-Rad (2008) Brian Gallagher and Tina Eliassi-Rad. Leveraging label-independent features for classification in sparsely labeled networks: An empirical study. In International Workshop on Social Network Mining and Analysis, pp. 1–19. Springer, 2008.
  • Gilmer et al. (2017) Justin Gilmer, Samuel S. Schoenholz, Patrick F. Riley, Oriol Vinyals, and George E. Dahl. Neural message passing for quantum chemistry. In Proceedings of the International Conference on Machine Learning (ICML), volume 70 of Proceedings of Machine Learning Research, pp. 1263–1272. PMLR, 2017.
  • Hamilton et al. (2017) Will Hamilton, Zhitao Ying, and Jure Leskovec. Inductive representation learning on large graphs. In Advances in Neural Information Processing Systems (NIPS), pp. 1024–1034. Curran Associates, Inc., 2017.
  • Kersting et al. (2016) Kristian Kersting, Nils M. Kriege, Christopher Morris, Petra Mutzel, and Marion Neumann. Benchmark data sets for graph kernels, 2016. URL http://graphkernels.cs.tu-dortmund.de.
  • Kipf & Welling (2017) Thomas N. Kipf and Max Welling. Semi-supervised classification with graph convolutional networks. In Proceedings of the International Conference on Learning Representations (ICLR), 2017.
  • Lipton & Steinhardt (2018) Zachary C Lipton and Jacob Steinhardt. Troubling trends in machine learning scholarship. arXiv preprint arXiv:1807.03341, 2018.
  • Luzhnica et al. (2019) Enxhell Luzhnica, Ben Day, and Pietro Liò. On graph classification networks, datasets and baselines. Workshop on Learning and Reasoning with Graph-Structured Data, International Conference on Machine Learning (ICML), 2019.
  • McDermott (1976) Drew McDermott. Artificial intelligence meets natural stupidity. ACM SIGART Bulletin, 57:4–9, 1976.
  • Micheli (2009) Alessio Micheli. Neural network for graphs: A contextual constructive approach. IEEE Transactions on Neural Networks, 20(3):498–511, 2009.
  • National Academies of Sciences & Medicine (2019) Engineering National Academies of Sciences and Medicine. Reproducibility and replicability in science. National Academies Press, 2019.
  • Ralaivola et al. (2005) Liva Ralaivola, Sanjay J Swamidass, Hiroto Saigo, and Pierre Baldi. Graph kernels for chemical informatics. Neural networks, 18(8):1093–1110, 2005.
  • Scarselli et al. (2008) Franco Scarselli, Marco Gori, Ah Chung Tsoi, Markus Hagenbuchner, and Gabriele Monfardini. The graph neural network model. IEEE Transactions on Neural Networks, 20(1):61–80, 2008.
  • Schomburg et al. (2004) Ida Schomburg, Antje Chang, Christian Ebeling, Marion Gremse, Christian Heldt, Gregor Huhn, and Dietmar Schomburg. Brenda, the enzyme database: updates and major new developments. Nucleic acids research, 32(suppl_1):D431–D433, 2004.
  • Shchur et al. (2018) Oleksandr Shchur, Maximilian Mumme, Aleksandar Bojchevski, and Stephan Günnemann. Pitfalls of graph neural network evaluation. In Relational Representation Learning Workshop, Advances in Neural Information Processing Systems (NeurIPS), 2018.
  • Shervashidze et al. (2011) Nino Shervashidze, Pascal Schweitzer, Erik Jan van Leeuwen, Kurt Mehlhorn, and Karsten M Borgwardt. Weisfeiler-lehman graph kernels. Journal of Machine Learning Research, 12(Sep):2539–2561, 2011.
  • Simonovsky & Komodakis (2017) Martin Simonovsky and Nikos Komodakis. Dynamic edge-conditioned filters in convolutional neural networks on graphs. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 29–38, 2017.
  • Stone (1974) Mervyn Stone. Cross-validatory choice and assessment of statistical predictions. Journal of the royal statistical society. Series B (Methodological), pp. 111–147, 1974.
  • van Rossum (1963) Jacques van Rossum. The Relation Between Chemical Structure and Biological Activity. Journal of Pharmacy and Pharmacology, 15(1):285–316, 1963.
  • Varma & Simon (2006) Sudhir Varma and Richard Simon. Bias in error estimation when using cross-validation for model selection. BMC bioinformatics, 7:91, 02 2006.
  • Wagstaff et al. (2019) Edward Wagstaff, Fabian Fuchs, Martin Engelcke, Ingmar Posner, and Michael A. Osborne. On the limitations of representing functions on sets. In Proceedings of the International Conference on Machine Learning (ICML), volume 97 of Proceedings of Machine Learning Research, pp. 6487–6494. PMLR, 2019.
  • Wale et al. (2008) Nikil Wale, Ian A Watson, and George Karypis. Comparison of descriptor spaces for chemical compound retrieval and classification. Knowledge and Information Systems, 14(3):347–375, 2008.
  • Xu et al. (2019) Keyulu Xu, Weihua Hu, Jure Leskovec, and Stefanie Jegelka. How powerful are graph neural networks? In International Conference on Learning Representations (ICLR), 2019.
  • Yanardag & Vishwanathan (2015) Pinar Yanardag and S. V. N. Vishwanathan. Deep graph kernels. In Proceedings of the 21th ACM International Conference on Knowledge Discovery and Data Mining (SIGKDD), pp. 1365–1374, 2015.
  • Ying et al. (2018) Zhitao Ying, Jiaxuan You, Christopher Morris, Xiang Ren, Will Hamilton, and Jure Leskovec. Hierarchical graph representation learning with differentiable pooling. In Advances in Neural Information Processing Systems (NeurIPS), pp. 4800–4810. Curran Associates, Inc., 2018.
  • Zaheer et al. (2017) Manzil Zaheer, Satwik Kottur, Siamak Ravanbakhsh, Barnabas Poczos, Russ R Salakhutdinov, and Alexander J Smola. Deep sets. In Advances in Neural Information Processing Systems (NIPS), pp. 3391–3401. Curran Associates, Inc., 2017.
  • Zhang & Chen (2018) Muhan Zhang and Yixin Chen. Link prediction based on graph neural networks. In Advances in Neural Information Processing Systems (NeurIPS), pp. 5165–5175. Curran Associates, Inc., 2018.
  • Zhang et al. (2018) Muhan Zhang, Zhicheng Cui, Marion Neumann, and Yixin Chen. An end-to-end deep learning architecture for graph classification. In Proceedings of the AAAI Conference on Artificial Intelligence (AAAI), pp. 4438–4445, 2018.

附录A附录

A.1 评估框架的可视化

Refer to caption
图2: 我们给出了评估框架的直观表示。 我们应用外部 kout 折叠 CV 来估计模型的泛化性能,并使用保留技术(左下)来选择最佳超参数。 为了完整起见,我们表明也可以应用内部 kinn 折叠 CV(实现完整的嵌套交叉验证),这显然相当于乘以模型的计算成本通过因子kinn进行选择。

A.2 数据集统计

表 5: 数据集统计。 请注意,当节点标签不存在时,我们要么为数据集中的所有节点分配相同的特征 1 或度数。 此外,根据文献,我们使用 ENZYMES 的 18 个附加节点属性。
# Graphs # Classes # Nodes # Edges # Node labels
Chem. DD 1178 2 284.32 715.66 89
ENZYMES 600 6 32.63 64.14 3
NCI1 4110 2 29.87 32.30 37
PROTEINS 1113 2 39.06 72.82 3
Social COLLAB 5000 3 74.49 2457.78 -
IMDB-BINARY 1000 2 19.77 96.53 -
IMDB-MULTI 1500 3 13.00 65.94 -
REDDIT-BINARY 2000 2 429.63 497.75 -
REDDIT-5K 4999 5 508.82 594.87 -

A.3节点度对分层的影响

表 6: 该表显示了与添加节点度作为跨 10 个折叠的所有社交数据集上的输入特征相关的所选图层的平均值/中位数。 1表示使用无信息特征作为节点标签。
IMDB-B IMDB-M REDDIT-B REDDIT-M COLLAB
1 DEG 1 DEG 1 DEG 1 DEG 1 DEG
DGCNN 3.2/3 3.1/3 3.2/3.5 2.7/3 3.7/4 3.2/3 3/3 2.3/2 3.3/4 2.4/2
DiffPool 1.3/1 1.7/2 1.7/2 1.4/1 1.9/2 1.6/2 1.6/2 1.3/1 2/2 1.5/1.5
ECC 1.4/1 1.7/2 1.4/1 1.3/1 - - - - - -
GIN 2.8/3 4.4/5 4.3/5 3.8/3 3.8/3 4.4/5 3.2/3 4.2/5 3.8/3 5/5
GraphSAGE 4.6/5 4/4 3/3 4/4 3/3 4/4 3.2/3 4.2/5 3.2/3 5/5

A.4 化学任务的平均/中位数层数

表 7: 该表显示 10 个折叠的所有化学数据集中选定层的中位数。
PROTEINS NCI1 D&D ENZYMES
MEAN MEDIAN MEAN MEDIAN MEAN MEDIAN MEAN MEDIAN
DGCNN 3.5 4 3.4 3.5 3.3 3.0 3.1 3.0
DiffPool 1.4 1 1.6 2 1.7 2 1.6 2
ECC 1.8 2 1 1 1.3 1 1.4 1
GIN 3.7 4 5 5 4 5 3.5 3.0
GraphSAGE 4.8 5 5 5 4.2 5 4.2 5

A.5 节点度对隐藏单元的影响

表8: 该表显示了每层选定隐藏单元的平均值/中位数,与在 10 个折叠的所有社交数据集上添加节点度作为输入特征相关。 1表示使用无信息特征作为节点标签。
IMDB-B IMDB-M REDDIT-B REDDIT-M COLLAB
1 DEG 1 DEG 1 DEG 1 DEG 1 DEG
Baseline 220.8/256 172.8/192 140.8/128 176/256 233.6/256 60.8/32 108.8/128 60.8/32 118.4/128 60.8/32
DGCNN 60.8/64 44.8/32 44.8/32 48/48 54.4/44 41.6/32 44.8/32 54.4/64 41.2/64 44.8/32
DiffPool 108.8/128 108.8/128 102.4/128 83.2/64 89.6/64 96/96 96/96 92.6/64 113.8/128 108.8/128
ECC 41.6/32 57.6/64 44.8/32 48/48 - - - - - -
GIN 38.4/32 38.4/32 44.8/32 38.4/32 38.4/32 38.4/32 32/32 35.2/32 38.4/32 48/48
GraphSAGE 44.8/32 54.4/64 51.2/64 41.6/32 57.6/64 60.8/64 41.6/32 48/48 41.6/32 60.8/64

A.6 化学任务中隐藏单元的平均数/中位数

表 9: 该表显示了 10 个折叠的所有化学数据集中每层选定隐藏单元的中位数。
PROTEINS NCI1 D&D ENZYMES
MEAN MEDIAN MEAN MEDIAN MEAN MEDIAN MEAN MEDIAN
Baseline 124.8 128 185.6 256 92.8 80 176 256
DGCNN 57.6 64 54.4 64 48 48 60.8 64
DiffPool 96 96 102.4 128 32 32 102.4 128
ECC 32 32 32 32 54.4 64 32 32
GIN 48 48 48 48 44.8 32 51.2 64
GraphSAGE 48 48 60.6 64 54.4 64 60.4 64

A.7 Hyper-parameters table

表 10: 用于模型选择的超参数。
Layers
Convs
per
layer
Batch size
Learning
rate
Hidden
units
Epochs L2 Dropout Patience Optimizer Scheduler
Dense
dim
Embed.
dim
Neighbors
Aggregation
Baseline
chemical
- -
32
128
1e-1
1e-3
1e-6
32
128
256
5000
1e-2
1e-3
1e-4
-
500, loss
500, acc
Adam - - - sum
Baseline IMDB
- -
32
128
1e-1
1e-3
1e-6
32
128
256
3000
1e-2
1e-3
1e-4
-
500, loss
500, acc
Adam - - - sum
Base. COLLAB
and REDDIT
- -
32
128
1e-1
1e-3
32
128
3000
1e-2
1e-3
1e-4
-
500, loss
500, acc
Adam - - - sum
Baseline
ENZYMES
- - 32
1e-1
1e-3
1e-6
32
64
128
256
5000
1e-2
1e-3
1e-4
-
1000, loss
1000, acc
Adam - - - sum
DGCNN
2
3
4
1
50 (cpu)
16 (gpu)
1e-4
1e-5
32
64
1000 - 0.5
500, loss
500, acc
Adam - 128 - mean
DiffPool
1
2
3
20 (cpu)
8 (gpu)
1e-3
1e-4
1e-5
32
64
3000 - -
500, loss
500, acc
Adam - 50
64
128
mean
ECC
1
2
3
32 (cpu)
8 (gpu)
1e-1
1e-2
32
64
1000 -
0.05
0.25
500, loss
500, acc
SGD ECC-LR - - sum
GIN
see
hidden
units
1
32
128
1e-2
32 (5 layers)
64 (5 layers)
64 (2 layers)
32 (3 layers)
1000 -
0
0.5
500, loss
500, acc
Adam
Step-LR
(step: 50,
gamma: 0.5)
- - sum
GraphSAGE
3
5
1
32 (cpu)
16 (cuda)
1e-2
1e-3
1e-4
32
64
1000 - -
500, loss
500, acc
Adam - - -
mean
max
sum