GNN之GCN基础理论推导

mac2024-03-25  30

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

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

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

一、什么是Convolution

Convolution的数学定义是:

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

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

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

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

二、Fourier变换

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

根据卷积定理,卷积公式还可以写成: ,这样只需要定义graph上的fourier变换,就可以定义出graph上的convolution变换。

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

Inverse Fourier变换则是:

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

我们定义 是  和  的卷积,那么 

令 ,代入上式:

最后对等式的两边同时作用 ,得到 

三、Laplacian算子

我们高数中学过,一阶导数定义为 

Laplacian算子简单的来说就是二阶导数:。

在graph中,可以定义一阶导数为:  ,其中  是  的邻居节点。

那么对应的Laplacian算子可以定义为 .

定义  是  的度数矩阵(degree matrix),定义  为  的邻接矩阵(adjacency matrix):

                     

那么graph上的Laplacian算子可以写成 。

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

 传统Fourier变换Graph Fourier变换Fourier变换基逆Fourier变换基维度点的个数n

用矩阵形式来表示Graph Fourier变换:

最新回复(0)