Nello sviluppo dell’In­tel­li­gen­za Ar­ti­fi­cia­le il processo di ap­pren­di­men­to è decisivo. Il Machine Learning (e il Deep Learning in par­ti­co­la­re) vengono uti­liz­za­ti per ad­de­stra­re gli algoritmi e quindi insegnare al software a pensare in modo autonomo. Il ri­co­no­sci­men­to facciale, ad esempio, si basa su tec­no­lo­gie di questo tipo. Le reti neurali ar­ti­fi­cia­li sono alla base di molti approcci di Machine Learning: gli algoritmi del software sono pro­get­ta­ti come una rete di nodi, su ispi­ra­zio­ne del modello del sistema nervoso umano. Un nuovo approccio è co­sti­tui­to dalle co­sid­det­te Graph Neural Networks. Come funziona questa tec­no­lo­gia?

Come fun­zio­na­no le Graph Neural Networks?

Le Graph Neural networks (GNN) sono una nuova sotto forma delle reti neurali ar­ti­fi­cia­li (in inglese: Ar­ti­fi­cial Neural networks) basata su grafici. Per com­pren­der­le, bisogna prima sapere cosa si intende per grafico in questo contesto.

In in­for­ma­ti­ca, questo termine si riferisce a un certo tipo di dati: un grafico è co­sti­tui­to 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 rap­pre­sen­ta­te in un grafico come punti. Il loro rapporto è dato dal loro col­le­ga­men­to. Se i col­le­ga­men­ti 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 at­tra­ver­so più nodi). Gli angoli possono avere una direzione oppure no. In un grafico, i col­le­ga­men­ti sono im­por­tan­ti quanto i dati stessi. Possono essere assegnati degli attributi sia agli angoli che ai nodi.

Un grafico è quindi par­ti­co­lar­men­te adatto a rap­pre­sen­ta­re le con­di­zio­ni del mondo reale. Questo è esat­ta­men­te ciò di cui si occupa il Deep Learning: rendere tangibili per il software le con­di­zio­ni naturali. Una Graph Neural Network permette esat­ta­men­te questo: i nodi rac­col­go­no in­for­ma­zio­ni dai loro vicini in quanto si scambiano re­go­lar­men­te messaggi tra loro. In questo modo, la Graph Neural Neutwork è in grado di ap­pren­de­re: le in­for­ma­zio­ni vengono trasmesse e incluse nelle proprietà del ri­spet­ti­vo nodo.

Consiglio

Volete saperne di più e ap­pro­fon­di­re quest’argomento? Il Natural Language Pro­ces­sing Lab dell’Uni­ver­si­tà di Tsinghua ha pub­bli­ca­to su GitHub un’ampia raccolta di articoli scien­ti­fi­ci sul tema GNN.

Dove vengono uti­liz­za­te le Graph Neural Networks?

Finora sono stati so­prat­tut­to gli scien­zia­ti a occuparsi delle pos­si­bi­li­tà offerte dalle Graph Neural Networks. Tuttavia, le pos­si­bi­li­tà di ap­pli­ca­zio­ne sono mol­te­pli­ci. La GNN può entrare in gioco ogni volta che si­tua­zio­ni o processi in cui le relazioni hanno un ruolo im­por­tan­te devono essere mappati at­tra­ver­so reti neurali.

  • Mercato fi­nan­zia­rio: le pre­vi­sio­ni di mercato possono diventare più af­fi­da­bi­li grazie alla com­pren­sio­ne delle tran­sa­zio­ni.
  • Motori di ricerca: per valutare il grado d’im­por­tan­za dei siti web, i col­le­ga­men­ti tra le pagine sono fon­da­men­ta­li.
  • Social Network: una migliore com­pren­sio­ne delle relazioni tra le persone può aiutare a ot­ti­miz­za­re i social media.
  • Chimica: la com­po­si­zio­ne delle molecole può essere mappata tramite grafici e può quindi essere tra­sfe­ri­ta nelle GNN.
  • Sapere: per una tra­smis­sio­ne ottimale del sapere, la com­pren­sio­ne dei legami tra le in­for­ma­zio­ni è fon­da­men­ta­le.

Le Graph Neural Networks sono già uti­liz­za­te anche nel ri­co­no­sci­men­to delle immagini e in quello vocale. Le in­for­ma­zio­ni non strut­tu­ra­te e naturali possono, in de­ter­mi­na­te cir­co­stan­ze, essere elaborate meglio da una GNN che dalle reti neurali tra­di­zio­na­li.

Vantaggi e svantaggi delle Graph Neural Networks

Le Graph Neural Networks possono risolvere le sfide che le reti neurali tra­di­zio­na­li non sono state finora in grado di superare. Prima i dati basati su un grafico non potevano essere elaborati cor­ret­ta­men­te, perché le con­nes­sio­ni dei dati non erano suf­fi­cien­te­men­te ponderate. Nelle GNN, tuttavia, i co­sid­det­ti angoli sono im­por­tan­ti quanto i nodi stessi.

Tuttavia, alcuni problemi, già presenti nelle reti neurali tra­di­zio­na­li, restano irrisolti nelle Graph Neural Networks, so­prat­tut­to il problema della black box: è difficile com­pren­de­re come una (Graph) Neural Network arrivi alla va­lu­ta­zio­ne finale, poiché i processi interni degli algoritmi complessi dif­fi­cil­men­te possono essere compresi dall’esterno.

Vai al menu prin­ci­pa­le