Geometric Deep Learning (GDL)
L'apprendimento profondo geometrico (GDL) integra nelle reti neurali le simmetrie di griglie, grafi, mesh e nuvole di punti, unificando CNN, GNN e transformer.
Il deep learning geometrico (GDL) è il ramo del deep learning che progetta reti neurali tenendo conto della struttura e delle simmetrie dei dati, che si trovino su una griglia di pixel, un grafo, un insieme di punti, una sfera o una superficie curva. L'idea centrale è che un modello dovrebbe reagire in modo prevedibile quando l'input cambia in un modo che non ne modifica il significato, per esempio traslando un'immagine, rinominando gli atomi di una molecola o ruotando una scansione 3D. Michael Bronstein, Joan Bruna, Yann LeCun, Arthur Szlam e Pierre Vandergheynst resero popolare il termine nella loro rassegna del 2017 Geometric Deep Learning: Going Beyond Euclidean Data; il proto-libro del 2021 di Bronstein, Bruna, Taco Cohen e Petar Veličković organizzò il campo attorno a cinque domini: griglie, gruppi, grafi, geodetiche e gauge.
Invarianza, equivarianza e schema del GDL#
Due proprietà fanno gran parte del lavoro. Una funzione è invariante rispetto a una trasformazione quando il suo output resta invariato, come l'etichetta di classificazione delle immagini dovrebbe restare "gatto" quando il gatto si sposta. È equivariante quando il suo output si trasforma insieme all'input, come la maschera di segmentazione semantica dovrebbe spostarsi insieme all'oggetto. Lo schema del GDL impila livelli equianti che combinano informazioni tra vicini, passaggi di pooling che rendono il dominio più grossolano e una lettura finale invariante quando il compito richiede una sola risposta. Scegliendo il gruppo di simmetria del dominio si ottengono architetture note:
La convoluzione condivide un kernel tra tutte le posizioni dei pixel, quindi una rete neurale convoluzionale (CNN) è il caso equivarante alle traslazioni su una griglia. Una rete neurale a grafo (GNN) applica la stessa funzione lungo ogni arco, perciò rinominare i nodi riordina soltanto gli output. Un transformer tratta i propri token come un grafo completamente connesso e, poiché la self-attention è equivarante alle permutazioni, ha bisogno di codifiche posizionali per conoscere l'ordine dei token. Le GNN sono i modelli GDL più noti; il GDL è il quadro più ampio che spiega tutti e tre. Le CNN equivarianti ai gruppi, introdotte da Taco Cohen e Max Welling nel 2016, estendono la condivisione dei pesi a rotazioni e riflessioni; le reti per mesh e varietà definiscono la convoluzione in sistemi di coordinate locali su superfici curve.
Ultralytics YOLO26 è il caso su griglia: le sue convoluzioni condividono i pesi tra le posizioni dei pixel e le simmetrie non incorporate nell'architettura vengono apprese tramite l'augmentation dei dati. Per impostazione predefinita, durante l'addestramento ogni immagine viene riflessa orizzontalmente con probabilità fliplr=0.5, mentre i ribaltamenti verticali (flipud) e le rotazioni casuali (degrees) sono disattivati.
Passaggio di messaggi sui grafi#
Nel GDL, i modelli a grafo si basano sul passaggio di messaggi. Ogni nodo raccoglie messaggi dai vicini, li combina con una funzione indipendente dall'ordine, come somma, media o massimo, e aggiorna il proprio embedding. Nel 2017 Justin Gilmer e colleghi di Google dimostrarono che molte architetture a grafo rientrano in questo schema di passaggio dei messaggi e lo usarono per prevedere proprietà quantistiche e chimiche delle molecole. Rinominare i nodi di un piccolo grafo permette di verificare direttamente entrambe le proprietà di simmetria:
import torch
torch.manual_seed(0)
nodes = torch.randn(5, 3) # 5 atomi o utenti, 3 caratteristiche ciascuno
adjacency = torch.zeros(5, 5)
edges = torch.tensor([[0, 1], [1, 2], [0, 2], [2, 3], [3, 4]])
adjacency[edges[:, 0], edges[:, 1]] = adjacency[edges[:, 1], edges[:, 0]] = 1
w_self, w_neighbors, w_dense = torch.randn(3, 4), torch.randn(3, 4), torch.randn(15, 4)
# Rinomina i nodi in ordine casuale: è lo stesso grafo, elencato in modo diverso
order = torch.randperm(5)
nodes_p, adjacency_p = nodes[order], adjacency[order][:, order]
# Passaggio di messaggi: ogni nodo combina le proprie caratteristiche con la somma di quelle dei vicini
out = torch.relu(nodes @ w_self + adjacency @ nodes @ w_neighbors)
out_p = torch.relu(nodes_p @ w_self + adjacency_p @ nodes_p @ w_neighbors)
print(torch.allclose(out_p, out[order])) # equivariante: gli output si riordinano insieme ai nodi
print(torch.allclose(out_p.sum(dim=0), out.sum(dim=0))) # invariante: la lettura a livello di grafo non cambia
# Un livello denso sull'elenco di nodi appiattito tratta il grafo rinominato come nuovi dati
print(torch.allclose(nodes_p.flatten() @ w_dense, nodes.flatten() @ w_dense))Stampa True, True e False. L'output del livello di passaggio dei messaggi si riordina esattamente insieme ai nodi, la lettura sommata a livello di grafo non cambia e un normale livello denso dà una risposta diversa per lo stesso grafo elencato in un ordine diverso. PyTorch Geometric raccoglie decine di questi livelli e offre batching per grafi di dimensioni diverse.
Applicazioni#
Le molecole sono grafi di atomi e legami, quindi le reti di passaggio dei messaggi ne predicono proprietà come solubilità e affinità di legame per la scoperta di farmaci. Le proteine aggiungono la geometria 3D: AlphaFold 2 affina le strutture predette con l'attenzione a punti invarianti, che dà lo stesso risultato quando l'intera proteina viene ruotata o traslata nello spazio.
Le scansioni LiDAR e i sensori di profondità producono nuvole di punti, insiemi non ordinati di punti 3D. PointNet, sviluppato da Charles Qi e colleghi di Stanford nel 2017, applica la stessa rete a ogni punto e combina i risultati con il max pooling, così che l'output non dipenda dall'ordine dei punti; questo progetto è alla base di molti sistemi di rilevamento di oggetti 3D per veicoli autonomi e robotica. I grafi sociali e commerciali di utenti e articoli alimentano sistemi di raccomandazione basati su GNN, come PinSage di Pinterest; i knowledge graph applicano lo stesso passaggio di messaggi a entità e relazioni.
I modelli meteorologici operano sulla sfera. GraphCast, pubblicato da Google DeepMind su Science nel 2023, passa messaggi su una mesh multiscala ottenuta raffinando un icosaedro attorno al globo e prevede centinaia di variabili con 10 giorni di anticipo, a una risoluzione di 0,25°, in meno di un minuto. Supera il principale modello deterministico operativo di previsione, HRES dell'ECMWF, nel 90% dei 1.380 obiettivi di verifica.










