卷积网络原理分析(GCN)

图卷积网络涉及两个非常重要的概念:图和卷积。传统的卷积方法在欧洲数据空间显示了巨大的威力,但在非欧洲数据空间却是哑的。其中一个很重要的原因是传统的卷积方法在非欧数据空间中不能保持“平移不变性”。为了将卷积扩展到图等非欧数据结构的拓扑图,GCN诞生了。在深入了解GCN的背景之前,我认为我们有必要先对以下概念有所了解:

基于图自愿网络的纸链接半监督分类

1.拉普拉斯矩阵及其变体

给定一个带有节点的简单图是的度矩阵和的邻接矩阵,的拉普拉斯矩阵可以表示为。图表中的元素如下:

1.传统傅里叶变换

当变换对象是离散变量时,积分等价于内积,即

下面是传说中的拉普拉斯算符的特征函数(拉普拉斯算符是欧洲空间的二阶微分算符,卸妆后的样子)。

为什么这么说?因为从特征方程的广义定义来看,它是一个变换,是一个特征向量或特征函数,是一个特征值。我们取基函数的二阶导数,可以看作是变换的特征函数。

在图中,拉普拉斯矩阵可以进行谱分解(特征分解),其特征向量组成的矩阵是,根据特征方程的定义,我们可以得到。通过对比可以发现,它相当于,相当于。因此,图上的傅立叶变换可以写成。

从傅里叶变换的基本思想来看,傅里叶变换的本质是将其转化为一组正交基上的坐标表示进行线性变换,坐标就是傅里叶变换的结果。下图显示了第一个基础上投影组件的大小。

我们通过矩阵乘法将图上的傅立叶变换扩展到矩阵形式:

是图上第个节点的特征向量,可以得到图上的傅立叶变换形式:

这里是由图的拉普拉斯矩阵的特征向量组成的特征矩阵的转置。在拉普拉斯矩阵的优良性质中,我们知道拉普拉斯矩阵的特征向量组成的矩阵是正交的,即满足的,所以图的逆傅立叶变换形式如下:

至此,我们通过类比,将传统的傅立叶变换推广到了图上的傅立叶变换。接下来我们就用傅里叶变换的桥段,让卷积和图形好好喝一杯。

前言中我们知道了著名的卷积定理:函数卷积的傅里叶变换是其傅里叶变换的乘积,即对于,两者的卷积是其傅里叶变换的逆:

我们将傅立叶变换公式代入上一节获得的图表,得到:

是Hamada乘积,意思是逐点相乘。

一般我们把输入图的节点特征看作是一个可训练的带参数* * *的卷积核来提取拓扑图的空间特征。为了进一步理解卷积核,我们将上面的公式改写为:

也许有人对上述公式的变换有疑问,证明其实很简单。有兴趣的可以看答案的回答,GCN平等的证明——知乎。

到目前为止,我们已经得出了GCN的原型。

1.第一代GCN

卷积运算的核心是一个卷积核,这个卷积核可以被参数* * *训练和共享,所以第一代GCN直接用参数代替上面公式中的对角元素。首先初始化赋值,然后用反向传播误差调整参数。

所以第一代GCN就成了酱:

它是图中每个节点特征的表示向量,是GCN卷积后每个节点的输出。图中的每个节点都要用卷积核进行卷积,提取其对应的拓扑空间,然后通过激活函数传播到下一层。

第一代GCN的缺点也很明显,主要有以下几点。

2.第二代GCN

面对第一代GCN参数太多的缺点,第二代GCN进行了改进。因为图上的傅里叶变换是特征值的函数,所以也可以写成,卷积核用k阶多项式改进:

代入得到:

所以第二代GCN是这样的:

可以看出,第二代GCN的最终简化结果不需要矩阵分解,直接对拉普拉斯矩阵进行变换。参数是k一般远小于图中的节点数,所以与第一代GCN相比,第二代GCN的参数数量明显少于第一代GCN,降低了模型的复杂度。对于参数,它们首先被初始化,然后根据误差反向传播来更新参数。但是还是要计算的,时间复杂度是。

另外我们知道,对于一个矩阵的K次方,可以得到与中心节点K跳相连的节点,即图中的元素是否为0表示图中的一个节点经过K跳后是否能到达另一个节点,其中K实际上代表卷积核感受野的大小,中心节点的特征表示通过聚合每个中心节点K跳中的邻居节点来更新,参数是K跳邻居的权重。

未完待续。

1.在谱图的卷积中,我们分解了图的拉普拉斯矩阵。傅立叶空间的特征分解有助于我们理解潜在的子图结构。ChebyNet是一个典型的使用谱域卷积的深度学习架构。

2.空间卷积作用于节点的邻域,我们通过节点的k跳邻居得到节点的特征表示。空间卷积比谱卷积更简单、更有效。GraphSAGE和GAT是空间卷积的典型代表。

参考

1./

3./yyl 424525/article/details/100058264