1、图卷积定义
炫云:从二维卷积经过图傅里叶变换到图卷积zhuanlan.zhihu.com第一代图卷积
论文来源:《Spectral Networks and Deep Locally Connected Networks on Graphs》
第一代图卷积的计算方法就直接根据 从二维卷积经过图傅里叶变换到图卷积中的(4)(6)推出
虽然利用上式已经可以构造深度网络进行图卷积运算了,但该版本有不少缺点:
- 没有local信息。每次卷积都是所有顶点都参与运算,没有实现局部卷积和参数共享。
- 运算量大。每次卷积都要进行拉普拉斯矩阵分解和矩阵相乘,计算复杂度为
。
- 参数量大。每个卷积核参数量为
。
第二代图卷积
文章来源:
《Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering》
针对第一代图卷积中存在的问题,学者基于切比雪夫多项式提出第二代GCN:ChbeyNet
首先回顾下图傅里叶计算公式:
可知函数和特征值密切相关,令
以拉普拉斯矩阵的特征值作为卷积核同样存在缺陷:
- 不具备局部连接性;
- 时间复杂度为 O(n);
为了克服上述缺陷引入 K 阶多项式:
其中,参数
将式代入第一代图卷积式(1)中可得:
其中 σ 是激活函数,计算时间复杂度为
因为
因此根据上式可知:
其中,
PS:因为切比雪夫多项式的输入要在 [−1,1] 之间,由于拉普拉斯矩阵的半正定性,所以所有的特征值都是大于等于 0 的,将其除以最大特征值可以将特征压缩到 [0,1] 区间内,现在需要将其压缩到 [−1,1]。
可以得到:
而
这样,我们就得到了第二代图卷积:
这个表达式为拉普拉斯多项式中的一个 k 阶近似函数,依赖于节点的 k 阶邻域(k 步可达),时间复杂度与边呈线形相关。
总结第二代图卷积优点如下:
- 运算量相比第一代的
可以降到。
- 引入K-hop感受野,可以捕捉局部特征。
第三代图卷积
文章来源:《Semi-supervised Classification with Graph Convolutional Networks》
第二代图卷积解决了拉普拉斯矩阵特征分解的问题,但是在计算图卷积操作时矩阵乘法时间复杂度为
GCN 通过式(3)进行多层卷积层进行叠加,而每层都会逐点进行非线性叠加。考虑到时间复杂度问题,令
归一化的拉普拉斯矩阵的特征值区间为 [0,2],令
其中,
在GCN的训练过程中需要规范化参数避免过拟合,令
注意
把上式从标量推广到矩阵,对于输入顶点的向量
其中,
根据上式一层卷积,多层图卷积计算公式公式为:
其中,
总结第三代图卷积:
- 令K=1,相当于只考虑1-hop 邻点。通过堆叠层数来增加感受野。
- 每层计算复杂度降低为
。
总结
CNN 中的卷积无法直接应用于网络图中,所以引出了谱图理论和图中的傅里叶变换,进而定义图卷积的计算方法,最后结合深度学习发展出来 GCN。
参考:
拉普拉斯矩阵的谱分解,谱图卷积,图卷积演变过程
从二维卷积经过图傅里叶变换到图卷积
图卷积的通式