Year: 2022

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

heading: 1 INTRODUCTION
text: Graph neural networks (GNNs; Gori et al., 2005; Scarselli et al., 2008) have seen increasing popularity over the past few years (Duvenaud et al., 2015; Atwood and Towsley, 2016; Bronstein et al., 2017; Monti et al., 2017). GNNs provide a general and efficient framework to learn from graph-structured data. Thus, GNNs are easily applicable in domains where the data can be represented as a set of nodes and the prediction depends on the relationships (edges) between the nodes. Such domains include molecules, social networks, product recommendation, computer programs and more.
In a GNN, each node iteratively updates its state by interacting with its neighbors. GNN variants (Wu et al., 2019; Xu et al., 2019; Li et al., 2016) mostly differ in how each node aggregates and combines the representations of its neighbors with its own. Veličković et al. (2018) pioneered the use of attention-based neighborhood aggregation, in one of the most common GNN variants – Graph Attention Network (GAT). In GAT, every node updates its representation by attending to its neighbors using its own representation as the query. This generalizes the standard averaging or max-pooling of neighbors (Kipf and Welling, 2017; Hamilton et al., 2017), by allowing every node to compute a weighted average of its neighbors, and (softly) select its most relevant neighbors. The work of
1An annotated implementation of GATv2 is available at https://nn.labml.ai/graphs/gatv2/ 2from torch_geometric.nn.conv.gatv2_conv import GATv2Conv 3from dgl.nn.pytorch import GATv2Conv 4from tensorflow_gnn.graph.keras.layers.gat_v2 import GATv2Convolution
k0 k1 k2 k3 k4 k5 k6 k7 k8 k9 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 0.08 0.10 0.10 0.07 0.08 0.08 0.11 0.09 0.20 0.08 0.05 0.10 0.10 0.04 0.04 0.04 0.13 0.06 0.38 0.04 0.05 0.10 0.10 0.04 0.05 0.05 0.13 0.06 0.38 0.05 0.08 0.10 0.10 0.07 0.08 0.08 0.10 0.09 0.24 0.08 0.08 0.09 0.09 0.07 0.07 0.07 0.10 0.08 0.27 0.07 0.09 0.11 0.11 0.08 0.09 0.08 0.11 0.10 0.16 0.09 0.04 0.10 0.11 0.03 0.04 0.04 0.14 0.06 0.40 0.04 0.07 0.09 0.09 0.06 0.07 0.07 0.10 0.08 0.29 0.07 0.04 0.11 0.11 0.02 0.04 0.03 0.14 0.07 0.41 0.04 0.07 0.09 0.09 0.06 0.07 0.07 0.11 0.08 0.30 0.07
k0 k1 k2 k3 k4 k5 k6 k7 k8 k9
0.1
0.2
0.3 0.4 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9
(a) Attention in standard GAT (Veličković et al. (2018))
k0 k1 k2 k3 k4 k5 k6 k7 k8 k9 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 0.95 0.00 0.00 0.01 0.01 0.00 0.00 0.02 0.01 0.00 0.01 0.92 0.01 0.01 0.01 0.00 0.01 0.01 0.00 0.02 0.00 0.00 0.95 0.00 0.00 0.01 0.02 0.01 0.00 0.00 0.01 0.01 0.00 0.94 0.00 0.01 0.00 0.00 0.02 0.01 0.00 0.00 0.00 0.00 0.96 0.00 0.00 0.01 0.01 0.00 0.00 0.01 0.01 0.01 0.01 0.89 0.01 0.01 0.04 0.02 0.00 0.01 0.04 0.00 0.01 0.01 0.86 0.02 0.01 0.03 0.04 0.02 0.01 0.01 0.03 0.01 0.00 0.87 0.00 0.01 0.01 0.00 0.01 0.01 0.01 0.01 0.01 0.00 0.94 0.00 0.01 0.02 0.01 0.01 0.01 0.01 0.01 0.00 0.00 0.93
k0 k1 k2 k3 k4 k5 k6 k7 k8 k9 0.0
0.2
0.4
0.6
0.8
1.0
q0 q1 q2 q3 q4 q5 q6 q7 q8 q9
(b) Attention in GATv2, our fixed version of GAT
Figure 1: In a complete bipartite graph of “query nodes” {q0, ..., q9} and “key nodes” {k0, ..., k9}: standard GAT (Figure 1a) computes static attention – the ranking of attention coefficients is global for all nodes in the graph, and is unconditioned on the query node. For example, all queries (q0 to q9) attend mostly to the 8th key (k8). In contrast, GATv2 (Figure 1b) can actually compute dynamic attention, where every query has a different ranking of attention coefficients of the keys.
Veličković et al. also generalizes the Transformer’s (Vaswani et al., 2017) self-attention mechanism, from sequences to graphs (Joshi, 2020).
Nowadays, GAT is one of the most popular GNN architectures (Bronstein et al., 2021) and is considered as the state-of-the-art neural architecture for learning with graphs (Wang et al., 2019a). Nevertheless, in this paper we show that GAT does not actually compute the expressive, well known, type of attention (Bahdanau et al., 2014), which we call dynamic attention. Instead, we show that GAT computes only a restricted “static” form of attention: for any query node, the attention function is monotonic with respect to the neighbor (key) scores. That is, the ranking (the argsort) of attention coefficients is identical for all nodes in the graph, and is unconditioned on the query node. This fact severely hurts the expressiveness of GAT, and is demonstrated in Figure 1a.
Supposedly, the conceptual idea of attention as the form of interaction between GNN nodes is orthogonal to the specific choice of attention function. However, Veličković et al.’s original design of GAT has spread to a variety of domains (Yang et al., 2020; Wang et al., 2019c; Huang and Carley, 2019; Ma et al., 2020; Kosaraju et al., 2019; Nathani et al., 2019; Wu et al., 2020; Zhang et al., 2020) and has become the default implementation of “graph attention network” in all popular GNN libraries such as PyTorch Geometric (Fey and Lenssen, 2019), DGL (Wang et al., 2019b), and others (Dwivedi et al., 2020; Gordić, 2020; Brockschmidt, 2020). Many other works employed GNNs with attention mechanisms other than the standard GAT’s (Yun et al. (2019), see also Appendix A). However, none of these works identified the monotonicity of GAT’s attention mechanism, the theoretical differences between attention types, nor empirically compared their performance.
To overcome the limitation we identified in GAT, we introduce a simple fix to its attention function by only modifying the order of internal operations. The result is GATv2 – a graph attention variant that has a universal approximator attention function, and is thus strictly more expressive than GAT. The effect of fixing the attention function in GATv2 is demonstrated in Figure 1b.
In summary, our main contribution is identifying that one of the most popular GNN types, the graph attention network, does not compute dynamic attention, the kind of attention that it seems to compute. We introduce formal definitions for analyzing the expressive power of graph attention mechanisms (Definitions 3.1 and 3.2), and derive our claims theoretically (Theorem 1) from the equations of Veličković et al. (2018). Empirically, we use a synthetic problem to show that standard GAT cannot express problems that require dynamic attention (Section 4.1). We introduce a simple fix by switching the order of internal operations in GAT, and propose GATv2, which does compute dynamic attention (Theorem 2). We further conduct a thorough empirical comparison of GAT and GATv2 and find that GATv2 outperforms GAT across 12 benchmarks of node-, link-, and graph-prediction. For example, GATv2 outperforms extensively tuned GNNs by over 1.4% in the difficult “UnseenProj Test” set of the VarMisuse task (Allamanis et al., 2018), without any hyperparameter tuning; and GATv2 improves over an extensively-tuned GAT by 11.5% in 13 prediction objectives in QM9. In node-prediction benchmarks from OGB (Hu et al., 2020), not only that GATv2 outperforms GAT with respect to accuracy – we find that dynamic attention provided a much better robustness to noise.

heading: 2 PRELIMINARIES
text: A directed graph G = (V, E) contains nodes V = {1, ..., n} and edges E ⊆ V × V , where (j, i) ∈ E denotes an edge from a node j to a node i. We assume that every node i ∈ V has an initial representation h(0)i ∈ Rd0 . An undirected graph can be represented with bidirectional edges.

heading: 2.1 GRAPH NEURAL NETWORKS
text: A graph neural network (GNN) layer updates every node representation by aggregating its neighbors’ representations. A layer’s input is a set of node representations {hi ∈ Rd | i ∈ V} and the set of edges E . A layer outputs a new set of node representations {h′i ∈ Rd
′ | i ∈ V}, where the same parametric function is applied to every node given its neighbors Ni = {j ∈ V | (j, i) ∈ E}:
h′i = fθ (hi,AGGREGATE ({hj | j ∈ Ni})) (1) The design of f and AGGREGATE is what mostly distinguishes one type of GNN from the other. For example, a common variant of GraphSAGE (Hamilton et al., 2017) performs an element-wise mean as AGGREGATE, followed by concatenation with hi, a linear layer and a ReLU as f .

heading: 2.2 GRAPH ATTENTION NETWORKS
text: GraphSAGE and many other popular GNN architectures (Xu et al., 2019; Duvenaud et al., 2015) weigh all neighbors j ∈ Ni with equal importance (e.g., mean or max-pooling as AGGREGATE). To address this limitation, GAT (Veličković et al., 2018) instantiates Equation (1) by computing a learned weighted average of the representations ofNi. A scoring function e : Rd×Rd→R computes a score for every edge (j, i), which indicates the importance of the features of the neighbor j to the node i:
e (hi,hj) = LeakyReLU ( a> · [Whi‖Whj ] ) (2)
where a ∈ R2d′ , W ∈ Rd′×d are learned, and ‖ denotes vector concatenation. These attention scores are normalized across all neighbors j ∈ Ni using softmax, and the attention function is defined as:
αij = softmaxj (e (hi,hj)) = exp (e (hi,hj))∑
j′∈Ni exp (e (hi,hj′)) (3)
Then, GAT computes a weighted average of the transformed features of the neighbor nodes (followed by a nonlinearity σ) as the new representation of i, using the normalized attention coefficients:
h′i = σ (∑
j∈Ni αij ·Whj
) (4)
From now on, we will refer to Equations (2) to (4) as the definition of GAT.

heading: 3 THE EXPRESSIVE POWER OF GRAPH ATTENTION MECHANISMS
text: In this section, we explain why attention is limited when it is not dynamic (Section 3.1). We then show that GAT is severely constrained, because it can only compute static attention (Section 3.2). Next, we show how GAT can be fixed (Section 3.3), by simply modifying the order of operations.
We refer to a neural architecture (e.g., the scoring or the attention function of GAT) as a family of functions, parameterized by the learned parameters. An element in the family is a concrete function with specific trained weights. In the following, we use [n] to denote the set [n] = {1, 2, ..., n} ⊂ N.

heading: 3.1 THE IMPORTANCE OF DYNAMIC WEIGHTING
text: Attention is a mechanism for computing a distribution over a set of input key vectors, given an additional query vector. If the attention function always weighs one key at least as much as any other key, unconditioned on the query, we say that this attention function is static: Definition 3.1 (Static attention). A (possibly infinite) family of scoring functions F ⊆( Rd × Rd → R ) computes static scoring for a given set of key vectors K= {k1, ...,kn}⊂Rd and query vectors Q= {q1, ..., qm}⊂Rd, if for every f ∈ F there exists a “highest scoring” key jf ∈ [n] such that for every query i ∈ [m] and key j ∈ [n] it holds that f ( qi,kjf ) ≥ f (qi,kj). We say that a family of attention functions computes static attention given K and Q, if its scoring function computes static scoring, possibly followed by monotonic normalization such as softmax.
Static attention is very limited because every function f ∈ F has a key that is always selected, regardless of the query. Such functions cannot model situations where different keys have different relevance to different queries. Static attention is demonstrated in Figure 1a.
The general and powerful form of attention is dynamic attention: Definition 3.2 (Dynamic attention). A (possibly infinite) family of scoring functions F ⊆( Rd × Rd → R ) computes dynamic scoring for a given set of key vectors K= {k1, ...,kn}⊂Rd and query vectors Q= {q1, ..., qm}⊂Rd, if for any mapping ϕ: [m]→ [n] there exists f ∈ F such that for any query i ∈ [m] and any key j 6=ϕ(i) ∈ [n]: f ( qi,kϕ(i) ) > f (qi,kj). We say that a family of attention functions computes dynamic attention for K and Q, if its scoring function computes dynamic scoring, possibly followed by monotonic normalization such as softmax.
That is, dynamic attention can select every key ϕ (i) using the query i, by making f ( qi,kϕ(i) ) the maximal in {f (qi,kj) | j ∈ [n]}. Note that dynamic and static attention are exclusive properties, but they are not complementary. Further, every dynamic attention family has strict subsets of static attention families with respect to the same K and Q. Dynamic attention is demonstrated in Figure 1b.
Attending by decaying Another way to think about attention is the ability to “focus” on the most relevant inputs, given a query. Focusing is only possible by decaying other inputs, i.e., giving these decayed inputs lower scores than others. If one key is always given an equal or greater attention score than other keys (as in static attention), no query can ignore this key or decay this key’s score.

heading: 3.2 THE LIMITED EXPRESSIVITY OF GAT
text: Although the scoring function e can be defined in various ways, the original definition of Veličković et al. (2018) (Equation (2)) has become the de facto practice: it has spread to a variety of domains and is now the standard implementation of “graph attention network” in all popular GNN libraries (Fey and Lenssen, 2019; Wang et al., 2019b; Dwivedi et al., 2020; Gordić, 2020; Brockschmidt, 2020).
The motivation of GAT is to compute a representation for every node as a weighted average of its neighbors. Statedly, GAT is inspired by the attention mechanism of Bahdanau et al. (2014) and the self-attention mechanism of the Transformer (Vaswani et al., 2017). Nonetheless: Theorem 1. A GAT layer computes only static attention, for any set of node representations K = Q = {h1, ...,hn}. In particular, for n> 1, a GAT layer does not compute dynamic attention.
Proof. Let G = (V, E) be a graph modeled by a GAT layer with some a and W values (Equations (2) and (3)), and having node representations {h1, ...,hn}. The learned parameter a can be written as a
concatenation a = [a1‖a2] ∈ R2d ′ such that a1,a2 ∈ Rd ′ , and Equation (2) can be re-written as:
e (hi,hj) = LeakyReLU ( a>1 Whi + a > 2 Whj ) (5)
Since V is finite, there exists a node jmax ∈ V such that a>2 Whjmax is maximal among all nodes j ∈ V (jmax is the jf required by Definition 3.1). Due to the monotonicity of LeakyReLU and softmax, for every query node i ∈ V , the node jmax also leads to the maximal value of its attention distribution {αij | j ∈ V}. Thus, from Definition 3.1 directly, α computes only static attention. This also implies that α does not compute dynamic attention, because in GAT, Definition 3.2 holds only for constant mappings ϕ that map all inputs to the same output.
The consequence of Theorem 1 is that for any set of nodes V and a trained GAT layer, the attention function α defines a constant ranking (argsort) of the nodes, unconditioned on the query nodes i. That is, we can denote sj = a>2 Whj and get that for any choice of hi, α is monotonic with respect to the per-node scores {sj | j ∈ V}. This global ranking induces the local ranking of every neighborhood Ni. The only effect of hi is in the “sharpness” of the produced attention distribution. This is demonstrated in Figure 1a (bottom), where different curves denote different queries (hi). A discussion regarding the generalization to multi-head attention can be found in Appendix C.

heading: 3.3 BUILDING DYNAMIC GRAPH ATTENTION NETWORKS
text: To create a dynamic graph attention network, we modify the order of internal operations in GAT and introduce GATv2 – a simple fix of GAT that has a strictly more expressive attention mechanism.
GATv2 The main problem in the standard GAT scoring function (Equation (2)) is that the learned layers W and a are applied consecutively, and thus can be collapsed into a single linear layer. To fix this limitation, we simply apply the a layer after the nonlinearity (LeakyReLU), and the W layer after the concatenation, 5 effectively applying an MLP to compute the score for each query-key pair:
GAT (Veličković et al., 2018): e (hi,hj) =LeakyReLU ( a> · [Whi‖Whj ] ) (6)
GATv2 (our fixed version): e (hi,hj) =a>LeakyReLU (W · [hi‖hj ]) (7)
The simple modification makes a significant difference in the expressiveness of the attention function:
Theorem 2. A GATv2 layer computes dynamic attention for any set of node representations K = Q = {h1, ...,hn} .
We prove Theorem 2 in Appendix B. The main idea is that we can define an appropriate function that GATv2 will be a universal approximator (Cybenko, 1989; Hornik, 1991) of. In contrast, GAT (Equation (52)) cannot approximate any such desired function (Theorem 1).
Complexity GATv2 has the same time-complexity as GAT’s declared complexity:O (|V|dd′ + |E|d′). However, by merging its linear layers, GAT can be computed faster than stated by Veličković et al. (2018). For a detailed time- and parametric-complexity analysis, see Appendix I.

heading: 4 EVALUATION
text: First, we demonstrate the weakness of GAT using a simple synthetic problem that GAT cannot even fit (cannot even achieve high training accuracy), but is easily solvable by GATv2 (Section 4.1). Second, we show that GATv2 is much more robust to edge noise, because its dynamic attention mechanisms allow it to decay noisy (false) edges, while GAT’s performance severely decreases as noise increases (Section 4.2). Finally, we compare GAT and GATv2 across 12 benchmarks overall. (Sections 4.3 to 4.6 and appendix F.4). We find that GAT is inferior to GATv2 across all examined benchmarks.
Setup When previous results exist, we take hyperparameters that were tuned for GAT and use them in GATv2, without any additional tuning. Self-supervision (Kim and Oh, 2021; Rong et al., 2020a), graph regularization (Zhao and Akoglu, 2020; Rong et al., 2020b), and other tricks (Wang, 2021; Huang et al., 2021) are orthogonal to the contribution of the GNN layer itself, and may further improve
5We also add a bias vector b before applying the nonlinearity, we omit this in Equation (7) for brevity.
all GNNs. In all experiments of GATv2, we constrain the learned matrix by setting W = [W ′‖W ′], to rule out the increased number of parameters over GAT as the source of empirical difference (see Appendix I.2). Training details, statistics, and code are provided in Appendix D.
Our main goal is to compare dynamic and static graph attention mechanisms. However, for reference, we also include non-attentive baselines such as GCN (Kipf and Welling, 2017), GIN (Xu et al., 2019) and GraphSAGE (Hamilton et al., 2017). These non-attentive GNNs can be thought of as a special case of attention, where every node gives all its neighbors the same attention score. Additional comparison to a Transformer-style scaled dot-product attention (“DPGAT”), which is strictly weaker than our proposed GATv2 (see a proof in Appendix G.1), is shown in Appendix G.

heading: 4.1 SYNTHETIC BENCHMARK: DICTIONARYLOOKUP
text: The DICTIONARYLOOKUP problem is a contrived problem that we designed to test the ability of a GNN architecture to perform dynamic attention. Here, we demonstrate that GAT cannot learn this simple problem. Figure 2 shows a complete bipartite graph of 2k nodes. Each “key node” in the bottom row has an attribute ({A,B,C, ...}) and a value ({1, 2, 3, ...}). Each “query node” in the upper row has only an attribute ({A,B,C, ...}). The goal is to predict the value of every query node (upper row), according to its attribute. Each graph in the dataset has a different mapping from attributes to values. We created a separate dataset for each k = {1, 2, 3, ...}, for which we trained a different model, and measured per-node accuracy.
Although this is a contrived problem, it is relevant to any subgraph with keys that share more than one query, and each query needs to attend to the keys differently. Such subgraphs are very common in a variety of real-world domains. This problem tests the layer itself because it can be solved using a single GNN layer, without suffering from multi-layer side-effects such as over-smoothing (Li et al., 2018), over-squashing (Alon and Yahav, 2021), or vanishing gradients (Li et al., 2019). Our code will be made publicly available, to serve as a testbed for future graph attention mechanisms.
Results Figure 3 shows the following surprising results: GAT with a single head (GAT1h) failed to fit the training set for any value of k, no matter for how many iterations it was trained, and after trying various training methods. Thus, it expectedly fails to generalize (resulting in low test accuracy). Using 8 heads, GAT8h successfully fits the training set, but generalizes poorly to the test set. In contrast, GATv2 easily achieves 100% training and 100% test accuracies for any value of k, and even for k=100 (not shown) and using a single head, thanks to its ability to perform dynamic attention. These results clearly show the limitations of GAT, which are easily solved by GATv2. An additional comparison to GIN, which could not fit this dataset, is provided in Figure 5 in Appendix F.1.
Visualization Figure 1a (top) shows a heatmap of GAT’s attention scores in this DICTIONARYLOOKUP problem. As shown, all query nodes q0 to q9 attend mostly to the eighth key (k8), and have the same ranking of attention coefficients (Figure 1a (bottom)). In contrast, Figure 1b shows how GATv2 can select a different key node for every query node, because it computes dynamic attention.
The role of multi-head attention Veličković et al. (2018) found the role of multi-head attention to be stabilizing the learning process. Nevertheless, Figure 3 shows that increasing the number of heads strictly increases training accuracy, and thus, the expressivity. Thus, GAT depends on having multiple attention heads. In contrast, even a single GATv2 head generalizes better than a multi-head GAT.

heading: 4.2 ROBUSTNESS TO NOISE
text: We examine the robustness of dynamic and static attention to noise. In particular, we focus on structural noise: given an input graph G=(V, E) and a noise ratio 0≤ p≤ 1, we randomly sample |E|×p non-existing edges E ′ from V×V\E . We then train the GNN on the noisy graph G′=(V, E∪E ′).
Results Figure 8 shows the accuracy on two node-prediction datasets from the Open Graph Benchmark (OGB; Hu et al., 2020) as a function of the noise ratio p. As p increases, all models show a natural decline in test accuracy in both datasets. Yet, thanks to their ability to compute dynamic attention, GATv2 shows a milder degradation in accuracy compared to GAT, which shows a steeper descent. We hypothesize that the ability to perform dynamic attention helps the models distinguishing between given data edges (E) and noise edges (E ′); in contrast, GAT cannot distinguish between edges, because it scores the source and target nodes separately. These results clearly demonstrate the robustness of dynamic attention over static attention in noisy settings, which are common in reality.

heading: 4.3 PROGRAMS: VARMISUSE
text: Setup VARMISUSE (Allamanis et al., 2018) is an inductive node-pointing problem that depends on 11 types of syntactic and semantic interactions between elements in computer programs.
Table 1: Accuracy (5 runs±stdev) on VARMISUSE. GATv2 is more accurate than all GNNs in both test sets, using GAT’s hyperparameters. † previously reported by Brockschmidt (2020).
Model SeenProj UnseenProj
NoAttention GCN† 87.2±1.5 81.4±2.3 GIN† 87.1±0.1 81.1±0.9
Attention GAT † 86.9±0.7 81.2±0.9
GATv2 88.0±1.1 82.8±1.7
We used the framework of Brockschmidt (2020), who performed an extensive hyperparameter tuning by searching over 30 configurations for every GNN type. We took their best GAT hyperparameters and used them to train GATv2, without further tuning.
Results As shown in Table 1, GATv2 is more accurate than GAT and other GNNs in the SeenProj test sets. Furthermore, GATv2 achieves an even higher improvement in the UnseenProj test set. Overall, these results demonstrate the power of GATv2 in modeling complex relational problems, especially since it outperforms extensively tuned models, without any further tuning by us.

heading: 4.4 NODE-PREDICTION
text: We further compare GATv2, GAT, and other GNNs on four node-prediction datasets from OGB.
Results Results are shown in Table 2. In all settings and all datasets, GATv2 is more accurate than GAT and the non-attentive GNNs. Interestingly, in the datasets of Table 2a, even a single head of GATv2 outperforms GAT with 8 heads. In Table 2b (ogbn-proteins), increasing the number of heads results in a major improvement for GAT (from 70.77 to 78.63), while GATv2 already gets most of the benefit using a single attention head. These results demonstrate the superiority of GATv2 over GAT in node prediction (and even with a single head), thanks to GATv2’s dynamic attention.

heading: 4.5 GRAPH-PREDICTION: QM9
text: Setup In the QM9 dataset (Ramakrishnan et al., 2014; Gilmer et al., 2017), each graph is a molecule and the goal is to regress each graph to 13 real-valued quantum chemical properties. We used the implementation of Brockschmidt (2020) who performed an extensive hyperparameter search over 500 configurations; we took their best-found configuration of GAT to implement GATv2.
Results Table 3 shows the main results: GATv2 achieves a lower (better) average error than GAT, by 11.5% relatively. GAT achieves the overall highest average error. In some properties, the non-attentive GNNs, GCN and GIN, perform best. We hypothesize that attention is not needed in modeling these properties. Generally, GATv2 achieves the lowest overall average relative error (rightmost column).

heading: 4.6 LINK-PREDICTION
text: We compare GATv2, GAT, and other GNNs in link-prediction datasets from OGB.
Results Table 8 shows that in all datasets, GATv2 achieves a higher MRR than GAT, which achieves the lowest MRR. However, the non-attentive GraphSAGE performs better than all attentive GNNs. We hypothesize that attention might not be needed in these datasets. Another possibility is that dynamic attention is especially useful in graphs that have high node degrees: in ogbn-products and ogbn-proteins (Table 2) the average node degrees are 50.5 and 597, respectively (see Table 5 in
Appendix E). ogbl-collab and ogbl-citation2 (Table 8), however, have much lower average node degrees – of 8.2 and 20.7. We hypothesize that a dynamic attention mechanism is especially useful to select the most relevant neighbors when the total number of neighbors is high. We leave the study of the effect of the datasets’s average node degrees on the optimal GNN architecture for future work.

heading: 4.7 DISCUSSION
text: In all examined benchmarks, we found that GATv2 is more accurate than GAT. Further, we found that GATv2 is significantly more robust to noise than GAT. In the synthetic DICTIONARYLOOKUP benchmark (Section 4.1), GAT fails to express the data, and thus achieves even poor training accuracy.
In few of the benchmarks (Table 8 and some of the properties in Table 3) – a non-attentive model such as GCN or GIN achieved a higher accuracy than all GNNs that do use attention. We hypothesize that attention is not needed in these datasets.
Which graph attention mechanism should I use? It is usually impossible to determine in advance which architecture would perform best. A theoretically weaker model may perform better in practice, because a stronger model might overfit the training data if the task is “too simple” and does not require such expressiveness. Intuitively, we believe that the more complex the interactions between nodes are – the more benefit a GNN can take from theoretically stronger graph attention mechanisms such as GATv2. The main question is whether the problem has a global ranking of “influential” nodes (GAT is sufficient), or do different nodes have different rankings of neighbors (use GATv2).
Veličković, the author of GAT, has confirmed on Twitter6 that GAT was designed to work in the “easy-to-overfit” datasets of the time (2017), such as Cora, Citeseer and Pubmed (Sen et al., 2008), where the data might had an underlying static ranking of “globally important” nodes. Veličković agreed that newer and more challenging benchmarks may demand stronger attention mechanisms such as GATv2. that depends on the representation of the query node as well. In this paper, we revisit the traditional assumptions and show that many modern graph benchmarks and datasets contain more complex interactions, and thus require dynamic attention.

heading: 5 CONCLUSION
text: In this paper, we identify that the popular and widespread Graph Attention Network does not compute dynamic attention. Instead, the attention mechanism in the standard definition and implementations of GAT is only static: for any query, its neighbor-scoring is monotonic with respect to per-node scores. Further, the ranking (the argsort) of attention coefficients is identical for all nodes in the graph, and is unconditioned on the query node. As a result, GAT cannot even express simple alignment problems. To address this limitation, we introduce a simple fix and propose GATv2: by modifying the order of operations in GAT, GATv2 achieves a universal approximator attention function and is thus strictly more powerful than GAT.
We demonstrate the empirical advantage of GATv2 over GAT in a synthetic problem that requires dynamic selection of nodes, and in 12 benchmarks from OGB and other public datasets. Our experiments show that GATv2 outperforms GAT in all benchmarks while having the same parametric cost.
We encourage the community to use GATv2 instead or in addition to GAT whenever comparing new GNN architectures to the common strong baselines. In complex tasks and domains and in challenging datasets, a model that uses GAT as an internal component can replace it with GATv2 to benefit from a strictly more powerful model. To this end, we make our code publicly available at https: //github.com/tech-srl/how_attentive_are_gats ,7 and GATv2 is available as part of the PyTorch Geometric library,8 the Deep Graph Library,9 and the TensorFlow GNN library.10
6https://twitter.com/PetarV_93/status/1399685979506675714 7An annotated implementation of GATv2 is available at https://nn.labml.ai/graphs/gatv2/ 8from torch_geometric.nn.conv.gatv2_conv import GATv2Conv 9from dgl.nn.pytorch import GATv2Conv
10from tensorflow_gnn.graph.keras.layers.gat_v2 import GATv2Convolution

heading: ACKNOWLEDGMENTS
text: We thank Gail Weiss for the helpful discussions, thorough feedback, and inspirational paper (Weiss et al., 2018). We also thank Petar Veličković for the useful initial discussion about the complexity and implementation of GAT, Lucio Dery, and the Graph Representation Learning Reading Group at Mila11 for their useful comments and questions.

heading: A RELATED WORK
text: Attention in GNNs Modeling pairwise interactions between elements in graph-structured data goes back to interaction networks (Battaglia et al., 2016; Hoshen, 2017) and relational networks (Santoro et al., 2017). The GAT formulation of Veličković et al. (2018) rose as the most popular framework for attentional GNNs, thanks to its simplicity, generality, and applicability beyond reinforcement learning (Denil et al., 2017; Duan et al., 2017). Nevertheless, in this work, we show that the popular and widespread definition of GAT is severely constrained to static attention only.
Other graph attention mechanisms Many works employed GNNs with attention mechanisms other than the standard GAT’s (Zhang et al., 2018; Thekumparampil et al., 2018; Gao and Ji, 2019; Lukovnikov and Fischer, 2021; Shi et al., 2020; Dwivedi and Bresson, 2020; Busbridge et al., 2019; Rong et al., 2020a; Veličković et al., 2020), and Lee et al. (2018) conducted an extensive survey of attention types in GNNs. However, none of these works identified the monotonicity of GAT’s attention mechanism, the theoretical differences between attention types, nor empirically compared their performance. Kim and Oh (2021) compared two graph attention mechanisms empirically, but in a specific self-supervised scenario, without observing the theoretical difference in their expressiveness.
The static attention of GAT Qiu et al. (2018) recognized the order-preserving property of GAT, but did not identify the severe theoretical constraint that this property implies: the inability to perform dynamic attention (Theorem 1). Furthermore, they presented GAT’s monotonicity as a desired trait (!) To the best of our knowledge, our work is the first work to recognize the inability of GAT to perform dynamic attention and its practical harmful consequences.

heading: B PROOF FOR THEOREM 2
text: For brevity, we repeat our definition of dynamic attention (Definition 3.2):
Definition 3.2 (Dynamic attention). A (possibly infinite) family of scoring functions F ⊆( Rd × Rd → R ) computes dynamic scoring for a given set of key vectors K= {k1, ...,kn}⊂Rd and query vectors Q= {q1, ..., qm}⊂Rd, if for any mapping ϕ: [m]→ [n] there exists f ∈ F such that for any query i ∈ [m] and any key j 6=ϕ(i) ∈ [n]: f ( qi,kϕ(i) ) > f (qi,kj). We say that a family of attention functions computes dynamic attention for K and Q, if its scoring function computes dynamic scoring, possibly followed by monotonic normalization such as softmax.
Theorem 2. A GATv2 layer computes dynamic attention for any set of node representations K = Q = {h1, ...,hn} .
Proof. Let G = (V, E) be a graph modeled by a GATv2 layer, having node representations {h1, ...,hn}, and let ϕ : [n] → [n] be any node mapping [n] → [n]. We define g : R2d → R as follows:
g (x) =
{ 1 ∃i : x = [ hi‖hϕ(i) ] 0 otherwise
(8)
Next, we define a continues function g̃ : R2d → R that equals to g in only specific n2 inputs:
g̃([hi‖hj ]) = g([hi‖hj ]),∀i, j ∈ [n] (9)
11https://grlmila.github.io/
For all other inputs x ∈ R2d, g̃(x) realizes to any values that maintain the continuity of g̃ (this is possible because we fixed the values of g̃ for only a finite set of points). 12
Thus, for every node i ∈ V and j6=ϕ(i) ∈ V: 1 = g̃ ([ hi‖hϕ(i) ]) > g̃ ([hi‖hj ]) = 0 (10)
If we concatenate the two input vectors, and define the scoring function e of GATv2 (Equation (7)) as a function of the concatenated vector [hi‖hj ], from the universal approximation theorem (Hornik et al., 1989; Cybenko, 1989; Funahashi, 1989; Hornik, 1991), e can approximate g̃ for any compact subset of R2d.
Thus, for any sufficiently small (any 0 < < 1/2) there exist parameters W and a such that for every node i ∈ V and every j 6=ϕ(i):
eW ,a ( hi,hϕ(i) ) > 1− > 0 + > eW ,a (hi,hj) (11)
and due to the increasing monotonicity of softmax:
αi,ϕ(i) > αi,j (12)
The choice of nonlinearity In general, these results hold if GATv2 had used any common nonpolynomial activation function (such as ReLU, sigmoid, or the hyperbolic tangent function). The LeakyReLU activation function of GATv2 does not change its universal approximation ability (Leshno et al., 1993; Pinkus, 1999; Park et al., 2021), and it was chosen only for consistency with the original definition of GAT.

heading: C GENERALIZATION TO MULTI-HEAD ATTENTION
text: Veličković et al. (2018) found it beneficial to employ H separate attention heads and concatenate their outputs, similarly to Transformers. In this case, Theorem 1 holds for each head separately: every head h ∈ [H] has a (possibly different) node that maximizes {s(h)j | j ∈ V} , and the output is the concatenation of H static attention heads.

heading: D TRAINING DETAILS
text: In this section we elaborate on the training details of all of our experiments. All models use residual connections as in Veličković et al. (2018). All used code and data are publicly available under the MIT license.

heading: D.1 NODE- AND LINK-PREDICTION
text: We used the provided splits of OGB (Hu et al., 2020) and the Adam optimizer. We tuned the following hyperparameters: number of layers ∈ {2, 3, 6}, hidden size ∈ {64, 128, 256}, learning rate ∈ {0.0005, 0.001, 0.005, 0.01} and sampling method – full batch, GraphSAINT (Zeng et al., 2019) and NeighborSampling (Hamilton et al., 2017). We tuned hyperparameters according to validation score and early stopping. The final hyperparameters are detailed in Table 4.
12The function g̃ is a function that we define for the ease of proof, because the universal approximation theorem is defined for continuous functions, and we only need the scoring function of GATv2 e to approximate the mapping ϕ in a finite set of points. So, we need the attention function e to approximate g (from Equation 8) in some specific points. But, since g is not continuous, we define g̃ and use the universal approximation theorem for g̃. Since e approximates g̃, e also approximates g in our specific points, as a special case. We only require that g̃ will be identical to g in specific n2 points {[hi‖hj ] | i, j ∈ [n]}. For the rest of the input space, we don’t have any requirement on the value of g̃, except for maintaining the continuity of g̃. There exist infinitely many such possible g̃ for every given set of keys, queries and a mapping ϕ, but the concrete functions are not needed for the proof.

heading: D.2 ROBUSTNESS TO NOISE
text: In these experiments, we used the same best-found hyperparameters in node-prediction, with 8 attention heads in ogbn-arxiv and 1 head in ogbn-mag. Each point is an average of 10 runs.

heading: D.3 SYNTHETIC BENCHMARK: DICTIONARYLOOKUP
text: In all experiments, we used a learning rate decay of 0.5, a hidden size of d = 128, a batch size of 1024, and the Adam optimizer.
We created a separate dataset for every graph size (k), and we split each such dataset to train and test with a ratio of 80:20. Since this is a contrived problem, we did not use a validation set, and the reported test results can be thought of as validation results. Every model was trained on a fixed value of k. Every key node (bottom row in Figure 2) was encoded as a sum of learned attribute embedding and a value embedding, followed by ReLU.
We experimented with layer normalization, batch normalization, dropout, various activation functions and various learning rates. None of these changed the general trend, so the experiments in Figure 3 were conducted without any normalization, without dropout and a learning rate of 0.001.

heading: D.4 PROGRAMS: VARMISUSE
text: We used the code, splits, and the same best-found configurations as Brockschmidt (2020), who performed an extensive hyperparameter tuning by searching over 30 configurations for each GNN type. We trained each model five times.
We took the best-found hyperparameters of Brockschmidt (2020) for GAT and used them to train GATv2, without any further tuning.

heading: D.5 GRAPH-PREDICTION: QM9
text: We used the code and splits of Brockschmidt (2020) who performed an extensive hyperparameter search over 500 configurations. We took the best-found hyperparameters of Brockschmidt (2020) for GAT and used them to train GATv2. The only minor change from GAT is placing a residual connection after every layer, rather than after every other layer, which is within the experimented hyperparameter search that was reported by Brockschmidt (2020).

heading: D.6 COMPUTE AND RESOURCES
text: Our experiments consumed approximately 100 days of GPU in total. We used cloud GPUs of type V100, and we used RTX 3080 and 3090 in local GPU machines.

heading: E DATA STATISTICS

heading: E.1 NODE- AND LINK-PREDICTION DATASETS
text: Statistics of the OGB datasets we used for node- and link-prediction are shown in Table 5.

heading: E.2 QM9
text: Statistics of the QM9 dataset, as used in Brockschmidt (2020) are shown in Table 6.
E.3 VARMISUSE
Statistics of the VARMISUSE dataset, as used in Allamanis et al. (2018) and Brockschmidt (2020), are shown in Table 7.

heading: F ADDITIONAL RESULTS

heading: F.1 DICTIONARYLOOKUP
text: Figure 5 shows additional comparison between GATv2 and GIN (Xu et al., 2019) in the DICTIONARYLOOKUP problem. GATv2 easily achieves 100% train and test accuracy even for k=100 and using only a single head. GIN, although considered as more expressive than other GNNs, cannot perfectly fit the training data (with a model size of d = 128) starting from k=20.

heading: F.2 LINK-PREDICTION
text: Results for link-prediction are showen in Table 8.

heading: F.3 QM9
text: Standard deviation for the QM9 results of Section 4.5 are presented in Table 9.

heading: F.4 PUBMED CITATION NETWORK
text: We tuned the following parameters for both GAT and GATv2: number of layers ∈ {0, 1, 2}, hidden size ∈ {8, 16, 32}, number of heads ∈ {1, 4, 8}, dropout ∈ {0.4, 0.6, 0.8}, bias ∈ {True, False}, share weights ∈ {True, False}, use residual ∈ {True, False}. Table 10 shows the test accuracy (100 runs±stdev) using the best hyperparameters found for each model. It is important to note that PubMed has only 60 training nodes, which hinders expressive models such as GATv2 from exploiting their approximation and generalization advantages. Still, GATv2 is more accurate than GAT even in this small dataset. In Table 15, we show that this difference is statistically significant (p-value < 0.0001).

heading: G ADDITIONAL COMPARISON WITH TRANSFORMER-STYLE ATTENTION
text: (DPGAT)
The main goal of our paper is to highlight a severe theoretical limitation of the highly popular GAT architecture, and propose a minimal fix.
Brockschmidt (2020).
We perform additional empirical comparison to DPGAT, which follows Luong et al. (2015) and the dot-product attention of the Transformer (Vaswani et al., 2017). We define DPGAT as:
DPGAT (Vaswani et al., 2017): e (hi,hj) = (( h>i Q ) · ( h>j K )>) / √ dk (13)
Variants of DPGAT were used in prior work (Gao and Ji, 2019; Dwivedi and Bresson, 2020; Rong et al., 2020a; Veličković et al., 2020; Kim and Oh, 2021), and we consider it here for the conceptual and empirical comparison with GAT.
Despite its popularity, DPGAT is strictly weaker than GATv2. DPGAT provably performs dynamic attention for any set of node representations only if they are linearly independent (see Theorem 3 and its proof in Appendix G.1). Otherwise, there are examples of node representations that are linearly dependent and mappings ϕ, for which dynamic attention does not hold (Appendix G.2). This constraint is not harmful when violated in practice, because every node has only a small set of neighbors, rather than all possible nodes in the graph; further, some nodes possibly never need to be “selected” in practice.

heading: G.1 PROOF THAT DPGAT PERFORMS DYNAMIC ATTENTION FOR LINEARLY INDEPENDENT NODE REPRESENTATIONS
text: Theorem 3. A DPGAT layer computes dynamic attention for any set of node representations K = Q = {h1, ...,hn} that are linearly independent.
Proof. Let G = (V, E) be a graph modeled by a DPGAT layer, having linearly independent node representations {h1, ...,hn}. Let ϕ : [n]→ [n] be any node mapping [n]→ [n].
We denote the ith row of a matrix M as Mi.
We define a matrix P as:
Pi,j =
{ 1 j = ϕ(i)
0 otherwise (14)
Let X ∈ Rn × Rd be the matrix holding the graph’s node representations as its rows:
X =  — h1 — — h2 —
... — hn —  (15) Since the rows of X are linearly independent, it necessarily holds that d ≥ n. Next, we find weight matrices Q ∈ Rd × Rd and K ∈ Rd × Rd such that:
(XQ) · (XK)> = P (16)
To satisfy Equation (16), we choose Q and K such that XQ = U and XK = P>U where U is an orthonormal matrix (U ·U> = U> ·U = I). We can obtain U using the singular value decomposition (SVD) of X:
X = UΣV > (17)
Since Σ ∈ Rn × Rn and X has a full rank, Σ is invertible, and thus:
XV Σ−1 = U (18)
Now, we define Q as follows: Q = V Σ−1 (19)
Note that XQ = U , as desired.
To find K that satisfies XK = P>U , we use Equation (17) and require:
UΣV >K = P>U (20)
and thus: K = V Σ−1UTP>U (21)
We define: z (hi,hj) = e (hi,hj) · √ dk (22)
Where e is the attention score function of DPGAT (Equation (13)).
Now, for a query i and a key j, and the corresponding representations hi,hj : z (hi,hj) = ( h>i Q ) · ( h>j K )> (23)
= (XiQ) · (XjK)> (24)
Since XiQ = (XQ)i and XjK = (XK)j , we get
z (hi,hj) = (XQ)i · ( (XK)j )> = Pi,j (25)
Therefore:
z (hi,hj) =
{ 1 j = ϕ(i)
0 otherwise (26)
And thus:
e (hi,hj) =
{ 1/ √ dk j = ϕ(i)
0 otherwise (27)
To conclude, for every selected query i and any key j 6=ϕ(i): e ( hi,hϕ(i) ) > e (hi,hj) (28)
and due to the increasing monotonicity of softmax:
αi,ϕ(i) > αi,j (29)
Hence, a DPGAT layer computes dynamic attention.
In the case that d > n, we apply SVD to the full-rank matrix XX> ∈ Rn×n, and follow the same steps to construct Q and K.
In the case that Q ∈ Rd × Rdk and K ∈ Rd × Rdk and dk > d, we can use the same Q and K (Equations (19) and (21)) padded with zeros. We define the Q′ ∈ Rd ×Rdkey and K ′ ∈ Rd ×Rdkey as follows:
Q′i,j = { Qi,j j ≤ d 0 otherwise
(30)
K ′i,j = { Ki,j j ≤ d 0 otherwise
(31)

heading: G.2 DPGAT IS STRICTLY WEAKER THAN GATV2
text: There are examples of node representations that are linearly dependent and mappings ϕ, for which dynamic attention does not hold. First, we show a simple 2-dimensional example, and then we show the general case of such examples.
Consider the following linearly dependent set of vectors K = Q (Figure 6): h0 = x̂ (32) h1 = x̂+ ŷ (33) h2 = x̂+ 2ŷ (34)
where x̂ and ŷ are the cartesian unit vectors. We define β ∈ {0, 1, 2} to express {h0,h1,h2} using the same expression: hβ = x̂+ βŷ (35) Let q ∈ Q be any query vector. For brevity, we define the unscaled dot-product attention score as s:
s (q,hβ) = e (q,hβ) · √ dk (36)
Where e is the attention score function of DPGAT (Equation (13)). The (unscaled) attention score between q and {h0,h1,h2} is:
s (q,hβ) = ( q>Q ) ( h>βK )> (37)
= ( q>Q ) ( (x̂+ βŷ) > K )>
(38) = ( q>Q ) ( x̂>K + βŷ>K )> (39)
= ( q>Q ) ( x̂>K )> + β ( q>Q ) ( ŷ>K )> (40)
The first term ( q>Q ) ( x̂>K )> is unconditioned on β, and thus shared for every hβ . Let us focus
on the second term β ( q>Q ) ( ŷ>K )> . If ( q>Q ) ( ŷ>K )> > 0, then:
e (q,h2) > e (q,h1) (41)
Otherwise, if ( q>Q ) ( ŷ>K )> ≤ 0: e (q,h0) ≥ e (q,h1) (42)
Thus, for any query q, the key h1 can never get the highest score, and thus cannot be “selected”. That is, the key h1 cannot satisfy that e (q,h1) is strictly greater than any other key.
In the general case, let h0,h1 ∈ Rd be some non-zero vectors , and λ is some scalar such that 0 < λ < 1.
Consider the following linearly dependent set of vectors:
K = Q = {βh1 + (1− β)h0 | β ∈ {0, λ, 1}} (43)
For any query q ∈ Q and β ∈ {0, λ, 1} we define: s (q, β) = e (q, (βh1 + (1− β)h0)) · √ dk (44)
Where e is the attention score function of DPGAT (Equation (13)).
Therefore:
s (q, β) = ( q>Q ) ( (βh1 + (1− β)h0)>K )> (45)
= ( q>Q ) ( βh>1 K + (1− β)h>0 K )> (46)
= ( q>Q ) ( βh>1 K + h > 0 K − βh>0 K )> (47)
= ( q>Q ) ( β ( h>1 K − h>0 K ) + h>0 K )> (48)
= β ( q>Q ) ( h>1 K − h>0 K )> + ( q>Q ) ( h>0 K )> (49)
If ( q>Q ) ( h>1 K − h>0 K )> > 0:
e (q,h1) > e (q,hλ) (50)
Otherwise, if ( q>Q ) ( h>1 K − h>0 K )> ≤ 0: e (q,h0) ≥ e (q,hλ) (51)
Thus, for any query q, the key hλ cannot be selected. That is, the key hλ cannot satisfy that e (q,hλ) is strictly greater than any other key. Therefore, there are mappings ϕ, for which dynamic attention does not hold.
While we prove that GATv2 computes dynamic attention (Appendix B) for any set of node representations K = Q, there are sets of node representations and mappings ϕ for which dynamic attention does not hold for DPGAT. Thus, DPGAT is strictly weaker than GATv2.

heading: G.3 EMPIRICAL EVALUATION
text: Here we repeat the experiments of Section 4 with DPGAT. We remind that DPGAT is strictly weaker than our proposed GATv2 (see a proof in Appendix G.1).

heading: H STATISTICAL SIGNIFICANCE
text: Here we report the statistical significance of the strongest GATv2 and GAT models of the experiments reported in Section 4.
Table 13: Average error rates (lower is better), 5 runs ± standard deviation for each property, on the QM9 dataset. The best result among GAT, GATv2 and DPGAT is marked in bold; the globally best result among all GNNs is marked in bold and underline. † was previously tuned and reported by
Brockschmidt (2020).
Predicted Property Model 1 2 3 4 5 6 7

heading: I COMPLEXITY ANALYSIS
text: We repeat the definitions of GAT, GATv2 and DPGAT:
GAT (Veličković et al., 2018): e (hi,hj) =LeakyReLU ( a> · [Whi‖Whj ] ) (52)
GATv2 (our fixed version): e (hi,hj) =a>LeakyReLU (W · [hi‖hj ]) (53) DPGAT (Vaswani et al., 2017): e (hi,hj) = (( h>i Q ) · ( h>j K )>) / √ d′ (54)

heading: I.1 TIME COMPLEXITY
text: GAT As noted by Veličković et al. (2018), the time complexity of a single GAT head may be expressed as O (|V|dd′ + |E|d′). Because of GAT’s static attention, this computation can be further optimized, by merging the linear layer a1 with W , merging a2 with W , and only then compute a>{1,2}Whi for every i ∈ V .
GATv2 require the same computational cost as GAT’s declared complexity: O (|V|dd′ + |E|d′): we denote W = [W1‖W2], where W1 ∈ Rd ′×d and W d ′×d
2 contain the left half and right half of the columns of W , respectively. We can first compute W1hi and W2hj for every i, j ∈ V . This takes O (|V|dd′). Then, for every edge (j, i), we compute LeakyReLU (W · [hi‖hj ]) using the precomputed W1hi and W2hj , since W · [hi‖hj ] = W1hi +W2hj . This takes O (|E|d′). Finally, computing the results of the linear layer a takes additional O (|E|d′) time, and overall O (|V|dd′ + |E|d′).
DPGAT also takes the same time. We can first compute h>i Q and h>j K for every i, j ∈ V . This takesO (|V|dd′). Computing the dot-product ( h>i Q ) ( h>j K )> for every edge (j, i) takes additional

heading: O (|E|d′) time, and overall O (|V|dd′ + |E|d′).

heading: I.2 PARAMETRIC COMPLEXITY
text: All parametric costs are summarized in Table 19. All following calculations refer to a single layer having a single attention head, omitting bias vectors.
GAT has learned vector and a matrix: a ∈ R2d′ and W ∈ Rd′×d, thus overall 2d′ + dd′ learned parameters.
GATv2 has a matrix that is twice larger: W ∈ Rd′×2d, because it is applied on the concatenation [hi‖hj ]. Thus, the overall number of learned parameters is d′ + 2dd′. However in our experiments, to rule out the increased number of parameters over GAT as the source of empirical difference, we constrained W = [W ′‖W ′], and thus the number of parameters were d′ + dd′.
DPGAT has Q and K matrices of sizes ddk each, and additional dd′ parameters in the value matrix V , thus 2ddk + dd′ parameters overall. However in our experiments, we constrained Q = K and set dk = d′, and thus the number of parameters is only 2dd′.

Review summaries:
This paper analyzes the limitation of GAT by pointing out that GAT computes a limited kind of attention: static attention. This paper then introduces a simple fix by modifying the order of operations and proposes GATv2: a dynamic attention variant. Experiments show that GATv2 can outperform GAT.