
摘要
图注意力网络(GATs)是当前最流行的图神经网络(GNN)架构之一,被认为是图表示学习领域的前沿架构。在GAT中,每个节点根据其自身的表示作为查询来关注其邻居节点。然而,在本文中我们指出,GAT计算的是一种非常有限的注意力机制:注意力分数的排序与查询节点无关。我们正式定义了这种受限的注意力机制为静态注意力,并将其与表达能力更强的动态注意力区分开来。由于GAT使用的是静态注意力机制,因此存在一些简单的图问题,GAT无法解决:在一个受控问题中,我们展示了静态注意力阻碍了GAT甚至拟合训练数据的能力。为了消除这一限制,我们通过修改操作顺序引入了一个简单的修复方法,并提出了GATv2:一种严格比GAT更具表达能力的动态图注意力变体。我们进行了广泛的评估,结果显示GATv2在11个OGB基准测试和其他基准测试中的表现优于GAT,同时参数成本与之相当。我们的代码可在https://github.com/tech-srl/how_attentive_are_gats 获取。GATv2已集成到PyTorch Geometric库、Deep Graph Library和TensorFlow GNN库中。
代码仓库
tech-srl/how_attentive_are_gats
官方
pytorch
GitHub 中提及
briangodwinlim/sir-gcn
pytorch
GitHub 中提及
machadoprx/GATv2-TensorFlow2
tf
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| graph-classification-on-dd | GATv2 | Accuracy: 75.966±2.191 |
| graph-classification-on-enzymes | GATv2 | Accuracy: 77.987±2.112 |
| graph-classification-on-imdb-b | GATv2 | Accuracy: 80.000±2.739 |
| graph-classification-on-nci1 | GATv2 | Accuracy: 82.384±1.700 |
| graph-classification-on-nci109 | GATv2 | Accuracy: 83.092±0.764 |
| graph-classification-on-proteins | GATv2 | Accuracy: 77.679±2.187 |
| graph-regression-on-esr2 | GATv2 | R2: 0.655±0.000 RMSE: 0.518±0.655 |
| graph-regression-on-f2 | GATv2 | R2: 0.885±0.000 RMSE: 0.344±0.885 |
| graph-regression-on-kit | GATv2 | R2: 0.826±0.000 RMSE: 0.453±0.826 |
| graph-regression-on-lipophilicity | GATv2 | R2: 0.821±0.009 RMSE: 0.534±0.014 |
| graph-regression-on-parp1 | GATv2 | R2: 0.919±0.000 RMSE: 0.356±0.919 |
| graph-regression-on-pgr | GATv2 | R2: 0.666±0.000 RMSE: 0.558±0.666 |
| graph-regression-on-zinc-full | GATv2 | Test MAE: 0.079±0.004 |
| molecular-property-prediction-on-esol | GATv2 | R2: 0.928±0.005 RMSE: 0.549±0.020 |
| molecular-property-prediction-on-freesolv | GATv2 | R2: 0.970±0.007 RMSE: 0.676±0.081 |