Les systèmes de recommandation sont l'une des technologies d'apprentissage automatique (ML) les plus largement adoptées dans les applications du monde réel, allant des réseaux sociaux aux plateformes de commerce électronique. Les utilisateurs de nombreux systèmes en ligne s'appuient sur des systèmes de recommandation pour nouer de nouvelles amitiés, découvrir de nouvelles musiques en fonction des listes de musique suggérées ou même prendre des décisions d'achat en ligne en fonction des produits recommandés. Dans les réseaux sociaux, un cas d'utilisation courant consiste à recommander de nouveaux amis à un utilisateur en fonction des autres connexions des utilisateurs. Les utilisateurs ayant des amis communs se connaissent probablement. Par conséquent, ils devraient avoir un score plus élevé pour un système de recommandation à proposer s'ils ne sont pas encore connectés.
Les réseaux sociaux peuvent naturellement être exprimés dans un graphique, où les nœuds représentent les personnes, et les liens entre les personnes, tels que l'amitié ou les collègues, sont représentés par des arêtes. Ce qui suit illustre un tel réseau social. Imaginons que nous ayons un réseau social avec les membres (nœuds) Bill, Terry, Henry, Gary et Alistair. Leurs relations sont représentées par un lien (edge) et les intérêts de chaque personne, tels que les sports, les arts, les jeux et les bandes dessinées, sont représentés par des propriétés de nœud.
L'objectif ici est de prédire s'il existe un chaînon manquant potentiel entre les membres. Par exemple, doit-on recommander une connexion entre Henry et Terry ? En regardant le graphique, on peut voir qu'ils ont deux amis communs, Gary et Alistair. Par conséquent, il y a de fortes chances qu'Henry et Terry se connaissent déjà ou se connaissent bientôt. Et Henry et Bill ? Ils n'ont pas d'amis communs, mais ils ont un lien faible grâce aux relations de leurs amis. De plus, ils ont tous les deux des intérêts similaires pour les arts, les bandes dessinées et les jeux. Doit-on favoriser cette connexion ? Toutes ces questions et intuitions sont au cœur de la logique des systèmes de recommandation des réseaux sociaux.
Une façon possible d'y parvenir consiste à recommander des relations basées sur l'exploration de graphes. Dans les langages de requête graphique, tels que Apache Tinker Pop Gremlin, la mise en œuvre d'ensembles de règles telles que le comptage des amis communs, est relativement facile et peut être utilisée pour déterminer le lien entre Henry et Terry. Cependant, ces ensembles de règles seront très compliqués lorsque nous voulons tenir compte d'autres attributs tels que les propriétés des nœuds, la force de la connexion, etc. Imaginons un ensemble de règles pour déterminer le lien entre Henry et Bill. Cet ensemble de règles doit tenir compte de leurs intérêts communs et de leurs connexions faibles à travers certains chemins du graphe. Pour augmenter la robustesse, nous pourrions également avoir besoin d'ajouter un facteur de distance pour favoriser les connexions fortes et pénaliser les plus faibles. De même, nous voudrions un facteur favorisant les intérêts communs. Bientôt, les ensembles de règles qui peuvent révéler des schémas cachés complexes deviendront impossibles à énumérer.
La technologie ML nous permet de découvrir des modèles cachés en apprenant des algorithmes. Un exemple est XGBoost, qui est largement utilisé pour les tâches de classification ou de régression. Cependant, des algorithmes tels que XGBoost utilisent une approche ML conventionnelle basée sur un format de données tabulaire. Ces approches ne sont pas optimisées pour les structures de données graphiques et nécessitent une ingénierie de fonctionnalités complexe pour faire face à ces modèles de données.
Dans l'exemple de réseau social précédent, les informations d'interaction du graphique sont essentielles pour améliorer la précision des recommandations. Graph Neural Network (GNN) est un cadre d'apprentissage en profondeur (DL) qui peut être appliqué aux données de graphe pour effectuer des tâches de prédiction au niveau des arêtes, des nœuds ou des graphes. Les GNN peuvent tirer parti des caractéristiques des nœuds individuels ainsi que des informations sur la structure du graphique lors de l'apprentissage de la représentation du graphique et des modèles sous-jacents. Par conséquent, ces dernières années, les méthodes basées sur GNN ont établi de nouvelles normes sur de nombreux référentiels de système de recommandation. Voir des informations plus détaillées dans des articles de recherche récents : Une enquête complète sur les réseaux de neurones graphiques ainsi que Systèmes de recommandation basés sur l'apprentissage des graphes : un examen.
Voici un exemple célèbre d'un tel cas d'utilisation. Les chercheurs et ingénieurs de Pinterest ont formé Réseaux de neurones convolutifs graphiques pour les systèmes de recommandation à l'échelle du Web, appelé PinSage, avec trois milliards de nœuds représentant des broches et des cartes, et 18 milliards d'arêtes. PinSage génère des intégrations de haute qualité qui représentent des épingles (signets visuels vers du contenu en ligne). Ceux-ci peuvent être utilisés pour un large éventail de tâches de recommandation en aval, telles que les recherches du plus proche voisin dans l'espace d'intégration appris pour la découverte de contenu et les recommandations.
Dans cet article, nous vous expliquerons comment utiliser les GNN pour les cas d'utilisation de recommandations en les présentant comme un problème de prédiction de lien. Nous illustrerons également comment Neptune ML peut faciliter la mise en œuvre. Nous fournirons également exemple de code sur GitHub pour former votre premier GNN avec Neptune ML et faire des inférences de recommandation sur le graphique de démonstration via des tâches de prédiction de lien.
Prédiction de liens avec les réseaux de neurones graphiques
Considérant l'exemple de réseau social précédent, nous aimerions recommander de nouveaux amis à Henry. Terry et Bill seraient de bons candidats. Terry a plus d'amis communs (Gary, Alistair) avec Henry mais aucun intérêt commun. Alors que Bill partage des intérêts communs (arts, bandes dessinées, jeux) avec Henry, mais pas d'amis communs. Lequel serait une meilleure recommandation ? Lorsqu'elle est présentée comme un problème de prédiction de lien, la tâche consiste à attribuer un score à tout lien possible entre les deux nœuds. Plus le score de lien est élevé, plus cette recommandation est susceptible de converger. En apprenant les structures de liens déjà présentes dans le graphe, un modèle de prédiction de liens peut généraliser de nouvelles prédictions de liens qui « complètent » le graphe.
Les paramètres de la fonction f
qui prédit que le score de lien est appris pendant la phase de formation. Depuis la fonction f
effectue une prédiction pour deux nœuds quelconques du graphe, les vecteurs de caractéristiques associés aux nœuds sont essentiels au processus d'apprentissage. Pour prédire le score de lien entre Henry et Bill, nous disposons d'un ensemble de caractéristiques de données brutes (arts, bandes dessinées, jeux) qui peuvent représenter Henry et Bill. Nous transformons cela, ainsi que les connexions dans le graphe, en utilisant un réseau GNN pour former de nouvelles représentations appelées plongements de nœuds. Nous pouvons également compléter ou remplacer les caractéristiques brutes initiales par des vecteurs d'une table de recherche d'intégration qui peuvent être apprises pendant le processus de formation. Idéalement, les entités intégrées pour Henry et Bill devraient représenter leurs intérêts ainsi que leurs informations topologiques à partir du graphique.
Comment fonctionnent les GNN
Un GNN transforme les caractéristiques initiales des nœuds en intégrations de nœuds en utilisant une technique appelée message passant. Le processus de transmission de message est illustré dans la figure suivante. Au début, les attributs ou caractéristiques des nœuds sont convertis en attributs numériques. Dans notre cas, nous effectuons un encodage à chaud des caractéristiques catégorielles (intérêts d'Henry : arts, bandes dessinées, jeux). Ensuite, la première couche de GNN agrège toutes les caractéristiques brutes des voisins (Gary et Alistair) (en noir) pour former un nouvel ensemble de caractéristiques (en jaune). Une approche courante consiste à transformer linéairement toutes les caractéristiques voisines, puis à les agréger via une somme normalisée et à transmettre les résultats dans une fonction d'activation non linéaire, telle que ReLU, pour générer un nouvel ensemble de vecteurs. La figure suivante illustre le fonctionnement de la transmission de messages pour le nœud Henri. H, l'algorithme de transmission de messages GNN, calculera des représentations pour tous les nœuds du graphe. Celles-ci sont ensuite utilisées comme entités en entrée pour la deuxième couche.
La deuxième couche d'un GNN répète le même processus. Il prend l'entité précédemment calculée (en jaune) de la première couche comme entrée, agrège toutes les nouvelles entités intégrées des voisins de Gary et Alistair et génère des vecteurs d'entités de deuxième couche pour Henry (en orange). Comme vous pouvez le voir, en répétant le mécanisme de transmission de messages, nous avons étendu l'agrégation de fonctionnalités aux voisins à 2 sauts. Dans notre illustration, nous nous limitons aux voisins à 2 sauts, mais l'extension aux voisins à 3 sauts peut se faire de la même manière en ajoutant une autre couche GNN.
Les plongements finaux de Henry et Bill (en orange) sont utilisés pour calculer le score. Au cours du processus d'apprentissage, le score de lien est défini comme 1 lorsque le bord existe entre les deux nœuds (échantillon positif) et comme 0 lorsque les bords entre les deux nœuds n'existent pas (échantillon négatif). Ensuite, l'erreur ou la perte entre le score réel et la prédiction f(e1,e2)
est rétropropagé dans les couches précédentes pour ajuster les poids. Une fois la formation terminée, nous pouvons compter sur les vecteurs de caractéristiques intégrés pour chaque nœud pour calculer leurs scores de lien avec notre fonction f
.
Dans cet exemple, nous avons simplifié la tâche d'apprentissage sur un graphique homogène, où tous les nœuds et arêtes sont du même type. Par exemple, tous les nœuds du graphique sont du type "Personnes" et toutes les arêtes sont du type "amis avec". Cependant, l'algorithme d'apprentissage prend également en charge les graphes hétérogènes avec différents types de nœuds et d'arêtes. Nous pouvons étendre le cas d'utilisation précédent pour recommander des produits à différents utilisateurs qui partagent des interactions et des intérêts similaires. Voir plus de détails dans ce document de recherche : Modélisation de données relationnelles avec des réseaux convolutifs de graphes.
Lors d'AWS re:Invent 2020, nous avons présenté Amazon Neptune ML, qui permet à nos clients de former des modèles ML sur des données graphiques, sans nécessairement avoir une expertise approfondie en ML. Dans cet exemple, avec l'aide de Neptune ML, nous allons vous montrer comment créer votre propre système de recommandation sur des données graphiques.
Entraînez votre réseau de convolution de graphes avec Amazon Neptune ML
Neptune ML utilise la technologie de réseau neuronal graphique pour créer, former et déployer automatiquement des modèles ML sur vos données graphiques. Neptune ML prend en charge les tâches de prédiction de graphe courantes, telles que la classification et la régression des nœuds, la classification et la régression des bords et la prédiction des liens.
Il est alimenté par :
- Amazone Neptune: une base de données de graphes rapide, fiable et entièrement gérée, optimisée pour stocker des milliards de relations et interroger le graphe avec une latence d'une milliseconde. Amazon Neptune prend en charge trois normes ouvertes pour la création d'applications graphiques : Apache TinkerPop Gremlin, RDF SPARQL et openCypher. En savoir plus sur Présentation des fonctionnalités d'Amazon Neptune.
- Amazon Sage Maker: un service entièrement géré qui offre à chaque développeur et data scientist la possibilité de préparer, de former et de déployer rapidement des modèles ML.
- Bibliothèque de graphes profonds (DGL): un open-source, package Python hautes performances et évolutif pour DL sur les graphiques. Il fournit des primitives de transmission de messages rapides et économes en mémoire pour la formation des réseaux de neurones graphiques. Neptune ML utilise DGL pour choisir et former automatiquement le meilleur modèle ML pour votre charge de travail. Cela vous permet de faire des prédictions basées sur ML sur des données de graphique en heures au lieu de semaines.
Le moyen le plus simple de démarrer avec Neptune ML est d'utiliser le Modèle de démarrage rapide AWS CloudFormation. Le modèle installe tous les composants nécessaires, y compris un cluster de bases de données Neptune, et configure les configurations réseau, les rôles IAM et l'instance de bloc-notes SageMaker associée avec des exemples de bloc-notes préremplis pour Neptune ML.
La figure suivante illustre les différentes étapes de Neptune ML pour former un système de recommandation basé sur GNN. Zoomons sur chaque étape et explorons ce qu'elle implique :
-
Configuration de l'exportation des données
La première étape de notre processus Neptune ML consiste à exporter les données graphiques du cluster Neptune. Nous devons spécifier les paramètres et la configuration du modèle pour la tâche d'exportation de données. Nous utilisons l'établi Neptune pour toutes les configurations et recommandations. Le workbench nous permet de travailler avec le cluster de bases de données Neptune à l'aide de blocs-notes Jupyter hébergés par Amazon SageMaker. De plus, il fournit un certain nombre de commandes magiques dans les cahiers qui permettent d'économiser beaucoup de temps et d'efforts. Voici notre exemple de paramètres d'exportation :
In export_params
, nous devons configurer la configuration de base, telle que le cluster Neptune et la sortie Service de stockage simple Amazon (S3) chemin d'accès au stockage des données exportées. La configuration spécifiée dans additionalParams
est le type de tâche ML à effectuer. Dans cet exemple, la prédiction de lien est facultativement utilisée pour prédire un type de tronçon particulier (Utilisateur—AMI—Utilisateur). Si aucun type de cible n'est spécifié, Neptune ML supposera que la tâche est Prédiction de lien. Les paramètres spécifient également des détails sur les données stockées dans notre graphique et sur la manière dont le modèle ML interprétera ces données (nous avons « Utilisateur » comme nœud et « Intérêts » comme propriété de nœud).
Pour exécuter chaque étape du processus de création de ML, utilisez simplement les commandes de l'atelier Neptune. La Etabli Neptune contient une ligne magique et une cellule magique qui peuvent vous faire gagner beaucoup de temps dans la gestion de ces étapes. Pour exécuter l'exportation de données, utilisez la commande Neptune workbench : %neptune_ml export start
Une fois la tâche d'exportation terminée, le graphique Neptune sera exporté au format CSV et stocké dans un compartiment S3. Il y aura deux types de fichiers : nodes.csv
ainsi que edges.csv
. Un fichier nommé training-data-configuration.json
sera également généré avec la configuration nécessaire pour que Neptune ML effectue la formation du modèle.
See Exporter des données de Neptune pour Neptune ML pour plus d'information.
-
Pré-traitement des données
Neptune ML effectue l'extraction et l'encodage des caractéristiques dans le cadre des étapes de traitement des données. Les types courants de prétraitement de propriété incluent : l'encodage de caractéristiques catégorielles via un codage à chaud, le regroupement de caractéristiques numériques ou l'utilisation de word2vec pour coder une propriété de chaîne ou d'autres valeurs de propriété de texte de forme libre.
Dans notre exemple, nous utiliserons simplement la propriété « intérêts ». Neptune ML encode les valeurs comme multi-catégorielles. Cependant, si une valeur catégorique est complexe (plus de trois mots par nœud), alors Neptune ML déduit que le type de propriété est du texte et utilise l'encodage text_word2vec.
Pour exécuter le prétraitement des données, utilisez la commande magique Neptune notebook suivante : %neptune_ml dataprocessing start
À la fin de cette étape, un graphique DGL est généré à partir de l'ensemble de données exporté pour être utilisé par l'étape d'apprentissage du modèle. Neptune ML règle automatiquement le modèle avec les travaux de réglage d'optimisation d'hyperparamètres définis dans training-data-configuration.json
. Nous pouvons télécharger et modifier ce fichier pour régler les hyperparamètres du modèle, tels que batch-size, num-hidden, num-epochs, dropout, etc. Voici un exemple de fichier configuration.json.
See Traitement des données graphiques exportées depuis Neptune pour la formation pour plus d'information.
-
Formation de modèle
La prochaine étape est la formation automatisée du modèle GNN. La formation du modèle se fait en deux étapes. La première étape utilise une tâche de traitement SageMaker pour générer une stratégie de formation de modèle. Il s'agit d'un ensemble de configuration qui spécifie le type de modèle et les plages d'hyperparamètres de modèle qui seront utilisés pour la formation du modèle.
Ensuite, une tâche de réglage des hyperparamètres SageMaker sera lancée. La Tâche d'optimisation du réglage des hyperparamètres SageMaker exécute un nombre prédéfini d'essais de tâche de formation de modèle sur les données traitées, essaie différentes combinaisons d'hyperparamètres en fonction du model-hpo-configuration.json
et stocke les artefacts de modèle générés par la formation dans l'emplacement de sortie Amazon S3.
Pour démarrer l'étape d'entraînement, vous pouvez utiliser le %neptune_ml training start
commander.
Une fois toutes les tâches de formation terminées, la tâche de réglage des hyperparamètres enregistre les artefacts du modèle le plus performant, qui sera utilisé pour l'inférence.
À la fin de la formation, Neptune ML demandera à SageMaker d'enregistrer le modèle formé, les plongements bruts calculés pour les nœuds et les arêtes, ainsi que les informations de mappage entre les plongements et les indices de nœud.
See Entraîner un modèle à l'aide de Neptune ML pour plus d'information.
-
Créer un point de terminaison d'inférence dans Amazon SageMaker
Maintenant que la représentation graphique est apprise, nous pouvons déployer le modèle appris derrière un point de terminaison pour effectuer des demandes d'inférence. L'entrée du modèle sera l'utilisateur pour lequel nous devons générer des recommandations d'amis, ainsi que le type de bord, et la sortie sera la liste des amis probablement recommandés pour cet utilisateur.
Pour déployer le modèle sur l'instance de point de terminaison SageMaker, utilisez le %neptune_ml endpoint create
commander.
-
Interroger le modèle ML à l'aide de Gremlin
Une fois que le point de terminaison est prêt, nous pouvons l'utiliser pour les requêtes d'inférence de graphe. Neptune ML prend en charge les requêtes d'inférence de graphe dans Gremlin ou SPARQL. Dans notre exemple, nous pouvons maintenant vérifier la recommandation d'amis avec Neptune ML sur l'utilisateur "Henry". Il nécessite presque la même syntaxe pour traverser la périphérie, et il répertorie les autres utilisateurs qui sont connectés à Henry via la connexion FRIEND.
Neptune#ml.prediction
renvoie la connexion déterminée par les prédictions de Neptune ML en utilisant le modèle que nous venons d'entraîner sur le graphe social. Le projet de loi est retourné tout comme notre attente.
Voici un autre exemple de requête de prédiction utilisée pour prédire les huit principaux utilisateurs les plus susceptibles de se connecter avec Henry :
Les résultats sont classés de la connexion la plus forte à la plus faible, où le lien Henry — FRIEND — Colin and Henry — FRIEND — Terry
est également proposé. Cette proposition passe par le ML basé sur des graphes où des modèles d'interaction complexes sur le graphe peuvent être explorés.
See Requêtes d'inférence Gremlin dans Neptune ML pour plus d'information.
Transformer ou recycler le modèle lorsque les données du graphique changent
Une autre question que vous pourriez vous poser est la suivante : que se passe-t-il si mon réseau social change ou si je veux faire des recommandations pour les utilisateurs nouvellement ajoutés ? Dans ces scénarios, où vous avez des graphiques en constante évolution, vous devrez peut-être mettre à jour les prédictions ML avec les données de graphique les plus récentes. Les artefacts de modèle générés après la formation sont directement liés au graphique de formation. Cela signifie que le point de terminaison d'inférence doit être mis à jour une fois que les entités du graphique d'apprentissage d'origine ont changé.
Cependant, vous n'avez pas besoin de recycler l'ensemble du modèle pour faire des prédictions sur le graphique mis à jour. Avec un flux de travail d'inférence de modèle incrémentiel, il vous suffit d'exporter les données de base de données Neptune, d'effectuer un prétraitement de données incrémentiel, d'exécuter une tâche de transformation par lots de modèle, puis de mettre à jour le point de terminaison d'inférence. L'étape de transformation du modèle prend le modèle formé du flux de travail principal et les résultats de l'étape de prétraitement des données incrémentielles comme entrées. Ensuite, il génère un nouvel artefact de modèle à utiliser pour l'inférence. Ce nouvel artefact de modèle est créé à partir des données graphiques mises à jour.
Un accent particulier est mis ici sur la commande d'étape de transformation de modèle. Il peut calculer des artefacts de modèle sur des données de graphique qui n'ont pas été utilisées pour la formation de modèle. Les plongements de nœuds sont recalculés et tous les plongements de nœuds existants sont remplacés. Neptune ML applique l'encodeur GNN appris du modèle formé précédent aux nouveaux nœuds de données de graphe avec leurs nouvelles fonctionnalités. Par conséquent, les nouvelles données de graphe doivent être traitées à l'aide des mêmes codages de caractéristiques et doivent respecter le même schéma de graphe que les données de graphe d'origine. Voir plus de détails sur la mise en œuvre de Neptune ML sur Génération de nouveaux artefacts de modèle.
De plus, vous pouvez recycler l'ensemble du modèle si le graphique change radicalement ou si le modèle précédemment formé ne pouvait plus représenter avec précision les interactions sous-jacentes. Dans ce cas, la réutilisation des paramètres du modèle appris sur un nouveau graphe ne peut garantir une performance similaire du modèle. Vous devez recycler votre modèle sur le nouveau graphique. Pour accélérer la recherche d'hyperparamètres, Neptune ML peut exploiter les informations de la tâche de formation de modèle précédente avec démarrage à chaud : les résultats des tâches de formation précédentes sont utilisés pour sélectionner de bonnes combinaisons d'hyperparamètres à rechercher sur la nouvelle tâche de réglage.
See flux de travail pour la gestion de données graphiques évolutives pour plus de détails.
Conclusion
Dans cet article, vous avez vu comment Neptune ML et les GNN peuvent vous aider à faire des recommandations sur les données du graphique à l'aide d'une tâche de prédiction de lien en combinant les informations des modèles d'interaction complexes dans le graphique.
La prédiction de lien est une manière d'implémenter un système de recommandation sur graphe. Vous pouvez construire votre recommandation de bien d'autres manières. Vous pouvez utiliser les intégrations apprises lors de la formation à la prédiction de lien pour regrouper les nœuds dans différents segments de manière non supervisée et recommander des éléments à celui appartenant au même segment. De plus, vous pouvez obtenir les intégrations et les alimenter dans un système de recommandation basé sur la similarité en aval en tant que fonctionnalité d'entrée. Désormais, cette fonctionnalité d'entrée supplémentaire encode également les informations sémantiques dérivées du graphe et peut apporter des améliorations significatives à la précision globale du système. En savoir plus sur Amazon Neptune ML en visitant le site de NDN Collective ou n'hésitez pas à poser des questions dans les commentaires !
À propos des auteurs
Yanwei Cui, PhD, est un architecte de solutions spécialiste en apprentissage automatique chez AWS. Il a commencé des recherches sur l'apprentissage automatique à l'IRISA (Institut de recherche en informatique et systèmes aléatoires) et a plusieurs années d'expérience dans la création d'applications industrielles basées sur l'intelligence artificielle dans les domaines de la vision par ordinateur, du traitement du langage naturel et de la prédiction du comportement des utilisateurs en ligne. Chez AWS, il partage l'expertise du domaine et aide les clients à libérer les potentiels commerciaux et à générer des résultats exploitables grâce à l'apprentissage automatique à grande échelle. En dehors du travail, il aime lire et voyager.
Will Badr est un spécialiste principal de l'IA/ML SA qui travaille au sein de l'équipe mondiale Amazon Machine Learning. Will est passionné par l'utilisation de la technologie de manière innovante pour avoir un impact positif sur la communauté. Dans ses temps libres, il aime faire de la plongée, jouer au football et explorer les îles du Pacifique.
- '
- "
- 100
- 2020
- 7
- Qui sommes-nous
- Selon
- Compte
- ajout
- Supplémentaire
- algorithme
- algorithmes
- Tous
- déjà
- Amazon
- Apprentissage automatique d'Amazon
- Amazon Sage Maker
- Apache
- applications
- artificiel
- intelligence artificielle
- Les arts
- Automatisation
- AWS
- AWS re: Invent
- Début
- LES MEILLEURS
- Projet de loi
- Milliards
- Noir
- construire
- Développement
- la performance des entreprises
- cas
- globaux
- classification
- code
- Commun
- Communautés
- complexe
- calcul
- Informatique
- Vision par ordinateur
- informatique
- configuration
- connexion
- Connexions
- Console
- contenu
- converger
- pourriez
- Clients
- données
- Data Scientist
- stockage de données
- Base de données
- affaire
- l'apprentissage en profondeur
- Développeur
- différent
- découverte
- distance
- e-commerce
- Edge
- Endpoint
- ENGINEERING
- Les ingénieurs
- etc
- exemple
- Découvrez
- exploration
- Exporter
- extraction
- RAPIDE
- Fonctionnalité
- Fonctionnalités:
- Figure
- Prénom
- Focus
- formulaire
- le format
- Framework
- Test d'anglais
- Relation amicale
- fonction
- Games
- générer
- Global
- Bien
- graphe des réseaux de neurones
- l'
- Maniabilité
- aider
- aide
- ici
- Comment
- How To
- HTTPS
- IAM
- Impact
- la mise en œuvre
- l'amélioration de
- Y compris
- Améliore
- individuel
- industriel
- d'information
- technologie innovante
- Intelligence
- l'interaction
- intérêts
- IT
- Emploi
- Emplois
- langue
- Langues
- APPRENTISSAGE
- savant
- apprentissage
- Levier
- Bibliothèque
- Gamme
- LINK
- Liste
- Liste
- emplacement
- recherchez-
- rechercher
- machine learning
- Membres
- milliseconde
- ML
- modèle
- Musique
- Langage naturel
- Traitement du langage naturel
- nécessaire
- voisins
- réseau et
- réseaux
- Neural
- Réseau neuronal
- les réseaux de neurones
- Nouvelles fonctionnalités
- nœuds
- ordinateurs portables
- en ligne
- ouvert
- Autre
- Pacifique
- Papier
- Personnes
- performant
- phase
- Plateformes
- Jouez
- La précision
- prédiction
- Prédictions
- représentent
- Directeur
- Problème
- processus
- Produits
- Profil
- promouvoir
- propriété
- proposer
- fournir
- fournit
- achat
- Python
- question
- gamme
- raw
- les données brutes
- RE
- en cours
- régression
- Les relations
- remplacer
- un article
- Résultats
- recyclage
- Retours
- Courir
- sagemaker
- Escaliers intérieurs
- Sciences
- Rechercher
- set
- Partager
- Partages
- similaires
- étapes
- petit
- Football
- Réseaux sociaux
- graphique social
- réseaux sociaux
- les réseaux sociaux
- Solutions
- Space
- Sports
- Étape
- Normes
- Commencer
- j'ai commencé
- storage
- STORES
- de Marketing
- complément
- Les soutiens
- Sondage
- combustion propre
- Système
- Target
- Les technologies
- Technologie
- Le graphique
- Avec
- fiable
- top
- Formation
- Transformer
- De La Carrosserie
- Mises à jour
- us
- utilisateurs
- Plus-value
- vision
- Quoi
- WHO
- largement
- Wikipédia
- sans
- des mots
- Activités principales
- workflow
- vos contrats
- pourra
- années
- zoom