Bi-GCN: Binary Graph Convolutional Network
Abstract
Graph Neural Networks (GNNs) have achieved tremendous success in graph representation learning. Unfortunately, current GNNs usually rely on loading the entire attributed graph into network for processing. This implicit assumption may not be satisfied with limited memory resources, especially when the attributed graph is large. In this paper, we pioneer to propose a Binary Graph Convolutional Network (Bi-GCN), which binarizes both the network parameters and input node features. Besides, the original matrix multiplications are revised to binary operations for accelerations. According to the theoretical analysis, our Bi-GCN can reduce the memory consumption by an average of $ $30x for both the network parameters and input data, and accelerate the inference speed by an average of $ $47x, on the citation networks. Meanwhile, we also design a new gradient approximation based back-propagation method to train our Bi-GCN well. Extensive experiments have demonstrated that our Bi-GCN can give a comparable performance compared to the full-precision baselines. Besides, our binarization approach can be easily applied to other GNNs, which has been verified in the experiments.
Benchmark Results
Tested on 3 datasets 6 baseline values reported too low
Tables show presented results in global context (best 3 papers + GCN + MLP).
Classic
| # | Model | Accuracy ↑ | Paper |
|---|---|---|---|
| 1 | GraphSAGE+CNA | 0.9418
±0.0033 | |
| 2 | GCN+CNA | 0.9366
±0.0048 | |
| 3 | TransformerConv | 0.9350
±0.0058 | |
| 21 | GCN | 0.9004 best reported | best at pub: SplineCNN: Fast Geometric Deep Learning with Continuous B-Spline Kernels (2017) best today: Understanding Heterophily for Graph Neural Networks (ICML 2024) |
| 39 | SAGE | 0.8911
±0.0012 | |
| 44 | GAT | 0.8897
±0.0014 best reported | best at pub: Learned Low Precision Graph Neural Networks (2020) |
| 223 | SGC | 0.8509
±0.0648 best reported | best at pub: Deep Learning on Graphs: A Survey (2018) Difference within reported uncertainty; not counted as underperformance. |
| 226 | FastGCN | 0.8500 best reported | best at pub: Tackling Over-Smoothing for General Graph Convolutional Networks (2020) best today: Training Robust Graph Neural Networks with Topology Adaptive Edge Dropping (2021) |
| 597 | BI-GCN | 0.8120
±0.0080 | This paper |
| 724 | MLP | 0.7768 |
| # | Model | Accuracy ↑ | Paper |
|---|---|---|---|
| 1 | LGTL | 0.9518
±0.0011 | |
| 2 | MixHop (LO) | 0.9513
±0.0038 | |
| 3 | GraphSAGE (LO) | 0.9511
±0.0036 | |
| 18 | GCN | 0.9296
±0.0015 best reported | best at pub: Tackling Over-Smoothing for General Graph Convolutional Networks (2020) |
| 20 | GAT | 0.9233
±0.0018 best reported | best at pub: Tackling Over-Smoothing for General Graph Convolutional Networks (2020) |
| 116 | SAGE | 0.8881
±0.0015 | |
| 141 | SGC | 0.8832
±0.0055 best reported | best at pub: Deep Learning on Graphs: A Survey (2018) |
| 159 | FastGCN | 0.8800 best reported | best at pub: Tackling Over-Smoothing for General Graph Convolutional Networks (2020) best today: Training Robust Graph Neural Networks with Topology Adaptive Edge Dropping (2021) |
| 210 | MLP | 0.8690
±0.0074 | |
| 536 | BI-GCN | 0.7940
±0.0100 | This paper |
| # | Model | F1 ↑ | Paper |
|---|---|---|---|
| 1 | EnGCN | 0.9714
±0.0003 | |
| 2 | SAGN+SLE | 0.9710 | |
| 3 | GAMLP(JK) | 0.9704
±0.0001 | |
| 4 | GraphSAINT | 0.9700 best reported | best at pub: SIGN: Scalable Inception Graph Neural Networks (2020) best today: LMC: Fast Training of GNNs via subgraph-wise sampling with Provable Convergence (ICLR 2023) |
| 14 | GraphSAGE | 0.9660 best reported | best at pub: GaAN: Gated Attention Networks for Learning on Large and Spatiotemporal Graphs (2018) best today: Accelerating Large Scale Real-Time GNN Inference using Channel Pruning (2021) |
| 50 | Bi-GraphSAINT | 0.9570
±0.0010 | This paper |
| 59 | Bi-GraphSAGE | 0.9530
±0.0010 | This paper |
| 58 | GCN | 0.9530
±0.0010 | |
| 88 | inductiveGCN | 0.9380
±0.0010 | This paper |
| 105 | Bi-inductiveGCN | 0.9310
±0.0020 | This paper |
