Deeplearn.js de Google apporte l'apprentissage automatique au navigateur

Google propose une bibliothèque open source accélérée par le matériel pour l'apprentissage automatique qui s'exécute dans un navigateur. La bibliothèque n'est actuellement prise en charge que dans la version de bureau de Google Chrome, mais le projet s'efforce de prendre en charge davantage d'appareils. 

La bibliothèque Deeplearn.js permet la formation des réseaux neuronaux dans un navigateur, ne nécessitant aucune installation de logiciel ou back-end. «Une bibliothèque ML côté client peut être une plate-forme pour des explications interactives, pour le prototypage et la visualisation rapides, et même pour le calcul hors ligne», ont déclaré les chercheurs de Google. "Et si rien d'autre, le navigateur est l'une des plates-formes de programmation les plus populaires au monde."

En utilisant l'API JavaScript WebGL pour les graphiques 2D et 3D, Deeplearn.js peut effectuer des calculs sur le GPU. Cela offre des performances significatives, dépassant ainsi les limites de vitesse de JavaScript, ont déclaré les chercheurs.

Deeplearn.js imite la structure de la bibliothèque d'intelligence artificielle TensorFlow de la société et NumPy, un logiciel de calcul scientifique basé sur Python. «Nous avons également implémenté des versions de certaines des opérations TensorFlow les plus couramment utilisées. Avec la sortie de Deeplearn.js, nous fournirons des outils pour exporter les poids à partir des points de contrôle TensorFlow, ce qui permettra aux auteurs de les importer dans des pages Web pour l'inférence Deeplearn.js. »

Bien que TypeScript de Microsoft soit le langage de choix, Deeplearn.js peut être utilisé avec du JavaScript brut. Des démos de Deeplearn.js sont présentées sur la page d'accueil du projet. Deeplearn.js rejoint d'autres projets qui apportent l'apprentissage automatique à JavaScript et au navigateur, notamment TensorFire, qui permet l'exécution de réseaux de neurones dans une page Web, et ML.js, qui fournit des outils d'apprentissage automatique et d'analyse numérique en JavaScript pour Node.js.