图卷积网络
图神经网络一开始是按照RNN的方式进行研究,用RNN的方式处理网络上的数据。在CNN流行之后,思考如何在图上进行卷积。即图卷积网络(GCN)。关于GCN有两个方向,一个是基于谱的方法,一个基于图的方法,类似于图像处理中的频域和空间域。本文主要讲频域上的处理,基于论文2016 - Semi-Supervised Classification with Graph Convolutional Networks - Kipf, Welling,以及一个知乎上的讲解:如何理解 Graph Convolutional Network(GCN)?
卷积操作在图像上很有用,可以提取图像的特征,但是在图上就有很多限制,原因在于图和图像的数据结构不一样,图像是一个Euclidean Structure,图像的数据是排列整齐的矩阵,但是图上的数据是Non Euclidean Structure,每一个节点的邻居的数量不是固定的,所以很难直接像图像卷积一样在图上做卷积。但是可以类似图像上的傅里叶变换以及卷积定理,将空间域的卷积转换为频域(图上叫做谱)的乘积。但是面临的的问题就是,图上的傅里叶变换是什么,从而需要了解图信号处理(graph signal processing)以及谱图理论(spectral graph theory),这里需要一个核心的概念就是拉普拉斯矩阵L。
拉普拉斯矩阵
拉普拉斯矩阵有三种形式:
其有很好的性质:
- L是实对称矩阵,意味着L有n个线性无关的特征向量,可以进行特征分解,这些特征向量可以化成两两正交的特征向量,形成正交矩阵。
- L是半正定矩阵,所以L的特征值一定非负。
对L进行特征分解得到:
设L的多个特征值
L的特征值可以看作频率,其对应的特征向量可以看作该频率下网络上的图信号graph signal。网络的图信号意思是网络每一个节点上对应一个值,这些值合起来表示的一个向量就是graph signal。特征值越大(即频率越大)的特征值对应的特征向量(一个图信号)看起来就会更震荡,反之这个信号就会更平稳,如图(来自2013 - The emerging field of signal processing on graphs Extending high-dimensional data analysis to networks and other irregular domain):
换一个方法,我们需要知道特征方程
特征值为0时,根据L的定义可以得出此时特征向量u为全1的向量,这样的向量自然如上图第一个图一样,非常平滑,变化的频率为0也理所应当。
由于U构成了n维空间的一个正交基,那么这个图上的任意一个信号f都可以根据U进行分解:
这样就形成了谱和空间域的对应,图信号的傅里叶变换为拉普拉斯矩阵特征值表示的频率上的向量
那么图上的傅里叶变换应该怎么做。
图上的傅里叶变换
普通的傅里叶变换如下:
广义的特征方程为:
那么我们需要一个图上的拉普拉斯算子,然后求其特征函数,上面的拉普拉斯矩阵其实就是一个离散拉普拉斯算子,
拉普拉斯矩阵与拉普拉斯算子的关系 - 知乎 (zhihu.com)
拉普拉斯算子是一个二阶微分算子,在离散情况下有:
可以看出都是周围点与中心点的梯度差的和,那类比到图上就是中心点与邻居节点的梯度差的和。而拉普拉斯矩阵可以做到这点
所以可以将拉普拉斯矩阵看作图上的拉普拉斯算子,
根据拉普拉斯矩阵的特征分解,给出特征方程:
所以U为特征向量,类比傅里叶变换里的积分操作(求和),傅里叶变换及其逆变换为:
卷积定理及图卷积网络
卷积定理:函数(向量)卷积的傅里叶变换是函数(向量)傅里叶变换的乘积。
那么在图上我们对一个信号f做卷积时,由于空间域的卷积不好做,我们可以利用卷积定理做谱(频域)上的乘积。
设空间域上的卷积核为h, 则由卷积定理
第一代GCN
论文 2013 - Spectral Networks and Locally Connected Networks on Graphs - Bruna et al.
第一代GCN基本上就是上面卷积定理的翻版,直接将卷积核的傅里叶变换作为训练参数。但是,这样缺点明显,每一次前向传播的计算量大,且参数数量为n个, 与网络规模有关。
第二代GCN
论文 2016 - Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering - Defferrard, Bresson, Vandergheynst
参数减少为k个,与网络规模无关,但是计算复杂度依然很大,因为要计算矩阵的幂。
第三代GCN
论文 2016 - Semi-Supervised Classification with Graph Convolutional Networks - Kipf, Welling
在这篇论文中,作者限制K=2(只有两项,原文中K=1是因为这里和原文公式中求和的上限不一样)。并近似最大特征值为2,通过重整化的技巧,简化了算法在编程时的困难,并适用于普遍的图信号,及一个节点的信号是一个向量,而不是一个值,这样就可以进行网络嵌入。
W是可训练的参数,可以通过W调节层与层之间节点向量维度的变化。