📋 KEY INSIGHTS
- Graph Neural Networks (GNNs) extend deep learning to graph-structured data β networks of nodes and edges β enabling ML on social networks, molecular structures, knowledge graphs, supply chains, and fraud detection systems where relational structure is the primary signal.
- The core operation in all GNN variants is message passing: each node aggregates information from its neighbours, updates its own representation, and repeats this process for multiple rounds. After k rounds, a node’s embedding captures the structure of its k-hop neighbourhood.
- Graph Convolutional Networks (GCN), GraphSAGE, Graph Attention Networks (GAT), and Graph Isomorphism Networks (GIN) are the four most widely used GNN architectures β each making different design choices about how to aggregate neighbour information.
- GNNs are particularly powerful for link prediction (will these two nodes be connected?) and node classification (what is the label of this node?) β the two tasks that underpin most real-world graph ML applications.
- Over-smoothing is the primary limitation of deep GNNs: as the number of message-passing layers increases beyond 3β5, node representations become indistinguishable because every node has aggregated information from most of the graph.
- Knowledge graphs β structured representations of facts as (subject, relation, object) triples β are the most commercially deployed graph ML application, powering entity resolution, recommendation, and search in Google, LinkedIn, and Amazon.
Most machine learning algorithms assume data is tabular β a fixed-length feature vector for each observation, with no inherent relationship structure between observations. This assumption is violated by a large and growing class of real-world problems: fraud detection in payment networks (where fraud patterns emerge from transaction relationships, not just individual transaction features), drug discovery (where molecule properties depend on how atoms are bonded), social recommendation (where user preferences are shaped by social connections), and supply chain optimisation (where a disruption propagates through a network of dependencies). Graph Neural Networks, developed and refined between 2016 and 2023, provide a principled way to learn from data with relational structure. This guide covers the theory, the major architectures, the key tasks, and the practical considerations for applying GNNs to real problems.
Graph Data β Terminology and Representation
A graph G consists of a set of nodes V (also called vertices) and a set of edges E connecting pairs of nodes. Nodes and edges can each carry feature vectors: node features (the attributes of each entity β a user’s age, account tenure, and transaction history in a fraud graph) and edge features (the attributes of each relationship β the transaction amount and time in the same fraud graph). Graphs can be directed (edges have a direction: A follows B on Twitter does not imply B follows A) or undirected (friendship in Facebook is symmetric). Graphs can also be heterogeneous, containing multiple types of nodes and edges β a knowledge graph with Person, Company, and Location nodes connected by WORKS_AT, LOCATED_IN, and FOUNDED_BY edges.
In practice, a graph is represented computationally as an adjacency matrix A (an nΓn matrix where A[i][j] = 1 if there is an edge from node i to node j) and a node feature matrix X (an nΓd matrix where each row is the d-dimensional feature vector for one node). For large, sparse graphs, the adjacency is stored as an edge index β a list of (source, target) pairs β rather than a dense matrix, since most real-world graphs have far fewer edges than the nΒ² possible pairs.
| Graph Property | What It Means | Example |
|---|---|---|
| Directed | Edges have a source and target | Twitter follows, web page links, citations |
| Undirected | Edges are symmetric | Friendship networks, molecular bonds |
| Weighted | Edges carry a numeric weight | Transaction amount, road distance, correlation |
| Heterogeneous | Multiple node and edge types | Knowledge graphs, e-commerce (user, product, seller) |
| Dynamic | Graph structure changes over time | Live transaction networks, evolving social graphs |
| Node features | Attribute vector on each node | User demographics, protein sequence features |
| Edge features | Attribute vector on each edge | Transaction amount, bond type, review rating |
GNN Architectures β From GCN to GAT
The landscape of GNN architectures is large but not chaotic β most architectures are variants on a single core idea called message passing, and they differ primarily in how they aggregate messages from neighbours and how they weight different neighbours’ contributions.
Graph Convolutional Networks (GCN) β proposed by Kipf and Welling (2017) β are the simplest and most widely studied GNN. A GCN layer computes a new representation for each node by averaging the features of its neighbours (including itself), then passing the result through a linear transformation and a non-linearity. The averaging is normalised by the degree of both the node and its neighbours, preventing high-degree nodes from dominating. GCN is transductive β it cannot make predictions for nodes that were not seen during training β and works best on homophilic graphs where connected nodes tend to have the same label.
GraphSAGE (Hamilton et al., 2017) addressed GCN’s transductive limitation by introducing inductive learning: rather than learning embeddings for specific nodes, GraphSAGE learns aggregation functions that generalise to unseen nodes. It samples a fixed number of neighbours at each layer rather than using all of them, making it scalable to graphs with millions of nodes. The aggregation function can be mean (equivalent to GCN), LSTM over a random permutation of neighbours, or max pooling over transformed neighbour features. GraphSAGE is the practical choice for production graph ML systems where the graph evolves and new nodes appear continuously.
Graph Attention Networks (GAT) β VeliΔkoviΔ et al. (2018) β replace the fixed symmetric aggregation of GCN with learned attention weights. Each node learns to assign different importance to different neighbours, computed as a function of both nodes’ features. The attention mechanism allows the model to focus on structurally important or informationally relevant neighbours and ignore noisy ones. GAT is particularly effective on heterophilic graphs (where connected nodes have different labels) and in domains where the strength of relationships varies significantly across edges.
Graph Isomorphism Networks (GIN) β Xu et al. (2019) β are theoretically motivated: they are provably the most expressive class of GNN in terms of distinguishing non-isomorphic graphs. GIN uses a sum aggregation (rather than mean or max) and a multi-layer perceptron to update node representations. The theoretical analysis showed that sum aggregation is strictly more powerful than mean or max for distinguishing graph structures. GIN is the preferred architecture for graph-level classification tasks like molecular property prediction.
| Architecture | Aggregation | Key Property | Best Use Case | Scalability |
|---|---|---|---|---|
| GCN | Normalised mean of neighbours | Simple, well-studied | Node classification, homophilic graphs | Medium (transductive) |
| GraphSAGE | Sampled neighbour mean / LSTM / max | Inductive, scalable | Production node classification, new nodes | High |
| GAT | Learned attention-weighted sum | Adaptive neighbour weighting | Heterophilic graphs, variable edge importance | Medium |
| GIN | Sum + MLP | Most expressive (Weisfeiler-Leman) | Graph classification, molecular property prediction | Medium |
| HAN | Hierarchical attention (node + semantic) | Heterogeneous graph support | Knowledge graphs, multi-type graphs | Medium |
| Temporal GNN | Time-aware aggregation | Dynamic graph evolution | Live transaction graphs, event streams | LowβMedium |
GNN Tasks β Node, Edge, and Graph Level
GNN applications fall into three levels, corresponding to whether the prediction target is a single node, a pair of nodes (an edge), or the entire graph. The architecture and training setup differ across these levels, but the message-passing backbone is the same.
Node classification assigns a label to each node. Examples: classifying Twitter accounts as human or bot; labelling research papers by field in a citation network; identifying fraudulent accounts in a payment network. The GNN learns a node embedding for each node, and a classifier head (a linear layer followed by softmax) maps the embedding to a class probability. Training uses cross-entropy loss on labelled nodes. Semi-supervised node classification β where only a small fraction of nodes are labelled β is a particularly common setup and one where GNNs have a strong advantage over tabular models, because they can propagate label information through the graph structure.
Link prediction predicts whether an edge should exist between two nodes. Examples: recommending friends on a social network; predicting interactions between drugs and proteins in a pharmacological network; identifying missing facts in a knowledge graph. The standard approach is to learn node embeddings with a GNN, then score candidate edges using a similarity function (dot product, Hadamard product, concatenation + MLP) applied to the two endpoint embeddings. Training uses binary cross-entropy on observed positive edges and sampled negative edges.
Graph classification assigns a label to an entire graph. Examples: predicting whether a molecule is toxic; classifying a computer program by its functionality using its call graph; detecting communities of bots in social network subgraphs. This requires a readout (global pooling) operation that aggregates all node embeddings into a single graph-level embedding β typically global mean pooling, global sum pooling, or hierarchical pooling. The graph embedding is then passed to a classifier.
| Task Level | Prediction Target | Commercial Example | Typical GNN |
|---|---|---|---|
| Node classification | Label per node | Fraud account detection, paper categorisation | GCN, GraphSAGE, GAT |
| Link prediction | Should edge (u,v) exist? | Friend recommendation, drugβprotein interaction | GraphSAGE, GCN + dot product scoring |
| Graph classification | Label per entire graph | Molecule toxicity, malware detection | GIN + global pooling |
| Node regression | Continuous value per node | Traffic speed at road intersection | GCN / GAT |
| Graph generation | Generate new valid graphs | Drug molecule design, material discovery | Graph VAE, GraphRNN, GDSS |
| Knowledge graph completion | Missing (subject, relation, object) triples | Google Knowledge Graph, Amazon product graph | TransE, RotatE, R-GCN |
Practical Challenges and Limitations
Over-smoothing is the fundamental depth limitation of GNNs. As the number of message-passing layers increases, each node aggregates information from an exponentially growing neighbourhood. After k layers, every node has a representation that incorporates information from all nodes within k hops. On typical real-world graphs (small-world graphs with average path lengths of 5β7), just 4β5 layers are sufficient to mix information from almost every node β making all node representations converge to similar values. This is why effective GNNs in practice rarely exceed 3β4 layers, despite the success of much deeper networks in image and text domains. Techniques to mitigate over-smoothing include residual connections (preserving the original node features alongside aggregated representations), dense connections, and jumping knowledge networks (JK-Nets) that combine representations from all layers.
Scalability is the second major challenge. Full-batch training on large graphs requires storing the entire adjacency and all node features in GPU memory simultaneously, which is infeasible for graphs with millions of nodes. Mini-batch training with neighbour sampling (as in GraphSAGE) is the standard solution, but it introduces approximation error and requires careful tuning of the sampling budget. Cluster-GCN partitions the graph into clusters and trains on one cluster at a time, preserving most intra-cluster edges at the cost of losing inter-cluster information. GraphSAINT samples subgraphs using random walks, edges, or nodes, and has shown strong performance at billion-edge scale.
✦ SUMMARIZE THIS ARTICLE WITH AI
The neural network foundations that GNNs build on β MLP, attention mechanisms, and backpropagation β are covered in our Neural Network Architectures guide. The attention mechanism central to GAT is explained in our Transformers and Attention guide. Anomaly detection applications on graph-structured data are in our Anomaly Detection guide. Recommendation systems that use graph-based collaborative filtering are covered in our Recommendation Systems guide.



