GCN

  • CNN中的卷积本质上就是共享参数的过滤器,可以较为有效地提取空间特征

而很多其他的研究中还有很多非欧拉结构的数据

图卷积网络GCN_拉普拉斯矩阵

  • 1.CNN无法处理非欧拉结构的数据,传统的离散卷积在Non Euclidean Structure的数据上无法保持平移不变性
  • 2.希望在拓扑图上有效地提取空间特征来进行机器学习
  • 3.广义上来讲任何数据在赋范空间内都可以建立拓扑关联,因此GCN有很大的应用空间

提取拓扑图空间特征的两种方式

  • (1)vertex domain
  • 把顶点相邻的点找出来
  • 问题就变成:怎么确定相邻点,怎么确定感受野,确定感受野怎么处理包含不同数目的相邻点的特征
  • 相关的文章​​Convolutional Neural Networks for Graphs​
  • (2)spectral domai
  • 希望用图谱的理论来实现卷积操作

拉普拉斯矩阵

定义一个图的Laplacian矩阵图卷积网络GCN_图神经网络_02

  • L表示拉普拉斯矩阵
  • D是顶点的度矩阵(对角矩阵,对角线上为图顶点的度)
  • A是图的邻接矩阵

常用的Laplacian矩阵有三种

  • 1.图卷积网络GCN_GCN_03
  • 2.图卷积网络GCN_图神经网络_04,很多GCN使用
  • 3.图卷积网络GCN_GCN_05
  • 矩阵的谱分解、特征分解、对角化是同一个概念,充要条件是n阶方阵存在n个线性无关的特征向量
  • 这里的特征值可以表示为频率
  • 由Graph确定的n维空间中,越小的特征值图卷积网络GCN_GNN_06表明:拉普拉斯矩阵L其所对应的基图卷积网络GCN_图卷积网络_07上的分量信息越少,类似PCA降维里的原理

拉普拉斯算子与其关系

  • 代数里拉普拉斯算子是一个二阶微分算子

nabla算子
图卷积网络GCN_GCN_08

拉普拉斯算子
图卷积网络GCN_图神经网络_09

以二维的离散函数为例

图卷积网络GCN_图卷积网络_10

图卷积网络GCN_GNN_11

- 所以拉普拉斯算子可以计算一个点到它所有自由度上微小扰动的增益

将2维推广到n维,即是在一张图中计算某点邻域的扰动
设对节点i的增益:图卷积网络GCN_图神经网络_12
带边权则有
图卷积网络GCN_GCN_13

  • 这里图卷积网络GCN_GCN_14是点i的度
  • 图卷积网络GCN_拉普拉斯矩阵_15是N维行向量,图卷积网络GCN_GCN_16是N维列向量

对所有的N个节点
图卷积网络GCN_GNN_17

  • 由此可得拉普拉斯矩阵

图拉普拉斯反映了当我们在节点 i上施加一个势,这个势以哪个方向能够多顺畅的流向其他节点

  • 谱聚类中的拉普拉斯矩阵可以理解为对图的一种矩阵表示形式

傅立叶变换

将一个在空域上定义的函数分解成频域上若干频率成分

  • 用一组sin,cos的函数来逼近一个周期函数

由于博主的专业不学复变、模电这些玩意儿(233),相关的知识由微积分下和网络搜索引擎补齐
图卷积网络GCN_图卷积网络_18的周期为图卷积网络GCN_图神经网络_19,傅立叶级数可以写作:
图卷积网络GCN_图神经网络_20

Graph上的傅立叶变换

  • 离散积分是一种内积的形式,图卷积网络GCN_GCN_21
    因此定义Graph上的傅立叶变换为:
    图卷积网络GCN_拉普拉斯矩阵_22
  • f是Graph上的n维向量,f(i)与Graph上的顶点一一对应
  • 图卷积网络GCN_图卷积网络_23表示第l个特征向量的第i个分量(U是拉普拉斯矩阵的特征向量)
  • 特征值(频率)图卷积网络GCN_图卷积网络_24下的, f 的Graph 傅里叶变换就是与图卷积网络GCN_图卷积网络_24对应的特征向量图卷积网络GCN_拉普拉斯矩阵_26 进行内积运算。
    所以对应的矩阵形式为
  • f为待变换函数
    图卷积网络GCN_GCN_27

因此f在graph上的变换形式为图卷积网络GCN_拉普拉斯矩阵_28

Graph上的傅里叶逆变换

  • 逆变换是对频率图卷积网络GCN_拉普拉斯矩阵_29求积分
    图卷积网络GCN_图卷积网络_30
  • 在Graph上是对特征值图卷积网络GCN_GCN_31求和
    图卷积网络GCN_GCN_32
  • 矩阵形式
    图卷积网络GCN_图神经网络_33

因此f在graph上的傅里叶逆变换形式为图卷积网络GCN_GCN_34

推广到卷积

  • 卷积定理:函数卷积的傅里叶变换是函数傅立叶变换的乘积,即对于函数f(t)与h(t)两者的卷积是其函数傅立叶变换乘积的逆变换
    图卷积网络GCN_GNN_35
  • f为待卷积函数,h为卷积核,图卷积网络GCN_拉普拉斯矩阵_36为卷积结果
  • f的傅里叶变换为图卷积网络GCN_GNN_37
  • 卷积核傅里叶变换的矩阵形式
  • 图卷积网络GCN_图卷积网络_38
  • 图卷积网络GCN_图卷积网络_39根据需要设计的卷积核在Graph上的傅里叶变换
  • 两者傅里叶变换乘积为:
  • 图卷积网络GCN_图神经网络_40
  • 再求逆变换,即前面乘一个U
  • 图卷积网络GCN_GCN_41
  • 或写成:图卷积网络GCN_图神经网络_42,中间的是逐元素乘

谱卷积

图卷积网络GCN_GCN_43

  • 深度学习中的图卷积都是根据上式推导而来
  • 卷积核就是
  • 图卷积网络GCN_拉普拉斯矩阵_44
  • 最原始的GCN如下(谱图卷积):
    图卷积网络GCN_图卷积网络_45
  • 图卷积网络GCN_拉普拉斯矩阵_46是激活函数,x是Graph上每个点的特征向量,图卷积网络GCN_图神经网络_47是卷积核参数。图卷积网络GCN_拉普拉斯矩阵_48整体可以看作可学习的卷积核
  • 但这种形式的缺点就是有n个参数,计算量大

频域卷积网络

  • 上式的卷积公式可以写作图卷积网络GCN_图卷积网络_49图卷积网络GCN_GCN_50就是卷积核

假设l层的隐藏层为图卷积网络GCN_拉普拉斯矩阵_51

  • 卷积层状态更新为
    图卷积网络GCN_图神经网络_52
    这里的图卷积网络GCN_GCN_53可以类比神经网络中的权重图卷积网络GCN_GCN_54,一层卷积层参数有图卷积网络GCN_图神经网络_55

切比雪夫网络(ChebNet)

由于谱卷积时间消耗很大,可以应用切比雪夫多项式来加速特征矩阵的求解。

假设切比雪夫多项式第k项为图卷积网络GCN_GCN_56,频域卷积核计算方法为:
图卷积网络GCN_拉普拉斯矩阵_57

  • 按照切比雪夫多项式的定义:图卷积网络GCN_GCN_58
  • 图卷积网络GCN_图神经网络_59让特征矩阵归一化

可以进一步写成
图卷积网络GCN_拉普拉斯矩阵_60
-将可学习的参数分解成了K个,类似传统的CNN,常取K=3,K=5等。计算复杂度也变成了图卷积网络GCN_GCN_61,E为图的边数

简易的多项式形式

  • 卷积核
    图卷积网络GCN_拉普拉斯矩阵_62
  • 输出
    图卷积网络GCN_图神经网络_63

图卷积网络GCN_图神经网络_64

又因为
图卷积网络GCN_图卷积网络_65

进而
图卷积网络GCN_拉普拉斯矩阵_66

简化后的输出公式为
图卷积网络GCN_GNN_67

k的作用

  • k=1时,对顶点i,将顶点i以及顶点i的一阶相邻点的feature(f函数值)做加权求和
  • k=2时,对顶点i以及顶点i的一阶相连顶点、二阶相连顶点的feature值加权求和