图卷积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变换则是: