GCN涉及到的理论比较多,包括信号分析中的傅里叶变换、图谱等理论,这里只做一个简单的推导,旨在让读者了解GCN推导的大致思路以及其中用到的定理,错误之处还请指出。大致了解GCN的思路后可移步学习其中涉及到的理论知识:
由于图是不规则化的非欧式结构数据,而CNN是在欧式数据(如图片、语音等)上进行卷积,如何在不规则的图上定义卷积?我们从卷积定理入手。
卷积定理
卷积定理:函数卷积的傅里叶变换是函数傅立叶变换的乘积
这个定理十分关键,假设有两个函数
和
,
代表傅里叶变换,
为傅里叶逆变换,
为函数
与
的卷积,则根据卷积定理
这表明卷积运算可以拆分为:傅里叶变换、傅里叶逆变换、乘积,乘积运算很简单,所以在图上定义卷积的关键是 如何定义图的傅里叶变换和傅里叶逆变换。
图的傅里叶变换
参考自傅里叶分析(强烈推荐)
傅里叶变换的简单理解(有点上升到哲学)
- 时域:我们所处的真实世界,以时间作为参照来观察动态的世界。
- 频域:“世界是永恒不变的”,世界是静止的。
傅里叶变换就是将函数从时域变换到频域中。很多在时域看似不可能做到的数学操作在频域反而很容易,例如卷积定理,在时域中卷积比较困难,但是通过傅里叶变换到频域中就只需要做一个简单的乘积操作,再将结果傅里叶逆变换回来就可以得到时域中的卷积。
传统的傅里叶变换定义为:
其中
是频率,而傅里叶的逆变换为:
可以看到对函数(在信号分析中又称为信号)
的傅里叶变换本质上就是将
映射到以
为基向量的空间中。所以在图上定义傅里叶变换的关键是找到一组傅里叶变换的基,研究GSP(graph signal processing)的学者首先定义了图上的傅里叶变换,他们将传统傅里叶变换的基
变为图的拉普拉斯矩阵L的特征向量。
为什么会找拉普拉斯矩阵?因为
实际上是拉普拉斯算子
的特征函数,对
求二阶导有
可见
是拉普拉斯算子
的特征函数,
与特征值密切相关。所以学者便将
与图的拉普拉斯矩阵联系在一起(图拉普拉斯矩阵实际上是离散的拉普拉斯算子),并将拉普拉斯矩阵的特征向量作为图傅里叶变换的基,特征值对应频率w。假设拉普拉斯矩阵为
(定义下一小节介绍),其特征分解为
(这里
是正交矩阵,所以后面的等号成立),
,
是
的第
个特征向量,
是特征值组成的对角矩阵。仿照传统傅里叶变换,图上的傅里叶变换定义为:
代表
第
个特征向量的第
个分量,进一步将其写为矩阵的形式:
图的傅里叶逆变换为:
图拉普拉斯矩阵
图的拉普拉斯矩阵 ,拉普拉斯矩阵的定义有几种,这是其中一种比较普遍的定义, 是顶点的度对角矩阵, 是图的邻接矩阵,拉普拉斯矩阵的定义只针对无向图,因此 是一个实对称矩阵,对其进行特征分解得到的矩阵 是正交的,所以它具备一组线性无关的正交基,因此可以作为傅里叶变换的基,还有很多其它性质,这里不详细介绍。
图卷积
以上分析得到两个重要结论:
- 卷积定理表明卷积运算可以拆分为傅里叶变换、傅里叶逆变换、乘积三个操作:
- 傅里叶变换分析得出图上的傅里叶变换定义为 ,傅里叶逆变换为 。
综上可得图卷积的定义为:
其中
是节点输入特征,
是卷积核。因为
和
都是一个向量,因此也可以将其写为
是
中的第
个分量,两种写法是等价的。
深度学习中图卷积的三个重要演变过程
深度学习中的卷积就是要设计可以训练的卷积核,下面介绍3篇引用量很高的论文对图卷积的改进。
(1) Spectral Networks and Locally Connected Networks on Graphs. ICLR 2014
这篇文章第一次提出谱卷积神经网络,它直接将
作为可训练的卷积核:
是可训练参数,
是非线性激活函数,
是顶点的特征向量。
缺点:计算量很大,每一次传播都需要计算 三个矩阵的乘积,对于大图而言不可行,且特征分解耗时;另外有 个参数,参数规模和图节点的规模一样多。
(2) Convolutional neural networks on graphs with fast localized spectral filtering. NIPS 2016
这篇文章(简称ChebNet)针对上述缺点巧妙设计了多项式卷积核:
进而图卷积可写为:
可以发现现在参数只有K个,与节点个数N独立,参数的复杂度大大降低,且不需要对拉普拉斯矩阵进行特征分解。由于还要计算
,时间复杂度还是很高,因此作者用切比雪夫多项式(Chebyshev polynomial,这也是为什么称为ChebNet)对
进行
阶截断拟合,切比雪夫多项式的递归定义为:
且
。首先将L缩放到
之间,得规范化拉普拉斯矩阵
,则:
其中
。
(3) GCN Semi-supervised classification with graph convolutional networks. ICLR 2017
这篇文章是引用量最高的一篇,它使用对称归一化的拉普拉斯矩阵
,并对ChebNet进行化简,令
,则ChebNet变为:
为了防止过拟合,作者简化参数,令
,得:
另外由于
的特征值在
之间,重复叠加可能导致数值不稳定和梯度消失或爆炸,因此作者将其重整化为
,其中
。最后就导出GCN的快速传播公式:
是第k-1层的输出,
是第k层的卷积核,
。