框架图:
主要架构:
GCN+AE(图卷积神经网络+自编码器)
回顾AE的作用:
将数据(图像,文本...)压缩至隐藏层(encoder),一般是得到低维特征表示原数据,再通过decoder将隐藏层恢复成原数据,在期间设置重构损失表示原数据与decoder的数据之间的差值,以最小化重构损失为目的训练该模型(一般是神经网络)。若将隐藏层数量增加,即为堆叠式自编码器。
GCN作用:提取特征,其对象为图数据,其可以从图数据中提取特征,从而类似ae一样对这些特征进行操作,或分类,或预测等等。
其实知道以上的 大概作用基本就能理解上面框架图的流程了,先简述一下:
GCN部分接受输入信息的同时,接受encoder的每层输出,即图中H部分操作,通过每层特征的融合,让GCN学习到的表示同时包含原始特征信息和图结构信息。
再来具体讲一下GCN的细节:
传播方式:
这个层与层之间的传播方式在原论文中通过这幅图来解释:
GCN的输入特征为X,经过中间hidden layers 最后变成了Z ,但是连接关系A都是共享的。
假设只用简单的神经网络层,只用输入(即邻接矩阵A和特征H)做内积,再乘上参数,其中有些局限性,
1.只使用A的话,由于A的对角线上都是0,所以在和特征矩阵H相乘的时候,只会计算一个node的所有邻居的特征的加权和,该node自己的特征却被忽略了。因此,我们可以做一个小小的改动,给A加上一个单位矩阵 I ,这样就让对角线元素变成1了。
- A是没有经过归一化的矩阵,这样与特征矩阵相乘会改变特征原本的分布,产生一些不可预测的问题。所以我们对A做一个标准化处理。首先让A的每一行加起来为1,我们可以乘以一个D的逆,D就是度矩阵。我们可以进一步把D的拆开与A相乘,得到一个对称且归一化的矩阵
原文作者根据此设计出了最终的层传播方式如上H(l+1)。