Graph Neural Network: la prossima fase del Deep Learning
Nello sviluppo dell’Intelligenza Artificiale il processo di apprendimento è decisivo. Il Machine Learning (e il Deep Learning in particolare) vengono utilizzati per addestrare gli algoritmi e quindi insegnare al software a pensare in modo autonomo. Il riconoscimento facciale, ad esempio, si basa su tecnologie di questo tipo. Le reti neurali artificiali sono alla base di molti approcci di Machine Learning: gli algoritmi del software sono progettati come una rete di nodi, su ispirazione del modello del sistema nervoso umano. Un nuovo approccio è costituito dalle cosiddette Graph Neural Networks. Come funziona questa tecnologia?
Come funzionano le Graph Neural Networks?
Le Graph Neural networks (GNN) sono una nuova sotto forma delle reti neurali artificiali (in inglese: Artificial Neural networks) basata su grafici. Per comprenderle, bisogna prima sapere cosa si intende per grafico in questo contesto.
In informatica, questo termine si riferisce a un certo tipo di dati: un grafico è costituito da diversi punti (nodi o vertices) che sono collegati tra loro (tramite angoli o edges) e che formano quindi delle coppie. Un esempio semplice: la persona A e la persona B possono essere rappresentate in un grafico come punti. Il loro rapporto è dato dal loro collegamento. Se i collegamenti fossero omessi, si avrebbe una semplice raccolta di persone o di dati.
Una nota sotto forma di grafico è l’albero: qui i nodi sono collegati in modo tale che tra il punto A e il punto B ci sia sempre un solo percorso possibile (anche attraverso più nodi). Gli angoli possono avere una direzione oppure no. In un grafico, i collegamenti sono importanti quanto i dati stessi. Possono essere assegnati degli attributi sia agli angoli che ai nodi.
Un grafico è quindi particolarmente adatto a rappresentare le condizioni del mondo reale. Questo è esattamente ciò di cui si occupa il Deep Learning: rendere tangibili per il software le condizioni naturali. Una Graph Neural Network permette esattamente questo: i nodi raccolgono informazioni dai loro vicini in quanto si scambiano regolarmente messaggi tra loro. In questo modo, la Graph Neural Neutwork è in grado di apprendere: le informazioni vengono trasmesse e incluse nelle proprietà del rispettivo nodo.
Volete saperne di più e approfondire quest’argomento? Il Natural Language Processing Lab dell’Università di Tsinghua ha pubblicato su GitHub un’ampia raccolta di articoli scientifici sul tema GNN.
Dove vengono utilizzate le Graph Neural Networks?
Finora sono stati soprattutto gli scienziati a occuparsi delle possibilità offerte dalle Graph Neural Networks. Tuttavia, le possibilità di applicazione sono molteplici. La GNN può entrare in gioco ogni volta che situazioni o processi in cui le relazioni hanno un ruolo importante devono essere mappati attraverso reti neurali.
- Mercato finanziario: le previsioni di mercato possono diventare più affidabili grazie alla comprensione delle transazioni.
- Motori di ricerca: per valutare il grado d’importanza dei siti web, i collegamenti tra le pagine sono fondamentali.
- Social Network: una migliore comprensione delle relazioni tra le persone può aiutare a ottimizzare i social media.
- Chimica: la composizione delle molecole può essere mappata tramite grafici e può quindi essere trasferita nelle GNN.
- Sapere: per una trasmissione ottimale del sapere, la comprensione dei legami tra le informazioni è fondamentale.
Le Graph Neural Networks sono già utilizzate anche nel riconoscimento delle immagini e in quello vocale. Le informazioni non strutturate e naturali possono, in determinate circostanze, essere elaborate meglio da una GNN che dalle reti neurali tradizionali.
Vantaggi e svantaggi delle Graph Neural Networks
Le Graph Neural Networks possono risolvere le sfide che le reti neurali tradizionali non sono state finora in grado di superare. Prima i dati basati su un grafico non potevano essere elaborati correttamente, perché le connessioni dei dati non erano sufficientemente ponderate. Nelle GNN, tuttavia, i cosiddetti angoli sono importanti quanto i nodi stessi.
Tuttavia, alcuni problemi, già presenti nelle reti neurali tradizionali, restano irrisolti nelle Graph Neural Networks, soprattutto il problema della black box: è difficile comprendere come una (Graph) Neural Network arrivi alla valutazione finale, poiché i processi interni degli algoritmi complessi difficilmente possono essere compresi dall’esterno.