Skip to content
/ GATTO Public
forked from RickSrick/GATTO

GATTO (Graph ATtention network with TOpological information)

Notifications You must be signed in to change notification settings

zincalex/GATTO

This branch is 3 commits ahead of RickSrick/GATTO:main.

Repository files navigation

GATTO: Graph Attention Network with Topological Information ๐Ÿ”

Python 3.8.10 TensorFlow License: MIT

๐Ÿ“‹ Overview

GATTO (Graph ATtention network with TOpological information) is a framework that enhances Graph Attention Networks (GAT) by incorporating topological features for node classification tasks. Developed at the University of Padova, this research evaluates the impact of structural information on classification accuracy in citation networks.

๐Ÿ”ง Features

Topological Enhancements

  • Degree Centrality
  • Betweenness Centrality
  • Closeness Centrality
  • Suggested Label (via embedding clustering)

๐Ÿ“Š Supported Datasets

Network Nodes Edges Labels Features
Cora 2708 5429 7 1443
Citeseer 3327 4732 6 3703

โš™๏ธ Installation

Prerequisites

  • Python 3.8.10
  • Singularity container system

Setup

# Build the Singularity container
singularity build python3.8.10 Singularity.def

๐Ÿ—๏ธ Architecture

The framework consists of two main components:

  1. Precomputation Module

    • Computes topological features from the graph
    • Generates node embeddings
    • Performs clustering analysis
  2. GAT Module

    • Two-layer GAT model
    • First layer: 8 attention heads (8 features each) with ELU activation
    • Second layer: Single attention head for classification with softmax activation
    • Dropout rate: 0.5

๐Ÿ“ˆ Results

Performance Metrics

Performance comparison on the Cora dataset:

Model Accuracy Precision Recall F1 Score
GAT 0.888 0.891 0.888 0.888
GATTO 0.890 0.893 0.890 0.890

๐Ÿ”ฌ Statistical Analysis

Our rigorous statistical evaluation includes:

  1. Normality Testing

    • Shapiro-Wilk Test for score distributions
  2. Performance Comparison Tests

    • Two-Sample t-Test (equal variances)
    • Two-Sample t-Test (unequal variances)
    • Wilcoxon Signed-Rank Test

Results on Cora Dataset:

Statistical Test Results (ฮฑ โ‰ค 0.05):
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Test Type      โ”‚ Accuracy   โ”‚ Precision โ”‚ Recall โ”‚ F1 Score  โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ 2S T-Test (=v) โ”‚   0.546    โ”‚   0.529   โ”‚ 0.546  โ”‚   0.524   โ”‚
โ”‚ 2S T-Test (โ‰ v) โ”‚   0.546    โ”‚   0.530   โ”‚ 0.546  โ”‚   0.525   โ”‚
โ”‚ Wilcoxon Test  โ”‚   0.670    โ”‚   0.570   โ”‚ 0.670  โ”‚   0.677   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Key Finding: While GATTO shows slight improvements (0.14%-0.54%), statistical analysis indicates no significant performance difference compared to standard GAT implementation for small datasets.

๐Ÿ”ฎ Future Work

  1. Alternative embedding techniques
  2. Advanced clustering approaches
  3. Large-scale dataset evaluation
  4. Hyperparameter optimization
  5. Extension to feature-less graphs

๐Ÿ‘ฅ Team

  • Francesco Biscaccia Carrara
  • Riccardo Modolo
  • Alessandro Viespoli

๐Ÿ“š References

Full Research Paper


University of Padova - Computer Engineering

About

GATTO (Graph ATtention network with TOpological information)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 83.5%
  • R 16.5%