SkillAgentSearch skills...

STABLE

source code of KDD 2022 paper "Reliable Representations Make A Stronger Defender: Unsupervised Structure Refinement for Robust GNN".

Install / Use

/learn @likuanppd/STABLE
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

STABLE KDD2022

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

Environment

  • python == 3.8.8
  • pytorch == 1.8.2--cuda11.1
  • scipy == 1.6.2
  • numpy == 1.20.1
  • deeprobust

Perturbed Datasets

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

Main Method

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

Hyper-parameters

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

Cora

| 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 |

Citeseer

| 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 |

Polblogs

| 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 |

Citation

@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}
}

Contact

If you have any questions, please feel free to contact me with likuan.ppd@gmail.com.

Related Skills

View on GitHub
GitHub Stars28
CategoryDevelopment
Updated1y ago
Forks4

Languages

Python

Security Score

75/100

Audited on Mar 31, 2025

No findings