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.