Graph Convolutional Networks
2018-01-16 19:35:17
this Tutorial comes from YouTube Video:https://www.youtube.com/watch?v=0_O8PdZBc5s&t=2097s
之所以这个方面的研究会吸引人,是因为这个东西可以将很多知识联系起来。现实生活中,有很多东西都可以应用的到,如:
上图展示了现有的 CNN 模型,在对图像进行处理时,利用局部的卷积核进行卷积操作时,进行的加权过程。
可以看到,再对每一个像素点进行处理的时候,大致经过如下的几个步骤:
1. 利用权重 w 和 其近邻像素点,都进行加权;
2. 将这些加权后的 value,加和处理;
3. 对得到的结果进行非线性处理;
但是,利用传统的 CNN 模型,无法直接进行 Graph 数据的处理,是因为图像的像素点 和 graph类型的数据 ,这是两种不同 style 的数据:
对于 Graph 结构的数据,我们有 边、顶点 以及 邻接矩阵A,
我们希望我们的模型可以训练时间有限,并且 在输入的 graph 改变了的情况下,依然可以使用。
一种比较 naive 的方法就是,直接将邻接矩阵A 和 特征矩阵 X,输入到 NN 中进行训练。
那么,这么做的话,会出现什么问题呢?
1. 参数巨多;
2. 如果 graph 结构发生改变,就需要重新训练了。
GCN with 1-order message passing:
GCN 模型的结构如上图所示。该网络的输入是:feature matrix X 和 处理之后的 邻接矩阵 A。
那么这个过程完成了一件什么事情呢???
有了上述的 GCNs 网络,我们可以将其用于半监督的分类问题。