一、为什么会出现GCN(图卷积神经网络)
普通卷积网络都是研究的具备欧几里得领域的数据,例如规则的正方形(例如图像),语音等。
1.1 平移不变性 translation invariance
如果无论一只猫怎么平移,扭曲,最终识别出来都是一只猫,输入怎么变形输出都是一只猫,那么称这个神经网络满足平移不变性。网络的层次越深,这个特性越明显。
1.2 平移可变性 translation variance
针对目标检测,比如一只猫从左侧移到右侧,检测出的猫的坐标会变化就称之为平移可变性。卷积神经网络的卷积核(kernal)总会造成最终的输出的map减小,而在原始上的小偏移不可避免的会被缩小,忽视。想象一下一个没戴眼镜的近视眼看远处的物体。会发现聚焦的物品比较清楚,但是周围的及其模糊,这就类似于卷积最后的结果。(之所以会变小是因为filter层,也叫做kernal)
CNN的卷积本质上就是一种离散的卷积,一个共用参数的过滤器(Kernal),通过计算加和得到结果。
1.3 非欧式空间的卷积:
例如:图,还有流体。主要特征是无法选择一个确定大小的卷积核来适应整个图。包含:
节点特征:每个节点具有自己的特征,例如特征向量
结构特征:点与点之间的结构特征,主要体现在边上。
核心思想:边的信息,点的信息融合产生新的信息
二、图卷积方式:
因为 Non Euclidean Structure 的数据无法保持平移不变性。具体来说,由于在拓扑图中每个顶点的相邻顶点数目都可能不同,因此无法用一个同样尺寸的卷积核来进行卷积运算。需要在图上重新设计卷积的方法,而目前图卷积方法主要分为两大类:谱方法(Spectral Methods)和 空间方法(Spatial Methods)。
谱方法 :大概思路是通过傅里叶变换等将图数据从空间域映射到谱域,然后在谱域实现卷积,最后再将处理后的信号映射回空间域。
空间方法 :在空间域直接定义卷积, 这里的卷积被定义为所有邻居结点的加权平均函数。但主要问题是由于每个结点的邻居大小不一样,很难实现参数共享。
2.1 基于空间域的方法(Spatial domain)
基于空间域的方法直接用在每个结点的连接关系上,和传统的卷积神经网络比较像:代表作有Message Passing Neural Networks(MPNN),GraphSage,Diffusion Convolution Neural networks(DCNN),PATCHY-SAN等
2.2 频谱方法(spectral domain)
主要的基础知识是图谱理论来实现拓扑图上的卷积操作。整个研究的时间进程来看,首先研究GSP(Graph signal processing)的学者们定义了图上的傅里叶转换,进而定义了图上的卷积操作,最后和深度学习结合提出了图卷积网络。
2.3 什么是谱图理论
可以参考维基百科 https://en.wikipedia.org/wiki/Spectral_graph_theory
简单概括:就是借助拉普拉斯矩阵的特征值和特征向量来研究图的性质
2.4 why 拉普拉斯矩阵?
这是个难点:要理解需要有坚实的数学基础:包括但是不限于矩阵分析和谱图理论
过程包括:定义图上的傅里叶变换;定义图上的卷积
Reference
https://tkipf.github.io/graph-convolutional-networks/
https://www.inference.vc/how-powerful-are-graph-convolutions-review-of-kipf-welling-2016-2/
https://blog.csdn.net/yyl424525/article/details/100058264
https://en.wikipedia.org/wiki/Laplacian_matrix
https://blog.csdn.net/yyl424525/article/details/98765291
https://blog.csdn.net/qwezhaohaihong/article/details/106237744