THUDM / tdgia

code for paper TDGIA:Effective Injection Attacks on Graph Neural Networks (KDD 2021, research track)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TDGIA

code for

TDGIA:Effective Injection Attacks on Graph Neural Networks (KDD 2021, research track)

1: Datasets,

Reddit dataset (reddit_adj.npz, reddit.npz): from SNAP, (http://snap.stanford.edu/graphsage/), or from FastGCN matenure/FastGCN#8 (comment)

ogbn-arxiv dataset: from https://snap.stanford.edu/ogb/data/nodeproppred/arxiv.zip

KDD-CUP( or aminer) dataset: from https://github.com/THUDM/GIAAD

2: Code: packages required: pytorch,dgl

To train gnns, use python train_gnns.py --model $GNN --gpu $gpu --dataset $dataset

$GNN= rgcn (RobustGCN),sgcn, graphsage_norm (used in paper), gcn_lm, tagcn, appnp, gin

$dataset=aminer, reddit, ogb-arxiv

will automatically train 2 GNNs under the directory $GNN_$dataset name of them will be 0 and 1.

To run TDGIA, use python tdgia.py --dataset $dataset --models $model --gpu $gpu --strategy $strategy

will generate its attack based on model $model_$dataset/0 , the generated attack will locate in $dataset_$model

To evaluate, use python GIA_evaluate.py --dataset $dataset --eval_data $path

will evaluate this attack based on attack in package $path. Note that the all 7 models shall all be trained. The attack will based on model $model/1 (different from $model/0 which is used to generate attacks)

To evaluate on KDD-CUP using KDD-CUP defense submissions,check https://github.com/THUDM/GIAAD, and copy the generated attack package to GIAAD/submission .

If you have any problems, pls contact zoux18@mails.tsinghua.edu.cn

@inproceedings{10.1145/3447548.3467314,
author = {Zou, Xu and Zheng, Qinkai and Dong, Yuxiao and Guan, Xinyu and Kharlamov, Evgeny and Lu, Jialiang and Tang, Jie},
title = {TDGIA: Effective Injection Attacks on Graph Neural Networks},
year = {2021},
isbn = {9781450383325},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3447548.3467314},
doi = {10.1145/3447548.3467314},
booktitle = {Proceedings of the 27th ACM SIGKDD Conference on Knowledge Discovery & Data Mining},
pages = {2461–2471},
numpages = {11},
keywords = {graph mining, network mining, adversarial machine learning, graph neural networks, graph injection attack},
location = {Virtual Event, Singapore},
series = {KDD '21}
}

About

code for paper TDGIA:Effective Injection Attacks on Graph Neural Networks (KDD 2021, research track)


Languages

Language:Python 100.0%