  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.
