X-Node: Self-Explanation is All We Need

Prajit Sengupta, Islem Rekik
8/14/2025
cs.LGcs.AI

Official code: basiralab/X-Node (10 stars, MIT, last commit 2025-09-23).

Abstract

Graph neural networks (GNNs) have achieved state-of-the-art results in computer vision and medical image classification tasks by capturing structural dependencies across data instances. However, their decision-making remains largely opaque, limiting their trustworthiness in high-stakes clinical applications where interpretability is essential. Existing explainability techniques for GNNs are typically post-hoc and global, offering limited insight into individual node decisions or local reasoning. We introduce X-Node, a self-explaining GNN framework in which each node generates its own explanation as part of the prediction process. For every node, we construct a structured context vector encoding interpretable cues such as degree, centrality, clustering, feature saliency, and label agreement within its local topology. A lightweight Reasoner module maps this context into a compact explanation vector, which serves three purposes: (1) reconstructing the node's latent embedding via a decoder to enforce faithfulness, (2) generating a natural language explanation using a pre-trained LLM (e.g., Grok or Gemini), and (3) guiding the GNN itself via a "text-injection" mechanism that feeds explanations back into the message-passing pipeline. We evaluate X-Node on two graph datasets derived from MedMNIST and MorphoMNIST, integrating it with GCN, GAT, and GIN backbones. Our results show that X-Node maintains competitive classification accuracy while producing faithful, per-node explanations. Repository: https://github.com/basiralab/X-Node.

View on arXivView PDF

Code Implementations(1)

basiralab/X-NodeOfficial100%
MIT

Self Explanation is All We Need — GNN nodes which self-explain!

102PythonAug 1, 20251 years agoMIT

Similar Papers

Cite this paper

@article{sengupta2025xnode,
  title  = {X-Node: Self-Explanation is All We Need},
  author = {Prajit Sengupta and Islem Rekik},
  year   = {2025},
  eprint = {2508.10461},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2508.10461v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2508.10461.svg)](https://codeofpaper.com/paper/2508.10461)

Discussion