文章信息
摘要
图神经网络的可伸缩性仍然是图机学习中的主要挑战之一。由于一个节点的表示是通过递归地聚合和转换其相邻节点的表示向量来计算的,因此接受域呈指数增长,这使得标准的随机优化技术无效。人们提出了各种方法来缓解这一问题,例如,基于采样的方法和基于图滤波器的预计算的方法和技术。
本文中,我们采用了一种不同的方法,并提出使用图粗化来进行gnn的可扩展训练,它是通用的,非常简单的,在训练过程中具有次线性记忆和时间代价。
我们对使用粗化操作的影响进行了广泛的理论分析,并为粗化方法的选择提供了有用的指导。有趣的是,我们的理论分析表明,粗化也可以被认为是一种正则化,并可以提高泛化。
在真实世界数据集上的经验结果表明,简单地应用现成的粗化方法,我们可以将节点数量减少10倍,而不会导致分类精度明显下降。
1.introduction
介绍GNN 基于sampling的方法,基于图扩散APPNP和decoulpedMLP
本文研究了一种基于图粗化的简单而通用的方法。简而言之,我们的方法首先应用一种适当的图粗化方法,例如[27],输出节点和边数更少的粗糙图;然后在这个粗图上训练GNN;最后将这个较小模型的训练模型参数转移到原始图上定义的GNN上进行推理。
由于训练只在一个小得多的图上完成,所以训练时间和内存代价都是次线性的,而以往所有方法的节点数的时间复杂度在[6]上至少是线性的。此外,可以应用全批梯度下降,这不仅避免了对大图重复进行随机采样,而且比以前的技术要简单得多,因为任何GNN模型都可以直接应用而不改变代码。
2.预备知识
图拉普拉斯
GNN
3. 方法
3.1 图粗化,通过生成聚类的分配矩阵来重新生成小图
3.2 方法
关注半监督节点分类设置,其中我们给出了一个属性图𝐺=(𝑉,𝐸,𝑋)和一个节点小子集的标签。假设类的数量为𝑙。我们使用𝑌∈{0,1}𝑛×𝑙来表示标签信息:如果𝑣𝑖被标记,那么𝑌𝑖:是相应的单热指标向量,否则为𝑌𝑖:=0。
我们使用GNN𝐺(𝑊)来表示基于𝐺的GNN模型。给定一个损失函数ℓ,例如交叉熵,模型的损失表示为ℓ(GNN算法是将损失最小化w.r.t.𝐺 (𝑊 ), 𝑌).接受培训的𝑊。
训练的时间和记忆成本与𝐺的大小成正比。为了提高计算成本,我们首先通过上述图粗化计算𝐺的粗糙近似,表示为𝐺‘,然后最小化损失ℓ(GNN𝐺’(𝑊),𝑌‘)w.r.t.𝑊 .然后在GNN𝐺()中使用最优参数矩阵𝑊∗进行预测。
在粗图中,每个节点都是一个对应于原始图中的一个节点簇的超节点。每个超节点的特征向量是聚类中所有节点的特征向量的平均值,即𝑋‘=𝑃𝑇𝑋。我们同样地设置了每个超级节点的标签,即𝑃𝑇𝑌。
但是,超级节点有可能包含来自多个类的节点。对于这种情况,我们选择主导标签,即对𝑃𝑇𝑌应用行argmax操作。在我们的实验中,我们发现丢弃这种带有混合标签的超级节点往往会提高准确性。
然而,一般来说,可以应用更复杂的聚合方案来适应手头的应用程序。关于我们的框架的描述,请参见算法1。
我们注意到,图粗化可以在cpu上有效地预先计算,其中的主内存大小可能比gpu大得多。粗图𝐺‘是加权的,每个超级节点中的节点数可能会有显著差异。因此,在构造较小的模型GNN𝐺‘(𝑊)时,我们有时需要修改传播方案。接下来,我们给出一个稍微更一般的GC,这是基于我们在第4节中的理论分析。
实现: 通过数学矩阵(指示矩阵等)间,定义新的图卷积GC
4. 理论
和APPAP等的分析
5. 实验
实质上没有提高多少
不同粗化方法的比较