Reference implementation of the gray-box certificate proposed in the paper:
Randomized Message-Interception Smoothing: Gray-box Certificates for Graph Neural Networks
Yan Scholten, Jan Schuchardt, Simon Geisler, Aleksandar Bojchevski, Stephan Günnemann
Conference on Neural Information Processing Systems (NeurIPS), 2022
[ Project page | PDF | Talk | Slides | Poster ]
We provide a demo notebook (demo.ipynb) with an example of how to compute certificates for a pretrained GAT model.
Instructions to install required dependencies:
conda env create -f environment.yml
conda activate interception_smoothing
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
conda install -c conda-forge cudatoolkit-dev
conda install pyg -c pyg
The code was tested with Python 3.9.12, pyg 2.0.4, and CUDA 11.4.48 on NVIDIA GeForce GTX 1080 Ti.
Please cite our paper if you use this code in your own work:
@inproceedings{scholten2022interception_smoothing,
title = {Randomized Message-Interception Smoothing: Gray-box Certificates for Graph Neural Networks},
author = {Scholten, Yan and Schuchardt, Jan and Geisler, Simon and Bojchevski, Aleksandar and G{\"u}nnemann, Stephan},
booktitle={Advances in Neural Information Processing Systems, {NeurIPS}},
year={2023}
}
For questions and feedback please contact:
Yan Scholten, Technical University of Munich
Jan Schuchardt, Technical University of Munich
Simon Geisler, Technical University of Munich
Aleksandar Bojchevski, CISPA Helmholtz Center for Information Security
Stephan Günnemann, Technical University of Munich
The code by Yan Scholten, Jan Schuchardt, Simon Geisler, Aleksandar Bojchevski and Stephan Günnemann is licensed under MIT license.