当前位置:   article > 正文

图注意力网络(Graph Attention Network, GAT) 模型解读与代码实现(tensorflow2.0)_gat tensorflow实现

gat tensorflow实现

前面的文章,我们讲解了图神经网络三剑客GCN、GraphSAGE、GAT中的两个:

  1. 图卷积神经网络(GCN)理解与tensorflow2.0代码实现
  2. GraphSAGE 模型解读与tensorflow2.0代码实现

本要讲的是GAT(Graph Attention Network),它使用 Attention 机制来对邻居节点进行加权求和,和一般的Attention 机制一样,分为计算注意力系数和加权求和两个步骤。

GAT中的 Attention 机制

先来看看每一层的输入与输出:
 input  : h = { h ⃗ 1 , h ⃗ 2 , … , h ⃗ N } , h ⃗ i ∈ R F  output  : h ′ = { h ⃗ 1 ′ , h ⃗ 2 ′ , … , h ⃗ N ′ } , h ⃗ i ′ ∈ R F \text { input }: \mathbf{h}=\left\{\vec{h}_{1}, \vec{h}_{2}, \ldots, \vec{h}_{N}\right\}, \vec{h}_{i} \in \mathrm{R}^{F} \\ \text { output }: \mathbf{h}^{\prime}=\left\{\vec{h}_{1}^{\prime}, \vec{h}_{2}^{\prime}, \ldots, \vec{h}_{N}^{\prime}\right\}, \vec{h}_{i}^{\prime} \in \mathrm{R}^{F}  input :h={ h 1,h 2,,h N},h iRF output :h={ h 1,h 2,,h N},h iRF

1. 计算注意力系数

首先计算顶点 i i i 与周围邻居节点 j ∈ N i j \in \mathcal N_i jNi 的相似度:
e i j = a ( W h ⃗ i , W h ⃗ j ) e_{i j}=a\left(\mathbf{W} \vec{h}_{i}, \mathbf{W} \vec{h}_{j}\right) eij=a(Wh

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/833742
推荐阅读
相关标签
  

闽ICP备14008679号