ICLR2022
How Attentive are Graph Attention Networks?
Shaked Brody, Uri Alon, Eran Yahav
1,717 citations
Abstract
Graph Attention Networks (GATs) are one of the most popular GNN architectures and are considered as the state-of-the-art architecture for representation learning with graphs. In GAT, every node attends to its neighbors given its own representation as the query. However, in this paper we show that GAT computes a very limited kind of attention: the ranking of the attention scores is unconditioned on the query node. We formally define this restricted kind of attention as static attention and distinguish it from a strictly more expressive dynamic attention. Because GATs use a static attention mechanism, there are simple graph problems that GAT cannot express: in a controlled problem, we show that static attention hinders GAT from even fitting the training data. To remove this limitation, we introduce a simple fix by modifying the order of operations and propose GATv2: a dynamic graph attention variant that is strictly more expressive than GAT. We perform an extensive evaluation and show that GATv2 outperforms GAT across 12 OGB and other benchmarks while we match their parametric costs. Our code is available at https://github.com/tech-srl/how_attentive_are_ gats . 1 GATv2 is available as part of the PyTorch Geometric library, 2 the Deep Graph Library, 3 and the TensorFlow GNN library. 4 1 An annotated implementation of GATv2 is available at https://nn.labml.ai/graphs/gatv2/ 2 from torch_geometric.nn.conv.gatv2_conv import GATv2Conv 3 from dgl.nn.pytorch import GATv2Conv 4 from tensorflow_gnn.graph.keras.layers.gat_v2 import GATv2Convolution