DeepMind rend Sonnet open source, sa bibliothèque de réseau neuronal orientée objet
Facilite la création de réseaux neuronaux complexes

Le , par Stéphane le calme, Chroniqueur Actualités
Après avoir rendu open source TensorFlow, une bibliothèque d’apprentissage automatique, en 2015, Google a annoncé, via sa filiale DeepMind, que Sonnet, sa bibliothèque de réseau neuronal orientée objet, est désormais open source. Sonnet n’a pas pour vocation de remplacer TensorFlow : dans un billet de blog, DeepMind a expliqué que « la bibliothèque utilise une approche orientée objet, similaire à Torch / NN, permettant de créer des modules qui définissent le passage en avant de certains calculs ».

Il s’agit donc en réalité d’une bibliothèque d’un niveau supérieur qui s’accorde bien avec les meilleures pratiques internes de DeepMind pour la recherche. Plus précisément, DeepMind affirme que la bibliothèque est optimisée pour faciliter l'alternance entre différents modèles lors de la réalisation d'expériences afin que les ingénieurs ne soient pas obligés de modifier leurs projets. À cette fin, l'équipe a apporté des modifications à TensorFlow pour faciliter l'examen des modèles en tant que hiérarchies. DeepMind a également ajouté une transparence au partage des variables.

« De nombreux modèles dans la littérature peuvent naturellement être considérés comme une hiérarchie - par exemple Un Ordinateur Différentiel Neuronal contient un contrôleur qui pourrait être un LSTM. Ce dernier peut être implémenté comme contenant une couche linéaire standard. Nous avons constaté que le code d'écriture qui représente explicitement les sous-modules permet une réutilisation facile du code et une expérimentation rapide. Sonnet favorise les modules d'écriture qui déclarent d'autres sous-modules en interne ou sont passés à d'autres modules au moment de la construction », explique DeepMind.

Les ingénieurs indiquent que la bibliothèque s’est également montrée très utile dans la mesure où elle a contribué à permettre à certains modules de fonctionner sur des groupes de Tensors arbitrairement imbriqués. « Les états des réseaux neuronaux récurrents (RNN, Recurrent Neural Network) sont souvent mieux représentés sous la forme d'une collection de Tensors hétérogènes, et les représenter comme une liste forfaitaire peut être sujet à une erreur. Sonnet fournit des services publics pour traiter ces hiérarchies arbitraires, de sorte que changer votre expérience pour utiliser un type différent de RNN ne nécessite pas de modifications fastidieuses du code. Nous avons également apporté des modifications au TF principal pour mieux supporter ce cas d'utilisation ».

Sonnet est conçu spécifiquement pour fonctionner avec TensorFlow et, en tant que tel, ne vous empêche pas d'accéder aux détails sous-jacents tels que Tensors et les variables système. Les modèles écrits dans Sonnet peuvent être mélangés librement avec le code TensorFlow brut dans d'autres bibliothèques de haut niveau.

DeepMind prévoit que Sonnet soit utilisé par la communauté et affirme qu’il ne s’agit là que du début d’une série de publications : « nous allons régulièrement mettre à jour notre dépôt GitHub pour qu’il puisse correspondre à notre version maison ». Les ingénieurs assurent qu’ils ont de nombreuses idées de fonctionnalités sur lesquelles ils travaillent d’ailleurs et qui seront disponibles pour la communauté une fois qu’elles seront finalisées.

En partageant ses bibliothèques internes avec la communauté, cette dernière va se familiariser avec elles pour contribuer de manière plus efficace notamment en les employant dans leurs travaux.

DeepMind a été particulièrement actif en matière d’open source ces derniers mois. Par exemple, la filiale de Google développe une API open source pour permettre la recherche sur StarCraft II. En décembre dernier, à l'occasion de la conférence Neural Information Processing Systems 2016 (NIPS) qui s’est tenue à Barcelone, Google a lancé en open source son projet DeepMind Lab auprès de la communauté de développeurs spécialisés dans la création de jeux vidéo exploitant l'intelligence artificielle. DeepMind Lab utilise une forme avancée d'apprentissage machine appelée « Deep Reinforcing Learning » (DeepRL).

dépôt GitHub de Sonnet

Source : DeepMind

Voir aussi :

Google rend open source TensorFlow, son tout nouveau système de machine learning


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :
Contacter le responsable de la rubrique Accueil