Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

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.

Explore solutions

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini da droni e riprese aeree in informazioni utili in tempo reale per l'agricoltura, l'acquacoltura, il monitoraggio ambientale, la conservazione e l'analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la vision AI nel monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e settori geospaziali con soluzioni di computer vision.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning