Les réseaux neuronaux graphiques (GNN) sont un concept moderne qui permet d’analyser les graphiques, de déduire les relations entre les objets et de prédire des données significatives à partir de ceux-ci.
La popularité de l’intelligence artificielle et de l’apprentissage automatique a encore accru la demande de concepts tels que les GNN dans les entreprises et chez les consommateurs.
Ils sont utiles à de nombreux secteurs et utilisateurs pour effectuer des tâches telles que la classification d’images et de textes, le traitement du langage naturel, les recommandations de produits, l’analyse des médias sociaux, etc.
Le problème, c’est que lorsqu’il s’agit de graphiques, les analyser et les représenter à l’aide de méthodes standard telles que les CNN peut s’avérer difficile.
C’est là que les GNN interviennent pour résoudre plusieurs problèmes liés aux graphes.
Dans cet article, je parlerai de ce que sont les GNN, de leur fonctionnement, de leurs applications dans le monde réel, et plus encore.
Alors, restez à l’écoute !
Introduction aux graphes
Un graphique est essentiellement un moyen de représenter des données connexes. Il permet de visualiser les relations entre les objets, les personnes et les concepts. Les graphes peuvent également aider à former des modèles d’apprentissage machine (ML ) pour des tâches complexes. Les réseaux de médias sociaux, la modélisation de divers systèmes physiques, l’analyse d’empreintes digitales, etc. sont autant d’exemples de graphes.
Dans le monde de l’informatique, les graphes sont une sorte de structure de données à deux composantes : les arêtes et les nœuds (ou sommets). Les arêtes sont également appelées liens et déterminent la relation entre différents nœuds, tandis que les nœuds sont des entités ou des objets, des lieux, etc.
Mathématiquement, un graphe peut être décrit par la formule suivante :
G = (V, E)
Ici, G représente un graphe, V représente un ensemble de sommets et E représente les arêtes.
Un graphe est de deux types :
- Dirigé: Un graphe dirigé signifie la dépendance directionnelle entre deux nœuds. Ce type de graphique peut être unidirectionnel ou bidirectionnel.
- Non dirigé: Un graphique non dirigé n’a pas de dépendance directionnelle, les nœuds étant simplement liés les uns aux autres.
Pourquoi l’analyse d’un graphique est-elle difficile ?
L’analyse d’un graphe peut s’avérer difficile pour de nombreuses raisons :
- Les graphes existent dans un espace non euclidien, ce qui signifie que les données concernent des surfaces courbes et non des surfaces planes comme la 2D ou la 3D. Il est donc difficile d’interpréter le graphique et ses données.
- Les nœuds d’un graphe peuvent se compter par dizaines, centaines, voire millions, et le nombre d’arêtes peut varier pour chaque nœud. En raison de sa grande taille et de son facteur de dimensionnalité, la complexité de l’interprétation du graphique augmente.
- La taille du graphique est dynamique et n’a pas de forme fixe. Deux graphes peuvent avoir un aspect différent mais des représentations similaires pour les matrices d’adjacence. Ainsi, l’analyse du graphique à l’aide d’outils traditionnels peut s’avérer inefficace et difficile.
D’autre part, les graphes peuvent s’étendre ou se contracter avec le temps. Cela signifie également que si vous souhaitez représenter des données graphiques par une matrice, cela peut s’avérer inefficace et créer des métriques peu nombreuses qui signifient le même graphique. En outre, elles ne sont pas invariantes en termes de permutation puisqu’elles peuvent ne pas donner le même résultat.
Compte tenu de tous ces problèmes, les réseaux neuronaux graphiques ont été introduits pour résoudre les problèmes de prédiction graphique avec une plus grande efficacité.
Que sont les réseaux neuronaux graphiques ?
Un réseau neuronal graphique (GNN) est un type de réseau neuronal artificiel (RNA) utilisé pour traiter des données représentées sous forme de graphiques.
Les GNN s’appuient sur les concepts de l’apprentissage profond et de la théorie des graphes. Ces réseaux utilisent l’intelligence prédictive de l’apprentissage profond, qui est un sous-ensemble de l’apprentissage automatique et de l’intelligence artificielle, afin d’analyser et de traiter les données.
Un GNN peut prendre les données d’entrée sous la forme d’un graphe avec des nœuds, des arêtes et un contexte intégrés pour créer la sortie sous la forme d’un graphe dont les intégrations sont mises à jour et transformées en préservant la symétrie du graphe d’entrée.
Considérez les GNN comme un graphique dont les données sont des nœuds et les connexions entre les données des arêtes. Vous pouvez directement appliquer les GNN aux graphes et obtenir un moyen plus facile d’effectuer des tâches de prédiction au niveau de l’arête, du nœud ou du graphe.
Les GNN peuvent mieux combiner la structure du graphe et les informations sur les caractéristiques pour apprendre des représentations graphiques grâce à l’agrégation et à la propagation des caractéristiques.
Dans le monde réel, les GNN sont utilisés pour étudier et résoudre des problèmes complexes dans de nombreux secteurs. Certains cas d’utilisation sont l’identification de nœuds spécifiques dans un grand réseau, la classification de modèles, la visualisation, le filtrage et l’analyse de graphes, l’analyse de réseaux sociaux, la prédiction de prix, etc.
Les GNN ont été présentés pour la première fois dans un article publié en 2009 par des chercheurs italiens. Deux chercheurs d’Amsterdam ont également démontré la puissance des GNN avec une autre variante appelée Graph Convolutional Network (GCN).
Types de GNN
Il existe de nombreux types de réseaux neuronaux et la plupart d’entre eux comportent une forme ou une autre de CNN. Les types de GNN sont les suivants
#1. Réseaux neuronaux graphiques récurrents (RGNN)
Les RGNN étudient les modèles de diffusion et peuvent gérer des graphes multi-relationnels dont les nœuds ont des relations multiples. Ces réseaux utilisent des régularisateurs pour améliorer la régularité et éviter une paramétrisation excessive.
Ils utilisent une puissance de calcul limitée pour générer de meilleurs résultats. Les RGNN sont utilisés dans la traduction automatique, la génération de texte, la reconnaissance vocale, le marquage de vidéos, la génération de descriptions d’images, le résumé de textes, etc.
#1. Réseaux neuronaux à graphe (GGNN)
Ces réseaux sont encore meilleurs que les RGNN lorsqu’il s’agit d’effectuer des tâches impliquant des dépendances à long terme. Les GGNN améliorent les RGNN en ajoutant des portes temporelles, une arête et un nœud pour les dépendances à long terme. Ces réseaux sont utilisés pour mémoriser et oublier des informations dans différents états.
#2. Réseaux convolutifs graphiques (GCN)
Les GCN sont semblables aux CNN traditionnels. Les GCN apprennent les caractéristiques d’un objet ou d’une entité en inspectant les nœuds voisins. Les GCN agrègent divers vecteurs de nœuds et transmettent le résultat à la couche dense. Ensuite, les réseaux effectuent une non-linéarité à l’aide de la fonction d’activation. Les GCN sont divisés en deux types : les réseaux convolutionnels spatiaux et les réseaux convolutionnels spectraux.
#3. Réseaux d’autocodage graphique
Ces réseaux neuronaux étudient la représentation graphique à l’aide d’un encodeur et tentent de reconstruire les graphiques d’entrée à l’aide d’un décodeur. En outre, le décodeur et l’encodeur sont reliés par une couche de goulot d’étranglement. Les réseaux d’auto-encodeurs de graphes sont excellents pour la prédiction de liens car ils gèrent mieux les équilibreurs de classes.
Comment fonctionnent les GNN ?
L’apprentissage profond traditionnel se concentre principalement sur le texte et les images, qui sont des données structurées décrites comme des grilles de pixels ou des séquences de mots.
Au contraire, les graphes ne sont pas structurés, peuvent prendre n’importe quelle taille ou forme, et peuvent contenir n’importe quel type de données en dehors du texte et des images.
Les GNN peuvent organiser les graphes à l’aide du passage de messages, ce qui permet aux algorithmes d’apprentissage automatique d’exploiter les graphes. Le passage de messages intègre les informations sur les voisins dans chaque nœud. Ensuite, les modèles d’IA utilisent les données intégrées pour détecter des modèles et faire des prédictions significatives.
Par exemple, l’intégration des arêtes est utilisée dans les systèmes de détection des fraudes pour détecter les transactions suspectes afin que les mesures appropriées soient prises à temps et que les activités frauduleuses soient stoppées.
Les réseaux GNN utilisent des mathématiques éparses et leurs modèles ne comportent généralement que 2 ou 3 couches. En revanche, d’autres réseaux et modèles d’IA font appel à des mathématiques denses et comptent des centaines de couches de réseau neuronal.
Différence entre GNN et CNN
Les GNN et les réseaux neuronaux convolutifs (CNN) sont deux types de réseaux neuronaux, mais ils restent différents.
Les CNN sont un autre type de réseau neuronal utilisé pour aider les machines à visualiser des objets ou des choses et à effectuer des tâches telles que la reconnaissance d’images, la détection d’objets, la classification d’images, etc. Ils sont excellents pour les espaces réguliers, plats, 2D et 3D, mais les réseaux neuronaux GNN brillent dans les espaces courbes ou non euclidiens.
Les CNN sont conçus pour fonctionner spécifiquement sur des informations structurées ou des espaces euclidiens. En revanche, les GNN traitent des espaces non euclidiens dont les nœuds ne sont pas ordonnés et peuvent varier.
Cela signifie que vous pouvez appliquer le CNNS à des informations structurées telles que du texte ou des images. Il ne s’applique pas aux données non structurées telles que la météo, les sons, etc. Cependant, les GNN s’appliquent aux données structurées et non structurées. Il s’agit d’une forme généralisée de CNN.
En outre, les GNN permettent d’analyser les graphiques et de prédire des informations significatives, alors que les CNN ne sont pas adaptés à l’analyse des graphiques.
Cela signifie que les GNN sont plus efficaces que les CNN pour résoudre les problèmes liés aux graphes.
Applications des GNN
Les organisations et les entreprises qui utilisent les GNN sont de plus en plus nombreuses. Ils sont adoptés dans de nombreux secteurs, de l’industrie aux branches scientifiques. Voici quelques-unes des applications des GNN :
#1. Classification des graphes
Les GNN sont utilisés dans la classification des graphes, où un graphe complet est divisé en plusieurs catégories. C’est similaire à la classification d’images, sauf que la cible est transformée dans le domaine des graphes.
La classification des graphes a de nombreuses applications, notamment en bio-informatique pour vérifier si une protéine appartient à une enzyme, pour effectuer une analyse des réseaux sociaux, pour catégoriser des fichiers en NLP, etc.
#2. Visualisation des graphes
La visualisation des graphes fait partie de l’informatique et des mathématiques, à la croisée de la visualisation de l’information et de la théorie géométrique des graphes. Elle traite de la représentation visuelle des graphes, révélant les anomalies et les structures dans les données. Grâce à la visualisation des graphiques, les utilisateurs peuvent mieux comprendre le graphique.
#3. Regroupement de graphes
Les GNN sont utilisés dans le clustering de graphes, un processus qui consiste à regrouper des données sous forme de graphes. Vous pouvez effectuer deux types de regroupement sur des données graphiques données : le regroupement de sommets et le regroupement d’objets. Le regroupement de sommets organise ou regroupe les nœuds du graphique en différents groupes de régions densément connectées.
Ils sont basés sur les distances ou les poids des arêtes. Le clustering d’objets prend les graphes comme des objets ou des entrées à regrouper. Il regroupe les objets en fonction de leur similarité.
#4. Classification des nœuds
L’une des applications importantes des GNN est la classification des nœuds, qui permet de déterminer l’étiquetage des nœuds en vérifiant les étiquettes de leurs voisins. Dans ce cas, de nouvelles informations sont ajoutées aux nœuds pour lesquels il existe un manque d’informations.
Les modèles de ce type de tâche nécessitent une formation semi-supervisée. Dans ce cas, seule une partie d’un graphe donné doit être étiquetée.
Par exemple, si vous souhaitez déterminer si des comptes de robots ont été créés dans votre réseau organisationnel, vous devez former un modèle GNN basé sur les graphes d’intégration des robots connus et inconnus et classer les utilisateurs selon qu’il s’agit d’utilisateurs normaux ou de robots.
#5. Prédiction de liens ou d’arêtes
Les GNN sont utiles dans la prédiction de liens ou d’arêtes pour déterminer la relation entre divers objets ou entités dans un graphe donné. Cela permet également de prédire s’il existe un lien entre deux entités données.
Par exemple, vous pouvez utiliser la prédiction de liens dans les réseaux sociaux pour comprendre les interactions sociales et suggérer aux utilisateurs des amis potentiels. Elle est également utilisée par les services de police pour prédire et comprendre les associations criminelles et par les systèmes de recommandation pour suggérer les meilleurs produits, films, musique, etc.
#6. Vision par ordinateur
Les GNN sont utilisés dans le domaine de la vision artificielle pour résoudre divers problèmes liés à l’interaction homme-objet, à la classification d’images, à la génération de graphes de scène, et bien d’autres encore.
Par exemple, vous pouvez utiliser les GNN dans la génération de graphes de scène, où le modèle doit analyser une image donnée en un graphe composé d’objets et de relations sémantiques entre eux. Ce processus permet de reconnaître et de détecter des objets et de prévoir les relations sémantiques entre diverses paires d’objets.
#7. Classification de textes
Les graphes peuvent représenter un groupe de mots, où les mots sont des nœuds et les connexions entre ces mots sont des arêtes. Vous pouvez effectuer une classification de texte au niveau du graphe ou du nœud.
L’utilisation des GNNs pour la classification de texte a de nombreux cas d’utilisation dans le monde réel, comme la recommandation de produits, la nouvelle catégorisation et la détection de maladies à partir de certains symptômes.
#8. Classifier et segmenter les nuages de points
Le LiDAR permet de tracer des données du monde réel dans divers nuages de points 3D afin de compléter les processus de segmentation 3D. Vous pouvez représenter les nuages de points à l’aide de GNN et les classer et les segmenter facilement.
#9. Représentation de l’interaction homme-objet
Les graphiques sont un excellent moyen de représenter les interactions entre les liens et les objets. Ainsi, vous pouvez modéliser les objets et les humains comme des nœuds, tandis que les relations et les interactions entre eux sont des arêtes.
#10. Traitement du langage naturel (NLP)
Dans le traitement du langage naturel, le texte est considéré comme une donnée séquentielle décrite par un LSTM (Long Short-Term Memory) ou un RNN (Recurrent Neural network). De nombreuses tâches de TAL font largement appel aux graphes parce qu’ils sont faciles à représenter et ont l’air naturels et bruts.
Les RNN sont utilisés pour résoudre de nombreux problèmes de TAL, tels que la recherche de sémantique dans la traduction automatique, la classification de textes, l’extraction de relations, la classification de textes, la réponse à des questions, etc.
#11. Découverte de médicaments
La découverte d’un médicament ou d’un remède pour une maladie n’est pas seulement un défi pour la chimie, mais aussi pour la société. Ce domaine nécessite des recherches approfondies, des milliards de dollars et des années pour formuler un médicament qui guérisse une maladie.
Les GNN dotés d’une IA peuvent contribuer à raccourcir les processus de recherche et de sélection, de sorte qu’un médicament plus sûr et plus efficace puisse être mis à la disposition du public plus rapidement.
#12. Représentation des interactions moléculaires
Les GNN sont utiles en physique des particules, qui traite des lois concernant les interactions entre les particules. Les graphiques peuvent être utilisés ici pour comprendre les relations et les interactions entre les particules. Les GNN peuvent aider à prédire les propriétés de la dynamique des collisions.
Actuellement, le Grand collisionneur de hadrons (LHC) utilise les GNN pour identifier les particules intéressantes à partir d’images générées par diverses expériences.
#13. Prédiction du trafic
Un dispositif ou un système de transport intelligent implique la prédiction de la vitesse du trafic et de la densité des routes en tant que caractéristiques principales. Ces tâches de prédiction peuvent être réalisées à l’aide de réseaux neuronaux à graphe spatio-temporel (STGNN).
Ici, le réseau de circulation sera considéré comme un graphe spatio-temporel dont les nœuds sont des capteurs placés sur les routes et les arêtes sont les distances entre les paires de nœuds. Considérez également que chaque nœud aura comme entrée une vitesse moyenne de circulation.
#14. Autres applications
Outre ce qui précède, les GNN sont utilisés dans la modélisation des dossiers de santé électroniques, la prévention des attaques adverses, les réseaux cérébraux, la prédiction de l’influence sociale, les programmes, le raisonnement, la vérification des programmes, la prédiction des résultats des élections, et bien d’autres encore.
Ressources pédagogiques
Vous trouverez ci-dessous quelques-uns des meilleurs livres pour en savoir plus sur les réseaux GNN.
#1. Graph Neural Networks par Lingfei Wu et autres
Ce livre est un guide complet sur les réseaux neuronaux graphiques qui aborde les objectifs de l’apprentissage de la représentation graphique.
Preview | Product | Rating | |
---|---|---|---|
Graph Neural Networks: Foundations, Frontiers, and Applications | Buy on Amazon |
Il élucide également les développements actuels, l’histoire et l’avenir des GNN, ainsi que certaines de leurs théories et méthodes de base.
#2. Réseaux neuronaux graphiques en action
Preview | Product | Rating | |
---|---|---|---|
Graph Neural Networks in Action | Buy on Amazon |
Il s’agit d’un guide pratique sur les modèles d’apprentissage profond basés sur les graphes et sur la façon de construire des réseaux neuronaux graphiques avancés pour la modélisation moléculaire, les moteurs de recommandation, et plus encore.
#3. Introduction aux réseaux neuronaux graphiques par Zhiyuan Liu
Preview | Product | Rating | |
---|---|---|---|
Introduction to Graph Neural Networks (Synthesis Lectures on Artificial Intelligence and Machine… | Buy on Amazon |
Apprenez les concepts de base, les applications et les modèles de réseaux neuronaux graphiques.
#4. Graph Neural Network par Younes Sadat-Nejad
Il s’agit d’un cours d’introduction aux réseaux neuronaux graphiques disponible sur Udemy. Il vous aidera à apprendre l’apprentissage par représentation graphique et les GNN.
Conclusion
Avec la popularité croissante de l’IA et des graphes de plus en plus sophistiqués et riches en données, les réseaux neuronaux graphiques (GNN) deviennent de plus en plus utiles. Ils constituent un outil puissant pour faire des prédictions et sont appliqués dans de nombreux secteurs, depuis les réseaux et la vision par ordinateur jusqu’à la chimie, la physique et les soins de santé.
Vous pouvez également explorer la régression par rapport à la classification dans l’apprentissage automatique.