Skip to content

Lucaviggiano/GirkoNet_MPNN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Raggio Spettrale e Graph Neural Networks: Dal Caos Algebrico all'Ordine Statistico

Un'indagine empirica sui limiti delle euristiche topologiche per la stabilità dei sistemi dinamici tramite Explainable AI.

🎯 Abstract

Questo progetto di ricerca indipendente esplora la possibilità di prevedere la stabilità di un sistema dinamico lineare discreto ($x_{k+1} = A x_k$) utilizzando Reti Neurali su Grafi (GNN). In matematica, un sistema di questo tipo converge se il raggio spettrale della sua matrice di transizione è strettamente minore di 1 ($\rho(A) < 1$). Il calcolo esatto degli autovalori richiede un tempo computazionale $\mathcal{O}(n^3)$.

Il nostro obiettivo iniziale era utilizzare l'Explainable AI (XAI) per estrarre una "regola aurea" (un'euristica topologica) calcolabile in tempo $\mathcal{O}(n^2)$ che superasse in efficacia i classici teoremi di localizzazione lineare (come i Cerchi di Gershgorin). Tuttavia, attraverso un'ingegnerizzazione rigorosa del dataset, test di ablazione e studi di scalabilità dimensionale (da $n=3$ a $n=50$), la ricerca ha dimostrato un principio molto più profondo: le euristiche topologiche per matrici casuali sono un'illusione transitoria. Il progetto mappa la transizione di fase del calcolo matriciale, dal dominio caotico dell'Algebra Pura a quello deterministico della Random Matrix Theory.


📖 Indice

  1. Ingegneria del Dataset: Il "Bestiario" delle Matrici
  2. Feature Engineering e Rappresentazione a Grafo
  3. Architetture e Sperimentazioni (GCN, GIN, Deep Sets)
  4. Explainable AI (XAI): Decodificare la Mente della Rete
  5. La Smentita: Scalabilità Dimensionale e Teoria delle Matrici Casuali
  6. Conclusioni

1. Ingegneria del Dataset: Il "Bestiario" delle Matrici

L'addestramento di un'Intelligenza Artificiale su matrici puramente casuali produce modelli deboli, in quanto la maggior parte delle matrici generate casualmente diverge banalmente o converge banalmente. Per forzare la rete a "ragionare" sui casi limite complessi, abbiamo sviluppato un generatore di matrici altamente ingegnerizzato.

1.1 Forzatura del Raggio Spettrale

Ogni matrice di base generata ($A_{\text{base}}$) subisce una normalizzazione forzata. Calcoliamo il suo raggio spettrale naturale ($\rho_{\text{attuale}}$) e la scaliamo moltiplicandola per un fattore target, in modo che il raggio spettrale finale ricada in un intervallo uniforme tra $0.5$ e $1.5$. $$A = A_{\text{base}} \times \left( \frac{\rho_{\text{target}}}{\rho_{\text{attuale}}} \right)$$ Questo garantisce un dataset perfettamente bilanciato (50% convergenti, 50% divergenti) concentrato sul confine critico della stabilità.

1.2 Multi-Distribuzione (Varianza Statistica)

Per evitare che la rete imparasse i bias di una singola distribuzione statistica, il generatore seleziona casualmente tra 4 "specie" di matrici:

  • Uniformi: Elementi estratti tra -5.0 e 5.0 (media 0).
  • Gaussiane: Distribuzione normale (es. media 0, inviluppi a media 1 per testare perturbazioni asimmetriche di massa).
  • Sparse: Matrici in cui applichiamo una maschera stocastica che azzera il 50-60% degli elementi, per simulare grafi del mondo reale (reti elettriche, sociali).
  • Asimmetriche forzate: Matrici in cui il triangolo inferiore viene svuotato o depotenziato del 90%, per indurre forti oscillazioni (autovalori complessi immaginari).

1.3 Il Filtro di Gershgorin

Il passaggio più cruciale: prima di essere aggiunta al dataset, ogni matrice viene testata contro le tre norme classiche (Norma 1, Norma 2, Norma $\infty$). Se anche solo una di queste norme risulta $< 1$, la matrice viene scartata. Il Ground Truth: Il nostro dataset finale è composto esclusivamente dai "casi impossibili", ovvero matrici che convergono nonostante i teoremi classici le diano per divergenti o incerte.


2. Feature Engineering e Rappresentazione a Grafo

Ogni matrice $n \times n$ viene convertita in un grafo orientato $G = (V, E)$, dove gli elementi extra-diagonali rappresentano i pesi degli archi direzionali. L'assegnazione delle caratteristiche ai nodi ($V$) è stata variata in base all'architettura in test:

  • Per GCN e Deep Sets: Per testare la capacità intrinseca della rete di estrarre euristiche, ai nodi è stato fornito in input solo ed esclusivamente il valore sulla diagonale ($a_{ii}$). La rete ha dovuto dedurre tutto il resto leggendo i pesi degli archi.
  • Per GIN (Graph Isomorphism Network): Per agevolare un'architettura ad alta espressività e spingerla al limite, abbiamo fornito un vettore di 4 feature pre-calcolate in tempo $\mathcal{O}(n^2)$:
    1. Diagonale ($a_{ii}$).
    2. Norma 1 locale (somma assoluta della riga).
    3. Norma $\infty$ locale (somma assoluta della colonna).
    4. Energia dei Cicli Positivi: La somma ($a_{ij} \times a_{ji}$) limitata ai prodotti $> 0$.

3. Architetture e Sperimentazioni (GCN, GIN, Deep Sets)

Abbiamo sottoposto il dataset a tre paradigmi architetturali profondamente diversi per valutare il peso dell'informazione strutturale (topologica) rispetto a quella scalare.

3.1 GCN (Graph Convolutional Network) - "L'Approccio Pragmatico"

  • Meccanica: Aggregazione tramite media spaziale dei messaggi dei vicini.
  • Risultato ($n=10$): Accuratezza ~86%.
  • Analisi: La GCN, a causa del suo "smoothing" intrinseco, non è in grado di tracciare cammini complessi. Ha quindi fatto di necessità virtù, estraendo una regola forte e generalizzabile basata su euristiche topologiche locali (cicli di lunghezza 2).

3.2 GIN (Graph Isomorphism Network) - "L'Approccio Analitico"

  • Meccanica: Aggregazione tramite somma pura con layer MLP interni per ogni nodo.
  • Risultato ($n=10$): Forte overfitting in fase di training (Loss < 0.1), caduta di accuratezza in test al ~83%.
  • Analisi: La GIN ha dimostrato che per superare l'86% non basta guardare i vicini, ma bisogna tracciare flussi asimmetrici e cammini direzionali di ordine superiore. Questo comportamento mima la Formula di Gelfand (Raggio Spettrale): $$\rho(A) = \lim_{k \to \infty} |A^k|^{1/k}$$ La rete ha cercato di memorizzare le potenze della matrice ($A^k$), scontrandosi però con i limiti fisici della generalizzazione.

3.3 Deep Sets - "L'Ablazione Cieca"

  • Meccanica: Rete che analizza i singoli nodi (la sola diagonale $a_{ii}$) in totale isolamento. Nessun arco, nessuna comunicazione topologica.
  • Risultato ($n=10$): Accuratezza ~75%.
  • Analisi: Prova empirica che l'energia di base del sistema (la Traccia) contribuisce a tre quarti dell'accuratezza predittiva globale, ma che il restante 25% dell'informazione risiede obbligatoriamente nell'interazione (gli archi), rendendo il raggio spettrale una proprietà emergente inestricabile.

4. Explainable AI (XAI): Decodificare la Mente della Rete

Per capire come la rete prendesse decisioni nel caso $n=10$, abbiamo utilizzato algoritmi di XAI (GNNExplainer e Decision Trees).

4.1 L'Euristica della GCN (Il Teorema Illusorio)

Addestrando un Albero Decisionale sui layer finali della GCN, abbiamo estratto questa regola con quasi il 90% di confidenza interna:

Se l'asimmetria della matrice è sotto la soglia critica e l'energia totale dei Cicli Positivi ($a_{ij} \times a_{ji} > 0$) supera il valore limite di 1.45, il sistema diverge. L'unica salvezza si verifica se interviene un blocco compensativo di Cicli Negativi ($a_{ij} \times a_{ji} < 0$) inferiore a -0.89.

Questa regola sembrava confermare un'estensione empirica del Teorema degli Ovali di Cassini (Brauer), indicando che i loop di feedback positivo fossero il vero motore dell'instabilità in tempo $\mathcal{O}(n^2)$.

4.2 L'Analisi della GIN e il Teorema di Gelfand

Passando GNNExplainer sulla GIN, la rete ha mostrato un comportamento diametralmente opposto.

  • Ha assegnato un'importanza piatta (circa 0.14) a tutte le feature ingegnerizzate in input, ignorando la "formula magica" sui cicli positivi.
  • Nella maschera degli archi, ha ignorato i loop bidirezionali per concentrarsi sui flussi fortemente asimmetrici (es. assegnando importanza 0.95 all'arco $a_{0,1}$ ma solo 0.09 al suo ritorno $a_{1,0}$). La GIN non cercava cicli isolati, ma pozzi e sorgenti (sink/source) di energia, confermando il suo tentativo di replicare il calcolo di $A^k$ implicito nella Formula di Gelfand.

5. La Smentita: Scalabilità Dimensionale e Teoria delle Matrici Casuali

La domanda finale era: L'euristica dell'1.45 trovata dalla GCN è una legge matematica o un artefatto statistico? Per rispondere, abbiamo sottoposto i modelli a test di scalabilità estrema, variando la dimensione $n$ delle matrici.

  1. Il Caos Algebrico ($n=3$): L'accuratezza è crollata al 65% (GCN) e 54% (GIN - puro caso). In un sistema microscopico, non esiste una massa critica in grado di smorzare il rumore. Un singolo incrocio sbilanciato devia caoticamente il sistema. Conclusione: Nel microcosmo le euristiche topologiche falliscono totalmente. L'unica via è il calcolo esatto $\mathcal{O}(n^3)$.
  2. L'Illusione Topologica ($n=10$): È la "Terra di Mezzo". Il sistema è abbastanza grande da mostrare pattern locali (i cicli) ma troppo piccolo per stabilizzarsi statisticamente. Qui le GNN trovano il loro "sweet spot" all'86%, estraendo una regola utile ingegneristicamente, ma non matematicamente universale.
  3. L'Ordine Statistico ($n=50$): L'accuratezza schizza al 93-94%. Questo non accade perché la rete apprende meglio l'algebra topologica, ma perché la topologia smette di contare. Subentra la Random Matrix Theory (Legge Circolare di Girko). In matrici sufficientemente grandi, il raggio spettrale è dettato unicamente dalla varianza globale del sistema: $$\rho \approx \sigma \sqrt{n}$$ La GNN abbandona l'analisi dei singoli cicli e diventa un brutalmente preciso stimatore di varianza.

6. Conclusioni

Questo progetto ha dimostrato che le Graph Neural Networks, pur essendo strumenti eccezionali, non "scoprono nuova algebra" analizzando matrici casuali. Esse fungono invece da potenti strumenti di mappatura della Meccanica Statistica dei sistemi complessi.

I risultati empirici indicano che la ricerca di un bound topologico esatto universale in tempo $\mathcal{O}(n^2)$ è fallace:

  • Per i sistemi discreti molto piccoli, l'unica via è la risoluzione analitica esatta del polinomio caratteristico.
  • Per i sistemi enormi, il problema diviene puramente statistico e si risolve macroscopicamente (Legge Circolare).
  • Le euristiche estratte dall'IA (come il limite sui Cicli Positivi) non sono veri teoremi, ma strumenti di approssimazione validi unicamente in una stretta "zona di transizione di fase", dove il caos locale inizia ad aggregarsi verso l'ordine statistico globale.

🚀 Riproducibilità e Utilizzo

Per clonare e testare il progetto sul proprio computer, seguire questi passaggi:

1. Installazione

Clonare la repository e installare le dipendenze necessarie:

git clone https://github.com/tuo-username/MPNN-Matrix.git
cd MPNN-Matrix
pip install -r requirements.txt

2. Workflow del Progetto

Il progetto è strutturato in modo modulare per facilitare l'esecuzione:

  1. Generazione Dataset: Crea il dataset di matrici per l'addestramento.
    python src/mpnn_matrix/dataset.py
  2. Addestramento: Allena la GNN e salva i pesi in models/.
    python src/mpnn_matrix/pipeline.py
  3. Analisi e Spiegazione: Utilizza gli strumenti in scripts/ per interrogare il modello.
    python scripts/explain.py          # Visualizza l'importanza degli elementi (GNNExplainer)
    python scripts/analizza_errori.py  # Statistiche sui falsi positivi/negativi
    python scripts/estrai_formula.py   # Estrae la regola matematica (Decision Tree)

📂 Struttura della Repository

  • src/mpnn_matrix/: Core del progetto (Modello, Pipeline, Config).
  • scripts/: Utility pronte all'uso per l'analisi post-training.
  • data/: Contiene i dataset generati (.npz).
  • models/: Contiene i pesi del modello addestrato (.pth).

About

GirkoNet_MPNN: Deep Learning vs. Random Matrix Theory. Sfruttare le Message Passing Neural Networks e l'Explainable AI (XAI) per prevedere il raggio spettrale e smascherare l'illusione delle euristiche topologiche locali.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages