Google Research a annoncé mardi dernier TensorFlow GNN 1.0 (TF-GNN), une bibliothèque testée en production permettant de construire et entraîner des réseaux de neurones de graphes (GNN) à grande échelle.
Les graphes sont omniprésents dans de nombreux domaines, de la biologie à la finance en passant par les réseaux sociaux. Ils offrent une représentation puissante des relations entre différentes entités, mais leur exploitation efficace dans le domaine de l’apprentissage automatique est un défi de taille.
Les GNN permettent d’exploiter à la fois la connectivité et les caractéristiques des nœuds et des arêtes d’un graphe. Ils peuvent faire des prédictions pour des graphes entiers, des nœuds individuels ou des arêtes potentielles. Ils peuvent également encoder l’information discrète et relationnelle d’un graphe de manière continue, afin de l’intégrer dans un autre système d’apprentissage profond.
TF-GNN supporte à la fois la modélisation et l’entraînement en TensorFlow, la bibliothèque open-source développée par Google, l’une des plus populaires pour l’apprentissage automatique et le deep learning en raison de sa flexibilité, de sa richesse en fonctionnalités et de sa communauté active, ainsi que l’extraction de graphes d’entrée à partir de vastes bases de données.
Il est conçu dès le départ pour les graphes hétérogènes, où les types d’objets et de relations sont représentés par des ensembles distincts de nœuds et d’arêtes.
TF-GNN propose une API Python flexible pour configurer l’échantillonnage de sous-graphes, qui consiste à extraire des sous-graphes de taille raisonnable du graphe sous-jacent pour créer des exemples d’entrée pour l’entraînement des GNN. L’échantillonnage peut se faire de manière dynamique ou par lots, à différentes échelles : interactivement dans un notebook Colab, de manière efficace pour un petit ensemble de données en mémoire, ou distribuée par Apache Beam pour des ensembles de données énormes stockés sur un système de fichiers réseau.
TF-GNN fournit également une collection de modèles prédéfinis et un modèle template hautement configurable, exprimés en couches Keras. Les modèles peuvent être entraînés sur une seule tâche ou sur plusieurs tâches en même temps, de manière supervisée ou non supervisée. Il inclut aussi une implémentation des gradients intégrés pour l’attribution des modèles.
Cette bibliothèque marque une avancée significative dans le domaine de l’apprentissage sur les graphes. En permettant une manipulation facile et efficace des graphes hétérogènes, elle ouvre de nouvelles perspectives pour l’application des réseaux de neurones dans des domaines variés, de la recommandation de produits à l’analyse de réseaux sociaux. L’équipe Tenserflow de Google espère qu’elle sera utile pour faire progresser l’application des GNN dans TensorFlow à grande échelle et alimenter de nouvelles innovations dans ce domaine.
Pour en savoir plus, consultez sa Démo de Colab avec le benchmark populaire OGBN-MAG (dans votre navigateur, aucune installation requise), son guide d’utilisation et Colabs.
Références de l’article : blog Google Research
La version 1.0 de TF-GNN est le fruit d’une collaboration entre Google Research : Sami Abu-El-Haija, Neslihan Bulut, Bahar Fatemi, Johannes Gasteiger, Pedro Gonnet, Jonathan Halcrow, Liangze Jiang, Silvio Lattanzi, Brandon Mayer, Vahab Mirrokni, Bryan Perozzi, Anton Tsitsulin, Dustin Zelle, Google Core ML : Arno Eigenwillig, Oleksandr Ferludin, Parth Kothari, Mihir Paradkar, Jan Pfeifer, Rachael Tamakloe et Google DeepMind : Alvaro Sanchez-Gonzalez et Lisa Wang.
Vous pouvez retrouver leur papier “TF-GNN:Graph Neural Networks in TensorFlow” sur arXiv : https://doi.org/10.48550/arXiv.2207.03522