Ces dernières années, les réseaux de neurones graphes (GNN) ont fait des progrès rapides et incroyables. Le réseau neuronal graphique, également connu sous le nom d'apprentissage profond graphique, d'apprentissage de représentation graphique (apprentissage de représentation graphique) ou d'apprentissage profond géométrique, est le sujet de recherche qui connaît la croissance la plus rapide dans le domaine de l'apprentissage automatique, en particulier de l'apprentissage profond. Le titre de ce partage est « Bases, frontières et applications du GNN ». Il présente principalement le contenu général du livre complet « Bases, frontières et applications des réseaux de neurones graphiques » compilé par les chercheurs Wu Lingfei, Cui Peng, Pei Jian et Zhao. Liang.
Les diagrammes sont un langage universel pour décrire et modéliser des systèmes complexes. Le graphe en lui-même n’est pas complexe, il se compose principalement d’arêtes et de nœuds. Nous pouvons utiliser des nœuds pour représenter n’importe quel objet que nous souhaitons modéliser, et nous pouvons utiliser des arêtes pour représenter la relation ou la similitude entre deux nœuds. Ce que nous appelons souvent réseau neuronal graphique ou apprentissage automatique graphique utilise généralement la structure du graphique et les informations sur les arêtes et les nœuds comme entrée de l'algorithme pour produire les résultats souhaités. Par exemple, dans un moteur de recherche, lorsque nous saisissons une requête, le moteur renvoie des résultats de recherche personnalisés basés sur les informations de la requête, les informations de l'utilisateur et certaines informations contextuelles. Ces informations peuvent être naturellement organisées dans un graphique.
Les données structurées sous forme de graphiques peuvent être trouvées partout, comme sur Internet, les réseaux sociaux, etc. De plus, dans le domaine actuellement très populaire de la découverte de protéines, les gens utiliseront des graphiques pour décrire et modéliser les protéines existantes et généreront de nouveaux graphiques pour aider les gens à découvrir de nouveaux médicaments. Nous pouvons également utiliser des graphiques pour effectuer des analyses de programmes complexes, ainsi que des raisonnements de haut niveau en vision par ordinateur.
L'apprentissage automatique des graphes n'est pas un sujet très nouveau. Cette direction de recherche existe depuis 20 ans et a toujours été relativement spécialisée. avant. Depuis 2016, avec l’émergence d’articles modernes sur les réseaux neuronaux graphiques, l’apprentissage automatique graphique est devenu une direction de recherche populaire. Les gens ont découvert que cette nouvelle génération de méthodes d'apprentissage automatique graphique peut mieux apprendre les données elles-mêmes et les informations entre les données, afin de mieux représenter les données et, finalement, de mieux accomplir des tâches plus importantes.
Le premier article sur les réseaux de neurones graphes est paru en 2009, avant que l'apprentissage profond ne devienne populaire. Des articles sur les réseaux de neurones graphiques modernes sont parus en 2016, qui constituaient des améliorations des premiers réseaux de neurones graphiques. Par la suite, l’émergence du GCN a favorisé le développement rapide des réseaux de neurones graphiques. Depuis 2017, un grand nombre de nouveaux algorithmes ont vu le jour. À mesure que les algorithmes des réseaux de neurones graphiques deviennent de plus en plus matures, depuis 2019, l'industrie a tenté d'utiliser ces algorithmes pour résoudre certains problèmes pratiques. Dans le même temps, de nombreux outils open source ont été développés pour améliorer l'efficacité de la résolution des problèmes. Depuis 2021, de nombreux livres liés aux réseaux de neurones graphes ont été écrits, dont bien sûr ce "Bases, frontières et applications des réseaux de neurones graphes".
Le livre "Bases, frontières et applications des réseaux de neurones graphes" présente systématiquement les concepts et technologies de base dans le domaine des réseaux de neurones graphes, ainsi que la recherche et le développement de pointe, et présente des applications dans différents domaines. Les lecteurs du monde universitaire et de l’industrie peuvent en bénéficier.
La figure ci-dessus reflète le cycle de vie de l'apprentissage automatique, dans lequel l'apprentissage des fonctionnalités est un élément très important lien La tâche principale est de transformer les données brutes en données structurées. Avant l’émergence du deep learning, tout le monde accomplissait principalement cette tâche grâce à l’ingénierie des fonctionnalités. Après l'émergence du deep learning, cette méthode d'apprentissage automatique de bout en bout a commencé à devenir courante.
L'apprentissage des fonctionnalités dans les graphiques est très similaire à l'apprentissage en profondeur. L'objectif est de concevoir des méthodes efficaces d'apprentissage des fonctionnalités liées aux tâches ou indépendantes des tâches. les nœuds du graphique d'origine dans un espace de grande dimension pour obtenir la représentation intégrée des nœuds, puis effectuer les tâches en aval.
Il existe deux types de représentations qui doivent être apprises dans les réseaux neuronaux graphiques :
nécessite une opération de filtrage, qui prend la matrice du graphique et la représentation vectorielle du nœud en entrée, apprend en permanence et met à jour la représentation vectorielle du nœud. Actuellement, les opérations de filtrage les plus courantes incluent les opérations basées sur le spectre, basées sur l'espace, basées sur l'attention et basées sur la récurrence.
nécessite une opération de pool, qui prend la matrice du graphe et la représentation vectorielle des nœuds en entrée, apprend en continu et obtient la matrice du graphe contenant moins de nœuds. La représentation vectorielle de ses nœuds obtient finalement une représentation vectorielle au niveau du graphe pour représenter l'ensemble du graphe. Actuellement, les opérations de pool les plus courantes incluent le pooling de graphiques plats (tels que Max, Ave, Min) et le pooling de graphiques hiérarchiques (tels que Diffpool).
Il existe un concept d'apprentissage contextuel dans le domaine de l'apprentissage automatique. Dans les réseaux de neurones graphiques, le contexte d'un nœud est celui de ses nœuds voisins. Nous pouvons utiliser les nœuds voisins d'un nœud pour apprendre la représentation vectorielle de ce nœud.
De cette façon, chaque nœud peut définir un graphe de calcul.
Nous pouvons superposer le graphique de calcul. La première couche est l'information la plus originale. En transmettant et en agrégeant les informations couche par couche, nous pouvons apprendre la représentation vectorielle de tous les nœuds.
La figure ci-dessus décrit grossièrement les principales étapes de l'apprentissage du modèle de réseau neuronal graphique, qui comprennent principalement les quatre étapes suivantes :
La figure ci-dessus est un exemple d'utilisation de la moyenne comme fonction d'agrégation. La représentation vectorielle du nœud v dans la kième couche dépend de la représentation vectorielle de ses nœuds voisins dans. la couche précédente. Moyenne et la propre représentation vectorielle de la couche précédente.
Pour résumer le contenu ci-dessus, le point principal du réseau de neurones graphique est de générer une représentation vectorielle du nœud cible en agrégeant les informations des nœuds voisins. Il prend en compte le partage des paramètres dans l'encodeur. et prend également en compte l'apprentissage par inférence.
Les algorithmes classiques ou populaires de réseaux de neurones graphiques utilisent essentiellement différentes fonctions d'agrégation ou fonctions de filtrage, qui peuvent être divisées en réseaux de neurones graphiques supervisés et en réseaux neuronaux graphiques non supervisés. réseaux de neurones graphiques supervisés.
GCN est l'un des algorithmes les plus classiques, Il peut agir directement sur le graphe et utiliser ses informations structurelles. En se concentrant sur l'amélioration de la vitesse, de la praticité et de la stabilité du modèle, comme le montre la figure ci-dessus, GCN a également connu plusieurs itérations. L'article de GCN est d'une importance historique et a jeté les bases des réseaux de neurones graphiques. Le point central de
MPNN est le processus de conversion de la convolution graphique en transfert d'informations. Il définit deux fonctions, à savoir la fonction d'agrégation et la fonction de mise à jour. Cet algorithme est un algorithme simple et général, mais il n’est pas efficace.
GraphSage est un algorithme de niveau industriel Il utilise l'échantillonnage pour obtenir un certain nombre de nœuds voisins afin d'obtenir la représentation vectorielle du nœud scolaire.
GAT est l'introduction de l'idée d'attention. Son point central est d'apprendre dynamiquement le poids du bord pendant le processus de transfert d'informations.
En plus des algorithmes présentés ci-dessus, il existe également GGNN. Sa caractéristique est que la sortie peut être multi-nœuds. Si vous êtes intéressé, vous pouvez lire les articles connexes. Dans le livre "Basics, Frontiers and Applications of Graph Neural Networks", les chapitres 5, 6, 7 et 8 présentent également comment évaluer les réseaux de neurones graphes, l'évolutivité des réseaux de neurones graphes et l'explication des réseaux de neurones graphes respectivement. .propriétés et stabilité contradictoire des réseaux de neurones graphiques Si vous êtes intéressé, vous pouvez lire les chapitres correspondants dans le livre.
Nous transformons l'apprentissage des graphes en apprentissage de similarité entre les nœuds, contrôlons la fluidité, les attributs du système et la connectivité grâce à la régularisation, et affinons la structure et le graphique du graphique grâce à la représentation vectorielle d'itération.
3. La frontière du réseau neuronal graphique nécessite des données de structure graphique, mais la structure graphique donnée est-elle optimale ? parfois, il peut y avoir beaucoup de bruit et de nombreuses applications peuvent ne pas avoir de données structurées sous forme de graphiques, ou même n'avoir que des fonctionnalités originales.
Nous devons donc utiliser le réseau neuronal graphique pour apprendre la représentation graphique optimale et la représentation des nœuds graphiques.
peuvent montrer les avantages de cette approche.
Grâce aux résultats de visualisation du graphique, on peut constater que les graphiques appris ont tendance à regrouper des objets similaires, ce qui a une certaine interprétabilité. 2. Autres frontières
Dans le livre "Bases, frontières et applications des réseaux de neurones graphes", les recherches de pointe suivantes sont également présentées, qui ont des applications importantes dans de nombreux scénarios :
Prédiction de liens ;
Nous pouvons suivre le processus de changement dynamique des objets et approfondir notre compréhension de la vidéo grâce au réseau neuronal graphique.
Nous pouvons utiliser le réseau neuronal graphique pour comprendre les informations de haut niveau du langage naturel.
Q1 : GNN est-il une méthode importante pour la prochaine génération d'apprentissage profond ?
A2 : Le maillon important dans l'apprentissage causal est le graphe causal, et le graphe causal et le GNN peuvent être naturellement combinés. La difficulté de l’apprentissage causal est que la taille de ses données est petite. Nous pouvons utiliser la capacité de GNN pour mieux apprendre les graphiques causals.
A3 : Il sera introduit en détail dans le livre "Bases, frontières et applications des réseaux de neurones graphiques".
A4 : Il n'existe actuellement aucune bonne pratique sur la plate-forme de calcul graphique unifiée. Certaines startups et équipes de recherche scientifique explorent des directions de recherche très précieuses et stimulantes. diviser les zones en zones.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!