Graph Convolutional Network
对于图结构,不采用将图结构转换成线性结构表示。直接对图结构进行表示。
CNN处理的图像或者视频数据中像素点(pixel)是排列成很整齐的矩阵(Euclidean Structure)。网络结构(Non Euclidean Structure)就是图论中抽象意义上的拓扑图。
为什么要使用GCN?
由于拓扑图每个节点度不一样,无法用同一尺寸的卷积和进行卷积运算,又希望在拓扑图上有效提取空间特征。
1) 局部特征
2)参数共享: 卷积核只有k个参数,k 远小于N,大大降低了模型复杂程度,每次卷积会将中心顶点的k 阶邻居节点进行加权求和。同阶邻居参数共享,不同阶邻居参数不共享。
GCN 主要技术:
拉普拉斯矩阵
拉普拉斯矩阵谱分解
GCN 的逻辑:
采用傅立叶变换,使得卷积操作变得可行。 h ( x ) = f ( g ( x ) ) = F − 1 ( F ( f ) . F ( g ) ) h(x)=f(g(x))=F^{-1}(F(f).F(g)) h(x)=f(g(x))=F−1(F(f).F(g)).只需要定义 graph 上的 fourier 变换,就可以定义出 graph 上的 convolution 变换。
傅立叶变换: F ( x ) F(x) F(x)
傅立叶变换的逆: F − 1 ( x ) F^{-1}(x) F−1(x)
拉普拉斯算子是二阶导数,Graph 一阶导数是两个节点间的差异,Graph 二阶导数是两个节点差异的导数。L = D-A = 度矩阵-邻接矩阵。 标准化后 L = I − D − 1 / 2 ∗ A ∗ D − 1 / 2 = U ∗ Λ ∗ U T L=I-D^{-1/2}*A*D^{-1/2}=U*\Lambda*U^T L=I−D