Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Self-Consistency Improves the Trustworthiness of Self-Interpretable GNNs

💻 Official implementation of our ICLR 2026 paper: Self-Consistency Improves the Trustworthiness of Self-Interpretable GNNs

🧠 Authors: Wenxin Tai, Ting Zhong, Goce Trajcevski, Fan Zhou
📍 Institutions: University of Electronic Science and Technology of China & Iowa State University
🔗 Page Link 🔗 Paper Link 🤖 This repository is maintained by ICDM Lab


🧩 Overview

TL;DR: We identify the mismatch between SI-GNN training and faithfulness evaluation, show its connection to self-consistency, and propose a simple SC loss that consistently improves explanation quality without architectural changes.


📦 Repository Structure

├── assets
├── configs         # configuration
├── criterion.py    # loss function
├── dataloader.py   # load data
├── dataset.py      # process data
├── datasets        # raw dataset
├── explainer.py    # explainer in self-interpretable GNNs (MLP)
├── main.py         # entry
├── model.py        # GNN backbone (GIN)
├── outputs         # checkpoints/logs
├── README.md
├── run.sh 
└── trainer.py      # train/valid/test

⚙️ Installation

We recommend creating a fresh Python environment (e.g., with conda):

conda create -n exgnn python=3.9
conda activate exgnn
pip install -r requirements.txt

📚 Datasets

We evaluate our method on a variety of datasets:

  • Synthetic: BA-2MOTIFS
  • Molecular: MUTAGENICITY, 3MR, BENZENE

Datasets can be downloaded from Google Drive, place all datasets (e.g., ba_2motifs, benzene, mr, mutag) in the datasets/ folder.


🏃‍♀️ Quick Start

1. Train self-interpretable GNNs

python main.py --run_time 10 --dataset ba_2motifs --method size
python main.py --run_time 10 --dataset ba_2motifs --method size_sc
python main.py --run_time 10 --dataset ba_2motifs --method gsat
python main.py --run_time 10 --dataset ba_2motifs --method gsat_sc
python main.py --run_time 10 --dataset ba_2motifs --method cal_cr
python main.py --run_time 10 --dataset ba_2motifs --method cal_cr_sc

2. Evaluation

python main.py --run_time 10 --dataset ba_2motifs --method size --calculate_all_metrics
python main.py --run_time 10 --dataset ba_2motifs --method size_sc --calculate_all_metrics
python main.py --run_time 10 --dataset ba_2motifs --method gsat --calculate_all_metrics
python main.py --run_time 10 --dataset ba_2motifs --method gsat_sc --calculate_all_metrics
python main.py --run_time 10 --dataset ba_2motifs --method cal_cr --calculate_all_metrics
python main.py --run_time 10 --dataset ba_2motifs --method cal_cr_sc --calculate_all_metrics

📁 Pretrained Checkpoints

We provide pretrained model checkpoints for quick reproduction.

You can download them from the Releases tab

To use the checkpoint, place it in the outputs/checkpoints/ folder and run:

python main.py --run_time 10 --dataset ba_2motifs --method size_sc --calculate_all_metrics
python main.py --run_time 10 --dataset ba_2motifs --method gsat_sc --calculate_all_metrics
python main.py --run_time 10 --dataset ba_2motifs --method cal_cr_sc --calculate_all_metrics

📌 Citation

If you find this work useful, please cite us:

@inproceedings{tai2026self,
  title     = {Self-Consistency Improves the Trustworthiness of Self-Interpretable GNNs},
  author    = {Tai, Wenxin and Zhong, Ting and Trajcevski, Goce and Zhou, Fan},
  booktitle = {International Conference on Learning Representations (ICLR)},
  year      = {2026}
}

📬 Contact

If you have questions or suggestions, feel free to reach out via GitHub Issues or email: wxtai [AT] outlook [DOT] com

About

Self-Consistency Improves the Trustworthiness of Self-Interpretable GNNs, International Conference on Learning Representations (ICLR), 2026

Resources

Stars

9 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages