The implementation of our AAAI 2020 paper "GSSNN: Graph Smoothing Splines Neural Network".
python == 3.6.2
torch == 1.1.0
numpy == 1.16.4
scipy == 1.2.0
networkx == 2.2
torch_scatter == 1.3.0
torch_geometric == 1.3.0
The data folder includes our propocessed data for training and testing.
The orginal datasets can be founded from here.
The model folder includes our proposed model "GSSNN".
The model/utils folder includes graph utils and Scaled Smoothing Splines module used in model.
The model/process_data file processes data and computes the graph centrality.
The torch_geometeric/nn/pool folder includes the designed NodeImportance layer used in model.
The torch_geometeric/nn/conv folder includes the convolutional layers used in model provides by torch_geometeric library.
dim: the hidden dimension of node feature
conv_layer: the number of convolutional layer
ss_layer: the number of smoothing splines layer
Mi: the number of knot used in smoothing splines layer i
epsilon: used in smoothing splines to guarantee the denominator non-zero
add_knot: whether to consider the important nodes features as residual connection to the graph-level representation
cd model
python process_data.py --dataset MUTAG
python GSSNN.py --dataset MUTAG --batch_size 128 --lr 0.01 --weight_decay 5e-4 --dim 32 --conv_layer 3 --ss_layer 2 --M1 5 --M2 5 --epsilon 1e-6 --add_knot True --epoch 100
python GSSNN_10_folds.py --dataset MUTAG --batch_size 128 --lr 0.01 --weight_decay 5e-4 --dim 32 --conv_layer 3 --ss_layer 2 --M1 5 --M2 5 --epsilon 1e-6 --add_knot True --epoch 100
@inproceedings{zhu2020GSSNN
author={Shichao Zhu and Lewei Zhou and Shirui Pan and Chuan Zhou and Guiying Yan and Bin Wang},
title={GSSNN: Graph Smoothing Splines Neural Network},
journal={Proceedings of the 34th AAAI Conference on Artificial Intelligence},
year={2020}
}