Geometric Deep Learning (GDL)
L’apprentissage profond géométrique (GDL) intègre les symétries des grilles, graphes, maillages et nuages de points aux réseaux neuronaux, réunissant ainsi les CNN, les GNN et les transformers.
L’apprentissage profond géométrique (GDL) est la branche de l’apprentissage profond qui conçoit des réseaux neuronaux en fonction de la structure et des symétries de leurs données, qu’elles se trouvent sur une grille de pixels, un graphe, un ensemble de points, une sphère ou une surface courbe. Son idée centrale est qu’un modèle doit réagir de manière prévisible lorsque l’entrée change sans que son sens change, par exemple quand on déplace une image, renumérote les atomes d’une molécule ou fait pivoter un scan 3D. Michael Bronstein, Joan Bruna, Yann LeCun, Arthur Szlam et Pierre Vandergheynst ont popularisé ce nom dans leur étude de 2017, Geometric Deep Learning: Going Beyond Euclidean Data, et le livre de référence de Bronstein, Bruna, Taco Cohen et Petar Veličković, publié en 2021, a organisé le domaine autour de cinq catégories : grilles, groupes, graphes, géodésiques et jauges.
Invariance, équivariance et cadre du GDL#
Deux propriétés font l’essentiel du travail. Une fonction est invariante à une transformation lorsque sa sortie reste identique ; une étiquette de classification d’image doit, par exemple, rester « chat » lorsque le chat se déplace. Elle est équivariante lorsque sa sortie se transforme en même temps que l’entrée ; un masque de segmentation sémantique doit, par exemple, se déplacer avec l’objet. Le cadre du GDL empile des couches équivariantes qui échangent des informations entre voisins, des étapes de mise en commun qui réduisent la résolution du domaine et une lecture finale invariante lorsque la tâche nécessite une réponse unique. Le choix du groupe de symétrie du domaine permet de retrouver des architectures familières :
La convolution partage un même noyau sur toutes les positions de pixels ; un réseau neuronal convolutif (CNN) est donc le cas équivariant par translation sur une grille. Un réseau neuronal de graphes (GNN) applique la même fonction à chaque arête ; renuméroter les nœuds ne fait donc que réordonner ses sorties. Un transformer traite ses tokens comme un graphe entièrement connecté et, comme l’auto-attention est équivariante par permutation, il a besoin d’encodages positionnels pour connaître l’ordre des tokens. Les GNN sont les modèles de GDL les plus connus, et le GDL est le cadre plus large qui explique les trois architectures. Les CNN équivariants par groupe, présentés par Taco Cohen et Max Welling en 2016, étendent le partage des poids aux rotations et aux réflexions ; les réseaux sur maillages et variétés définissent la convolution dans des repères locaux sur des surfaces courbes.
Ultralytics YOLO26 correspond au cas des grilles : ses convolutions partagent les poids sur les positions de pixels, et les symétries intégrées à l’architecture sont apprises par l’augmentation des données. Par défaut, l’entraînement retourne chaque image horizontalement avec une probabilité de fliplr=0.5, tandis que les retournements verticaux (flipud) et les rotations aléatoires (degrees) sont désactivés.
Propagation de messages sur les graphes#
Les modèles de graphes en GDL reposent sur la propagation de messages. Chaque nœud recueille des messages de ses voisins, les combine à l’aide d’une fonction indépendante de l’ordre, comme une somme, une moyenne ou un maximum, puis met à jour son propre embedding. En 2017, Justin Gilmer et ses collègues de Google ont montré que de nombreuses architectures de graphes correspondaient à ce schéma de propagation de messages et l’ont utilisé pour prédire les propriétés quantico-chimiques de molécules. La renumérotation des nœuds d’un petit graphe permet de vérifier directement les deux propriétés de symétrie :
import torch
torch.manual_seed(0)
nodes = torch.randn(5, 3) # 5 atomes ou utilisateurs, 3 caractéristiques chacun
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)
# Renumérote les nœuds dans un ordre aléatoire : le même graphe, présenté différemment
order = torch.randperm(5)
nodes_p, adjacency_p = nodes[order], adjacency[order][:, order]
# Propagation de messages : chaque nœud combine ses propres caractéristiques avec la somme de celles de ses voisins
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])) # équivariant : les sorties sont réordonnées avec les nœuds
print(torch.allclose(out_p.sum(dim=0), out.sum(dim=0))) # invariant : la lecture au niveau du graphe reste inchangée
# Une couche dense appliquée à la liste aplatie des nœuds traite le graphe renuméroté comme de nouvelles données
print(torch.allclose(nodes_p.flatten() @ w_dense, nodes.flatten() @ w_dense))Le code affiche True, True et False. La sortie de la couche de propagation de messages se réordonne exactement avec les nœuds, la lecture sommée au niveau du graphe ne change pas, et une couche dense ordinaire donne une réponse différente pour le même graphe présenté dans un ordre différent. PyTorch Geometric regroupe des dizaines de couches de ce type et prend en charge le traitement par lots de graphes de différentes tailles.
Applications#
Les molécules sont des graphes d’atomes et de liaisons ; les réseaux de propagation de messages prédisent donc des propriétés comme la solubilité et la liaison pour la découverte de médicaments. Les protéines ajoutent une géométrie 3D : AlphaFold 2 affine ses structures prédites grâce à l’attention à points invariants, qui donne le même résultat lorsque la protéine entière est tournée ou translatée dans l’espace.
Les scans LiDAR et les capteurs de profondeur produisent des nuages de points, c’est-à-dire des ensembles non ordonnés de points 3D. PointNet, créé par Charles Qi et ses collègues de Stanford en 2017, applique un réseau partagé à chaque point et agrège les résultats par maximum ; sa sortie ne dépend donc pas de l’ordre des points. Cette conception sous-tend de nombreux systèmes de détection d’objets 3D pour les véhicules autonomes et la robotique. Les graphes sociaux et commerciaux d’utilisateurs et d’articles alimentent des systèmes de recommandation fondés sur des GNN, comme PinSage de Pinterest, et les graphes de connaissances appliquent la même propagation de messages aux entités et à leurs relations.
Les modèles météorologiques fonctionnent sur une sphère. GraphCast, publié par Google DeepMind dans Science en 2023, propage des messages sur un maillage multi-échelle obtenu en subdivisant un icosaèdre autour du globe et prévoit des centaines de variables jusqu’à 10 jours à l’avance, à une résolution de 0,25°, en moins d’une minute. Il dépasse la principale prévision déterministe opérationnelle, HRES du CEPMMT, sur 90 % des 1 380 cibles de vérification.










