参考
论文笔记:SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS
如何理解 Graph Convolutional Network(GCN)?
图卷积网络(Graph Convolutional Network, GCN)
图卷积网络(Graph Convolutional Network)
GCN入门理论
在看GCN前首先要理解GCN的理论基石
卷积定理
卷积定理指出,函数卷积的傅立叶变换是函数傅立叶变换的乘积。既然在图上不好做卷积,那就转换到傅立叶域里做乘积,则先对图$ f $和卷积核$ h$ 做傅立叶变换后相乘,再傅立叶逆变换回来,就得到了图域卷积。即,
傅里叶变换
传统傅里叶变换定义为:
其频率为$w$,基函数为$e^{-iwt}$,其中基函数满足:
其中上三角符合为拉普拉斯算子
又广义特征方程的定义是:
所以基函数$e^{-iwt}$是变换拉普拉斯算子的特征函数,则我们可以做以下类比
将图拉普拉斯矩阵的特征向量作为傅里叶变换的基,我们可以得到在图上的傅里叶变换定义为:
推广到矩阵形式
即($U=[u_{1},u_{2},...,u_{N}]u_{i}$是列向量)
(矩阵变换细节)
我们还需得到在图上的傅里叶逆变换,传统的傅里叶逆变换是对频率$w$求积分:
那么类比到图上就是对特征值求和
同理,推广到矩阵(类比于上面的推导)
即
至此,已经推导出Graph上的傅里叶变换和傅里叶逆变换,接下来利用卷积定理即可得到在图上的卷积。
图上卷积
卷积核$g$在图上的傅里叶变换是:
写成对角矩阵的形式:
则利用卷积定理,可以得到信号$f$(图上的N维向量)和卷积核$g$在图上的卷积为:
或者写成
以上内容可用下图概括
以上内容便是GCN的理论基础,有了上面的基础,就能看懂论文了,基本是围绕卷积核来做文章,下面是三篇论文的卷积核设计。(下文中$x$是图信号,即每个节点的特征)
第一代GCN简单粗暴,有N个参数
第二代GCN巧妙地将卷积核设计为polynomial filter(多项式卷积核),这样就只有K个参数了,K<<N,但是仍然要做矩阵乘法($U$),文中使用切比雪夫多项式来拟合卷积核,如图中红色方框内所示:切比雪夫多项式的输入是$[-1,1]$,因此先将对角矩阵(拉普拉斯矩阵的特征值组成的对角矩阵)scale,然后进行推导,发现不需要再进行矩阵运算,只需要算矩阵和向量的乘积即可
这篇文章是基于前人的工作在上图中最后推导得出的式子上进行演变的,如下图中的红色箭头所示