《Weisfeiler and Leman Go Neural Higher-order Graph Neural Networks》阅读笔记

一.论文概述

本文阐明了GNN和WL Test的联系,并基于此提出了 k k k-GNNs,该模式是 k k k-WL在GNN上的泛化。另外,作者还提出了多粒度的层次 k k k-GNN。在分类和回归任务的实验结果表明, k k k-GNNs比1-GNN的表达能力更强。

二.预备知识

2.1 符号说明

符号说明
G = ( V , E ) G = (V,E) G=(V,E)图,其中 E ⊆ { { u , v } ⊆ V ∣ u ≠ v } E \subseteq\{\{u, v\} \subseteq V \mid u \neq v\} E{{u,v}Vu=v}
N ( v ) N(v) N(v)节点 v v v的邻域
G [ S ] = ( S , E S ) G[S]=(S, E_{S}) G[S]=(S,ES) S ⊆ V ( G ) S \subseteq V(G) SV(G)对应的诱导子图
V ( G ) a r r o w Σ V(G) arrow \Sigma V(G)arrowΣ节点上色函数
graph ⁡ ( G , l ) \operatorname{graph}(G, l) graph(G,l)上色/标记过的图,其中 l l l便是节点上色函数
l ( v ) l(v) l(v)节点 v v v的标签或颜色
c ⊑ d c \sqsubseteq d cd节点着色 c c c细化(refine)了另一个节点着色 d d d,当前仅当对任意的 v , w ∈ V ( G ) v,w \in V(G) v,wV(G) c ( v ) = c ( w ) c(v)=c(w) c(v)=c(w)则表明 d ( v ) = d ( w ) d(v)=d(w) d(v)=d(w)
c ≡ d c \equiv d cd c ⊑ d c \sqsubseteq d cd d ⊑ c d \sqsubseteq c dc
Q ⊆ V ( G ) Q \subseteq V(G) QV(G)一个节点着色 c c c的颜色类(最大节点子集),对于任意 v , w ∈ Q v,w \in Q v,wQ,都有 c ( v ) = c ( w ) c(v) = c(w) c(v)=c(w)
$[S]^{k}={U \subseteq S
{ { … } \{\{\ldots\} {{}多集

图同构:两个图 G G G H H H称为同构图,当且仅当存在一个双射函数 φ \varphi φ,能将 G G G中的每个节点都一一对应到 H H H的每个节点,使得对于 G G G中的边 ( u , v ) (u,v) (u,v)在图 H H H中存在边 ( φ ( u ) , φ ( v ) ) (\varphi(u), \varphi(v)) (φ(u),φ(v))。若 G G G H H H同构,则可以写为 G ≃ H G \simeq H GH

1-WL Test

图源:维基百科图同构

2.2 Weisfeiler-Leman算法

1-WL算法:对于标记过的(labeled)图 ( G , l ) (G,l) (G,l),在每轮迭代 t ≥ 0 t \geq 0 t0中,1-WL会依据上一轮迭代的着色来计算本轮新的节点着色。在第 0 0 0次迭代时(初始时),设置 c l ( 0 ) = l c_l^{(0)} = l cl(0)=l,在第 t t t次迭代中,每个节点都会收集其邻居节点的着色:
c l ( t ) ( v ) = HASH ⁡ ( ( c l ( t − 1 ) ( v ) , { { c l ( t − 1 ) ( u ) ∣ u ∈ N ( v ) } ) ) c_{l}^{(t)}(v)=\operatorname{HASH}\left(\left(c_{l}^{(t-1)}(v),\left\{\left\{c_{l}^{(t-1)}(u) \mid u \in N(v)\right\}\right)\right)\right. cl(t)(v)=HASH((cl(t1)(v),{{cl(t1)(u)uN(v)}))
其中 HASH \text{HASH} HASH函数会将每个节点收集的不同的着色(来自第 t − 1 t-1 t1轮)都映射为一个新的没有出现过的值(颜色)。重复上述过程,在达到稳定后,若两个图的颜色分布一致,则表明两个图是同构的。1-WL算法并不能区分所有的非同构图,例如:

1-wl-unable

图源自:Weisfeiler-Lehman图同构测试及其他


k k k-WL算法:1-WL的推广,它为节点的 k k k元组着色。 k k k元组 s = ( s 1 , … , s k ) s=(s_{1}, \ldots, s_{k}) s=(s1,,sk)的第 j j j个邻域的定义:
N j ( s ) = { ( s 1 , … , s j − 1 , r , s j + 1 , … , s k ) ∣ r ∈ V ( G ) } N_{j}(s)=\left\{\left(s_{1}, \ldots, s_{j-1}, r, s_{j+1}, \ldots, s_{k}\right) \mid r \in V(G)\right\} Nj(s)={(s1,,sj1,r,sj+1,,sk)rV(G)}
也就是说, s s s的第 j j j个邻域是通过用 V ( G ) V(G) V(G)中的每个节点来替换 s s s中的第 j j j个分量(元素)来获取的。在第0次迭代中,算法用原子类型(atomic type)来标记每个 k k k元组。对于两个 k k k元组 s s s s ′ s^{\prime} s若其诱导产生的子图同构,则其标记为相同的颜色。对于 t > 0 t>0 t>0次迭代,定义
C j ( t ) ( s ) = H A S H ( { { c l , k ( t − 1 ) ( s ′ ) ∣ s ′ ∈ N j ( s ) } } ) , C_{j}^{(t)}(s)=\mathrm{HASH}\left(\left\{\left\{c_{l, k}^{(t-1)}\left(s^{\prime}\right) \mid s^{\prime} \in N_{j}(s)\right\}\right\}\right), Cj(t)(s)=HASH({{cl,k(t1)(s)sNj(s)}}),

c k , l ( t ) ( s ) = HASH ⁡ ( ( c k , l ( t − 1 ) ( s ) , ( C 1 ( t ) ( s ) , … , C k ( t ) ( s ) ) ) c_{k, l}^{(t)}(s)=\operatorname{HASH}\left(\left(c_{k, l}^{(t-1)}(s),\left(C_{1}^{(t)}(s), \ldots, C_{k}^{(t)}(s)\right)\right)\right. ck,l(t)(s)=HASH((ck,l(t1)(s),(C1(t)(s),,Ck(t)(s)))

2.3 图神经网络

( G , l ) (G, l) (G,l) 为标记的图,其初始节点着色为 f ( 0 ) : V ( G ) a r r o w R 1 × d f^{(0)}: V(G) arrow \mathbb{R}^{1 \times d} f(0):V(G)arrowR1×d ,其与 l l l一致,即对于任意节点 u , v u,v u,v,若 f ( 0 ) ( u ) = f ( 0 ) ( v ) f^{(0)}(u)=f^{(0)}(v) f(0)(u)=f(0)(v) ,则必须满足条件 l ( u ) = l ( v ) l(u)=l(v) l(u)=l(v)。作者将GNN的传播规则表达为:
f ( t ) ( v ) = σ ( f ( t − 1 ) ( v ) ⋅ W 1 ( t ) + ∑ w ∈ N ( v ) f ( t − 1 ) ( w ) ⋅ W 2 ( t ) ) f^{(t)}(v)=\sigma\left(f^{(t-1)}(v) \cdot W_{1}^{(t)}+\sum_{w \in N(v)} f^{(t-1)}(w) \cdot W_{2}^{(t)}\right) f(t)(v)=σ f(t1)(v)W1(t)+wN(v)f(t1)(w)W2(t)
其中 σ \sigma σ常用ReLU, W W W为权重矩阵。


2.4 1-WL和1-GNNs间的联系

结论:1-GNNs的表达能力上限为1-WL算法。

三. k k k维图神经网络

作者基于 k k k-WL提出了 k k k-GNNs。令 s = { s 1 , … , s k } s=\{s_{1}, \ldots, s_{k}\} s={s1,,sk} 表示一个包含 k k k个节点的集合,其邻域可以定义为:
N ( s ) = { t ∈ [ V ( G ) ] k ∣ ∣ s ∩ t ∣ = k − 1 } . N(s)=\left\{t \in[V(G)]^{k}|| s \cap t \mid=k-1\right\} . N(s)={t[V(G)]k∣∣st∣=k1}.

上式用通俗的话来说就是, s s s的邻居指与 s s s有仅仅有 k − 1 k-1 k1个相同节点的 k k k-set。

s s s的邻域可以划分为:

  • 局部邻域 N L ( s ) N_{L}(s) NL(s):由 s \ t s \backslash t s\t间存在边的 t t t组成, t ∈ N ( S ) t \in N(S) tN(S)
  • 全局邻域 N G ( s ) N_{G}(s) NG(s) N ( s ) \ N L ( s ) N(s) \backslash N_{\mathrm{L}}(s) N(s)\NL(s)

基于上述定义,下面给出 k k k-GNN的传播公式:
f k ( t ) ( s ) = σ ( f k ( t − 1 ) ( s ) ⋅ W 1 ( t ) + ∑ u ∈ N L ( s ) ∪ N G ( s ) f k ( t − 1 ) ( u ) ⋅ W 2 ( t ) ) f_{k}^{(t)}(s)=\sigma\left(f_{k}^{(t-1)}(s) \cdot W_{1}^{(t)}+\sum_{u \in N_{L}(s) \cup N_{G}(s)} f_{k}^{(t-1)}(u) \cdot W_{2}^{(t)}\right) fk(t)(s)=σ fk(t1)(s)W1(t)+uNL(s)NG(s)fk(t1)(u)W2(t)
对于该传播公式的第二部分,作者提出可以将局部领域和全局领域分开聚合。另外,考虑到GNN的扩展性和过拟合问题,作者提出了局部 k k k-GNNs,即不聚合全局邻居:
f k ,   L ( t ) ( s ) = σ ( f k ,   L ( t − 1 ) ( s ) ⋅ W 1 ( t ) + ∑ u ∈ N L ( s ) f k ,   L ( t − 1 ) ( u ) ⋅ W 2 ( t ) ) f_{k, \mathrm{~L}}^{(t)}(s)=\sigma\left(f_{k, \mathrm{~L}}^{(t-1)}(s) \cdot W_{1}^{(t)}+\sum_{u \in N_{L}(s)} f_{k, \mathrm{~L}}^{(t-1)}(u) \cdot W_{2}^{(t)}\right) fk, L(t)(s)=σ fk, L(t1)(s)W1(t)+uNL(s)fk, L(t1)(u)W2(t)

层次变体(Hierarchical Variant):作者提出可以将不同粒度的表示进行组合,作者设置 k k k值不同大小的 k k k-GNN,然后更高层次( k k k值更大)的 k k k-GNN,可以组合低层次 k k k-GNN得到的中间表示,即:
f k ( 0 ) ( s ) = σ ( [ f iso  ( s ) , ∑ u ⊂ s f k − 1 ( T k − 1 ) ( u ) ] ⋅ W k − 1 ) f_{k}^{(0)}(s)=\sigma\left(\left[f^{\text {iso }}(s), \sum_{u \subset s} f_{k-1}^{\left(T_{k-1}\right)}(u)\right] \cdot W_{k-1}\right) fk(0)(s)=σ([fiso (s),usfk1(Tk1)(u)]Wk1)
其中方括号表示的是拼接操作。层次 k k k-GNN模块可视化如下所示:

层次k-GNN

四.实验

表1展示的是 k k k-GNN的分类性能,作者对比了传统的核方法和一些GNNs模型。

classification outcome

结论

  • k k k-GNN可以达到跟sota核方法性能相当的程度。

  • 1-2-3-GNN效果比1-GNN好,表明作者提出的 k k k-GNN的层次变体是有效的。

表2展示了在QM9数据集上的回归任务的性能(包含12个目标)。

regression outcome

结论

  • 对比1-2-3-GNN和1-GNN的性能可以进一步证明,作者设计的层次变体是有效的。
    0024440.png" alt=“image-20220811110024440” style=“zoom:80%;” />

结论

  • 对比1-2-3-GNN和1-GNN的性能可以进一步证明,作者设计的层次变体是有效的。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

斯曦巍峨

码文不易,有条件的可以支持一下

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值