Graph Alignment for Benchmarking Graph Neural Networks and Learning Positional Encodings
About
We propose a novel benchmarking methodology for graph neural networks (GNNs) based on the graph alignment problem, a combinatorial optimization task that generalizes graph isomorphism by aligning two unlabeled graphs to maximize overlapping edges. We frame this problem as a self-supervised learning task and present several methods to generate graph alignment datasets using synthetic random graphs and real-world graph datasets from multiple domains. For a given graph dataset, we generate a family of graph alignment datasets with increasing difficulty, allowing us to rank the performance of various architectures. Our experiments prove that there is an optimal task difficulty for having a statistically relevant ranking of different models and that, even on a structure-only task, anisotropic models perform better compared to isotropic ones. To further prove that our synthetic task capture meaningful information, we show its effectiveness for self-supervised GNN pre-training: the learned node embeddings can be leveraged as positional encodings by transformers for graph regression or can be used to reconstruct the full structure of the graph with $98\%$ accuracy. To support reproducibility and further research, we provide an open-source Python package to generate graph alignment datasets and benchmark new GNN architectures. The source code is available at https://github.com/adrien-lagesse/graph-alignment-benchmark.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Quantum Chemical Prediction | PCQM4M v2 (val) | MAE0.125 | 98 | |
| Graph Alignment | Erdös-Rényi (test) | -- | 48 | |
| Graph Alignment | AQSOL (test) | -- | 48 | |
| Graph Alignment | PCQM4M v2 (test) | -- | 48 | |
| Graph Alignment | ogbn-arxiv (test) | -- | 48 | |
| Graph Alignment | CoraFull (test) | -- | 48 | |
| Molecular Regression | AQSOL (val) | MAE1.069 | 9 | |
| Molecular Regression | ZINC (val) | MAE0.109 | 9 | |
| Graph Alignment | AQSOL (val) | -- | 3 | |
| Graph Alignment | CoraFull (val) | -- | 3 |