参考链接:

知乎文章:一文带你理解图卷积网络本质和发展脉络
知乎文章:谱域GCN小结

b站视频:图卷积神经网络(GCN)的数学原理详解,谱图理论和傅立叶变换初探

图卷积网络 GCN

预备知识:

实对称矩阵可以正交相似对角化。即:若A=AT,A=PΛP1,PT=P1

定义:

定义图G=(V,E,A)图中有n个节点

邻接矩阵ARn×n, 如果节点vivj之间存在边, 则Aij=1, 否则Aij=0

度矩阵DRn×n, 它是一个对角矩阵, Dii=ΣjAij

拉普拉斯矩阵 L=DA

在一种简单的情况下谈论, 假设图中每个节点有一个标量信息, 所有节点的信息表示为xRn×1.

1. Lx做了什么事情?

令:Gij=[1111], 则Gijx=[xixjxjxi], Gijxvi,vj两个节点间的信息做了一个交互.

而拉普拉斯矩阵L=i,jEGij,

所以Lx={i,j}EGijx=[{1,j}E(x1xj){2,j}E(x2xj){n,j}E(xnxj)], 含义就是对所有的节点做了一阶邻居信息的聚合.

L2x则是对所有节点做了二阶邻居信息的聚合; Lkx是对k阶邻居信息的聚合.

2. 从谱域进行卷积操作

类比时序信号,要对时序的频域进行一些操作, 需要将信号转换到频域进行操作,之后再转换回时序(例如去除声音中频率高的女声).

图信号也有类似的傅里叶变换. 由于L为实对称矩阵,L=PΛPT. 其中P为正交矩阵. 则Lx=PΛPTx 分解为以下三个步骤:

:PTx:Λ(PTx):P(ΛPTx)

在谱域的卷积中,关键的操作是Λ, 在第一代谱域图网络Spectral CNN (SCNN)中, 将特征值处理后的结果g(Λ)={Θ1Θn}视为可学习的卷积. 这里的卷积是x,=Pg(Λ)PTx. 由于没有限定g(Λ)为多项式,所以特征分解操作不可避免(时间复杂度为O(n3)),而且它是全局的,并不是局部的,所以并没有利用上数据中经常存在的局部不变性的特点。

注意这里学习的参数的数量是节点的数量n

3. 通过限定卷积操作为多项式,降低运算量

k阶信息聚合操作: Lkx=PΛkPTx

为了增加学习能力, 参数化卷积核, 定义一个卷积操作gθx=Pgθ(Λ)PTx

由于要聚合k阶信息, gθ(Λ)是一个k阶多项式(特征分解的时间复杂度为O(n3),限制为多项式可以避免特征分解). 即gθ(Λ)=θ0+θ1Λ1+θ2Λ2++θkΛk=i=0kθiΛi

gθx=Pgθ(Λ)PTx=Pi=0kθiΛiPTx=i=0kθi(PΛPT)ix=i=0kθiLix

使用k阶多项式的好处是:

  1. 学习的参数数量是阶数k, k<<n

  2. k代表着k阶邻居. 这样的卷积操作具有局部性,而不是全局性.(类似CNN中的局部不变性)

4. 使用切比雪夫多项式替代原始的多项式(ChebNet)

使用切比雪夫多项式(迭代式的计算)替代原始的多项式, 降低计算的复杂度.

切比雪夫多项式的定义:

{T0(x)=1T1(x)=xTn+1(x)=2xTn(x)Tn1(x)

要求x[1,1]. 其实是余弦二倍角公式.

使用切比雪夫多项式的图卷积操作:

{y=σ(k=0KθkTk(L^)x))L^=2λmaxLIN

这里注意为了获得特征值在[1,1]之间的拉普拉斯矩阵,有两种方法:
方法1.L^=2λmaxLIN
方法2.L^=LsymIN=D12AD12,

5. 从ChebNet继续化简到GCN

令ChebNet中的k=1,

σ(θ0x+θ1(LIN)x=σ(θ0x+θ1(D1/2(DA)D1/2IN)x)=σ(θ0x+θ1(IND1/2AD1/2IN)x)=σ(θ0x+θ1(D1/2AD1/2)x)

进一步简化, 令θ0=θ1(Lsym的计算方法见本文末尾)

σ(θ0x+θ1(D1/2AD1/2)x)=σ(θ(IN+D1/2AD1/2)x)

renormorlize, 将I 加到A里

σ(θ(IN+D1/2AD1/2)x)=σ(θD1/2A^D1/2x)

去掉θ, x右乘一个线性映射, 得到GCN的公式

H(l+1)=D^1/2A^D^1/2xlWl

由公式可知,每层GCN只能聚合一阶邻居的信息.

附注一些公式:

其中A^=A+I

L=DA

对称归一化的拉普拉斯矩阵

Lsym=D12LD12=D12(DA)D12=ID12AD12