传统的神经网络比较适合用于欧式空间的数据,如CNN,RNN用于CV和NLP,欧式空间数据的特征是结构很规则,而图神经网络 GNN 可以把神经网络用在图结构 (Graph) 中。

图神经网络的种类很多,包括图卷积网络 GCN、图注意力网络 GAT、图自编码器 GAE图增强学习图对抗等。
传统对图结构的处理方法:GNN、DeepWalk、node2vec

GCN,图卷积神经网络,实际上跟CNN的作用一样,就是一个特征提取器,只不过它的对象是图数据。
GCN精妙地设计了一种从图数据中提取特征的方法,从而让我们可以使用这些特征去对图数据进行节点分类(node classification)、图分类(graph classification)、边预测(link prediction),还可以顺便得到图的嵌入表示(graph embedding)。

图嵌入,也称为图表示学习,能够将图节点转换为低维向量,同时最大限度地保留结构和语义信息,以便使用简单的机器学习算法(例如,支持向量机分类)进行后续处理。图嵌入算法通常是无监督的算法,它们可以大致可以划分为三个类别,即矩阵分解、随机游走深度学习方法。

GCN核心部分

假设有一批图数据,其中有N个节点(node),每个节点都有自己的特征,设这些节点的特征组成一个N×D维的矩阵X,然后各个节点之间的关系也会形成一个N×N维的矩阵A,也称为邻接矩阵(adjacency matrix)。X和A便是我们模型的输入。

GCN也是一个神经网络层,它的层与层之间的传播方式是:

ga 神经网络 gae 图神经网络_机器学习


这个公式中:

  • A波浪=A+I,I是单位矩阵(添加自环,把节点自身特征加回来)
  • D波浪是A波浪的度矩阵(degree matrix),D是对角矩阵,即除了对角线其他元素都为 0,对角值如下计算,Dii 表示与节点 i 相连的节点数
  • H是每一层的特征,对于输入层,H就是X
  • σ是非线性激活函数

由于即使只有很少的node有标签也能训练,作者称他们的方法为半监督分类。

优势:即使不训练,完全使用随机初始化的参数W,GCN提取出来的特征已经十分优秀。