GCN的概念首次提出于ICLR2017:
- 什么是GCN?
首先简单梳理一下深度学习中的经典模型CNN和RNN所解决的问题。
CNN: 利用一个共享参数的过滤器(kernel),通过计算中心像素点以及相邻像素点的加权和来构成特征图实现空间特征的提取。(加权系数是卷积核的权重系数)以图像识别为例,对象是图片,二维结构,kernel是一个个小窗口,在图片上平移,通过卷积的方式来提取特征。这里的关键在于图片结构上的平移不变性:一个小窗口无论移动到图片的哪一个位置,其内部的结构都是一模一样的,因此CNN可以实现参数共享。CNN处理的图像或者视频数据中像素点(pixel)是排列成成很整齐的矩阵,很多论文中所提到的Euclidean Structure。
卷积核的权重系数如何确定?随机化初值,然后根据误差函数通过反向传播梯度下降进行迭代优化。GCN部分工作可以优化卷积参数。
RNN:它的对象是自然语言这样的序列信息,是一个一维的结构,RNN就是专门针对这些序列的结构而设计的,通过各种门的操作,使得序列前后的信息互相影响,从而很好地捕捉序列的特征。
GCN,图卷积神经网络,实际上跟CNN的作用一样,就是一个特征提取器,只不过它的对象是图数据。GCN精妙地设计了一种从图数据中提取特征的方法,从而让我们可以使用这些特征去对图数据进行节点分类(node classification)、图分类(graph classification)、边预测(link prediction),还可以顺便得到图的嵌入表示(graph embedding),可见用途广泛。 - GCN所解决的对象特征
Graph是指数学(图论)中的用顶点和边建立相应关系的拓扑图。
处理Non-Euclidean Structure的数据,传统的离散卷积无法在该类型数据保持平移不变性。(在拓扑图中每个顶点的相邻顶点数目都有可能不同,无法用同一尺寸的卷积核来进行卷积运算)在给类型数据结构中提取空间特征。
之后基于GCN的经典论文学习相关的数学知识和应用方向~