【GloGNN】现有方法通过扩展节点的邻域来包含具有同配性的多跳邻居,但为不同节点设置个性化的邻域大小是一个挑战,且现有方法忽略了邻域之外的同配性节点。为了解决这些问题,作者提出了GloGNN和GloGNN++模型。这些模型通过学习系数矩阵来捕获节点之间的相关性,并基于此进行邻域聚合。系数矩阵允许有符号值,并且可以从一个具有封闭形式解的优化问题中导出。作者从理论上证明了系数矩阵和生成的节点嵌入矩阵具有期望的分组效应,即如果两个节点具有相似的特征和局部结构,无论它们在图中距离多远,它们的嵌入向量都会彼此接近。
本文发表在2022年ICML会议上,第一作者学校:华东师范大学,引用量:137。
ICML会议简介:全称International Conference on Machine Learning(机器学习国际会议),机器学习顶会,CCF A。
查询会议:
-
CCF deadline:https://ccfddl.github.io/
原文和开源代码链接:
0、核心内容
我们研究了具有异配性的图上的图神经网络。现有的一些方法放大带有多跳邻域的节点的邻域,以包含更多的同配性节点。然而,为不同的节点设置个性化的邻域大小是一个重大的挑战。此外,对于被排除在邻域外的其他同配性节点,它们在信息聚合时被忽略。
为了解决这些问题,我们提出了两种模型GloGNN和GloGNN++,它们**通过聚合图中全局节点的信息来生成节点的嵌入。**在每一层中,两个模型都学习一个系数矩阵来捕获节点之间的相关性,基于邻域聚合。系数矩阵允许有符号值,并由一个具有封闭形式解的优化问题推导出。我们进一步加速了邻域聚合,并推导出了一个线性的时间复杂度。通过证明系数矩阵和生成的节点嵌入矩阵都具有期望的分组效果,从理论上解释了模型的有效性。
我们进行了广泛的实验,在广泛的15个基准数据集上将我们的模型与其他11个竞争对手进行比较。实验结果表明,该方法具有较好的工作性能和工作效率。
(引自摘要)
如图1所示,一个用户只有一个具有同配性的本地邻居(local neighbor),而有三个同配性的节点存在多跳距离。
在第l层卷积层中,受线性子空间模型(linear subspace model)的启发,我们用图中所有节点的每个节点线性描述每个节点,并推导出这样的系数矩阵 Z ( l ) Z^{(l)} Z(l),其中 Z i j ( l ) Z_{ij}^{(l)} Zij(l)描述了节点 x j x_j xj对节点 x i x_i xi的重要性。我们将这个表征问题描述为一个对于 Z ( l ) Z^{(l)} Z(l)具有封闭解的优化问题。
然后,以 Z ( l ) Z^{(l)} Z(l)作为权值矩阵,通过聚合全局节点信息,生成节点嵌入矩阵 H ( l ) H^{(l)} H(l)。请注意,直接计算 Z ( l ) Z^{(l)} Z(l)和基于 Z ( l ) Z^{(l)} Z(l)的邻域聚合会导致三次和二次的时间复杂度。因此,我们避免了直接计算 Z ( l ) Z^{(l)} Z(l)和邻域聚合中的重排序矩阵乘法,有效地减少了时间复杂度。
最后,我们从数学上表明 Z ( l ) Z^{(l)} Z(l)和生成的节点嵌入矩阵$ H^{(l)}$的分组效应,也就是说,对于任何两个节点的图,无论他们有多远,如果它们共享相似的特性和局部结构,它们的嵌入向量将彼此接近。
1、先验知识
① 什么是线性子空间模型(linear subspace model)?
线性子空间模型是数学和工程学中的一个概念,用于描述和分析数据在低维空间中的表示。这种模型基于线性代数的原理,认为高维数据集中的点可以被表示为较低维空间中的线性组合。
在机器学习和模式识别中,线性子空间模型通常用于以下目的:
- 降维:将数据投影到较低维的空间,减少数据的复杂性,同时尽量保留重要信息。
- 特征提取:从原始数据中提取出最能代表数据特征的子空间。
- 数据压缩:减少数据存储和处理所需的资源。
- 去噪:去除数据中的噪声成分,提高数据质量。
线性子空间模型的关键点包括:
- 基(Basis):子空间的一组基向量,任何数据点都可以表示为这组基向量的线性组合。
- 维度(Dimensionality):子空间的维数,表示数据在该子空间中的自由度。
- 投影(Projection):将数据点映射到子空间的过程。
常见的线性子空间模型包括:
- 主成分分析(PCA):寻找数据的主要变化方向,并在这些方向上对数据进行投影,以减少数据的维度。
- 线性判别分析(LDA):不仅考虑数据的内在结构,还考虑数据的分类标签,以最大化类间差异和最小化类内差异。
- 奇异值分解(SVD):一种矩阵分解技术,可以揭示数据的内在结构。
**本文中的GloGNN模型中,线性子空间模型的概念被用来表征每个节点,即通过图中所有其他节点的线性组合来描述一个节点的特征。**这种方法允许模型在每一层捕捉节点间的复杂关系,并通过优化问题来确定节点间的权重,从而实现有效的信息聚合和表示学习。
2、算法原理
图2:GloGNN的总体框架。在每一层中,我们推导出一个系数矩阵,基于此系数矩阵,通过聚合来自全局节点的信息来生成一个节点的嵌入。
① 系数矩阵 Z ( l ) Z^{(l)} Z(l)
系数矩阵的定义:在GloGNN模型的第l层,系数矩阵 Z ( l ) Z^{(l)} Z(l)是一个 n × n n×n n×n的矩阵,用于描述图中所有节点之间的关系(受线性子空间模型的启发)。矩阵中的每个元素 Z i j ( l ) Z_{ij}^{(l)} Zij(l)表示节点 x j x_j xj对节点 x i x_i xi的重要性或贡献度。
信息聚合:系数矩阵
Z
(
l
)
Z^{(l)}
Z(l)用于加权地聚合图中所有节点的信息来更新节点
x
i
x_i
xi的嵌入
h
i
l
h_i^{l}
hil。这个过程可以表示为:
H
(
l
)
=
Z
(
l
)
H
(
l
)
+
O
(
l
)
H^{(l)}=Z^{(l)}H^{(l)}+O^{(l)}
H(l)=Z(l)H(l)+O(l)
其中
H
(
l
)
H^{(l)}
H(l)是第l层的节点嵌入矩阵,
O
(
l
)
O^{(l)}
O(l)是一个噪声矩阵(noise matrix)。
系数矩阵的性质: Z ( l ) Z^{(l)} Z(l)允许有符号值,这意味着它可以表示节点间的同配性(正系数)和异配性(负系数)。同配性节点将被赋予较大的正系数,而异配性节点将被赋予较小的正系数或负系数。
优化问题:为了得到系数矩阵 Z ( l ) Z^{(l)} Z(l),作者提出了一个优化问题,该问题考虑了节点特征的相似性和图拓扑结构的相似性,并通过多跳可达性来正则化 Z ( l ) Z^{(l)} Z(l)。优化问题的目标函数形式如下:
其中, H ( 0 ) H^{(0)} H(0)是初始节点嵌入矩阵, γ γ γ和 β 1 β_1 β1、 β 2 β_2 β2是超参数, λ k λ_k λk是可学习的参数, A k A_k Ak是考虑 k k k跳可达性的邻接矩阵。
封闭形式解:优化问题有一个封闭形式的解,这使得计算效率更高,并且可以直接得到系数矩阵 Z ( l ) Z^{(l)} Z(l)。
系数矩阵的作用: Z ( l ) Z^{(l)} Z(l)作为权重矩阵,不仅用于信息聚合,还用于捕捉节点间的相关性,这是GloGNN模型能够有效处理异配图的关键。
加速更新:为了减少计算复杂度,作者通过重新排序矩阵乘法来避免直接计算 Z ( l ) Z^{(l)} Z(l),从而将更新 H ( l + 1 ) H^{(l+1)} H(l+1)时间复杂度降低到线性。
系数矩阵是GloGNN模型的核心组成部分,它使得模型能够全局地聚合信息,同时捕捉节点间的复杂关系,这对于在异配图中进行有效的节点表示学习至关重要。
② 聚合加速(Aggregation acceleration)
该部分主要讨论了如何提高基于全局节点信息聚合的效率。具体来说,论文提出了一种方法来加速在每个卷积层中基于系数矩阵 Z ( l ) Z^{(l)} Z(l)的邻域聚合过程。
问题陈述:直接使用 Z ( l ) ∗ Z^{(l)*} Z(l)∗更新 H ( l + 1 ) H^{(l+1)} H(l+1)是不可行的,因为计算 Z ( l ) ∗ Z^{(l)*} Z(l)∗具有三次时间复杂度,而计算 Z ( l ) ∗ H ( l ) Z^{(l)*}H^{(l)} Z(l)∗H(l)具有二次时间复杂度,这在大规模图中是不切实际的。
加速方法:为了避免直接计算 Z ( l ) ∗ Z^{(l)*} Z(l)∗,作者将方程6转换为新的表达形式(方程7和方程8)。这种转换允许通过重新排序矩阵乘法来加速 H ( l + 1 ) H^{(l+1)} H(l+1)的更新。
③ 分组效应(Grouping effect)
这部分讨论了GloGNN模型中系数矩阵 Z ( l ) ∗ Z^{(l)*} Z(l)∗和节点嵌入矩阵 H ( l + 1 ) H^{(l+1)} H(l+1)的分组效应。分组效应是指如果两个节点在特征向量和局部图结构上相似,那么它们在系数矩阵中的表示也应该相似,即它们的嵌入向量在特征空间中应该接近。
分组效应定义:首先定义了分组效应的概念,即如果两个节点 v i v_i vi和 v j v_j vj在特征向量和 k k k跳拓扑结构上都接近,则系数矩阵 Z Z Z的第 p p p行的 i i i和 j j j个元素也应该接近,即 ∣ Z i p − Z j p ∣ → 0 |Z_{ip}-Z_{jp}|→0 ∣Zip−Zjp∣→0。
理论证明:论文提出了几个引理(Lemmas)来证明 Z ( l ) ∗ Z^{(l)*} Z(l)∗、 ( Z ( l ) ∗ ) T (Z^{(l)*})^T (Z(l)∗)T和 H ( l + 1 ) H^{(l+1)} H(l+1)具有分组效应。这些引理通过数学公式详细说明了如果两个节点的特征向量和局部图结构相似,那么它们在系数矩阵中的表示也相似。
分组效应的意义:分组效应的存在解释了GloGNN模型的有效性。它确保了模型能够学习到节点之间的相似性,并在特征空间中将它们映射为接近的点。
3、实验
在9个小规模数据集上的分类精度:
在6个大规模数据集上的分类精度:
4、启发&心得
本文提出了一个系数矩阵 Z Z Z,可以描述图中所有节点之间的关系,这就考虑到了图的全局的拓扑结构,然后用系数矩阵加权聚合所有节点的信息来更新新的节点嵌入(隐藏层 H H H)。
该方法将图的拓扑结构,即图中所有节点之间的关系作为单个节点的特征与节点特征 X X X一起考虑,这一思路值得借鉴。
5、参考资料
- kimi:https://kimi.moonshot.cn/
- 线性子空间模型(Robust Recovery of Subspace Structures by Low-Rank Representation):https://arxiv.org/abs/1010.2955