Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Modèles et entraînement de modèle dans Amazon Neptune ML

Mode de mise au point
Modèles et entraînement de modèle dans Amazon Neptune ML - Amazon Neptune

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Neptune ML utilise les réseaux de neurones en graphes (GNN) pour créer des modèles pour les différentes tâches de machine learning. Il a été démontré que les réseaux neuronaux graphiques obtiennent des state-of-the-art résultats pour les tâches d'apprentissage automatique des graphes et sont excellents pour extraire des modèles informatifs à partir de données structurées par des graphes.

Réseaux neuronaux graphiques (GNNs) dans Neptune ML

Les réseaux neuronaux à graphes (GNNs) appartiennent à une famille de réseaux neuronaux qui calculent les représentations des nœuds en tenant compte de la structure et des caractéristiques des nœuds voisins. GNNs complètent d'autres méthodes traditionnelles d'apprentissage automatique et de réseaux neuronaux qui ne sont pas bien adaptées aux données graphiques.

GNNs sont utilisés pour résoudre des tâches d'apprentissage automatique telles que la classification et la régression des nœuds (prédiction des propriétés des nœuds), la classification et la régression des arêtes (prédiction des propriétés des arêtes) ou la prédiction des liens (prédiction si deux nœuds du graphe doivent être connectés ou non).

En général, l'utilisation d'un réseau GNN pour une tâche de machine learning comporte deux phases :

  • Une phase d'encodage, au cours de laquelle le réseau GNN calcule un vecteur à d dimensions pour chaque nœud du graphe. Ces vecteurs sont également appelés représentations ou intégrations.

  • Une phase de décodage, qui effectue des prédictions basées sur les représentations encodées.

Pour la classification et la régression de nœud, les représentations des nœuds sont utilisées directement pour les tâches de classification et de régression. Pour la classification et la régression d'arête, les représentations de nœud des nœuds incidents sur une arête sont utilisées comme entrée pour la classification ou la régression. Pour la prédiction de lien, un score de probabilité d'arête est calculé à l'aide d'une paire de représentations de nœud et d'une représentation de type d'arête.

La Deep Graph Library (DGL) facilite la définition et la formation efficaces GNNs de ces tâches.

Différents modèles GNN sont unifiés dans le cadre de la formulation de la transmission de messages. Dans cette vue, la représentation d'un nœud dans un graphe est calculée à l'aide des représentations des voisins du nœud (les messages), ainsi que de la représentation initiale du nœud. Dans NeptuneML, la représentation initiale d'un nœud est dérivée des fonctionnalités extraites de ses propriétés de nœud, ou elle peut être apprise et dépend de l'identité du nœud.

Neptune ML offre également la possibilité de concaténer les fonctionnalités de nœud et les représentations de nœud pouvant être apprises pour servir de représentation de nœud d'origine.

Pour les diverses tâches dans Neptune ML impliquant des graphes dotés de propriétés de nœud, nous utilisons le réseau convolutif graphique relationnel (R-GCN) pour effectuer la phase d'encodage. R-GCN est une architecture GNN parfaitement adaptée aux graphes comportant plusieurs types de nœud et d'arête (ils sont appelés graphes hétérogènes).

Le réseau R-GCN est constitué d'un nombre fixe de couches empilées les unes après les autres. Chaque couche du R-GCN utilise ses paramètres de modèle pouvant être appris pour agréger les informations provenant du voisinage à un saut, immédiat d'un nœud. Comme les couches suivantes utilisent les représentations en sortie de la couche précédente comme entrée, le rayon du voisinage de graphe qui influence l'intégration finale d'un nœud dépend du nombre de couches (num-layer) du réseau R-GCN.

Par exemple, cela signifie qu'un réseau à deux couches utilise les informations provenant de nœuds situés à deux sauts de distance.

Pour en savoir plus GNNs, consultez A Comprehensive Survey on Graph Neural Networks. Pour plus d'informations sur la bibliothèqe Deep Graph Library (DGL), visitez la page Web de la DGL. Pour un didacticiel pratique sur l'utilisation de DGL avec GNNs, voir Apprendre les réseaux neuronaux à graphes avec Deep Graph Library.

Réseaux de neurones en graphes d'entraînement

Dans le machine learning, le processus qui consiste à amener un modèle à apprendre à effectuer de bonnes prédictions pour une tâche s'appelle « entraînement de modèle ». Il est généralement réalisé en spécifiant un objectif particulier à optimiser, ainsi qu'un algorithme à utiliser pour effectuer cette optimisation.

Ce processus est utilisé pour entraîner un réseau GNN à apprendre de bonnes représentations également pour la tâche en aval. Nous créons une fonction objectif pour cette tâche qui est minimisée lors de l'entraînement du modèle. Par exemple, pour la classification des nœuds, nous utilisons CrossEntropyLosscomme objectif, ce qui pénalise les erreurs de classification, et pour la régression des nœuds, nous minimisons. MeanSquareError

L'objectif est généralement une fonction de perte qui prend les prédictions du modèle pour un point de données particulier et les compare à la valeur réelle pour ce point de données. Il renvoie la valeur de perte, qui indique à quel point les prédictions du modèle sont éloignées. L'objectif du processus d'entraînement est de minimiser les pertes et de s'assurer que les prédictions du modèle sont proches de la réalité.

L'algorithme d'optimisation utilisé en deep learning pour le processus d'entraînement est généralement une variante de la descente de gradient. Dans Neptune ML, nous utilisons Adam, un algorithme d'optimisation des fonctions objectives stochastiques basé sur un gradient de premier ordre, sur la base d'estimations adaptatives de moments d'ordre inférieur.

Alors que le processus d'entraînement de modèle essaie de s'assurer que les paramètres de modèle appris sont proches des minima de la fonction objectif, les performances globales d'un modèle dépendent également des hyperparamètres du modèle, qui sont des paramètres de modèle qui ne sont pas appris par l'algorithme d'entraînement. Par exemple, la dimensionnalité de la représentation de nœud appris, num-hidden, est un hyperparamètre qui affecte les performances du modèle. Par conséquent, il est courant en machine learning d'effectuer une optimisation des hyperparamètres (HPO) pour choisir les hyperparamètres appropriés.

Neptune ML utilise une tâche de réglage des hyperparamètres basée sur l' SageMaker IA pour lancer plusieurs instances d'apprentissage de modèles avec différentes configurations d'hyperparamètres afin de trouver le meilleur modèle pour une gamme de paramètres d'hyperparamètres. Consultez Personnalisation des configurations d'hyperparamètres de modèle dans Neptune ML.

Modèles d'intégration de graphe de connaissances dans Neptune ML

Les graphes de connaissances (KGs) sont des graphes qui encodent des informations sur les différentes entités (nœuds) et leurs relations (arêtes). Dans Neptune ML, les modèles d'intégration de graphe de connaissances sont appliqués par défaut pour effectuer une prédiction de lien lorsque le graphe ne contient pas de propriétés de nœud, mais uniquement des relations avec d'autres nœuds. Des modèles R-GCN avec intégrations pouvant être apprises peuvent également être utilisés pour ces graphes en spécifiant le type de modèle "rgcn", mais les modèles d'intégration de graphe de connaissances sont plus simples et sont conçus pour être efficaces pour l'apprentissage de représentations pour des graphes de connaissances à grande échelle.

Les modèles d'intégration de graphe de connaissances sont utilisés dans une tâche de prédiction de lien pour prédire les nœuds ou les relations qui complètent un triple (h, r, t)h est le nœud source, r le type de relation et t le nœud de destination.

Les modèles d'intégration de graphe de connaissances implémentés dans Neptune ML sont distmult, transE et rotatE. Pour en savoir plus sur les modèles d'intégration de graphe de connaissances, consultez DGL-KE.

Entraînement de modèles personnalisés dans Neptune ML

Neptune ML vous permet de définir et d'implémenter vos propres modèles personnalisés, pour des scénarios particuliers. Consultez Modèles personnalisés dans Neptune ML pour en savoir plus sur la manière d'implémenter un modèle personnalisé et sur la manière d'utiliser l'infrastructure Neptune ML pour l'entraîner.

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.