G RAPH A TTENTION N ETWORKS
Anonymous authors
Paper under double-blind review
A BSTRACT
We present graph attention networks (GATs), novel neural network architectures that operate on graph-structured data, leveraging masked self-attentional layers to address the shortcomings of prior methods based on graph convolutions or their approximations.
By stacking layers in which nodes are able to attend over their neighborhoods’ features, we enable (implicitly) specifying different weights to different nodes in a neighborhood, without requiring any kind of costly matrix operation (such as inversion) or depending on knowing the graph structure upfront.
In this way, we address several key challenges of spectral-based graph neural networks simultaneously, and make our model readily applicable to inductive as well as transductive problems.
Our GAT models have achieved or matched state-of-theart results across four established transductive and inductive graph benchmarks: the Cora , Citeseer and Pubmed citation network datasets, as well as a proteinprotein interaction dataset (wherein test graphs remain unseen during training).
I NTRODUCTION
Convolutional Neural Networks (CNNs) have been successfully applied to tackle problems such as image classiﬁcation (He et al., 2016), semantic segmentation (J ´ egou et al., 2017) or machine translation (Gehring et al., 2016), where the underlying data representation has a grid-like structure.
These architectures efﬁciently reuse their local ﬁlters, with learnable parameters, by applying them to all the input positions.
However, many interesting tasks involve data that can not be represented in a grid-like structure and that instead lies in an irregular domain.
This is the case of 3D meshes, social networks, telecommunication networks, biological networks or brain connectomes.
Such data can usually be represented in the form of graphs.
There have been several attempts in the literature to extend neural networks to deal with arbitrarily structured graphs.
Early work used recursive neural networks to process data represented in graph domains as directed acyclic graphs (Frasconi et al., 1998; Sperduti & Starita, 1997).
Graph Neural
Networks (GNNs) were introduced in Gori et al.
and Scarselli et al.
(2009) as a generalization of recursive neural networks that can directly deal with a more general class of graphs, e.g. cyclic, directed and undirected graphs.
GNNs consist of an iterative process, which propagates the node states until equilibrium; followed by a neural network, which produces an output for each node based on its state.
This idea was adopted and improved by Li et al.
(2016), which propose to use gated recurrent units (Cho et al., 2014) in the propagation step.
Nevertheless, there is an increasing interest in generalizing convolutions to the graph domain.
Advances in this direction are often categorized as spectral approaches and non-spectral approaches.
On one hand, spectral approaches work with a spectral representation of the graphs and have been successfully applied in the context of node classiﬁcation.
In Bruna et al.
(2014), the convolution operation is deﬁned in the Fourier domain by computing the eigendecomposition of the graph Laplacian, resulting in potentially intense computations and non-spatially localized ﬁlters.
These issues were addressed by subsequent works.
Henaff et al.
(2015) introduced a parameterization of the spectral ﬁlters with smooth coefﬁcients in order to make them spatially localized.
Later, Defferrard et al.
(2016) proposed to approximate the ﬁlters by means of a Chebyshev expansion of the graph
Laplacian, removing the need to compute the eigenvectors of the Laplacian and yielding spatially localized ﬁlters.
Finally, Kipf & Welling (2017) simpliﬁed the previous method by restricting the ﬁlters to operate in a 1-step neighborhood around each node.
However, in all of the aforementioned spectral approaches, the learned ﬁlters depend on the Laplacian eigenbasis, which depends on the graph structure.
Thus, a model trained on a speciﬁc structure can not be directly applied to a graph with a different structure.
On the other hand, we have non-spectral approaches (Duvenaud et al., 2015; Atwood & Towsley, 2016; Hamilton et al., 2017), which deﬁne convolutions directly on the graph, operating on groups of spatially close neighbors.
One of the challenges of these approaches is to deﬁne an operator which works with different sized neighborhoods and maintains the weight sharing property of CNNs.
In some cases, this requires learning a speciﬁc weight matrix for each node degree (Duvenaud et al., 2015), using the powers of a transition matrix to deﬁne the neighborhood while learning weights for each input channel and neighborhood degree (Atwood & Towsley, 2016), or extracting and normalizing neighborhoods containing a ﬁxed number of nodes (Niepert et al., 2016). Monti et al. (2016) presented mixture model CNNs (MoNet), a spatial approach which provides a uniﬁed generalization of CNN architectures to graphs.
More recently, Hamilton et al.
(2017) introduced GraphSAGE, a method for computing node representations in an inductive manner.
This technique operates by sampling a ﬁxed-size neighborhood of each node, and then performing a speciﬁc aggregator over it (such as the mean over all the sampled neighbors’ feature vectors, or the result of feeding them through a recurrent neural network).
This approach has yielded impressive performance across several large-scale inductive benchmarks.
Attention mechanisms have become almost a de facto standard in many sequence-based tasks (Bahdanau et al., 2015; Gehring et al., 2016).
One of the beneﬁts of attention mechanisms is that they allow for dealing with variable sized inputs, focusing on the most relevant parts of the input to make decisions.
When an attention mechanism is used to compute a representation of a single sequence, it is commonly referred to as self-attention or intra-attention .
Together with Recurrent Neural Networks (RNNs) or convolutions, self-attention has proven to be useful for tasks such as machine reading (Cheng et al., 2016) and learning sentence representations (Lin et al., 2017).
However,
Vaswani et al.
(2017) showed that not only self-attention can improve a method based on RNNs or convolutions, but also that it is sufﬁcient for constructing a powerful model obtaining state-of-the-art performance on the machine translation task.
Inspired by this recent work, we introduce an attention-based architecture to perform node classiﬁcation of graph-structured data.
The idea is to compute the hidden representations of each node in the graph, by attending over its neighbors, following a self-attention strategy.
The attention architecture has several interesting properties: (1) the operation is efﬁcient, since it is parallelizable across nodeneighbor pairs; (2) it can be applied to graph nodes having different degrees by specifying arbitrary weights to the neighbors; and (3) the model is directly applicable to inductive learning problems, including tasks where the model has to generalize to completely unseen graphs.
We validate the proposed approach on four challenging benchmarks: Cora , Citeseer and Pubmed citation networks as well as an inductive protein-protein interaction dataset, achieving or matching state-of-the-art results that highlight the potential of attention-based models when dealing with arbitrarily structured graphs.
It is worth noting that, as Kipf & Welling (2017) and Atwood & Towsley (2016), our work can also be reformulated as a particular instance of MoNet (Monti et al., 2016).
Moreover, our approach of sharing a neural network computation across edges is reminiscent of the formulation of relational networks (Santoro et al., 2017) and VAIN (Hoshen, 2017), wherein relations between objects or agents are aggregated pair-wise, by employing a shared mechanism.
Similarly, our proposed attention model can be connected to the works by Duan et al. (2017) and Denil et al. (2017), which use a neighborhood attention operation to compute attention coefﬁcients between different objects in an environment.
Other related approaches include locally linear embedding (LLE) (Roweis & Saul, 2000) and memory networks (Weston et al., 2014). LLE selects a ﬁxed number of neighbors around each data point, and learns a weight coefﬁcient for each neighbor to reconstruct each point as a weighted sum of its neighbors. A second optimization step extracts the point’s feature embedding.
Memory networks also share some connections with our work, in particular, if we interpret the neighborhood of a node as the memory, which is used to compute the node features by attending over its values, and then is updated by storing the new features in the same position.
GAT ARCHITECTURE
In this section, we will present the building block layer used to construct arbitrary graph attention networks (through stacking this layer), and directly outline its theoretical and practical beneﬁts and limitations compared to prior work in the domain of neural graph processing.
2. G RAPH ATTENTIONAL LAYER
We will start by describing a single graph attentional layer , as the sole layer utilized throughout all of the GAT architectures used in our experiments.
The particular attentional setup utilized by us closely follows the work of Bahdanau et al.
(2015)—but the framework is agnostic to the particular choice of attention mechanism.
The input to our layer is a set of node features, h = { (cid:126)h 1 ,(cid:126)h 2 , . . .
,(cid:126)h N } ,(cid:126)h i ∈ R F , where N is the number of nodes, and F is the number of features in each node.
The layer produces a new set of node features (of potentially different cardinality F (cid:48) ), h (cid:48)
= { (cid:126)h (cid:48) 1 ,(cid:126)h (cid:48) 2 , . .
,(cid:126)h (cid:48) N } ,(cid:126)h (cid:48) i ∈ R F (cid:48) , as its output.
In order to obtain sufﬁcient expressive power to transform the input features into higher-level features, at least one learnable linear transformation is required.
To that end, as an initial step, a shared linear transformation, parametrized by a weight matrix , W ∈ R F (cid:48) × F , is applied to every node.
We then perform self-attention on the nodes—a shared attentional mechanism a : R F (cid:48)
× R F (cid:48)
→ R computes attention coefﬁcients
[Equation]
(1) that indicate the importance of node j ’s features to node i .
In its most general formulation, the model allows every node to attend on every other node, dropping all structural information .
We inject the graph structure into the mechanism by performing masked attention —we only compute e ij for nodes j ∈ N i , where N i is some neighborhood of node i in the graph.
In all our experiments, these will be exactly the ﬁrst-order neighbors of i (including i ).
To make coefﬁcients easily comparable across different nodes, we normalize them across all choices of j using the softmax function:
[Equation]
In our experiments, the attention mechanism a is a single-layer feedforward neural network, parametrized by a weight vector (cid:126) a ∈ R 2 F (cid:48) , and applying the LeakyReLU nonlinearity (with negative input slope α = 0 . 2 ).
Fully expanded out, the coefﬁcients computed by the attention mechanism (illustrated by Figure 1 (left)) may then be expressed as:
[Equation]
where · T represents transposition and (cid:107) is the concatenation operation.
Once obtained, the normalized attention coefﬁcients are used to compute a linear combination of the features corresponding to them, to serve as the ﬁnal output features for every node (after potentially applying a nonlinearity, σ ):
[Equation]
To stabilize the learning process of self-attention, we have found extending our mechanism to employ multi-head attention to be beneﬁcial, similarly to Vaswani et al.
Speciﬁcally, K independent attention mechanisms execute the transformation of Equation 4, and then their features are concatenated, resulting in the following output feature representation:
[Equation]
[Figure] where (cid:107) represents concatenation, α kij are normalized attention coefﬁcients computed by the k -th attention mechanism ( a k ), and W k is the corresponding input linear transformation’s weight matrix.
Note that, in this setting, the ﬁnal returned output, h (cid:48) , will consist of KF (cid:48) features (rather than F (cid:48) ) for each node.
Specially, if we perform multi-head attention on the ﬁnal (prediction) layer of the network, concatenation is no longer sensible—instead, we employ averaging , and delay applying the ﬁnal nonlinearity (usually a softmax or logistic sigmoid for classiﬁcation problems) until then:
[Equation]
k (cid:126)h j 

The aggregation process of a multi-head graph attentional layer is illustrated by Figure 1 (right).
2. C OMPARISONS TO RELATED WORK
The graph attentional layer described in subsection 2.1 directly addresses several issues that were present in prior approaches to modelling graph-structured data with neural networks:
• Computationally, it is highly efﬁcient: the operation of the self-attentional layer can be parallelized across all edges, and the computation of output features can be parallelized across all nodes.
No eigendecompositions or similar costly matrix operations are required.
The time complexity of a single GAT attention head computing F (cid:48) features may be expressed as O ( | V | FF (cid:48)
+ | E | F (cid:48) ) , where F is the number of input features, and | V | and | E | are the numbers of nodes and edges in the graph, respectively.
This complexity is on par with the baseline methods such as Graph Convolutional Networks (GCNs) (Kipf & Welling, 2017). Applying multi-head attention multiplies the storage and parameter requirements by a factor of K , while the individual heads’ computations are fully independent and can be parallelized. • As opposed to GCNs, our model allows for (implicitly) assigning different importances to nodes of a same neighborhood, enabling a leap in model capacity.
Furthermore, analyzing the learned attentional weights may lead to beneﬁts in interpretability, as was the case in the machine translation domain (e.g. the qualitative analysis of Bahdanau et al.
• The attention mechanism is applied in a shared manner to all edges in the graph, and therefore it does not depend on upfront access to the global graph structure or (features of) all of its nodes (a limitation of many prior techniques).
This has several desirable implications: – The graph is not required to be undirected (we may simply leave out computing α ij if edge j → i is not present).
– It makes our technique directly applicable to inductive learning—including tasks where the model is evaluated on graphs that are completely unseen during training.
• The recently published inductive method of Hamilton et al.
(2017) samples a ﬁxed-size neighborhood of each node, in order to keep its computational footprint consistent; this does not allow it access to the entirety of the neighborhood while performing inference.
Moreover, this technique achieved some of its strongest results when an LSTM (Hochreiter & Schmidhuber, 1997)-based neighborhood aggregator is used.
This assumes the existence of a consistent sequential node ordering across neighborhoods, and the authors have rectiﬁed it by consistently feeding randomly-ordered sequences to the LSTM.
Our technique does not suffer from either of these issues—it works with the entirety of the neighborhood (at the expense of a variable computational footprint, which is still on-par with methods like the GCN), and does not assume any ordering within it.
• As mentioned in Section 1, GAT can be reformulated as a particular instance of MoNet (Monti et al., 2016). More speciﬁcally, setting the pseudo-coordinate function to be u ( x, y )
= f
( x ) (cid:107) f
( y ) , where f ( x ) represent (potentially MLP-transformed) features of node x and (cid:107) is concatenation; and the weight function to be w j ( u ) = softmax(MLP( u ))
(with the softmax performed over the entire neighborhood of a node) would make MoNet’s patch operator similar to ours. Nevertheless, one should note that, in comparison to previously considered MoNet instances, our model uses node features for similarity computations, rather than the node’s structural properties (which would assume knowing the graph structure upfront) We were able to produce a version of the GAT layer that leverages sparse matrix operations, reducing the storage complexity to linear in the number of nodes and edges and enabling the execution of GAT models on larger graph datasets.
However, the tensor manipulation framework we used only supports sparse matrix multiplication for rank-2 tensors, which limits the batching capabilities of the layer as it is currently implemented (especially for datasets with multiple graphs). Appropriately addressing this constraint is an important direction for future work. Depending on the regularity of the graph structure in place, GPUs may not be able to offer major performance beneﬁts compared to CPUs in these sparse scenarios. It should also be noted that the size of the “receptive ﬁeld” of our model is upper-bounded by the depth of the network (similarly as for GCN and similar models).
Techniques such as skip connections (He et al., 2016) could be readily applied for appropriately extending the depth, however. Lastly, parallelization across all the graph edges, especially in a distributed manner, may involve a lot of redundant computation, as the neighborhoods will often highly overlap in graphs of interest.
E VALUATION
We have performed comparative evaluation of GAT models against a wide variety of strong baselines and previous approaches, on four established graph-based benchmark tasks (transductive as well as inductive), achieving or matching state-of-the-art performance across all of them.
This section summarizes our experimental setup, results, and a brief qualitative analysis of a GAT model’s extracted feature representations.
3. D ATASETS
Transductive learning We utilize three standard citation network benchmark datasets—Cora,
Citeseer and Pubmed (Sen et al., 2008)—and closely follow the transductive experimental setup of Yang et al.
In all of these datasets, nodes correspond to documents and edges to (undirected) citations.
Node features correspond to elements of a bag-of-words representation of a document.
Each node has a class label.
We allow for only 20 nodes per class to be used for training—however, [Table] honoring the transductive setup, the training algorithm has access to all of the nodes’ feature vectors.
The predictive power of the trained models is evaluated on 1000 test nodes, and we useadditional nodes for validation purposes (the same ones as used by Kipf & Welling (2017)).
The Cora dataset contains 2708 nodes, 5429 edges, 7 classes and 1433 features per node.
The Citeseer dataset contains 3327 nodes, 4732 edges, 6 classes and 3703 features per node. The Pubmed dataset contains 19717 nodes, 44338 edges, 3 classes and 500 features per node.
Inductive learning We make use of a protein-protein interaction (PPI) dataset that consists of graphs corresponding to different human tissues (Zitnik & Leskovec, 2017).
The dataset contains 20 graphs for training, 2 for validation and 2 for testing.
Critically, testing graphs remain completely unobserved during training.
To construct the graphs, we used the preprocessed data provided by Hamilton et al.
The average number of nodes per graph is 2372.
Each node hasfeatures that are composed of positional gene sets, motif gene sets and immunological signatures.
There are 121 labels for each node set from gene ontology, collected from the Molecular Signatures
Database (Subramanian et al., 2005), and a node can possess several labels simultaneously.
An overview of the interesting characteristics of the datasets is given in Table 1.
3. S TATE - OF - THE - ART METHODS
Transductive learning For transductive learning tasks, we compare against the same strong baselines and state-of-the-art approaches as speciﬁed in Kipf & Welling (2017).
This includes label propagation (LP) (Zhu et al., 2003), semi-supervised embedding (SemiEmb)
(Weston et al., 2012), manifold regularization (ManiReg) (Belkin et al., 2006), skip-gram based graph embeddings (DeepWalk) (Perozzi et al., 2014), the iterative classiﬁcation algorithm (ICA) (Lu & Getoor, 2003) and
Planetoid (Yang et al., 2016).
We also directly compare our model against GCNs (Kipf & Welling, 2017), as well as graph convolutional models utilising higher-order Chebyshev ﬁlters (Defferrard et al., 2016), and the MoNet model presented in Monti et al.
Inductive learning For the inductive learning task, we compare against the four different supervised GraphSAGE inductive methods presented in Hamilton et al.
These provide a variety of approaches to aggregating features within a sampled neighborhood: GraphSAGE-GCN (which extends a graph convolution-style operation to the inductive setting), GraphSAGE-mean (taking the elementwise mean value of feature vectors), GraphSAGE-LSTM (aggregating by feeding the neighborhood features into an LSTM) and GraphSAGE-pool (taking the elementwise maximization operation of feature vectors transformed by a shared nonlinear multilayer perceptron).
The other transductive approaches are either completely inappropriate in an inductive setting or assume that nodes are incrementally added to a single graph, making them unusable for the setup where test graphs are completely unseen during training (such as the PPI dataset).
Additionally, for both tasks we provide the performance of a per-node shared multilayer perceptron (MLP) classiﬁer (that does not incorporate graph structure at all).
3. E XPERIMENTAL SETUP
Transductive learning For the transductive learning tasks, we apply a two-layer GAT model.
Its architectural hyperparameters have been optimized on the Cora dataset and are then reused for Citeseer.
The ﬁrst layer consists of K = 8 attention heads computing F (cid:48)
= 8 features each (for a total of 64 features), followed by an exponential linear unit (ELU) (Clevert et al., 2016) nonlinearity.
The second layer is used for classiﬁcation: a single attention head that computes C features (where C is the number of classes), followed by a softmax activation.
For coping with the small training set sizes, regularization is liberally applied within the model.
During training, we apply L 2 regularization with λ = 0 . 0005 .
Furthermore, dropout (Srivastava et al., 2014) with p = 0 .
6 is applied to both layers’ inputs, as well as to the normalized attention coefﬁcients (critically, this means that at each training iteration, each node is exposed to a stochastically sampled neighborhood). Similarly as observed by Monti et al.
, we found that Pubmed’s training set size (60 examples) required slight changes to the GAT architecture: we have applied K = 8 output attention heads (instead of one), and strengthened the L 2 regularization to λ = 0 .
Otherwise, the architecture matches the one used for Cora and Citeseer.
Inductive learning For the inductive learning task, we apply a three-layer GAT model.
Both of the ﬁrst two layers consist of K = 4 attention heads computing F (cid:48)
= 256 features (for a total offeatures), followed by an ELU nonlinearity.
The ﬁnal layer is used for (multi-label) classiﬁcation:
K = 6 attention heads computing 121 features each, that are averaged and followed by a logistic sigmoid activation.
The training sets for this task are sufﬁciently large and we found no need to apply L 2 regularization or dropout—we have, however, successfully employed skip connections (He et al., 2016) across the intermediate attentional layer.
We utilize a batch size of 2 graphs during training.
To strictly evaluate the beneﬁts of applying an attention mechanism in this setting (i.e. comparing with a near GCN-equivalent model), we also provide the results when a constant attention mechanism , a ( x, y ) = 1 , is used, with the same architecture—this will assign the same weight to every neighbor.
Both models are initialized using Glorot initialization (Glorot & Bengio, 2010) and trained to minimize cross-entropy on the training nodes using the Adam SGD optimizer (Kingma & Ba, 2014) with an initial learning rate of 0.01 for Pubmed, and 0.005 for all other datasets.
In both cases we use an early stopping strategy on both the cross-entropy loss and accuracy (transductive) or micro-F(inductive) score on the validation nodes, with a patience of 100 epochs 1 . GCN
[Table]
corresponds to
[Table]
3. R ESULTS
The results of our comparative evaluation experiments are summarized in Tables 2 and
[Table]
[Table]
For the transductive tasks, we report the mean classiﬁcation accuracy (with standard deviation) on the test nodes of our method after 100 runs, and reuse the metrics already reported in Kipf & Welling (2017) and Monti et al. (2016) for state-of-the-art techniques.
Speciﬁcally, for the Chebyshev ﬁlterbased approach (Defferrard et al., 2016), we provide the maximum reported performance for ﬁlters of orders K = 2 and K = 3 .
In order to fairly assess the beneﬁts of the attention mechanism, we further evaluate a GCN model that computes 64 hidden features, attempting both the ReLU and
ELU activation, and reporting (as GCN-64 ∗ ) the better result after 100 runs (which was the ReLU in all three cases).
For the inductive task, we report the micro-averaged F 1 score on the nodes of the two unseen test graphs, averaged after 10 runs, and reuse the metrics already reported in Hamilton et al.
(2017) for the other techniques.
Speciﬁcally, as our setup is supervised, we compare against the supervised GraphSAGE approaches.
To evaluate the beneﬁts of aggregating across the entire neighborhood, we further provide (as GraphSAGE ∗ ) the best result we were able to achieve with GraphSAGE by just modifying its architecture (this was with a three-layer GraphSAGE-LSTM with [512, 512, 726] features computed in each layer and 128 features used for aggregating neighborhoods).
Finally, we report the 10-run result of our constant attention GAT model (as Const-GAT), to fairly evaluate the beneﬁts of the attention mechanism against a GCN-like aggregation scheme (with the same architecture).
Our results successfully demonstrate state-of-the-art performance being achieved or matched across all four datasets—in concordance with our expectations, as per the discussion in Section 2.2.
More speciﬁcally, we are able to improve upon GCNs by a margin of 1.5% and 1.6% on Cora and Citeseer, respectively, suggesting that assigning different weights to nodes of a same neighborhood may be beneﬁcial.
It is worth noting the improvements achieved on the PPI dataset: Our GAT model improves by 20.5% w.r.t.
the best GraphSAGE result we were able to obtain, demonstrating that our model has the potential to be applied in inductive settings, and that larger predictive power can be leveraged by observing the entire neighborhood. Furthermore, it improves by 3.9% w.r.t. Const-GAT (the identical architecture with constant attention mechanism), once again directly demonstrating the signiﬁcance of being able to assign different weights to different neighbors.
The effectiveness of the learned feature representations may also be investigated qualitatively—and for this purpose we provide a visualization of the t-SNE (Maaten & Hinton, 2008)-transformed feature representations extracted by the ﬁrst layer of a GAT model pre-trained on the Cora dataset (Figure 2).
The representation exhibits discernible clustering in the projected 2D space.
Note that these clusters correspond to the seven labels of the dataset, verifying the model’s discriminative power across the seven topic classes of Cora.
Additionally, we visualize the relative strengths of the normalized attention coefﬁcients (averaged across all eight attention heads).
Properly interpreting these coefﬁcients (as performed by e.g. Bahdanau et al.
(2015)) will require further domain knowledge about the dataset under study, and is left for future work.
C ONCLUSIONS
We have presented graph attention networks (GATs), novel convolution-style neural networks that operate on graph-structured data, leveraging masked self-attentional layers.
The graph attentional layer utilized throughout these networks is computationally efﬁcient (does not require costly matrix operations, and is parallelizable across all nodes in the graph), allows for (implicitly) assigning different importances to different nodes within a neighborhood while dealing with different sized neighborhoods, and does not depend on knowing the entire graph structure upfront—thus addressing many of the theoretical issues with previous spectral-based approaches.
Our models leveraging attention have successfully achieved or matched state-of-the-art performance across four well-established node classiﬁcation benchmarks, both transductive and inductive (especially, with completely unseen graphs used for testing).
There are several potential improvements and extensions to graph attention networks that could be addressed as future work, such as overcoming the practical problems described in subsection 2.2 to be able to handle larger batch sizes.
A particularly interesting research direction would be taking advantage of the attention mechanism to perform a thorough analysis on the model interpretability.
Moreover, extending the method to perform graph classiﬁcation instead of node classiﬁcation would also be relevant from the application perspective.
Finally, extending the model to incorporate edge features (possibly indicating relationship among nodes) would allow us to tackle a larger variety of problems.