Introduction aux Graphes Neural Networks
Les graphes sont présents partout autour de nous et servent à représenter des connexions (appelées edges) entre des objets (appelés nodes). Certains types de données complexes comme les molécules [(1) 3d representation of the Caffeine molecule, (2) Graph representation of the molecule], ou les relations entre les différents utilisateurs d’un réseau social, sont aisément représentables à l’aide de graphes ?
Mais les graphes peuvent aussi servir à représenter des données plus traditionnelles comme des images ou des textes. Les chercheurs ont ainsi développé des réseaux de neurones applicables à des graphes (Graph Neural Networks ou GNN). Ces réseaux ont permis depuis maintenant plus de dix ans des applications telles que la recherche de nouveaux antibiotiques, la détection de “fake news”, et la prédiction de la circulation routière.
❗️ En pratique, les GNN peuvent servir à résoudre différents problèmes comme : la classification de graphes, de nodes, ou d’edges, la prédiction de nouveaux edges, le regroupement de nodes qui sont similaires, etc. Mais travailler avec des graphes représente plusieurs contraintes :
- Le nombre d’edges et de nodes n’est pas fixe. Prenons l’exemple des molécules, celles-ci n’ont pas toutes le même nombre d’atomes, ni le même nombre de liaisons moléculaires, mais l’on souhaite prédire la toxicité de n’importe quelle molécule avec un même modèle.
- Les algorithmes doivent être invariants peu importe l’ordre dans lequel on numérote les nodes. Cette propriété est appelée node-equivariance.
Afin de caractériser un graphe, on introduit deux matrices :
- La matrice d’adjacences A qui indique les connexions entre les différents nodes.
- La matrice des nodes features X qui contient des attributs décrivant les différents nodes. Par exemple, dans le cas des molécules, ces attributs peuvent être le type d’atome, le nombre de liaisons, la charge de l’atome, etc.
☞ Ce sont ces matrices que l’on va mettre en entrée du réseau de neurones pour la phase d’apprentissage. Le schéma ci-dessous décrit le principe d’un GNN (2ème image).
Références :
Sanchez-Lengeling, et al., "A Gentle Introduction to Graph Neural Networks", Distill, 2021.
Daigavane, et al., "Understanding Convolutions on Graphs", Distill, 2021.
? Merci à Léa GAZEAU, Data Scientist chez TORUS AI, pour cette présentation concernant les Graphes Neural Networks !
#AI #intelligenceartificielle #Deeplearning #Graphs #GraphTheory #GNN #CNN