SS-GCNs
                                
                                 SS-GCNs copied to clipboard
                                
                                    SS-GCNs copied to clipboard
                            
                            
                            
                        [ICML 2020] "When Does Self-Supervision Help Graph Convolutional Networks?" by Yuning You, Tianlong Chen, Zhangyang Wang, Yang Shen
When Does Self-Supervision Help Graph Convolutional Networks?
PyTorch implementation for When Does Self-Supervision Help Graph Convolutional Networks? [appendix]
Yuning You*, Tianlong Chen*, Zhangyang Wang, Yang Shen
In ICML 2020.
Overview
Properly designed multi-task self-supervision benefits GCNs in gaining more generalizability and robustness. In this repository we verify it through performing experiments on several GCN architectures with three designed self-supervised tasks: node clustering, graph partitioning and graph completion.

Dependencies
Please setup the environment following Section 3 (Setup Python environment for GPU) in this instruction, and then install the dependencies related to graph partitioning with the following commands:
sudo apt-get install libmetis-dev
pip install METIS==0.2a.4
Experiments
- GCN, GAT and GIN with self-supervision
- GMNN and GraphMix with self-supervision
- GCN with self-supervision in adversarial defense
Citation
If you use this code for you research, please cite our paper.
@article{you2020does,
  title={When Does Self-Supervision Help Graph Convolutional Networks?},
  author={You, Yuning and Chen, Tianlong and Wang, Zhangyang and Shen, Yang},
  journal={Proceedings of machine learning research},
  volume={119},
  pages={10871--10880},
  year={2020}
}