GraphPatcher: Mitigating Degree Bias for Graph Neural Networks via Test-time Augmentation
About
Recent studies have shown that graph neural networks (GNNs) exhibit strong biases towards the node degree: they usually perform satisfactorily on high-degree nodes with rich neighbor information but struggle with low-degree nodes. Existing works tackle this problem by deriving either designated GNN architectures or training strategies specifically for low-degree nodes. Though effective, these approaches unintentionally create an artificial out-of-distribution scenario, where models mainly or even only observe low-degree nodes during the training, leading to a downgraded performance for high-degree nodes that GNNs originally perform well at. In light of this, we propose a test-time augmentation framework, namely GraphPatcher, to enhance test-time generalization of any GNNs on low-degree nodes. Specifically, GraphPatcher iteratively generates virtual nodes to patch artificially created low-degree nodes via corruptions, aiming at progressively reconstructing target GNN's predictions over a sequence of increasingly corrupted nodes. Through this scheme, GraphPatcher not only learns how to enhance low-degree nodes (when the neighborhoods are heavily corrupted) but also preserves the original superior performance of GNNs on high-degree nodes (when lightly corrupted). Additionally, GraphPatcher is model-agnostic and can also mitigate the degree bias for either self-supervised or supervised GNNs. Comprehensive experiments are conducted over seven benchmark datasets and GraphPatcher consistently enhances common GNNs' overall performance by up to 3.6% and low-degree performance by up to 6.5%, significantly outperforming state-of-the-art baselines. The source code is publicly available at https://github.com/jumxglhf/GraphPatcher.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Node Classification | Cora | Accuracy84.17 | 1215 | |
| Node Classification | Citeseer | Accuracy79 | 1037 | |
| Node Classification | Citeseer (test) | Accuracy0.7222 | 945 | |
| Node Classification | Pubmed | Accuracy81.13 | 865 | |
| Node Classification | Cora | Accuracy84.24 | 583 | |
| Node Classification | Chameleon (test) | Mean Accuracy40.35 | 335 | |
| Node Classification | wikiCS | Accuracy78.12 | 329 | |
| Node Classification | Squirrel (test) | Mean Accuracy41.89 | 301 | |
| Node Classification | Actor (test) | Mean Accuracy0.2807 | 286 | |
| Node Classification | PubMed (test) | Accuracy86.21 | 162 |