This repo is for source code of KDD 2022 paper "Reliable Representations Make A Stronger Defender: Unsupervised Structure Refinement for Robust GNN".
Paper Link: https://arxiv.org/abs/2207.00012
- python == 3.8.8
- pytorch == 1.8.2--cuda11.1
- scipy == 1.6.2
- numpy == 1.20.1
- deeprobust
First, you need to install Deeprobust to prepare the perturbed dataset. Here we only provide the example of MetaAttack. If you need graphs attacked by other methods (DICE, Random), you can refer to: https://github.com/DSE-MSU/DeepRobust/tree/master/examples/graph. Likewise, you can also prepare your own perturbed graphs you need in any way.
pip install deeprobust
Then, you can generate the perturbed graphs via
python generate_attack.py --dataset cora --ptb_rate 0.05
After obtaining the perturbed graphs, you can run STABLE via
python main.py --dataset cora --ptb_rate 0.05 --alpha -0.3 --beta 2 --k 5 --jt 0.03 --cos 0.1 --log
Though we have five hyper-parameters, they can be easily tuned according to the perturbation rate. Here we provide guidance and the specific values which achieve the peak performance against MetaAttack in our experiments.
- alpha: proportional to the perturbation rate
- beta: fixed at 2
- k proportional to the perturbation rate
- jt: tuned from 0.0 to 0.05, proportional to the perturbation rate
- ct: tuned from 0.1 to 0.3, mostly fixed at 0.1
ptb_rate | 0% | 5% | 10% | 15% | 20% |
---|---|---|---|---|---|
alpha | -0.5 | -0.3 | 0.3 | 0.6 | 0.6 |
beta | 2 | 2 | 2 | 2 | 2 |
k | 1 | 5 | 7 | 7 | 7 |
jt | 0.0 | 0.03 | 0.03 | 0.03 | 0.03 |
cos | 0.1 | 0.1 | 0.1 | 0.2 | 0.25 |
ptb_rate | 0% | 5% | 10% | 15% | 20% |
---|---|---|---|---|---|
alpha | -0.5 | -0.3 | -0.1 | -0.1 | 0.1 |
beta | 2 | 2 | 2 | 2 | 2 |
k | 3 | 3 | 5 | 5 | 5 |
jt | 0.0 | 0.02 | 0.02 | 0.04 | 0.03 |
cos | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 |
ptb_rate | 0% | 5% | 10% | 15% | 20% |
---|---|---|---|---|---|
alpha | -0.5 | 0.3 | 0.5 | 2 | 2 |
beta | 2 | 1 | 1 | 2 | 2 |
k | 0 | 3 | 3 | 3 | 3 |
jt | / | / | / | / | / |
cos | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 |
@inproceedings{li2022reliable,
title={Reliable Representations Make A Stronger Defender: Unsupervised Structure Refinement for Robust GNN},
author={Li, Kuan and Liu, Yang and Ao, Xiang and Chi, Jianfeng and Feng, Jinghua and Yang, Hao and He, Qing},
booktitle={Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining},
pages={925--935},
year={2022}
}
If you have any questions, please feel free to contact me with [email protected].