一.论文概述
本文阐明了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}⊆V∣u=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) S⊆V(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 c⊑d | 节点着色 c c c细化(refine)了另一个节点着色 d d d,当前仅当对任意的 v , w ∈ V ( G ) v,w \in V(G) v,w∈V(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 c≡d | c ⊑ d c \sqsubseteq d c⊑d且 d ⊑ c d \sqsubseteq c d⊑c |
Q ⊆ V ( G ) Q \subseteq V(G) Q⊆V(G) | 一个节点着色 c c c的颜色类(最大节点子集),对于任意 v , w ∈ Q v,w \in Q v,w∈Q,都有 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 G≃H 。
图源:维基百科图同构
2.2 Weisfeiler-Leman算法
1-WL算法:对于标记过的(labeled)图
(
G
,
l
)
(G,l)
(G,l),在每轮迭代
t
≥
0
t \geq 0
t≥0中,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(t−1)(v),{{cl(t−1)(u)∣u∈N(v)}))
其中
HASH
\text{HASH}
HASH函数会将每个节点收集的不同的着色(来自第
t
−
1
t-1
t−1轮)都映射为一个新的没有出现过的值(颜色)。重复上述过程,在达到稳定后,若两个图的颜色分布一致,则表明两个图是同构的。1-WL算法并不能区分所有的非同构图,例如:
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,…,sj−1,r,sj+1,…,sk)∣r∈V(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(t−1)(s′)∣s′∈Nj(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(t−1)(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(t−1)(v)⋅W1(t)+w∈N(v)∑f(t−1)(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∣∣s∩t∣=k−1}.
上式用通俗的话来说就是, s s s的邻居指与 s s s有仅仅有 k − 1 k-1 k−1个相同节点的 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) t∈N(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(t−1)(s)⋅W1(t)+u∈NL(s)∪NG(s)∑fk(t−1)(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(t−1)(s)⋅W1(t)+u∈NL(s)∑fk, L(t−1)(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),u⊂s∑fk−1(Tk−1)(u)]⋅Wk−1)
其中方括号表示的是拼接操作。层次
k
k
k-GNN模块可视化如下所示:
四.实验
表1展示的是 k k k-GNN的分类性能,作者对比了传统的核方法和一些GNNs模型。
结论:
-
k k k-GNN可以达到跟sota核方法性能相当的程度。
-
1-2-3-GNN效果比1-GNN好,表明作者提出的 k k k-GNN的层次变体是有效的。
表2展示了在QM9数据集上的回归任务的性能(包含12个目标)。
结论:
- 对比1-2-3-GNN和1-GNN的性能可以进一步证明,作者设计的层次变体是有效的。
0024440.png" alt=“image-20220811110024440” style=“zoom:80%;” />
结论:
- 对比1-2-3-GNN和1-GNN的性能可以进一步证明,作者设计的层次变体是有效的。