Graph-Neural-Network 图神经网络

1. 图数据结构

1.1 Graph结构的两种特征

图数据结构由顶点和边组成,顶点为目标研究的实体,边则表示顶点之间的联系。
图数据结构包含两种特征:

  1. 顶点自己的特征,其通常是一个高维向量,也就是研究目标的特征。
  2. 对于任意一个节点 i ,它在图上的相邻节点 Ni 构成图的结构关系(特征)

任何图神经网络的目的,就是试图更好的学习Graph结构的这两种特征。

2. Graph Attention Network (GAT)图注意力网络

  • 注意力机制认为,对于中心节点来说,相邻节点对它而言重要程度不一样,要量化这一指标。
  • 图注意力机制的本质,是给边赋予权重,即给 节点及其相邻节点 构成的边 赋予不同的注意力系数
  • 边的注意力系数是通过计算得到的,这也是GAT理论的根本点。
  • 图注意力机制是从图的 结构关系特征 入手的。

2.1 计算注意力系数(attention coefficient)##

①计算节点的相关系数
对于节点i,逐个计算它的相邻节点(j∈Ni)和它自己之间的相似系数
计算公式如下:

其中:

  • W为共享参数矩阵,其用于对节点特征增维,是一种常见的 特征增强 的方法。
  • [·||·]表示对于节点 i,j 变换之后的 特征进行拼接(concatenate)。
  • 最后a(·)把拼接后的高维特征映射到一个实数上,作为该公式的输出。这是通过 single-layer feedforward neural network实现的。

显然,节点 i,j 之间的相关性是通过可学习参数$ W a(·) $完成的。
②计算注意力系数
相关系数 的基础上,进行归一化处理得到注意力系数,这是通过softmax函数完成的。
计算公式如下:

此式输出 aij 即为两节点的边的注意力系数。

2.2 加权求和

根据计算好的注意力系数,把特征加权求和(aggregate)一下。公式如下:

其中,hi 就是GAT输出的节点 i 的新特征(这是融合了领域信息得到的)。
这就是基本的,图注意力机制。

2.3 多通道注意力机制

常见的,使用multi-head机制增强注意力机制。
其类似于CNN的多维卷积,有多个卷积核且每个卷积核相互独立,使得输出的特征图也具有更多的通道数。
公式如下:

其中** K 为通道数**,下图中的曲线数表示了这一点。

这3条波浪线就代表3个独立的attention系数,独立学习,并且有着独立的注意力系数矩阵。
这在代码中是使用for循环实现的。

2.4 最终的输出

多头注意力机制输出层最终的输出如下:

这里的激活函数为softmax。

3. Graph Convolutional Network 图卷积网络

posted @   青梧成林2022  阅读(265)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
点击右上角即可分享
微信分享提示