【GCN】以距离分区的角度考虑空域和频域的图卷积操作

🚀本文简要梳理一下图卷积网络(Graph Convolutional Network)的计算问题。共分为以下4个部分,前两部分讲空域,后两部分讲频域:

  • 🌔01 度矩阵 & 邻接矩阵
  • 🌔02 基于空域的图卷积
  • 🌔03 图拉普拉斯矩阵 & Chebyshev多项式
  • 🌔04 基于频域的图卷积

无论是空域还是频域,图卷积一般都针对边权值为1的无向图。

⭐️假设现有以下的例子:
在这里插入图片描述
图例中共4个节点,假设每个节点的特征向量为2维,则为了计算方便,随便假设图的初始特征为:
x=[10011100]4×2\mathbf{x}=\begin{bmatrix} 1&0\\ 0&1\\ 1&1\\ 0&0 \end{bmatrix}_{4\times2}x=101001104×2
接下来会结合此图的拓扑关系和初始特征进行讲解,请务必结合此例进行理解。


🌔01
度矩阵 & 邻接矩阵

本部分为空域图卷积奠定基础。

2.1 度矩阵

⭐️度矩阵是一个对角阵,对角线元素表示节点的度,即每一个节点与多少个其他节点直接相连,因而可以将例图的度矩阵书写如下:
D=[3000020000200003]D=\begin{bmatrix}3&0&0&0\\ 0&2&0&0\\ 0&0&2&0\\ 0&0&0&3\end{bmatrix}D=3000020000200003
若考虑自联通,则有:
D˜=D+I=[4000030000300004]\~{D}=D+I=\begin{bmatrix}4&0&0&0\\ 0&3&0&0\\ 0&0&3&0\\ 0&0&0&4\end{bmatrix}D˜=D+I=4000030000300004

2.2 邻接矩阵

⭐️对于例图,如果节点间是直接联通的那么就给邻接矩阵对应元素的值赋1,否则为0,自身不与自身联通,因而可以将邻接矩阵书写如下:
A=[0111100110011110]A=\begin{bmatrix}0&1&1&1\\ 1&0&0&1\\ 1&0&0&1\\ 1&1&1&0\end{bmatrix}A=0111100110011110
若考虑自联通,则有:
A˜=A+I=[1111110110111111]\~{A}=A+I=\begin{bmatrix}1&1&1&1\\ 1&1&0&1\\ 1&0&1&1\\ 1&1&1&1\end{bmatrix}A˜=A+I=1111110110111111
考虑到数值稳定性,有时需要对邻接矩阵进行归一化处理,这里采用对称归一化:
A^=D−1/2AD−1/2=[01616161600161600161616160]\hat{A}=D^{-1/2}AD^{-1/2}= \begin{bmatrix} 0 & \frac{1}{\sqrt{6}} & \frac{1}{\sqrt{6}} & \frac{1}{\sqrt{6}} \\ \frac{1}{\sqrt{6}} & 0 & 0 & \frac{1}{\sqrt{6}} \\ \frac{1}{\sqrt{6}} & 0 & 0 & \frac{1}{\sqrt{6}} \\ \frac{1}{\sqrt{6}} & \frac{1}{\sqrt{6}} & \frac{1}{\sqrt{6}} & 0 \end{bmatrix}A^=D1/2AD1/2=06161616100616100616161610
或者,考虑到自联通:
A^′=D˜−1/2A˜D˜−1/2=[14143143141431301331430131331413313314]\hat{A}'=\~D^{-1/2}\~A\~D^{-1/2}= \begin{bmatrix} \frac{1}{4} & \frac{1}{4\sqrt{3}} & \frac{1}{4\sqrt{3}} & \frac{1}{4} \\ \frac{1}{4\sqrt{3}} & \frac{1}{3} & 0 & \frac{1}{3\sqrt{3}} \\ \frac{1}{4\sqrt{3}} & 0 & \frac{1}{3} & \frac{1}{3\sqrt{3}} \\ \frac{1}{4} & \frac{1}{3\sqrt{3}} & \frac{1}{3\sqrt{3}} & \frac{1}{4} \end{bmatrix} A^=D˜1/2A˜D˜1/2=41431431414313103314310313314133133141
另外,在深度学习中,还可以为邻接矩阵赋予一个可学习的权重矩阵MMM,将之与邻接矩阵逐元素相乘作为新的邻接矩阵(度矩阵也相应变化):
A=A⊙MA=A\odot MA=AM
如无特殊说明,在接下来的案例中M=IM=IM=I


🌔02
基于空域的图卷积

⭐️由于图卷积中特征的传播常常要把自身节点的特征考虑在内,因而使用的是带自联通的版本。

参考第一部分,可以计算得到自联通的归一化邻接矩阵:
A^′=[14143143141431301331430131331413313314]\hat{A}'= \begin{bmatrix} \frac{1}{4} & \frac{1}{4\sqrt{3}} & \frac{1}{4\sqrt{3}} & \frac{1}{4} \\ \frac{1}{4\sqrt{3}} & \frac{1}{3} & 0 & \frac{1}{3\sqrt{3}} \\ \frac{1}{4\sqrt{3}} & 0 & \frac{1}{3} & \frac{1}{3\sqrt{3}} \\ \frac{1}{4} & \frac{1}{3\sqrt{3}} & \frac{1}{3\sqrt{3}} & \frac{1}{4} \end{bmatrix} A^=41431431414313103314310313314133133141

使用下式对特征进行传播更新(不考虑非线性激活函数):
y=A^′xW\mathbf{y}=\hat{A}'\mathbf{x}Wy=A^xW
其中y,x\mathbf{y},\mathbf{x}y,x分别为输出和输入的图特征,A^′\hat{A}'A^为归一化邻接矩阵,用于根据图的拓扑关系来传播特征,WWW为该层卷积中可学习的权重参数,用于调整特征的值,这里假设参数为:
W=[1111]2×2W=\begin{bmatrix}1&1\\1&1\end{bmatrix}_{2\times2}W=[1111]2×2
则特征传播过程具体可写为(仔细观察矩阵相乘的过程,就可以理解特征传播过程了):
y=A^′xW=[14143143141431301331430131331413313314][10011100][1111]=[14(1)+143(0)+143(1)+14(0)⋯143(1)+13(0)+0(1)+133(0)⋯143(1)+0(0)+13(1)+133(0)⋯14(1)+133(0)+133(1)+14(0)⋯]=[14+14324314313143+131314+133233]\mathbf{y}=\hat{A}'\mathbf{x}W\\ =\begin{bmatrix} \frac{1}{4} & \frac{1}{4\sqrt{3}} & \frac{1}{4\sqrt{3}} & \frac{1}{4} \\ \frac{1}{4\sqrt{3}} & \frac{1}{3} & 0 & \frac{1}{3\sqrt{3}} \\ \frac{1}{4\sqrt{3}} & 0 & \frac{1}{3} & \frac{1}{3\sqrt{3}} \\ \frac{1}{4} & \frac{1}{3\sqrt{3}} & \frac{1}{3\sqrt{3}} & \frac{1}{4} \end{bmatrix} \begin{bmatrix} 1&0\\ 0&1\\ 1&1\\ 0&0 \end{bmatrix} \begin{bmatrix}1&1\\1&1\end{bmatrix}= \begin{bmatrix} \frac{1}{4}(1) + \frac{1}{4\sqrt{3}}(0) + \frac{1}{4\sqrt{3}}(1) + \frac{1}{4}(0) & \cdots \\ \frac{1}{4\sqrt{3}}(1) + \frac{1}{3}(0) + 0(1) + \frac{1}{3\sqrt{3}}(0) & \cdots \\ \frac{1}{4\sqrt{3}}(1) + 0(0) + \frac{1}{3}(1) + \frac{1}{3\sqrt{3}}(0) & \cdots \\ \frac{1}{4}(1) + \frac{1}{3\sqrt{3}}(0) + \frac{1}{3\sqrt{3}}(1) + \frac{1}{4}(0) & \cdots \end{bmatrix}\\ =\begin{bmatrix} \frac{1}{4}+\frac{1}{4\sqrt{3}}&\frac{2}{4\sqrt{3}}\\ \frac{1}{4\sqrt{3}}& \frac{1}{3}\\ \frac{1}{4\sqrt{3}}+ \frac{1}{3}& \frac{1}{3}\\ \frac{1}{4}+ \frac{1}{3\sqrt{3}}&\frac{2}{3\sqrt{3}} \end{bmatrix}y=A^xW=4143143141431310331431031331413313314110100110[1111]=41(1)+431(0)+431(1)+41(0)431(1)+31(0)+0(1)+331(0)431(1)+0(0)+31(1)+331(0)41(1)+331(0)+331(1)+41(0)=41+431431431+3141+3314323131332

🔥说明:这里采用的是A^′\hat{A}'A^来传播特征,即对于每个节点,考虑其自身特征和相邻节点的特征进行传播。

如果按照距离分区考虑的话(这里距离指的是连接两节点的最小边数),就是仅考虑了距离为0的节点和距离为1的节点,而其他更高距离的节点并没有纳入考虑,A^′\hat{A}'A^仅仅是距离为0的邻接矩阵和距离为1的邻接矩阵之和。

如果要扩大图卷积的感受野,改变A^′\hat{A}'A^的构成即可,即将更多距离的邻接矩阵加入进来。


🌔03
图拉普拉斯矩阵 & Chebyshev多项式

本部分为频域图卷积奠定基础。

3.1 图拉普拉斯矩阵

⭐️注意,图拉普拉斯矩阵仅考虑最为狭义的邻接矩阵,即距离为1的邻接矩阵。(下一部分会解释为什么)

图拉普拉斯矩阵定义如下:
L=D−A=[3−1−1−1−120−1−102−1−1−1−13]L=D-A=\begin{bmatrix}3&-1&-1&-1\\ -1&2&0&-1\\ -1&0&2&-1\\ -1&-1&-1&3\end{bmatrix}L=DA=3111120110211113
考虑到数值稳定性,有时需要对图拉普拉斯矩阵进行归一化处理,这里采用对称归一化:
L^=I−A^=[34−143−143−14−143230−133−143023−133−14−133−13334]\hat{L}=I-\hat{A}=\begin{bmatrix} \frac{3}{4} & -\frac{1}{4\sqrt{3}} & -\frac{1}{4\sqrt{3}} & -\frac{1}{4} \\ -\frac{1}{4\sqrt{3}} & \frac{2}{3} & 0 & -\frac{1}{3\sqrt{3}} \\ -\frac{1}{4\sqrt{3}} & 0 & \frac{2}{3} & -\frac{1}{3\sqrt{3}} \\ -\frac{1}{4} & -\frac{1}{3\sqrt{3}} & -\frac{1}{3\sqrt{3}} & \frac{3}{4} \end{bmatrix}L^=IA^=43431431414313203314310323314133133143
可以发现,图拉普拉斯矩阵中元素正负交加,说明其具有一种“微分”的性质,可以用作图谱的频域描述,具体来说,对图拉普拉斯矩阵进行特征分解,即(无论是否归一化,同理):
L=UΛUTL=U\Lambda U^TL=UΛUT
其中,
①{\color{#E16B8C}{①}}Λ\LambdaΛ为特征值对角矩阵,由特征值λi\lambda_iλi组成,λi\lambda_iλi称为图的频率,对图频谱采用某种滤波手段,可用gθ(Λ)g_\theta(\Lambda)gθ(Λ)表示,且有:
gθ(L)=Ugθ(Λ)UTg_\theta(L)=Ug_\theta(\Lambda)U^Tgθ(L)=Ugθ(Λ)UT
且由于无向图的性质,Λ\LambdaΛ为半正定矩阵,其特征值均非负,即满足:λ∈[0,λmax]\lambda\in[0, \lambda_{max}]λ[0,λmax]

②{\color{#E16B8C}{②}}UUU为特征向量矩阵,由特征向量uiu_iui组成,uiu_iui表示对应频率下的基函数。且可用UTU^TUT把空域特征投影到频域,也可用UUU把频域特征投影到空域(由于LLL为对称矩阵,UUUUTU^TUT为正交阵):
X=UTxx=UX\mathbf{X}=U^T\mathbf{x}\\ \mathbf{x}=U\mathbf{X}X=UTxx=UX

3.2 Chebyshev多项式

⭐️这里先简要介绍Chebyshev多项式逼近函数的原理和过程,具体如何应用应用在下一部分讲解。

由于第一类Chebyshev多项式在傅里叶分析和多项式逼近中被广泛应用,这里的Chebyshev多项式特指第一类。

Chebyshev多项式通过递归定义:
T0(x)=1,  T1(x)=xTk(x)=2xTk−1(x)−Tk−2(x),  k≥2T_0(x)=1,\;T_1(x)=x\\ T_k(x)=2xT_{k-1}(x)-T_{k-2}(x),\;k\geq2T0(x)=1,T1(x)=xTk(x)=2xTk1(x)Tk2(x),k2
其用于定义正交性的权重函数为:
w(x)=11−x2,  x∈[−1,1]w(x)=\frac{1}{\sqrt{1-x^2}},\;x\in[-1,1]w(x)=1x21,x[1,1]
则Chebyshev多项式对于w(x)w(x)w(x)[−1,1][-1,1][1,1]保持正交,即:
∫−11Tk(x)Tm(x)w(x)dx=0,  k≠m\int_{-1}^1T_k(x)T_m(x)w(x)dx=0,\;k\neq m11Tk(x)Tm(x)w(x)dx=0,k=m
此时,对于满足以下条件的函数h(x)h(x)h(x),其可用Chebyshev多项式逼近:
∫−11∣h(x)∣2w(x)dx<∞\int_{-1}^{1}|h(x)|^2w(x)dx<\infty11h(x)2w(x)dx<
而在不严格的情况下,只要满足x∈[−1,1]x\in[-1,1]x[1,1],而不需要满足上面的条件,就可以进行函数逼近,此时函数可以表示为:
h(x)≈∑k=0K−1θkTk(x)h(x)\approx\sum_{k=0}^{K-1}\theta_kT_k(x)h(x)k=0K1θkTk(x)
其中,KKK是用以截断的阶数,可以控制逼近程度,用以平衡计算开销和逼近效果。θk\theta_kθk为可学习的系数。


🌔04
基于频域的图卷积

⭐️基于频域的图卷积公式如下,这里LLL为经过对称归一化的图拉普拉斯矩阵(不写为L^\hat{L}L^是为了表述方便):
y=Ugθ(Λ)UTx=gθ(L)x\mathbf{y}=Ug_\theta(\Lambda)U^T\mathbf{x}=g_\theta(L)\mathbf{x}y=Ugθ(Λ)UTx=gθ(L)x
可以分以下三步骤进行理解:

  • 首先,把特征从空域转换到频域:UTxU^T\mathbf{x}UTx
  • 然后,利用滤波器对频域特征进行滤波:gθ(Λ)UTxg_\theta(\Lambda)U^T\mathbf{x}gθ(Λ)UTx
  • 最后,再把特征转回空域:Ugθ(Λ)UTxUg_\theta(\Lambda)U^T\mathbf{x}Ugθ(Λ)UTx

由于在实际操作中直接求解滤波器gθ(⋅)g_\theta(\cdot)gθ()比较困难,于是使用Chebyshev多项式逼近的方式。

首先,通过尺度变换将特征值尺度从[0,λmax][0,\lambda_{max}][0,λmax]转化为[−1,1][-1,1][1,1]以满足Chebyshev多项式逼近的范围要求:
L‾=2L/λmax−1\overline{L}=2L/\lambda_{max}-1L=2L/λmax1
接着,使用下式进行多项式逼近(由于计算比较麻烦,这里就不展开了,但每个符号对应的数值都是可以通过前文得到的):
y=gθ(L)x≈∑k=0K−1θkTk(L‾)x\mathbf{y}=g_\theta(L)\mathbf{x}\approx\sum_{k=0}^{K-1}\theta_kT_k(\overline{L})\mathbf{x}y=gθ(L)xk=0K1θkTk(L)x
因此,对gθ(⋅)g_\theta(\cdot)gθ()的学习就转换成了对一系列θk\theta_kθk的学习。

🔥说明:这里KKK定义为截断的阶数,同时参考距离分区,这个阶数其实就划定的频域图卷积的感受野,而相对应的可学习的系数θk\theta_kθk就划定了各距离的节点在整个感受野中的比重。这也可以解释为什么图拉普拉斯算子只考虑距离为1的邻接矩阵,因为需要把它当作一个“基”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值