Reti neurali a grafo (GNN): cosa sono, come funzionano e a cosa servono
Guida completa alle reti neurali a grafo (GNN): cosa sono, come funziona il message passing e a cosa servono, dai social network alla scoperta di nuovi farmaci.

Gran parte dei dati più interessanti del mondo non ha la forma ordinata di una tabella o di una sequenza, ma quella di una rete di relazioni. Le amicizie su un social network, i legami tra gli atomi di una molecola, le strade che collegano le città, i prodotti acquistati insieme dagli stessi clienti: sono tutti esempi di grafi, cioè di insiemi di elementi connessi tra loro. Per anni le reti neurali tradizionali hanno faticato a trattare questo tipo di informazione.
Le reti neurali a grafo, note con la sigla inglese GNN, sono nate proprio per colmare questa lacuna. Sono una famiglia di modelli di intelligenza artificiale progettati per apprendere direttamente dalla struttura delle connessioni, e non solo dai singoli dati isolati.
In questa guida completa vedrai che cosa sono le reti neurali a grafo, come funziona il meccanismo che le rende speciali, quali sono i loro tipi principali e in quali campi stanno già dando risultati importanti. Partiamo dalle fondamenta, un passo alla volta.
Che cosa sono le reti neurali a grafo
Una rete neurale a grafo è un modello di apprendimento profondo capace di elaborare dati organizzati sotto forma di grafo, sfruttando sia le caratteristiche dei singoli elementi sia il modo in cui questi sono collegati tra loro. Invece di guardare ogni dato come un’entità a sé stante, considera anche il suo contesto relazionale, ovvero chi o cosa gli sta intorno.
È una differenza sottile ma profonda.
Le GNN appartengono alla famiglia del deep learning, il ramo dell’intelligenza artificiale che usa reti neurali a molti livelli per imparare da grandi quantità di dati. La loro particolarità è che, a differenza di altre architetture, non richiedono che i dati siano disposti in una griglia regolare o in una sequenza ordinata.
Questo le rende adatte a un’enorme varietà di problemi del mondo reale, dove le informazioni sono naturalmente interconnesse. Prima di vedere come funzionano, però, conviene chiarire bene un concetto di base, cioè che cosa sia esattamente un grafo.
Prima le basi: che cos’è un grafo
Un grafo è una struttura composta da due ingredienti: i nodi, che rappresentano gli elementi, e gli archi, che rappresentano le relazioni tra di essi. È un’idea semplice ma incredibilmente versatile, capace di descrivere situazioni molto diverse tra loro.
Pensa a un social network. Ogni persona è un nodo, e ogni amicizia o collegamento è un arco che unisce due nodi. In una molecola, invece, i nodi sono gli atomi e gli archi sono i legami chimici. In una mappa stradale i nodi possono essere gli incroci e gli archi le strade che li collegano.
Lo stesso schema si ritrova in moltissimi altri contesti: le pagine web collegate dai link, gli articoli scientifici uniti dalle citazioni, i clienti connessi ai prodotti che acquistano. Ovunque ci siano entità che interagiscono tra loro, c’è un grafo pronto a essere analizzato, ed è proprio questa universalità a rendere le reti neurali a grafo così potenti e interessanti.
Gli archi possono avere caratteristiche diverse.
In alcuni casi sono orientati, cioè hanno una direzione, come i collegamenti “segui” su una piattaforma dove tu puoi seguire qualcuno senza essere ricambiato. In altri casi hanno un peso, un numero che indica la forza o l’intensità della relazione. Inoltre, sia i nodi sia gli archi possono portare con sé un insieme di informazioni descrittive, chiamate feature, come l’età di una persona o il tipo di un legame. È proprio questa combinazione di struttura e informazioni che le reti neurali a grafo imparano a sfruttare.
Perché servivano reti neurali diverse
Per capire il valore delle GNN è utile ricordare come lavorano le architetture più note. Le reti neurali convoluzionali, per esempio, sono pensate per le immagini, che sono griglie regolari di pixel in cui ogni punto ha un numero fisso di vicini disposti in modo ordinato. Le reti ricorrenti e i transformer, invece, sono nati per le sequenze, come il testo, dove gli elementi si susseguono in un ordine preciso.
I grafi rompono entrambe queste ipotesi.
In un grafo un nodo può avere due vicini oppure diecimila, e non esiste un ordine naturale con cui elencarli. Non c’è un alto o un basso, un prima o un dopo. Questa irregolarità, che per noi è ovvia quando pensiamo a una rete di amicizie, manda in crisi i modelli progettati per dati ordinati.
Prova a immaginare di voler applicare a una rete di amicizie lo stesso metodo che useresti per analizzare una fotografia. Dovresti allineare le persone in una griglia ordinata, ma qualsiasi disposizione scegliessi sarebbe arbitraria e finirebbe per introdurre un ordine che nella realtà non esiste. È questo, in fondo, il nodo del problema.
C’è poi un requisito importante, che in gergo si chiama invarianza rispetto alle permutazioni. Significa che il risultato non deve cambiare se cambiamo l’ordine con cui elenchiamo i vicini di un nodo, perché quell’ordine è arbitrario e privo di significato. Una buona rete neurale a grafo deve rispettare questo principio, trattando i vicini come un insieme e non come una lista ordinata.
Serviva quindi un approccio nuovo, capace di adattarsi a strutture irregolari e di dare lo stesso peso all’informazione a prescindere da come la si scrive. Ed è esattamente ciò che offre il meccanismo alla base delle GNN.
Come funzionano: il message passing
Il cuore delle reti neurali a grafo è un’idea elegante chiamata message passing, che potremmo tradurre come scambio di messaggi. L’intuizione di fondo è che il significato di un nodo dipende in buona parte dal significato dei nodi che gli stanno intorno.
Immagina di voler capire i gusti di una persona su un social network. Anche senza sapere nulla di lei, molto puoi dedurlo osservando i suoi amici, i gruppi che frequenta e i contenuti che condividono. Le GNN applicano proprio questo ragionamento in modo sistematico.
A ogni passaggio, ciascun nodo raccoglie informazioni dai propri vicini e le usa per aggiornare la propria rappresentazione interna, cioè il vettore di numeri che ne riassume le caratteristiche. È un flusso di informazioni che scorre lungo gli archi del grafo.
La cosa interessante è che questo processo si ripete su più livelli.
Dopo il primo passaggio ogni nodo conosce i suoi vicini diretti. Dopo il secondo conosce anche i vicini dei vicini, e così via. In questo modo, impilando più livelli, ogni nodo arriva a incorporare informazioni provenienti da porzioni sempre più ampie del grafo, un po’ come una voce che si diffonde in una comunità passando di bocca in bocca.
Vale la pena sottolineare un punto importante. Il numero di livelli di una rete a grafo non è un dettaglio tecnico qualsiasi, perché determina fino a che distanza un nodo riesce a raccogliere informazioni. Con pochi livelli il modello coglie soltanto relazioni locali, mentre con troppi rischia di confondere segnali provenienti da zone molto lontane del grafo. Trovare il giusto equilibrio è una delle decisioni chiave nel progettare questi modelli.
Aggregazione e aggiornamento
Tecnicamente, ogni livello di una GNN compie due operazioni in sequenza. La prima è l’aggregazione: il nodo raccoglie i messaggi dai vicini e li combina in un unico riassunto, per esempio calcolandone la somma, la media o il valore massimo. Questa scelta non è casuale, perché operazioni di questo tipo garantiscono l’invarianza rispetto all’ordine dei vicini.
La seconda operazione è l’aggiornamento.
Il nodo prende il riassunto appena calcolato, lo unisce alla propria rappresentazione precedente e applica una trasformazione, tipicamente attraverso una piccola rete neurale con dei parametri che vengono appresi durante l’addestramento. Il risultato è una nuova rappresentazione del nodo, più ricca perché arricchita dal contesto.
Ripetendo aggregazione e aggiornamento per un certo numero di livelli, la rete costruisce per ogni nodo una descrizione che tiene conto sia delle sue caratteristiche sia della struttura in cui è immerso. Sono proprio queste rappresentazioni finali, chiamate spesso embedding, a essere usate per fare previsioni.
Dai nodi all’intero grafo
Non tutti i problemi su grafo hanno lo stesso obiettivo, e le GNN sanno adattarsi a diversi livelli di analisi. In alcuni casi la previsione riguarda i singoli nodi, per esempio quando si vuole classificare un utente come autentico o falso all’interno di una rete sociale.
In altri casi l’interesse è sugli archi, cioè sulle relazioni.
Un esempio tipico è la previsione di collegamenti mancanti, quando si cerca di indovinare quali due persone potrebbero conoscersi o quali prodotti potrebbero piacere a uno stesso cliente. Infine ci sono i problemi che riguardano l’intero grafo, come stabilire se una certa molecola sia tossica oppure no. In questi casi la rete combina le rappresentazioni di tutti i nodi in un unico vettore che descrive il grafo nel suo complesso, tramite un’operazione chiamata lettura o pooling.
I principali tipi di reti neurali a grafo
Sotto l’etichetta delle GNN esistono diverse architetture, che condividono l’idea del message passing ma la realizzano in modi differenti. Conoscere le più diffuse aiuta a orientarsi quando si incontrano nella pratica o nella letteratura tecnica.
Le reti convoluzionali a grafo, spesso indicate come GCN, sono tra le più note. Estendono ai grafi l’idea di convoluzione resa celebre dall’elaborazione delle immagini, facendo in modo che ogni nodo combini le informazioni dei vicini in maniera pesata. Sono un buon punto di partenza per la loro semplicità ed efficacia.
Una seconda famiglia molto usata è GraphSAGE.
La sua innovazione principale è la capacità di lavorare su grafi enormi, campionando solo una parte dei vicini invece di considerarli tutti. Questo la rende adatta a contesti come i grandi social network, dove un singolo nodo può avere milioni di connessioni. C’è poi la famiglia delle reti ad attenzione su grafo, chiamate GAT, che riprendono il meccanismo di attenzione dei transformer per permettere a ogni nodo di dare un peso diverso ai vari vicini, concentrandosi su quelli più rilevanti. Al di là dei nomi, tutte rientrano nella grande categoria delle reti a scambio di messaggi.
Non esiste comunque un’architettura migliore in assoluto. La scelta dipende dal tipo di problema, dalle dimensioni del grafo e dalle risorse di calcolo disponibili, e spesso il modo più efficace di procedere è provare più soluzioni e confrontarne i risultati sui dati reali, lasciando che siano gli esperimenti, più che le mode del momento, a guidare la decisione finale.
A cosa servono: le applicazioni delle GNN
Le reti neurali a grafo non sono un esercizio teorico, ma uno strumento già oggi applicato in numerosi settori, ovunque i dati abbiano una natura relazionale. Vale la pena vedere alcuni esempi concreti per capirne la portata.
Uno degli usi più diffusi riguarda i sistemi di raccomandazione. Le grandi piattaforme di commercio elettronico e di contenuti modellano gli utenti e i prodotti come nodi di un immenso grafo di interazioni, e usano le GNN per suggerire con precisione l’articolo o il video successivo.
Un altro campo in forte crescita è quello della chimica e della scoperta di nuovi farmaci.
Poiché una molecola è naturalmente un grafo di atomi e legami, le GNN possono imparare a prevederne le proprietà, accelerando la ricerca di composti promettenti e riducendo tempi e costi degli esperimenti. Le applicazioni, però, non finiscono qui.
Ecco alcuni degli ambiti in cui le reti neurali a grafo stanno lasciando il segno:
- Rilevamento delle frodi: le transazioni finanziarie formano reti in cui i comportamenti sospetti emergono dalle connessioni, non dai singoli movimenti.
- Analisi dei social network: individuazione di comunità, account falsi e diffusione delle informazioni.
- Traffico e mobilità: la stima dei tempi di percorrenza su mappe stradali, dove le strade formano un grafo naturale.
- Biologia: lo studio delle reti di interazione tra proteine e dei sistemi biologici complessi.
- Grafi della conoscenza: il ragionamento su grandi basi di dati strutturate che collegano concetti ed entità.
Il filo conduttore è sempre lo stesso. Quando l’informazione importante si nasconde nelle relazioni tra gli elementi, e non solo negli elementi presi singolarmente, le GNN diventano uno degli strumenti più naturali a cui pensare.
Un caso emblematico è quello della stima dei tempi di percorrenza nei servizi di navigazione. Le strade e gli incroci formano un grafo enorme e in continuo mutamento, con il traffico che cambia minuto dopo minuto, e le reti neurali a grafo si sono rivelate particolarmente efficaci nel prevedere quanto tempo servirà davvero per arrivare a destinazione.
Limiti e sfide delle reti neurali a grafo
Nonostante il loro potenziale, le reti neurali a grafo presentano difficoltà specifiche, e conoscerle è parte di una comprensione seria della tecnologia. Non sono una soluzione magica valida in ogni situazione.
Il primo ostacolo è la scala. Molti grafi reali sono giganteschi, con miliardi di nodi e archi, e addestrare un modello su strutture di queste dimensioni richiede accorgimenti sofisticati e notevoli risorse di calcolo. È anche per questo che sono nate architetture pensate apposta per il campionamento.
Anche la fase di preparazione dei dati richiede grande attenzione. Costruire il grafo giusto, decidere che cosa rappresenti un nodo e che cosa un arco, e quali informazioni associare a ciascuno, è spesso un lavoro delicato che incide sul risultato finale tanto quanto la scelta del modello.
Un secondo problema, più sottile, si chiama eccessivo livellamento.
Impilando troppi livelli, le rappresentazioni dei nodi tendono a diventare tutte simili tra loro, perché ogni nodo finisce per raccogliere informazioni da una porzione troppo ampia del grafo, perdendo le proprie caratteristiche distintive. Per questo, paradossalmente, reti a grafo molto profonde non sempre funzionano meglio di quelle più leggere. A ciò si aggiungono altre sfide comuni al deep learning, come la necessità di dati di buona qualità, la difficoltà di gestire grafi che cambiano nel tempo e la scarsa trasparenza dei modelli, spesso difficili da interpretare.
Come iniziare con le reti neurali a grafo
Se questa guida ti ha incuriosito e vuoi passare dalla teoria alla pratica, il momento è quello giusto, perché gli strumenti disponibili sono sempre più accessibili.
Conviene però costruire prima alcune basi solide.
È utile avere familiarità con Python e con i concetti fondamentali delle reti neurali, oltre a un minimo di nozioni sulla teoria dei grafi, per capire termini come nodo, arco e vicinato. Sul piano pratico esistono librerie specializzate che offrono modelli a grafo già pronti e insiemi di dati su cui esercitarsi, permettendoti di costruire una prima rete con relativamente poche righe di codice.
Un buon esercizio iniziale è visualizzare il grafo prima ancora di addestrare qualsiasi modello, per farsi un’idea concreta di come sono distribuite le connessioni e di quali nodi siano più centrali. Capire i dati, del resto, viene sempre prima di capire l’algoritmo, e questo vale a maggior ragione quando i dati hanno una struttura ricca come quella di un grafo.
Il consiglio più utile resta quello di partire da un problema concreto e di piccole dimensioni, magari la classificazione dei nodi di una rete di citazioni, per poi crescere gradualmente in complessità. Vedere una rete che impara a sfruttare la struttura delle connessioni è il modo migliore per far scattare la comprensione di questi modelli.
Conclusioni
Le reti neurali a grafo rappresentano uno dei filoni più promettenti dell’intelligenza artificiale, perché estendono la potenza del deep learning a un tipo di dato, quello relazionale, che è ovunque intorno a noi ma che a lungo era rimasto difficile da trattare. Dalla scoperta di farmaci ai sistemi di raccomandazione, hanno dimostrato di saper cogliere schemi che altri modelli non vedono.
Capirne il principio di fondo, cioè imparare dalle connessioni oltre che dai singoli elementi, ti dà una prospettiva preziosa su come l’AI sta evolvendo.
Man mano che il mondo diventa sempre più interconnesso, la capacità di ragionare sulle relazioni diventerà sempre più strategica, e le GNN sono in prima fila in questa direzione. Se vuoi continuare ad approfondire, esplora le altre guide del blog dedicate al deep learning e alle sue architetture, e prova a sperimentare in prima persona: è così che la curiosità si trasforma in competenza concreta.