图注意力网络(GAT):原理、实现与应用
1. 技术要求
所有代码示例可在 GitHub 上找到: https://github.com/PacktPublishing/Hands-On-Graph-Neural-Networks-Using-Python/tree/main/Chapter07 。在本地机器上运行代码所需的安装步骤可参考相关说明。
2. 图注意力层介绍
图注意力网络(GAT)的核心思想是,某些节点比其他节点更重要。在图卷积层中,邻居较少的节点由于归一化系数的原因,相对更重要,但这种方法有局限性,因为它仅考虑了节点的度。而图注意力层的目标是生成权重因子,同时考虑节点特征的重要性。
我们将权重因子称为注意力分数,用 $\alpha_{ij}$ 表示节点 $i$ 和 $j$ 之间的注意力分数。图注意力算子可定义为:
$h_i = \sum_{j \in \mathcal{N} i} \alpha {ij} \mathbf{W} x_j$
GAT 的一个重要特征是,注意力分数是通过相互比较输入来隐式计算的(因此称为自注意力)。计算注意力分数可分为以下四个步骤,同时还有对图注意力层的改进:
- 线性变换
- 激活函数
- Softmax 归一化
- 多头注意力
- 改进的图注意力层
超级会员免费看
订阅专栏 解锁全文
27

被折叠的 条评论
为什么被折叠?



