Graph Isomorphism Network

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 在图同构问题上相同强度的表达能力的网络结构。

本文的贡献主要有以下四点

  1. 证明GNN在图同构问题上至多与WL test 表达能力相同
  2. 提出了GNN与WL test 表达能力相同时,需要满足的聚合表达式和图读出函数的条件
  3. 给出了GCN GraphSAGE 等网络区分不了的网络结构特例
  4. 提出了GIN网络结构

准备

通用GNN网络的数学表示可以使用如下形式

a v ( k ) = Aggregate ( k ) ( { h u ( k − 1 ) ∣ u ∈ N ( v ) } ) h v ( k ) = Combine ( k ) ( h v ( k − 1 ) , a v ( k ) ) \\a_{v}^{(k)} = \text{Aggregate}^{(k)}(\{h_{u}^{(k-1)}|u\in N(v)\}) \\h_{v}^{(k)} = \text{Combine}^{(k)}(h_v^{(k-1)},a_v^{(k)}) av(k)=Aggregate(k)({hu(k1)uN(v)})hv(k)=Combine(k)(hv(k1),av(k))

其中 h v ( k ) h_{v}^{(k)} hv(k) 是第k个迭代层中节点v的特征向量。我们初始化 h v ( 0 ) = X v h_v^{(0)} = X_v hv(0)=Xv

对于GraphSAGE网络,上式表示为

a v ( k ) = max ⁡ ( { ReLU ( W ( k ) h u ( k − 1 ) ) ∣ u ∈ N ( v ) } ) h v ( k ) = W ′ ( k ) ( h v ( k − 1 ) ∣ ∣ a v ( k ) ) \\a_{v}^{(k)} = \max(\{\text{ReLU}(W^{(k)}h_{u}^{(k-1)})|u\in N(v)\}) \\h_{v}^{(k)} = W'^{(k)}(h_{v}^{(k-1)}||a_v^{(k)}) av(k)=max({ReLU(W(k)hu(k1))uN(v)})hv(k)=W(k)(hv(k1)av(k))

对于GCN,上式表示为

h v ( k ) = ReLU ( W ( k ) Mean { h u ( k − 1 ) ∣ u ∈ N ( v ) ∪ { v } } ) \\h_{v}^{(k)} = \text{ReLU}(W^{(k)}\text{Mean}\{h_{u}^{(k-1)}|u\in N(v)\cup\{v\}\}) hv(k)=ReLU(W(k)Mean{hu(k1)uN(v){v}})

当进行图分类任务时,需要将点特征转化为全局特征

h G = Readout ( { h v ( K ) ∣ v ∈ V } ) h_G = \text{Readout}(\{h_v^{(K)}|v\in V\}) hG=Readout({hv(K)vV})

WL test:迭代式,用于解决图同构问题的算法,包含以下两步

  • 聚合节点及其邻域的标签
  • 将聚合后的标签散列为唯一的新标签

如果在某些迭代中两个图之间的节点的标签不同,则该算法确定两个图是非同构的。一个WL test 的例子如下所示

Graph Isomorphism Network_第1张图片
如果将散列后的节点按照在图中出现的次数排成一个一维向量,该向量(WL subtree kernel)可以用来衡量两张图之间的相似度。

理论分析

在以下的理论分析中,假定节点上的特征是来源于可数空间的,假定GNN每层的输出特征也是来自可数空间的。这样,可以将每种特征表示映射到一个整数标签 { a , b , c . . . } \{a,b,c...\} {a,b,c...} 上。

可重复集合(MultiSet): X = ( S , m ) X = (S,m) X=(S,m) 其中, S S S 表示集合中每种元素, m m m 给出不同种对应的出现次数。

通过研究GNN何时将两个节点映射到相同的特征表示来研究GNN的表示能力,表示能力的理论上限为当两个节点对应的子树相同时,才映射到相同的特征表示。子树的定义如下

Graph Isomorphism Network_第2张图片

而GNN的聚合操作可以抽象为将节点对应的multiset映射到特征表示上,显然,当且仅当该映射是单射时GNN具有最强的特征表示能力。
Graph Isomorphism Network_第3张图片
结论1:令两个图 G 1 , G 2 G_1,G_2 G1,G2 是任意两个非同构的图。如果存在一个图神经网络 A : G → R d \mathcal{A}: \mathcal{G} \rightarrow \mathbb{R}^{d} A:GRd 将图 G 1 , G 2 G_1,G_2 G1,G2 映射到不同的graph embedding。那么通过Weisfeiler-Lehman同构测试也可以确定非同构性。

结论1说明,在图同构问题上,GNN的理论上限就是WL test。

结论2:令 A : G → R d \mathcal{A}: \mathcal{G} \rightarrow \mathbb{R}^{d} A:GRd 是一个GNN,对于两个通过Weisfeiler-Lehman同构测试测定为不同构的两个图 G 1 , G 2 G_1,G_2 G1,G2 ,在GNN层足够多的情况下,如果下面的情况成立,则通过GNN可以将这两个图映射到不同的graph embedding

  1. A \mathcal A A 用下面的公式迭代的聚合和更新节点特征:
    h v ( k ) = ϕ ( h v ( k − 1 ) , f ( { h u ( k − 1 ) : u ∈ N ( v ) } ) ) h_{v}^{(k)}=\phi\left(h_{v}^{(k-1)}, f\left(\left\{h_{u}^{(k-1)}: u \in \mathcal{N}(v)\right\}\right)\right) hv(k)=ϕ(hv(k1),f({hu(k1):uN(v)}))
    其中函数 f f f 作用在multiset上,满足 ϕ \phi ϕ 函数是单射的
  2. 读出层作用在multiset { h v ( k ) } \{h_{v}^{(k)}\} {hv(k)} 上,也是单射的

结论3给出了对于图同构问题,如何构造理论表达能力最强的GNN。

结论4:输入的特征空间 X X X 是可数的,那么GNN网络中的第 k k k 层的输出, h v ( k ) h_v^{(k)} hv(k) 也是可数的

这一结论保证了我们可以将GNN等价到WL test 进行考虑。

GIN

结论5:假定点特征 X \mathcal X X 是可数的,存在函数 f : X → R n f :\mathcal{X}\rightarrow \mathbb R^{n} f:XRn 使得 h ( X ) = ∑ x ∈ X f ( x ) h(X) = \sum_{x\in X}f(x) h(X)=xXf(x) 是个单射,而且任何定义在multiset上的函数 g g g 可以表示成 g ( X ) = ϕ ( ∑ x ∈ X f ( x ) ) g(X) = \phi(\sum_{x\in X}f(x)) g(X)=ϕ(xXf(x))

结论6:假定点特征 X \mathcal X X 是可数的,存在函数 f : X → R n f :\mathcal{X}\rightarrow \mathbb R^{n} f:XRn 使得对于无穷多个 ϵ \epsilon ϵ,包含所有无理数

h ( c , X ) = ( 1 + ε ) f ( c ) + ∑ x ∈ X f ( x ) h(c,X) = (1+\varepsilon)f(c)+\sum_{x\in X} f(x) h(c,X)=(1+ε)f(c)+xXf(x)

是单射函数,其中 c ∈ X c\in\mathcal X cX X ⊂ X X\subset \mathcal X XX 表示multiset对应的特征集合,而且任何函数 g g g 都可以表示为

g ( c , X ) = ϕ ( ( 1 + ε ) f ( c ) + ∑ x ∈ X f ( x ) ) g(c,X) = \phi((1+\varepsilon)f(c)+\sum_{x\in X} f(x)) g(c,X)=ϕ((1+ε)f(c)+xXf(x))

使用MLP来拟合 f , g f,g f,g,因此,GIN的点特征更新函数表示为

h v ( k ) = MLP ( k ) ( ( 1 + ε ( k ) ) h v ( k − 1 ) + ∑ u ∈ N ( v ) h u ( k − 1 ) ) h_v^{(k)} = \text{MLP}^{(k)}((1+\varepsilon^{(k)})h_v^{(k-1)}+\sum_{u\in N(v)}h_u^{(k-1)}) hv(k)=MLP(k)((1+ε(k))hv(k1)+uN(v)hu(k1))

其中 ε ( k ) \varepsilon^{(k)} ε(k) 是定值或是可学习的。

Graph Embedding构造方法为

h G = ∣ ∣ k = 1 K ReadOut ( { h v ( k ) ∣ v ∈ G } ) h_G = ||_{k=1}^K \text{ReadOut}(\{h_v^{(k)}|v\in G\}) hG=k=1KReadOut({hv(k)vG})

如果 R e a d O u t ReadOut ReadOut 使用Sum,那么可以转化为 WL test 算法。

GraphSAGE 与 GCN

作者给出了使用Mean和Max进行信息聚合表现不好的例子

Graph Isomorphism Network_第4张图片
结论:由于mean和max函数 不满足单射性,无法区分某些结构的图,故性能会比sum差。

sum, mean, max 分别可以捕获的信息特点

  • sum:学习全部的标签以及数量,可以学习精确的结构信息
  • mean:学习标签的比例(比如两个图标签比例相同,但是节点有倍数关系),偏向学习分布信息
  • max:学习最大标签,忽略多样,偏向学习有代表性的元素信息

Graph Isomorphism Network_第5张图片

实验结果

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

总结

本文的理论分析建立在两个前提下,第一个是图同构,第二个是图分类任务。不一定可以简单的将其泛化到点分类或其他任务上,需要进行更多的分析和实验。

你可能感兴趣的:(图神经网络,深度学习)