Graph Isomorphism Network

  • Post author:
  • Post category:其他


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)})









a











v










(


k


)





















=










Aggregate












(


k


)










(


{




h











u










(


k





1


)






















u













N


(


v


)


}


)









h











v










(


k


)





















=










Combine












(


k


)










(



h










v









(


k





1


)



















,





a










v









(


k


)



















)





其中



h

v

(

k

)

h_{v}^{(k)}







h











v










(


k


)






















是第k个迭代层中节点v的特征向量。我们初始化



h

v

(

0

)

=

X

v

h_v^{(0)} = X_v







h










v









(


0


)





















=









X










v




















对于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)})









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


)



















)





对于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\}\})









h











v










(


k


)





















=









ReLU



(



W











(


k


)











Mean



{




h











u










(


k





1


)






















u













N


(


v


)













{



v


}


}


)





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





h

G

=

Readout

(

{

h

v

(

K

)

v

V

}

)

h_G = \text{Readout}(\{h_v^{(K)}|v\in V\})







h










G




















=









Readout



(


{




h










v









(


K


)






















v













V


}


)





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

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

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

在这里插入图片描述

如果将散列后的节点按照在图中出现的次数排成一个一维向量,该向量(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的表示能力,表示能力的理论上限为当两个节点对应的子树相同时,才映射到相同的特征表示。子树的定义如下

在这里插入图片描述

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

在这里插入图片描述

结论1:令两个图



G

1

,

G

2

G_1,G_2







G










1


















,





G










2





















是任意两个非同构的图。如果存在一个图神经网络



A

:

G

R

d

\mathcal{A}: \mathcal{G} \rightarrow \mathbb{R}^{d}







A





:









G
















R












d













将图



G

1

,

G

2

G_1,G_2







G










1


















,





G










2





















映射到不同的graph embedding。那么通过Weisfeiler-Lehman同构测试也可以确定非同构性。

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

结论2:令



A

:

G

R

d

\mathcal{A}: \mathcal{G} \rightarrow \mathbb{R}^{d}







A





:









G
















R












d













是一个GNN,对于两个通过Weisfeiler-Lehman同构测试测定为不同构的两个图



G

1

,

G

2

G_1,G_2







G










1


















,





G










2





















,在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)







    h











    v










    (


    k


    )





















    =








    ϕ






    (




    h











    v










    (


    k





    1


    )



















    ,




    f






    (





    {





    h











    u










    (


    k





    1


    )





















    :




    u










    N



    (


    v


    )



    }





    )





    )









    其中函数



    f

    f






    f





    作用在multiset上,满足



    ϕ

    \phi






    ϕ





    函数是单射的

  2. 读出层作用在multiset



    {

    h

    v

    (

    k

    )

    }

    \{h_{v}^{(k)}\}






    {




    h











    v










    (


    k


    )



















    }





    上,也是单射的

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

结论4:输入的特征空间



X

X






X





是可数的,那么GNN网络中的第



k

k






k





层的输出,



h

v

(

k

)

h_v^{(k)}







h










v









(


k


)






















也是可数的

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



GIN

结论5:假定点特征



X

\mathcal X






X





是可数的,存在函数



f

:

X

R

n

f :\mathcal{X}\rightarrow \mathbb R^{n}






f




:









X















R











n













使得



h

(

X

)

=

x

X

f

(

x

)

h(X) = \sum_{x\in X}f(x)






h


(


X


)




=





















x





X





















f


(


x


)





是个单射,而且任何定义在multiset上的函数



g

g






g





可以表示成



g

(

X

)

=

ϕ

(

x

X

f

(

x

)

)

g(X) = \phi(\sum_{x\in X}f(x))






g


(


X


)




=








ϕ


(















x





X





















f


(


x


)


)




结论6:假定点特征



X

\mathcal X






X





是可数的,存在函数



f

:

X

R

n

f :\mathcal{X}\rightarrow \mathbb R^{n}






f




:









X















R











n













使得对于无穷多个



ϵ

\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


)




+

















x





X





























f


(


x


)





是单射函数,其中



c

X

c\in\mathcal X






c













X









X

X

X\subset \mathcal X






X













X





表示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


)




+

















x





X





























f


(


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)})







h










v









(


k


)





















=










MLP












(


k


)










(


(


1




+









ε











(


k


)










)



h










v









(


k





1


)





















+

















u





N


(


v


)






























h










u









(


k





1


)



















)





其中



ε

(

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\})







h










G




















=
























k


=


1









K



















ReadOut



(


{




h










v









(


k


)






















v













G


}


)





如果



R

e

a

d

O

u

t

ReadOut






R


e


a


d


O


u


t





使用Sum,那么可以转化为 WL test 算法。



GraphSAGE 与 GCN

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

在这里插入图片描述

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

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

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

在这里插入图片描述



实验结果

在这里插入图片描述

首先,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具有更好的泛化能力。



总结

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



版权声明:本文为fnoi2014xtx原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。