图神经网络(GNN)架构详解

发布:2022-12-16 12:04:16
阅读:3519
作者:网络整理
分享:复制链接

图神经网络(GNN)是一种“图入图出”人工神经网络。它采用包含边、节点和全局上下文嵌入的输入图,并通过保留图对称性生成具有转换和更新嵌入的输出图。GNN是解决图级、节点级和边级任务的不同图预测问题的有效架构。

图神经网络架构

GNN体系架构主要可分为频谱、空间和采样。

频谱方法

频谱方法在谱域中执行图形卷积。使用离散傅里叶变换的概念将图形从空间域转换为频谱域。

光谱网络(SCNN)

该方法用自学习对角矩阵代替谱卷积核。它允许学习用于图形预测任务的卷积过滤器。

图卷积网络(GCN)

图卷积网络(GCN)因其简单、可扩展的架构和计算效率而成为最常用的方法之一。

最简单的GCN有三层:

  • 卷积层
  • 线性层
  • 非线性激活层

首先,对卷积层图中的每个节点进行卷积。来自节点邻居的特征信息被聚合并且节点同样被更新。接下来,将ReLU等非线性激活函数应用于卷积层的输出。同样,可以堆叠多个卷积和非线性激活层以达到最佳精度。

GCN可以执行节点级和图级预测任务。使用局部输出函数可以进行节点级分类,该函数对单个节点特征进行分类以预测标签。对于图级分类,来自整个图的特征使用可微分池进行聚合,然后用于预测完整图的标签。

光谱方法有以下缺点:

  • 它们不适用于无向图。
  • 与图的动态特性相反,图结构在训练期间无法更新。
  • 它们在计算上比空间方法更密集。

空间方法

空间方法遵循图拓扑下使用的图卷积的标准方法——使用置换不变函数转换节点的特征,并聚合这些特征以更新节点的特征值。

消息传递神经网络(MPNN)

图中的消息传递现象对于充分利用图连通性的潜力至关重要。可以在与预测任务相关的边缘或附近节点中编码特定信息。因此,消息传递可以向特定节点或边缘提供信息。

直观上,消息传递类似于图像的卷积。图像中的卷积运算对整个图像进行解析.

图注意力网络(GAT)

GAT在图网络中引入了注意力机制的概念。在典型的算法中,相同的卷积核参数应用于图的所有节点;然而,在真实场景中,它们可能导致某些信息的丢失或高估。因此,采用不同的卷积参数可以调整节点之间的关联程度并确定节点相应的重要性。

注意系数是通过将节点或边缘特征传递给注意函数来计算的。softmax函数应用于获得的值以给出最终权重。

采样方法

在现实世界中,图通常很复杂,包含大量的节点和边。由于它们的动态特性,它们甚至可以扩展到更大的尺寸。在这种情况下,通过聚合所有相邻节点的特征来计算节点的特征向量在计算上是低效的。因此,为了处理可伸缩性问题,我们将仅采样和使用节点的子集而不是全部。

这里我们介绍两种采样方法——GraphSage和DeepWalk。

GraphSage

GraphSage采用统一采样的基本策略。均匀采样得到的节点只会贡献特征信息。来自这些节点的聚合特征信息最终将用于执行节点或图分类。

GraphSage在每一层上扩展邻域深度k。该算法将在每增加一层时从k个节点学习特征信息。这种方法节省了大量计算时间,因为所有节点都不参与每一层的计算。

根据任务的不同,该算法足够灵活,可以以有监督或无监督的方式进行训练。还可以同时训练以下聚合函数——均值聚合器、LSTM聚合器和最大池化聚合器。该设施将允许模型了解哪个聚合器函数将更好地聚合特定任务的特征。

DeepWalk

该算法分两个阶段进行。第一个对应于发现局部图结构,第二个涉及将skip-gram模型应用于第一阶段检测到的序列。

第一阶段:随机游走

网络通过随机游走遍历。首先,随机选择一个节点,然后从其所有相邻节点中随机选择另一个节点。同样,它一直持续到序列长度达到其极限。随机游走的次数由参数“k”给出,每个序列的长度由参数“l”表示。增加参数“k”将导致更广泛的图形探索,而增加“l”意味着远距离节点也相似。

第二阶段:Skip-gram模型

Skip-gram是一种用于学习词嵌入的流行方法。这里使用这个是因为语料库中的单词分布和图中的节点都遵循幂律。在文本上下文中,给定语料库和窗口大小,出现在同一窗口中的词往往具有相似的含义和更接近的词嵌入。同样,skip-gram尝试最大化同一随机游走中出现的节点的相似性。

此后,为每个节点生成一组随机向量,以使用skip-gram方法学习节点嵌入。接下来,将梯度下降应用于这些向量以更新节点嵌入并使用softmax函数最大化给定节点的相邻节点的概率。当所有游走都被覆盖时,可以在可以生成的相同新随机游走上继续进一步优化。

扫码进群
微信群
免费体验AI服务