Convolution卷积

Convolution 的数学定义是
图卷积网络(GCN)数学基础 - 图1

一般称 g 为作用在 f 上的 filter 或 kernel

一维的卷积示意图如下

图卷积网络(GCN)数学基础 - 图2

大家常见的 CNN 二维卷积示意图如下

图卷积网络(GCN)数学基础 - 图3

在图像里面卷积的概念很直接,因为像素点的排列顺序有明确的上下左右的位置关系。

那在抽象的 graph 里面卷积该怎么做呢

图卷积网络(GCN)数学基础 - 图4

比如这个社交网络抽象出来的 graph 里面,有的社交 vip 会关联上万的节点,这些节点没有空间上的位置关系,也就没办法通过上面给出的传统卷积公式进行计算。


Fourier 变换

傅里叶变换图像展示

为了解决 graph 上卷积计算的问题,我们给出第二个装备 —Fourier 变换。

先上结论,根据卷积定理,卷积公式还可以写成

图卷积网络(GCN)数学基础 - 图5

这样我们只需要定义 graph 上的 fourier 变换,就可以定义出 graph 上的 convolution 变换。

图卷积网络(GCN)数学基础 - 图6

好的,先来看下 Fourier 变换的定义

图卷积网络(GCN)数学基础 - 图7

Inverse Fourier 变换则是

图卷积网络(GCN)数学基础 - 图8

根据 Fourier 变换及其逆变换的定义,下面我们来证明一下卷积定理

我们定义 图卷积网络(GCN)数学基础 - 图9
图卷积网络(GCN)数学基础 - 图10
图卷积网络(GCN)数学基础 - 图11
的卷积,那么

图卷积网络(GCN)数学基础 - 图12

图卷积网络(GCN)数学基础 - 图13

带入 图卷积网络(GCN)数学基础 - 图14
; 图卷积网络(GCN)数学基础 - 图15

图卷积网络(GCN)数学基础 - 图16

最后对等式的两边同时作用 图卷积网络(GCN)数学基础 - 图17
,得到

图卷积网络(GCN)数学基础 - 图18


Laplacian 算子

一阶导数定义为

图卷积网络(GCN)数学基础 - 图19

laplacian 算子简单的来说就是二阶导数

图卷积网络(GCN)数学基础 - 图20

那在 graph 上,我们可以定义一阶导数为

图卷积网络(GCN)数学基础 - 图21

其中 y 是 x 的邻居节点

那么对应的 Laplacian 算子可以定义为
图卷积网络(GCN)数学基础 - 图22

定义 图卷积网络(GCN)数学基础 - 图23
图卷积网络(GCN)数学基础 - 图24
的度数矩阵 (degree matrix)

图卷积网络(GCN)数学基础 - 图25

定义 图卷积网络(GCN)数学基础 - 图26
图卷积网络(GCN)数学基础 - 图27
邻接矩阵 (adjacency matrix)

图卷积网络(GCN)数学基础 - 图28

那么图上的 Laplacian 算子可以写成

图卷积网络(GCN)数学基础 - 图29

标准化之后得到 图卷积网络(GCN)数学基础 - 图30

定义 Laplacian 算子的目的是为了找到 Fourier 变换的基

比如传统 Fourier 变换的基 图卷积网络(GCN)数学基础 - 图31
就是 Laplacian 算法的一组特征向量

图卷积网络(GCN)数学基础 - 图32
, 图卷积网络(GCN)数学基础 - 图33
是一个常数

那么图上的 Fourier 基就是 图卷积网络(GCN)数学基础 - 图34
矩阵的 n 个特征向量 图卷积网络(GCN)数学基础 - 图35
图卷积网络(GCN)数学基础 - 图36
可以分解为

图卷积网络(GCN)数学基础 - 图37

其中 图卷积网络(GCN)数学基础 - 图38
是特征值组成的对角矩阵

图卷积网络(GCN)数学基础 - 图39

那么 Graph Fourier 变换可以定义为

图卷积网络(GCN)数学基础 - 图40

其中 图卷积网络(GCN)数学基础 - 图41
可以看做是作用在第 图卷积网络(GCN)数学基础 - 图42
个点上的 signal,用向量 图卷积网络(GCN)数学基础 - 图43
来表示

图卷积网络(GCN)数学基础 - 图44
图卷积网络(GCN)数学基础 - 图45
的的对偶向量, 图卷积网络(GCN)数学基础 - 图46
是矩阵 图卷积网络(GCN)数学基础 - 图47
的第 图卷积网络(GCN)数学基础 - 图48
行,图卷积网络(GCN)数学基础 - 图49
是矩阵 图卷积网络(GCN)数学基础 - 图50
的第 图卷积网络(GCN)数学基础 - 图51
行。

那么我们可以用矩阵形式来表示 Graph Fourier 变换

图卷积网络(GCN)数学基础 - 图52

类似的 Inverse Graph Fourier 变换定义为

图卷积网络(GCN)数学基础 - 图53

它的矩阵形式表达为

图卷积网络(GCN)数学基础 - 图54


推导 Graph Convolution

下面就开始推导 GCN 的公式。

还记得我们之前提到的先上卷积定理吗

图卷积网络(GCN)数学基础 - 图55

那么图的卷积公式可以表示为

图卷积网络(GCN)数学基础 - 图56

作为图卷积的 filter 函数 图卷积网络(GCN)数学基础 - 图57
,我们希望具有很好的局部性。就像 CNN 模型里的 filter 一样,只影响到一个像素附近的像素。那么我们可以把 图卷积网络(GCN)数学基础 - 图58
定义成一个 laplacian 矩阵的函数 图卷积网络(GCN)数学基础 - 图59

图卷积网络(GCN)数学基础 - 图60

作用一次 laplacian 矩阵相当于在图上传播了一次邻居节点。进一步我们可以把 图卷积网络(GCN)数学基础 - 图61
看做是 图卷积网络(GCN)数学基础 - 图62
一个 laplacian 特征值的函数,参数为 图卷积网络(GCN)数学基础 - 图63

改写上面的图卷积公式,我们就可以得到论文 SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS

的公式 (3)

图卷积网络(GCN)数学基础 - 图64

可以看到这个卷积计算的复杂度是非常高的,涉及到求 laplacian 矩阵的特征向量,和大量的矩阵计算。下面我们考虑对 filter 函数做近似,目标是省去特征向量的求解

图卷积网络(GCN)数学基础 - 图65

其中 图卷积网络(GCN)数学基础 - 图66
是 Chebyshev 多项式。这里可以把简单 图卷积网络(GCN)数学基础 - 图67
简单看成是 图卷积网络(GCN)数学基础 - 图68
的多项式。

因为 图卷积网络(GCN)数学基础 - 图69

所以上面 filter 函数可以写成 图卷积网络(GCN)数学基础 - 图70
的函数 图卷积网络(GCN)数学基础 - 图71

设定 图卷积网络(GCN)数学基础 - 图72
那卷积公式可以简化为

图卷积网络(GCN)数学基础 - 图73

图卷积网络(GCN)数学基础 - 图74
图卷积网络(GCN)数学基础 - 图75

图卷积网络(GCN)数学基础 - 图76

那么再加上激活层,我们就可以得到最终的 GCN 公式

图卷积网络(GCN)数学基础 - 图77
https://zhuanlan.zhihu.com/p/54505069