Skip to content

卷积算符的切比雪夫多项式形式 ​

直接上结论: ​

问题 ​

对于基本的图卷积定义gθ∗x=UgθUTx。存在三个问题

  • 真实数据中,有效信息蕴含在低频段
  • 参数数量有O(N),容易过拟合。
  • U为稠密矩阵,加大了计算复杂度。

解决 ​

基于切比雪夫多项式分解给出一种K阶的递推形式,这里K<<N。

gθ∗X=∑k=0KθkTk(L~)X

其中,Tk为切比雪夫多项式。

符号定义 ​

  • G=(V,E,W),其中V为点集,E为边集,W为边权重矩阵,无权图中W=A。
  • X∈Rn为节点信号。
  • L=D−W为图拉普拉斯矩阵。本文记L=In−D−12AD−12,即L代表归一化后的图拉普拉斯矩阵。
  • 图傅里叶变化F(x)=UTx,逆傅里叶变化F−1(x)=UF(x)。
  • 图卷积g∗x=U((UTx)⊙(UTy))=Ugθ(Λ)UTx。本文中,简记y=Ugθ(Λ)UTx。

局部滤波器的多项式参数化 ​

观察图信号卷积的形式,事实上UgθUT为图滤波器的形式。x先前作为图信号,一直为n维的向量,现在将其拓展至X∈RN×d。将X视为d组定义在G上的图信号通道,分别对d各通道的信号进行滤波操作,则有Y=Ugθ(Λ)UTX。
如上定义的滤波器有两个问题:

  • 非局部化,即对点的更新需要全局参与。
  • 参数过多,有过拟合风险。
  • U为稠密矩阵,增加了计算复杂度O(N2)。

针对以上问题提出了一种可行的解决方案:将gθ(Λ)进行多项式展开后选取其前K项。我们将证明这是可行的,且是精确K局部化的。

多项式展开 ​

gθ(Λ)=∑k=0K−1θkΛk

这样做有两个好处:

  • 将参数变为Θ=(θ0,θ1...θK−1),这里一般K<<N,这极大的降低了参数的数量,能够有效避免过拟合现象的发生。
  • Y=Ugθ(Λ)UTX=∑kθkLkX=gθ(L)X。注意到当dG(i,j)>k,即点i与j间距离大于k,(gθ(L))ij=∑kθk(Lk)ij=0。
    也就是说,对中心点的过滤运算,只需要其K阶邻居参与,运算为严格K−局部化的。

但应该注意到,目前为止,思路是可行的,但简单的多项式分解仍存在问题,例如L本身的特征值为[0,2]的,这导致数值不稳定性的出现。

接下来,基于以上想法,给出论文中的改进方法。

基于递归的快速滤波 ​

考虑利用切比雪夫的递归形式,将gθ(L)变为一个可以直接从L递归得到的多项式函数进行参数化。由于L为稀疏矩阵,采用稀疏矩阵运算,可将算法复杂度降低至O(K|E|),这里K表示选取多项式阶,|E|表示边数。

切比雪夫多项式定义 ​

对于X,定义

{Tk(X)=2XTk−1(X)−Tk−2(X)T0(X)=1T1(X)=X

基于切比雪夫多项式展开gθ(Λ) ​

将gθ(Λ)展开为切比雪夫多项式形式并取其前K项得到

gθ(Λ)=∑kθkTK(Λ~)

切比雪夫多项式要求特征值λ∈[−1,1],这里Λ~=2ΛmaxλinΛλ−In。

TIP

原本归一化拉普拉斯矩阵对应的对角阵特征值符合切比雪夫多项式特征值要求范围,做如上改变的作用猜测一为保证数值的稳定性,二为尽可能的保留信息,避免信息损失。

基于切比雪夫多项式的卷积运算 ​

本节主证明:gθ∗X=U(∑kθkTk(Λ~))UT=∑kθkTk(L~)X,这里L~=2Lλmax−In。同时,在该式基础上推导滤波运算的递推形式。

TIP

使用第二数学归纳法进行证明,以下为证明过程。

令

{f(k)=U(∑kθkTk(Λ~))UTg(k)=∑kθkTk(UΛ~UT)

k=1:

f(1)=UθkT0(Λ~)UT=θkIn=g(1)

k=2:

f(2)=Uθ0UT+Uθ1Λ~UT=θ0In+θ1U=g(2)

假设对k=n成立,则k=n+1:

fn+1=f(n)+Uθn+1Tn+1(Λ~)UTgn+1=g(n)+θn+1Tn+1(UΛ~UT)

只要证明Uθn+1Tn+1(Λ~)UT=θn+1Tn+1(UΛ~UT)即可。
事实上,由于(UΛ~UT)m=UΛ~mUT,故两项中关于Λ~m的系数相同,故f(n+1)=g(n+1)。证明完成!

TIP

下面给出递推形式,请注意,递推形式的计算中仅需要O(K|E|)的算法复杂度!!

由于gθ∗X=∑kθkTk(L~)X,记Xk~=Tk(L~)X,我们有

{Xk~=2L~Xk−1~−Xk−2~X0~=XX1~=L~X

则

Y=gθ(L~)X=[X0~…XK−1~]Θ

其中Θ=[θ0…θK−1]T

其他说明 ​

论文中递推形式在参数训练中降低计算复杂度也是明显的,这里假设E为损失函数,S为批大小,Fin为输入图信号维度,Fout为输出维度。那么在梯度反向传播过程中,我们有

{∂E∂θi,j=∑s=0S[Xs,i,0~…Xs,i,K−1~]T∂E∂ys,j∂E∂Xs,i=∑j=1Foutgθi,j(L)∂E∂ys,j

显然,其计算复杂度为O(K|E|SFinFout)。

​

GCN在该思想的基础上进一步减少了参数的数量,并通过叠加多个卷积层达到K−局部的效果,具体的细节将在其他文章中描述。