HOW ATTENTIVE ARE GRAPH ATTENTION NETWORKS?
Shaked Brody
Technion
shakedbr@cs.technion.ac.il
Uri Alon
Language Technologies Institute
Carnegie Mellon University
ualon@cs.cmu.edu
Eran Yahav
Technion
yahave@cs.technion.ac.il
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 GitHub.1 GATv2 is available as part of the PyTorch Geometric library,2 the Deep Graph Library,3 and the TensorFlow GNN library.4
1 INTRODUCTION
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. Veličković 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
Figure 1: In a complete bipartite graph of “query nodes” and “key nodes” : 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 ( to ) attend mostly to the 8th key (). In contrast, GATv2 (Figure 1b) can actually compute dynamic attention, where every query has a different ranking of attention coefficients of the keys.
Veličković et al. (2018)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 ) of attention coefficients is shared across 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, Veličković et al.’s (2018)original design of GAT has spread to a variety of domains (Wang et al., 2019a; 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; Gordić, 2020; Brockschmidt, 2020).
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 Veličković 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.
2 PRELIMINARIES
A directed graph contains nodes and edges , where denotes an edge from a node to a node . We assume that every node has an initial representation . An undirected graph can be represented with bidirectional edges.
2.1 GRAPH NEURAL NETWORKS
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 and the set of edges . A layer outputs a new set of node representations , where the same parametric function is applied to every node given its neighbors :
The design of and 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 , followed by concatenation with , a linear layer and a ReLU as .
2.2 GRAPH ATTENTION NETWORKS
GraphSAGE and many other popular GNN architectures (Xu et al., 2019; Duvenaud et al., 2015) weigh all neighbors with equal importance (e.g., mean or max-pooling as ). To address this limitation, GAT (Veličković et al., 2018) instantiates Equation (1) by computing a learned weighted average of the representations of . A scoring function computes a score for every edge , which indicates the importance of the features of the neighbor to the node :
where , are learned, and denotes vector concatenation. These attention scores are normalized across all neighbors using softmax, and the attention function is defined as:
Then, GAT computes a weighted average of the transformed features of the neighbor nodes (followed by a nonlinearity ) as the new representation of , using the normalized attention coefficients:
From now on, we will refer to Equations (2) to (4) as the definition of GAT.
3 The Expressive Power of Graph Attention Mechanisms
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 to denote the set .
3.1 The Importance of Dynamic Weighting
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 computes static scoring for a given set of key vectors and query vectors , if for every there exists a “highest scoring” key such that for every query and key it holds that . We say that a family of attention functions computes static attention given and , if its scoring function computes static scoring, possibly followed by monotonic normalization such as softmax.
Static attention is very limited because every function 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 computes dynamic scoring for a given set of key vectors and query vectors , if for any mapping there exists such that for any query and any key : . We say that a family of attention functions computes dynamic attention for and , if its scoring function computes dynamic scoring, possibly followed by monotonic normalization such as softmax.
That is, dynamic attention can select every key using the query , by making the maximal in . 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 and . 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.
3.2 The Limited Expressivity of GAT
Although the scoring function can be defined in various ways, the original definition of Veličković 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; Gordić, 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 . In particular, for , a GAT layer does not compute dynamic attention.
Proof. Let be a graph modeled by a GAT layer with some and values (Equations (2) and (3)), and having node representations . The learned parameter can be written as a
concatenation such that , and Equation (2) can be re-written as:
Since is finite, there exists a node such that is maximal among all nodes ( is the required by Definition 3.1). Due to the monotonicity of LeakyReLU and softmax, for every query node , the node also leads to the maximal value of its attention distribution . 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 and a trained GAT layer, the attention function defines a constant ranking (argsort) of the nodes, unconditioned on the query nodes . That is, we can denote and get that for any choice of , is monotonic with respect to the per-node scores . This global ranking induces the local ranking of every neighborhood . The only effect of is in the “sharpness” of the produced attention distribution. This is demonstrated in Figure 1a (bottom), where different curves denote different queries .
Generalization to multi-head attention Veličković et al. (2018)found it beneficial to employ separate attention heads and concatenate their outputs, similarly to Transformers. In this case, Theorem 1 holds for each head separately: every head has a (possibly different) node that maximizes , and the output is the concatenation of static attention heads.
3.3 Building Dynamic Graph Attention Networks
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 and are applied consecutively, and thus can be collapsed into a single linear layer. To fix this limitation, we simply apply the layer after the nonlinearity (LeakyReLU), and the layer after the concatenation,5 effectively applying an MLP to compute the score for each query-key pair:
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 .
We prove Theorem 2 in Appendix A. 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: . However, by merging its linear layers, GAT can be computed faster than stated by Veličković et al. (2018). For a detailed time- and parametric-complexity analysis, see Appendix G.
4 Evaluation
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 D.3). We find that GAT is inferior to GATv2 across all examined benchmarks.
Figure 2: The DictionaryLookup problem of size : every node in the bottom row has an alphabetic attribute and a numeric value ; every node in the upper row has only an attribute; the goal is to predict the value for each node in the upper row, using its attribute.
Figure 3: The DictionaryLookup problem: GATv2 easily achieves 100% train and test accuracies even for and using only a single head.
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 all GNNs. In all experiments of GATv2, we constrain the learned matrix by setting , to rule out the increased number of parameters over GAT as the source of empirical difference (see Appendix G.2). Training details, statistics, and code are provided in Appendix B.
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 E.1), is shown in Appendix E.
4.1 Synthetic Benchmark: DictionaryLookup
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 nodes. Each “key node” in the bottom row has an attribute and a value . Each “query node” in the upper row has only an attribute . 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 , 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 failed to fit the training set for any value of , 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, 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 , and even for (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 6 in Appendix D.1.
Visualization Figure 1a (top) shows a heatmap of GAT’s attention scores in this DICTIONARY-LOOKUP problem. As shown, all query nodes to attend mostly to the eighth key (), 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 Veličković 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.
4.2 ROBUSTNESS TO NOISE
We examine the robustness of dynamic and static attention to noise. In particular, we focus on structural noise: given an input graph and a noise ratio , we randomly sample non-existing edges from . We then train the GNN on the noisy graph .
Figure 4: Test accuracy compared to the noise ratio: GATv2 is more robust to structural noise compared to GAT. Each point is an average of 10 runs, error bars show standard deviation.
Results Figure 9 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 . As 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 () and noise edges (); 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.
4.3 PROGRAMS: VARMISUSE
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.
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 Figure 5, 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.
Published as a conference paper at ICLR 2022
Figure 5: 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 | |
|---|---|---|---|
| No-Attention | GCN | ||
| GIN | |||
| Attention | GAT | ||
| GATv2 |
4.4 Node-Prediction
We further compare GATv2, GAT, and other GNNs on four node-prediction datasets from OGB.
Table 1: Average accuracy (Table 1a) and ROC-AUC (Table 1b) in node-prediction datasets (10 runs std). In all datasets, GATv2 outperforms GAT. – previously reported by Hu et al. (2020).
| (a) | ||||
|---|---|---|---|---|
| Model | Attn. Heads | ogbn-arxiv | ogbn-products | ogbn-mag |
| GCN | 0 | |||
| GraphSAGE | 0 | |||
| GAT | 1 | |||
| 8 | ||||
| GATv2 (this work) | 1 | |||
| 8 |
| (b) |
|---|
| ogbn-proteins |
Results Results are shown in Table 1. In all settings and all datasets, GATv2 is more accurate than GAT and the non-attentive GNNs. Interestingly, in the datasets of Table 1a, even a single head of GATv2 outperforms GAT with 8 heads. In Table 1b (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.
4.5 Graph-Prediction: QM9
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.
Table 2: Average error rates (lower is better), 5 runs for each property, on the QM9 dataset. The best result among GAT and GATv2 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 | Rel. to | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Model | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | GAT |
| GCN | 3.21 | 4.22 | 1.45 | 1.62 | 2.42 | 16.38 | 17.40 | 7.82 | 8.24 | 9.05 | 7.00 | 3.93 | 1.02 | -1.5% |
| GIN | 2.64 | 4.67 | 1.42 | 1.50 | 2.27 | 15.63 | 12.93 | 5.88 | 18.71 | 5.62 | 5.38 | 3.53 | 1.05 | -2.3% |
| GAT | 2.68 | 4.65 | 1.48 | 1.53 | 2.31 | 52.39 | 14.87 | 7.61 | 6.86 | 7.64 | 6.54 | 4.11 | 1.48 | +0% |
| GATv2 | 2.65 | 4.28 | 1.41 | 1.47 | 2.29 | 16.37 | 14.03 | 6.07 | 6.28 | 6.60 | 5.97 | 3.57 | 1.59 | -11.5% |
Results Table 2 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).
4.6 Link-Prediction
We compare GATv2, GAT, and other GNNs in link-prediction datasets from OGB.
Table 3: Average Hits@50 (Table 3a) and mean reciprocal rank (MRR) (Table 3b) in link-prediction benchmarks from OGB (10 runsstd). The best result among GAT and GATv2 is marked in bold; the best result among all GNNs is marked in . was reported by Hu et al. (2020).
| (a) | ogbl-collab | (b) ogbl-citation2 | ||
|---|---|---|---|---|
| Model | Attn. Heads | w/o val edges | w/ val edges | |
| No-Attention | GCN | |||
| GraphSAGE | ||||
| GAT | GAT | |||
| GAT | ||||
| GATv2 | GATv2 | |||
| GATv2 | 42.85 | 49.70 | 80.14 |
Results Table 3 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 1) the average node degrees are 50.5 and 597, respectively (see Table 5 in Appendix C). ogbl-collab and ogbl-citation2 (Table 3), 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.
4.7 Discussion
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 3 and some of the properties in Table 2) – a non-attentive model such as GCN or GIN achieved a higher accuracy than all GNNs that do use attention.
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).
Veličković, 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. Veličković agreed that newer and more challenging benchmarks may demand stronger attention mechanisms such as GATv2. 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.
5 RELATED WORK
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 Veličković 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; Veličković 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.
6 CONCLUSION
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. 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 11 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 of 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 GitHub, and GATv2 is available as part of the PyTorch Geometric library, the Deep Graph Library, and TensorFlow GNN. An annotated implementation is available at nn.labml.ai.
ACKNOWLEDGMENTS
We thank Gail Weiss for the helpful discussions, thorough feedback, and inspirational paper (Weiss et al., 2018). We also thank Petar Veličković for the useful discussion about the complexity and implementation of GAT.
References
[references omitted]
[references omitted]
[references omitted]
[references omitted]
[references omitted]
A PROOF FOR THEOREM 2
For brevity, we repeat our definition of dynamic attention (Definition 3.2):
Definition 3.2 (Dynamic attention). A (possibly infinite) family of scoring functions computes dynamic scoring for a given set of key vectors and query vectors , if for any mapping there exists such that for any query and any key : . We say that a family of attention functions computes dynamic attention for and , 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 .
Proof. Let be a graph modeled by a GATv2 layer, having node representations , and let be any node mapping . We define as follows:
Next, we define a continuous function that equals to in only specific inputs:
For all other inputs , realizes to any values that maintain the continuity of (this is possible because we fixed the values of for only a finite set of points).7
Thus, for every node and :
If we concatenate the two input vectors, and define the scoring function of GATv2 (Equation (7)) as a function of the concatenated vector , from the universal approximation theorem (Hornik et al., 1989; Cybenko, 1989; Funahashi, 1989; Hornik, 1991), can approximate for any compact subset of .
Thus, for any sufficiently small (any ) there exist parameters and such that for every node and every :
and due to the increasing monotonicity of softmax:
The choice of nonlinearity In general, these results hold if GATv2 had used any common non-polynomial 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.
B TRAINING DETAILS
In this section we elaborate on the training details of all of our experiments. All models use residual connections as in Veličković et al. (2018). All used code and data are publicly available under the MIT license.
B.1 NODE- AND LINK-PREDICTION
We used the provided splits of OGB (Hu et al., 2020)and the Adam optimizer. We tuned the following hyperparameters: number of layers , hidden size , learning rate 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.
| Dataset | # layers | Hidden size | Learning rate | Sampling method |
|---|---|---|---|---|
| ogbn-arxiv | 3 | 256 | 0.01 | GraphSAINT |
| ogbn-products | 3 | 128 | 0.001 | NeighborSampling |
| ogbn-mag | 2 | 256 | 0.01 | NeighborSampling |
| ogbn-proteins | 6 | 64 | 0.01 | NeighborSampling |
| ogbl-collab | 3 | 64 | 0.001 | Full Batch |
| ogbl-citation2 | 3 | 256 | 0.0005 | NeighborSampling |
Table 4: Training details of node- and link-prediction datasets.
B.2 ROBUSTNESS TO NOISE
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.
B.3 SYNTHETIC BENCHMARK: DICTIONARYLOOKUP
In all experiments, we used a learning rate decay of 0.5, a hidden size of , a batch size of 1024, and the Adam optimizer.
We created a separate dataset for every graph size (), 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 . 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.
B.4 PROGRAMS: VARMISUSE
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.
B.5 GRAPH-PREDICTION: QM9
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).
B.6 COMPUTE AND RESOURCES
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.
C DATA STATISTICS
C.1 NODE- AND LINK-PREDICTION DATASETS
Statistics of the OGB datasets we used for node- and link-prediction are shown in Table 5.
| Dataset | # nodes | # edges | Avg. node degree | Diameter |
|---|---|---|---|---|
| ogbn-arxiv | 169,343 | 1,166,243 | 13.7 | 23 |
| ogbn-mag | 1,939,743 | 21,111,007 | 21.7 | 6 |
| ogbn-products | 2,449,029 | 61,859,140 | 50.5 | 27 |
| ogbn-proteins | 132,534 | 39,561,252 | 597.0 | 9 |
| ogbl-collab | 235,868 | 1,285,465 | 8.2 | 22 |
| ogbl-citation2 | 2,927,963 | 30,561,187 | 20.7 | 21 |
Table 5: Statistics of the OGB datasets (Hu et al., 2020).
C.2 QM9
Statistics of the QM9 dataset, as used in Brockschmidt (2020)are shown in Table 6.
| Training | Validation | Test | |
|---|---|---|---|
| # examples | 110,462 | 10,000 | 10,000 |
| # nodes - average | 18.03 | 18.06 | 18.09 |
| # edges - average | 18.65 | 18.67 | 18.72 |
| Diameter - average | 6.35 | 6.35 | 6.35 |
Table 6: Statistics of the QM9 chemical dataset (Ramakrishnan et al., 2014)as used by Brockschmidt (2020).
C.3 VARMISUSE
Statistics of the VARMISUSE dataset, as used in Allamanis et al. (2018)and Brockschmidt (2020), are shown in Table 7.
| Training | Validation | UnseenProject Test | SeenProject Test | |
|---|---|---|---|---|
| # graphs | 254360 | 42654 | 117036 | 59974 |
| # nodes - average | 2377 | 1742 | 1959 | 3986 |
| # edges - average | 7298 | 7851 | 5882 | 12925 |
| Diameter - average | 7.88 | 7.88 | 7.78 | 7.82 |
Table 7: Statistics of the VARMISUSE dataset (Allamanis et al., 2018)as used by Brockschmidt (2020).
Figure 6: Train and test accuracy across graph sizes in the DICTIONARYLOOKUP problem. GATv2 easily achieves 100% train and test accuracy even for and using only a single head. GIN (Xu et al., 2019), although considered as more expressive than other GNNs, cannot perfectly fit the training data (with a model size of ) starting from .
D ADDITIONAL RESULTS
D.1 DICTIONARYLOOKUP
Figure 6 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 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 ) starting from .
D.2 QM9
Standard deviation for the QM9 results of Section 4.5 are presented in Table 8.
| Model | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|
| GCN | 4.22 | ||||||
| GIN | 2.64 | 2.27 | 15.63 | 12.93 | |||
| GAT | |||||||
| GAT$_{8h}$$ | |||||||
| ^\dagger$ | |||||||
| GATv2 | |||||||
| GATv2 | 2.65 | 4.28 | 1.41 | 1.47 | 2.29 | 16.37 | 14.03 |
| Model | 8 | 9 | 10 | 11 | 12 | 13 | Rel. to GAT |
|---|---|---|---|---|---|---|---|
| GCN | 1.02 | -1.5% | |||||
| GIN | 5.88 | 5.62 | 5.38 | 3.53 | -2.3% | ||
| GAT | +134.1% | ||||||
| GAT$_{8h} | |||||||
| $$^\dagger$ | 1.48 | +0% | |||||
| GATv2 | +91.6% | ||||||
| GATv2 | 6.07 | 6.28 | 6.60 | 5.97 | 3.57 | -11.5% |
Table 8: Average error rates (lower is better), 5 runs standard deviation for each property, on the QM9 dataset. The best result among GAT and GATv2 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).
D.3 PUBMED CITATION NETWORK
We tuned the following parameters for both GAT and GATv2: number of layers , hidden size , number of heads , dropout , bias , share weights , use residual . Table 9 shows the test accuracy (100 runsstdev) using the best hyperparameters found for each model.
Table 9: Accuracy (100 runsstdev) on Pubmed. GATv2 is more accurate than GAT.
| Model | Accuracy |
|---|---|
| GAT | |
| GATv2 | 78.5 |
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 14, we show that this difference is statistically significant (p-value ).
E ADDITIONAL COMPARISON WITH TRANSFORMER-STYLE ATTENTION (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.
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:
Variants of DPGAT were used in prior work (Gao and Ji, 2019; Dwivedi and Bresson, 2020; Rong et al., 2020a; Veličković 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 E.1). Otherwise, there are examples of node representations that are linearly dependent and mappings , for which dynamic attention does not hold (Appendix E.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.
E.1 PROOF THAT DPGAT PERFORMS DYNAMIC ATTENTION FOR LINEARLY INDEPENDENT NODE REPRESENTATIONS
Theorem 3. A DPGAT layer computes dynamic attention for any set of node representations that are linearly independent.
Proof. Let be a graph modeled by a DPGAT layer, having linearly independent node representations . Let be any node mapping .
We denote the row of a matrix as .
We define a matrix as:
Let be the matrix holding the graph’s node representations as its rows:
Published as a conference paper at ICLR 2022
Since the rows of are linearly independent, it necessarily holds that .
Next, we find weight matrices and such that:
To satisfy Equation (16), we choose and such that and where is an orthonormal matrix .
We can obtain using the singular value decomposition (SVD) of :
Since and has a full rank, is invertible, and thus:
Now, we define as follows:
Note that , as desired.
To find that satisfies , we use Equation (17) and require:
and thus:
We define:
Where is the attention score function of DPGAT (Equation (13)).
Now, for a query and a key , and the corresponding representations :
Since and , we get
Therefore:
And thus:
To conclude, for every selected query and any key :
and due to the increasing monotonicity of softmax:
Hence, a DPGAT layer computes dynamic attention.
In the case that , we apply SVD to the full-rank matrix , and follow the same steps to construct and .
In the case that and and , we can use the same and (Equations (19) and (21)) padded with zeros. We define the and as follows:
E.2 DPGAT IS STRICTLY WEAKER THAN GATV2
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.
Figure 7: An example for node representations that are linearly dependent, for which DPGAT cannot compute dynamic attention, because no query vector can “select” .
Consider the following linearly dependent set of vectors (Figure 7):
where and are the cartesian unit vectors. We define to express using the same expression:
Let be any query vector. For brevity, we define the unscaled dot-product attention score as :
Where is the attention score function of DPGAT (Equation (13)). The (unscaled) attention score between and is:
The first term is unconditioned on , and thus shared for every . Let us focus on the second term . If , then:
Otherwise, if :
Thus, for any query , the key can never get the highest score, and thus cannot be “selected”. That is, the key cannot satisfy that is strictly greater than any other key.
In the general case, let be some non-zero vectors , and is some scalar such that .
Consider the following linearly dependent set of vectors:
For any query and we define:
Where is the attention score function of DPGAT (Equation (13)).
Therefore:
If :
Otherwise, if :
Thus, for any query , the key cannot be selected. That is, the key cannot satisfy that 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 A) for any set of node representations , there are sets of node representations and mappings for which dynamic attention does not hold for DPGAT. Thus, DPGAT is strictly weaker than GATv2.
E.3 Empirical Evaluation
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 E.1).
F Statistical Significance
Here we report the statistical significance of the strongest GATv2 and GAT models of the experiments reported in Section 4.
Figure 8: Test accuracy compared to the noise ratio: GATv2 and DPGAT are more robust to structural noise compared to GAT. Each point is an average of 10 runs, error bars show standard deviation.
Table 10: Accuracy (5 runsstdev) 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 | |
|---|---|---|---|
| No-Attention | GCN | ||
| GIN | |||
| Attention | GAT | ||
| DPGAT | |||
| GATv2 |
Table 11: Average accuracy (Table 11a) and ROC-AUC (Table 11b) in node-prediction datasets (10 runsstd). In all datasets, GATv2 outperforms GAT. – previously reported by Hu et al. (2020).
| (a) | (b) | ||||
|---|---|---|---|---|---|
| Model | Attn. Heads | ogbn-arxiv | ogbn-products | ogbn-mag | ogbn-proteins |
| GCN | 0 | ||||
| GraphSAGE | 0 | ||||
| GAT | 1 | ||||
| 8 | |||||
| DPGAT | 1 | ||||
| 8 | |||||
| GATv2 (this work) | 1 | ||||
| 8 |
Published as a conference paper at ICLR 2022
Table 12: 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 . was previously tuned and reported by Brockschmidt (2020).
| Model | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|
| GCN | |||||||
| GIN | |||||||
| GAT | |||||||
| GAT$_{8h}$$ | |||||||
| ^\dagger$ | |||||||
| DPGAT | |||||||
| DPGAT | |||||||
| GATv2 | |||||||
| GATv2 |
| Model | 8 | 9 | 10 | 11 | 12 | 13 | Rel. to GAT |
|---|---|---|---|---|---|---|---|
| GCN | -1.5% | ||||||
| GIN | -2.3% | ||||||
| GAT | +134.1% | ||||||
| GAT$_{8h} | |||||||
| $$^\dagger$ | +0% | ||||||
| DPGAT | +77.9% | ||||||
| DPGAT | -9.7% | ||||||
| GATv2 | +91.6% | ||||||
| GATv2 | -11.5% |
Figure 9: Test accuracy and statistical significance compared to the noise ratio: GATv2 is more robust to structural noise compared to GAT. Each point is an average of 10 runs, error bars show standard deviation.
Table 13: Accuracy (5 runsstdev)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 |
|---|---|---|
| GAT | ||
| GATv2 | ||
| p-value | 0.048 | 0.049 |
Table 14: Accuracy (100 runs stdev) on Pubmed. GATv2 is more accurate than GAT.
| Model | Accuracy |
|---|---|
| GAT | |
| GATv2 | 78.5 |
| p-value | < 0.0001 |
Table 15: Average accuracy (Table 15a) and ROC-AUC (Table 15b) in node-prediction datasets (30 runs std). We report on the best GAT / GATv2 from Table 1.
(a)
| Model | ogbn-arxiv | ogbn-products | ogbn-mag |
|---|---|---|---|
| GAT | |||
| GATv2 | 71.93 | 80.63 | 33.01 |
| p-value | 0.0022 | <0.0001 | 0.0018 |
(b)
| ogbn-proteins | |
|---|---|
| GAT | |
| GATv2 | 78.96 |
| p-value | 0.0349 |
Table 16: Average Hits@50 (Table 16a) and mean reciprocal rank (MRR) (Table 16b) in link-prediction benchmarks from OGB (30 runs std). We report on the best GAT / GATv2 from Table 3.
(a)
| ogbl-collab | ||
|---|---|---|
| Model | w/o val edges | w/ val edges |
| GAT | ||
| GATv2 | 43.82 | 49.06 |
| p-value | 0.0043 | 0.0005 |
(b)
| ogbl-citation2 | |
|---|---|
| GAT | |
| GATv2 | 80.20 |
| p-value | 0.0075 |
Table 17: Average error rates (lower is better), 20 runs standard deviation for each property, on the QM9 dataset. We report on GAT and GATv2 with 8 attention heads.
| Predicted Property | |||||||
|---|---|---|---|---|---|---|---|
| Model | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| GAT | |||||||
| GATv2 | 2.67 | 4.28 | 1.43 | 1.51 | 2.21 | 16.64 | 13.61 |
| p-value | 0.0043 | <0.0001 | 0.0138 | 0.1691 | 0.0487 | 0.0001 | 0.0516 |
| Predicted Property | ||||||
|---|---|---|---|---|---|---|
| Model | 8 | 9 | 10 | 11 | 12 | 13 |
| GAT | ||||||
| GATv2 | 6.13 | 6.33 | 6.37 | 5.95 | 3.66 | 1.09 |
| p-value | <0.0001 | 0.0458 | 0.0006 | 0.0017 | <0.0001 | 0.0621 |
G Complexity Analysis
We repeat the definitions of GAT, GATv2 and DPGAT:
G.1 Time Complexity
GAT As noted by Veličković et al. (2018), the time complexity of a single GAT head may be expressed as . Because of GAT’s static attention, this computation can be further optimized, by merging the linear layer with , merging with , and only then compute for every .
GATv2 require the same computational cost as GAT’s declared complexity: : we denote , where and contain the left half and right half of the columns of , respectively. We can first compute and for every . This takes .
Then, for every edge , we compute using the precomputed and , since . This takes .
Finally, computing the results of the linear layer takes additional time, and overall .
DPGAT also takes the same time. We can first compute and for every . This takes . Computing the dot-product for every edge takes additional time, and overall .
G.2 Parametric Complexity
| GAT | GATv2 | DPGAT | |
|---|---|---|---|
| Official | |||
| In our experiments |
Table 18: Number of parameters for each GNN type, in a single layer and a single attention head.
All parametric costs are summarized in Table 18. All following calculations refer to a single layer having a single attention head, omitting bias vectors.
GAT has learned vector and a matrix: and , thus overall learned parameters.
GATv2 has a matrix that is twice larger: , because it is applied on the concatenation . Thus, the overall number of learned parameters is . However in our experiments, to rule out the increased number of parameters over GAT as the source of empirical difference, we constrained , and thus the number of parameters were .
DPGAT has and matrices of sizes each, and additional parameters in the value matrix , thus parameters overall. However in our experiments, we constrained and set , and thus the number of parameters is only .
Footnotes
-
An annotated implementation of GATv2 is available at nn.labml.ai ↩
-
from torch_geometric.nn.conv.gatv2_conv import GATv2Conv↩ -
from dgl.nn.pytorch import GATv2Conv↩ -
from tensorflow_gnn.graph.keras.layers.gat_v2 import GATv2Convolution↩ -
We also add a bias vector before applying the nonlinearity, we omit this in Equation (7) for brevity. ↩
-
The function 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 to approximate the mapping in a finite set of points. So, we need the attention function to approximate (from Equation 8) in some specific points. But, since is not continuous, we define and use the universal approximation theorem for . Since approximates , also approximates in our specific points, as a special case. We only require that will be identical to in specific points . For the rest of the input space, we don’t have any requirement on the value of , except for maintaining the continuity of . There exist infinitely many such possible for every given set of keys, queries and a mapping , but the concrete functions are not needed for the proof. ↩