GNN之GCN基础理论推导

图卷积graph convolutional network,简称GCN,最近几年大热,取得不少进展。

清华大学孙茂松教授组发布了Graph Neural Networks: A Review of Methods and Application,对现有的GNN模型做了详尽且全面的综述。

针对GCN中需要的基础理论知识,这里给出数学推导,方便理解。

一、什么是Convolution

Convolution的数学定义是:

GNN之GCN基础理论推导,一般称g为作用在f上的filter或kernel。

GNN之GCN基础理论推导常见的CNN二维卷积示意图如下:

GNN之GCN基础理论推导

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

但是在抽象的graph里,有的节点会关联上万的节点,这些节点没有空间上的位置关系,也就没办法通过上面的传统卷积公式进行计算。

二、Fourier变换

为了解决graph上卷积计算的问题,需要用到Fourier变换。

根据卷积定理,卷积公式还可以写成:GNN之GCN基础理论推导 ,这样只需要定义graph上的fourier变换,就可以定义出graph上的convolution变换。

首先,看一下Fourier变换的定义:

GNN之GCN基础理论推导

Inverse Fourier变换则是:

GNN之GCN基础理论推导

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

我们定义 GNN之GCN基础理论推导GNN之GCN基础理论推导 是 GNN之GCN基础理论推导 和 GNN之GCN基础理论推导 的卷积,那么 GNN之GCN基础理论推导

GNN之GCN基础理论推导

GNN之GCN基础理论推导,代入上式:

GNN之GCN基础理论推导

最后对等式的两边同时作用 GNN之GCN基础理论推导,得到  GNN之GCN基础理论推导

三、Laplacian算子

我们高数中学过,一阶导数定义为 GNN之GCN基础理论推导

Laplacian算子简单的来说就是二阶导数:GNN之GCN基础理论推导

在graph中,可以定义一阶导数为: GNN之GCN基础理论推导 ,其中 GNN之GCN基础理论推导 是 GNN之GCN基础理论推导 的邻居节点。

那么对应的Laplacian算子可以定义为 GNN之GCN基础理论推导.

定义 GNN之GCN基础理论推导 是 GNN之GCN基础理论推导 的度数矩阵(degree matrix),定义 GNN之GCN基础理论推导 为 GNN之GCN基础理论推导 的邻接矩阵(adjacency matrix):

GNN之GCN基础理论推导                      GNN之GCN基础理论推导

那么graph上的Laplacian算子可以写成 GNN之GCN基础理论推导

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

  传统Fourier变换 Graph Fourier变换
Fourier变换基 GNN之GCN基础理论推导 GNN之GCN基础理论推导
逆Fourier变换基 GNN之GCN基础理论推导 GNN之GCN基础理论推导
维度 GNN之GCN基础理论推导 点的个数n

用矩阵形式来表示Graph Fourier变换:GNN之GCN基础理论推导