All Projects → ChandlerBang → SimP-GCN

ChandlerBang / SimP-GCN

Licence: other
Implementation of the WSDM 2021 paper "Node Similarity Preserving Graph Convolutional Networks"

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to SimP-GCN

Pro-GNN
Implementation of the KDD 2020 paper "Graph Structure Learning for Robust Graph Neural Networks"
Stars: ✭ 202 (+369.77%)
Mutual labels:  graph-mining, adversarial-attacks, graph-neural-networks
TIGER
Python toolbox to evaluate graph vulnerability and robustness (CIKM 2021)
Stars: ✭ 103 (+139.53%)
Mutual labels:  graph-mining, robustness, adversarial-attacks
Traffic-Prediction-Open-Code-Summary
Summary of open source code for deep learning models in the field of traffic prediction
Stars: ✭ 58 (+34.88%)
Mutual labels:  graph-convolutional-networks, graph-neural-networks
Pytorch geometric
Graph Neural Network Library for PyTorch
Stars: ✭ 13,359 (+30967.44%)
Mutual labels:  graph-convolutional-networks, graph-neural-networks
Stellargraph
StellarGraph - Machine Learning on Graphs
Stars: ✭ 2,235 (+5097.67%)
Mutual labels:  graph-convolutional-networks, graph-neural-networks
awesome-efficient-gnn
Code and resources on scalable and efficient Graph Neural Networks
Stars: ✭ 498 (+1058.14%)
Mutual labels:  graph-convolutional-networks, graph-neural-networks
ProteinGCN
ProteinGCN: Protein model quality assessment using Graph Convolutional Networks
Stars: ✭ 88 (+104.65%)
Mutual labels:  graph-convolutional-networks, graph-neural-networks
Graph Based Deep Learning Literature
links to conference publications in graph-based deep learning
Stars: ✭ 3,428 (+7872.09%)
Mutual labels:  graph-convolutional-networks, graph-neural-networks
SelfGNN
A PyTorch implementation of "SelfGNN: Self-supervised Graph Neural Networks without explicit negative sampling" paper, which appeared in The International Workshop on Self-Supervised Learning for the Web (SSL'21) @ the Web Conference 2021 (WWW'21).
Stars: ✭ 24 (-44.19%)
Mutual labels:  graph-convolutional-networks, graph-neural-networks
walklets
A lightweight implementation of Walklets from "Don't Walk Skip! Online Learning of Multi-scale Network Embeddings" (ASONAM 2017).
Stars: ✭ 94 (+118.6%)
Mutual labels:  graph-mining, graph-neural-networks
Spectral-Designed-Graph-Convolutions
Codes for "Bridging the Gap Between Spectral and Spatial Domains in Graph Neural Networks" paper
Stars: ✭ 39 (-9.3%)
Mutual labels:  graph-convolutional-networks, graph-neural-networks
SelfTask-GNN
Implementation of paper "Self-supervised Learning on Graphs:Deep Insights and New Directions"
Stars: ✭ 78 (+81.4%)
Mutual labels:  graph-mining, graph-neural-networks
Literatures-on-GNN-Acceleration
A reading list for deep graph learning acceleration.
Stars: ✭ 50 (+16.28%)
Mutual labels:  graph-convolutional-networks, graph-neural-networks
grb
Graph Robustness Benchmark: A scalable, unified, modular, and reproducible benchmark for evaluating the adversarial robustness of Graph Machine Learning.
Stars: ✭ 70 (+62.79%)
Mutual labels:  adversarial-attacks, graph-neural-networks
Representation Learning on Graphs with Jumping Knowledge Networks
Representation Learning on Graphs with Jumping Knowledge Networks
Stars: ✭ 31 (-27.91%)
Mutual labels:  graph-convolutional-networks, graph-neural-networks
graphml-tutorials
Tutorials for Machine Learning on Graphs
Stars: ✭ 125 (+190.7%)
Mutual labels:  graph-convolutional-networks, graph-neural-networks
square-attack
Square Attack: a query-efficient black-box adversarial attack via random search [ECCV 2020]
Stars: ✭ 89 (+106.98%)
Mutual labels:  robustness, adversarial-attacks
GNN-Recommender-Systems
An index of recommendation algorithms that are based on Graph Neural Networks.
Stars: ✭ 505 (+1074.42%)
Mutual labels:  graph-convolutional-networks, graph-neural-networks
Euler
A distributed graph deep learning framework.
Stars: ✭ 2,701 (+6181.4%)
Mutual labels:  graph-convolutional-networks, graph-neural-networks
awesome-graph-explainability-papers
Papers about explainability of GNNs
Stars: ✭ 153 (+255.81%)
Mutual labels:  graph-mining, graph-neural-networks

SimP-GCN

A Pytorch implementation of "Node Similarity Preserving Graph Convolutional Networks" (WSDM 2021). [paper]

Abstract

Graph Neural Networks (GNNs) explore the graph structure and node features by aggregating and transforming information within node neighborhoods. However, through theoretical and empirical analysis, we reveal that the aggregation process of GNNs tends to destroy node similarity in the original feature space. But there are many scenarios where node similarity plays a crucial role. Thus, it has motivated the proposed framework SimP-GCN that can effectively and efficiently preserve node similarity while exploiting graph structure. We validate the effectiveness of SimP-GCN on seven benchmark datasets including three assortative and four disassorative graphs. The results demonstrate that SimP-GCN outperforms representative baselines. Further probe shows various advantages of the proposed framework.

Requirements

See that in https://github.com/ChandlerBang/SimP-GCN/blob/main/requirements.txt

tqdm==4.42.0
torch==1.2.0
ipdb==0.13.2
scipy==1.4.1
dgl==0.5.2
numpy==1.17.4
pandas==1.0.3
networkx==2.3
scikit_learn==0.23.2
tensorboardX==2.1

Installation

pip install -r requirements.txt

Reproduce the results

All the hyper-parameters settings are included in scripts folder. For example, you can run the following commands.

sh scripts/assortative/cora.sh
sh scripts/disassortative/actor.sh

You can run python run.py to get all the results. Make sure you have installed the same version of depedencies.

Note that for adversarial robustness, you need to install DeepRobust as follows:

git clone https://github.com/DSE-MSU/DeepRobust.git
cd DeepRobust
python setup.py install

You might also need to delete the saved cora temporary files generated by experiments on assortative graphs. It is because when evaluating adversarail robustness we use the largest connected component of the graph instead of the entire graph.

rm saved/cora* 
sh scripts/adversarial/cora.sh

You can also choose to run the test example (test_simpgcn.py) in DeepRobust.

python DeepRobust/deeprobust/exmaples/graphs/test_simpgcn.py --dataset cora --ptb_rate 0.2

Acknowledgement

This repository is modified from SelfTask-GNN, DropEdge and Geom-GCN. We sincerely thank them for their contributions.

Cite

For more information, you can take a look at the paper.

If you find this repo to be useful, please cite our paper. Thank you.

@inproceedings{jin2020node,
  title={Node Similarity Preserving Graph Convolutional Networks}, 
  author={Jin, Wei and Derr, Tyler and Wang, Yiqi and Ma, Yao and Liu, Zitao and Tang, Jiliang},
  booktitle={Proceedings of the 14th ACM International Conference on Web Search and Data Mining},
  year={2021},
  organization={ACM}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].