Paper : GRAPH ISOMORPHISM NETWORK
Code :
摘要
作者使用Weisfeiler-Lehman(WL) test 和同构图判定问题来评估GNN网络的表达能力,并提出了GIN网络结构,理论分析GIN的表达能力优于GraphSAGE GCN等结构,在多任务上准确率达到了SOTA。WL测试与GNN具有相似的信息传递方式,在WL test算法运行的过程中,算法构造了从 multiset 到 representation 的单射函数,因此WL test在图同构问题上具有强表达能力。作者尝试使用GNN构造与WL test 在图同构问题上相同强度的表达能力的网络结构。
本文的贡献主要有以下四点
- 证明GNN在图同构问题上至多与WL test 表达能力相同
- 提出了GNN与WL test 表达能力相同时,需要满足的聚合表达式和图读出函数的条件
- 给出了GCN GraphSAGE 等网络区分不了的网络结构特例
- 提出了GIN网络结构
准备
通用GNN网络的数学表示可以使用如下形式
av(k)=Aggregate(k)({hu(k−1)∣u∈N(v)})hv(k)=Combine(k)(hv(k−1),av(k))
其中 hv(k) 是第k个迭代层中节点v的特征向量。我们初始化hv(0)=Xv
对于GraphSAGE网络,上式表示为
av(k)=max({ReLU(W(k)hu(k−1))∣u∈N(v)})hv(k)=W′(k)(hv(k−1)∣∣av(k))
对于GCN,上式表示为
hv(k)=ReLU(W(k)Mean{hu(k−1)∣u∈N(v)∪{v}})
当进行图分类任务时,需要将点特征转化为全局特征
hG=Readout({hv(K)∣v∈V})
WL test:迭代式,用于解决图同构问题的算法,包含以下两步
- 聚合节点及其邻域的标签
- 将聚合后的标签散列为唯一的新标签
如果在某些迭代中两个图之间的节点的标签不同,则该算法确定两个图是非同构的。一个WL test 的例子如下所示

如果将散列后的节点按照在图中出现的次数排成一个一维向量,该向量(WL subtree kernel)可以用来衡量两张图之间的相似度。
理论分析
在以下的理论分析中,假定节点上的特征是来源于可数空间的,假定GNN每层的输出特征也是来自可数空间的。这样,可以将每种特征表示映射到一个整数标签 {a,b,c...} 上。
可重复集合(MultiSet):X=(S,m) 其中,S 表示集合中每种元素,m 给出不同种对应的出现次数。
通过研究GNN何时将两个节点映射到相同的特征表示来研究GNN的表示能力,表示能力的理论上限为当两个节点对应的子树相同时,才映射到相同的特征表示。子树的定义如下

而GNN的聚合操作可以抽象为将节点对应的multiset映射到特征表示上,显然,当且仅当该映射是单射时GNN具有最强的特征表示能力。

结论1:令两个图G1,G2 是任意两个非同构的图。如果存在一个图神经网络 A:G→Rd 将图 G1,G2 映射到不同的graph embedding。那么通过Weisfeiler-Lehman同构测试也可以确定非同构性。
结论1说明,在图同构问题上,GNN的理论上限就是WL test。
结论2:令 A:G→Rd 是一个GNN,对于两个通过Weisfeiler-Lehman同构测试测定为不同构的两个图 G1,G2 ,在GNN层足够多的情况下,如果下面的情况成立,则通过GNN可以将这两个图映射到不同的graph embedding
-
A 用下面的公式迭代的聚合和更新节点特征:
hv(k)=ϕ(hv(k−1),f({hu(k−1):u∈N(v)}))
其中函数 f 作用在multiset上,满足 ϕ 函数是单射的
- 读出层作用在multiset {hv(k)} 上,也是单射的
结论3给出了对于图同构问题,如何构造理论表达能力最强的GNN。
结论4:输入的特征空间 X 是可数的,那么GNN网络中的第 k 层的输出,hv(k) 也是可数的
这一结论保证了我们可以将GNN等价到WL test 进行考虑。
GIN
结论5:假定点特征 X 是可数的,存在函数 f:X→Rn 使得 h(X)=∑x∈Xf(x) 是个单射,而且任何定义在multiset上的函数 g 可以表示成 g(X)=ϕ(∑x∈Xf(x))
结论6:假定点特征 X 是可数的,存在函数 f:X→Rn 使得对于无穷多个 ϵ,包含所有无理数
h(c,X)=(1+ε)f(c)+x∈X∑f(x)
是单射函数,其中 c∈X 而 X⊂X 表示multiset对应的特征集合,而且任何函数 g 都可以表示为
g(c,X)=ϕ((1+ε)f(c)+x∈X∑f(x))
使用MLP来拟合 f,g,因此,GIN的点特征更新函数表示为
hv(k)=MLP(k)((1+ε(k))hv(k−1)+u∈N(v)∑hu(k−1))
其中 ε(k) 是定值或是可学习的。
Graph Embedding构造方法为
hG=∣∣k=1KReadOut({hv(k)∣v∈G})
如果 ReadOut 使用Sum,那么可以转化为 WL test 算法。
GraphSAGE 与 GCN
作者给出了使用Mean和Max进行信息聚合表现不好的例子

结论:由于mean和max函数 不满足单射性,无法区分某些结构的图,故性能会比sum差。
sum, mean, max 分别可以捕获的信息特点
- sum:学习全部的标签以及数量,可以学习精确的结构信息
- mean:学习标签的比例(比如两个图标签比例相同,但是节点有倍数关系),偏向学习分布信息
- max:学习最大标签,忽略多样,偏向学习有代表性的元素信息

实验结果

首先,GIN,尤其是GIN-0(固定 ϵ=0),在所有9个数据集上达到了SOTA。 GIN在包含相对大量训练图的社交网络数据集上表现亮眼。对于Reddit数据集,所有节点都与节点要素共享相同的标量。在这里,GIN和求和聚合GNN准确捕获图结构并明显优于其他模型。但是,均值聚合GNN无法捕获未标记图的任何结构,并且其性能也不比随机猜测好。即使提供节点度作为输入特征,基于均值的GNN的效果也要比基于求和的GNN差得多。比较GIN(GIN-0和GIN-ϵ),我们观察到GIN-0略微但始终优于GIN-ϵ。由于两个模型均能很好地拟合训练数据,因此与GIN-ϵ相比,其简单性可以解释GIN-0具有更好的泛化能力。
总结
本文的理论分析建立在两个前提下,第一个是图同构,第二个是图分类任务。不一定可以简单的将其泛化到点分类或其他任务上,需要进行更多的分析和实验。