Keras : tout savoir sur la bibliothèque de deep learning

Keras : tout savoir sur la bibliothèque de deep learning Ecrite en langage Python, Keras est une API de prototypage rapide de réseau de neurones artificiel. Elle s'adosse aux bibliothèques de deep learning Tensorflow, Microsoft Cognitive Toolkit, PlaidML et Theano.

Keras, c'est quoi ?

Ecrit en Python, Keras est bibliothèque open source de prototypage rapide de modèles de deep learning. A la portée des débutants en IA, elle s'articule autour d'une API de haut niveau supportant différentes librairies de réseaux de neurones artificiels récurrents ou convolutifs, comme Tensorflow, Microsoft Cognitive Toolkit, PlaidML ou Theano.

L'objectif de Keras est d'offrir un cadre pour développer au plus vite des réseaux de neurones artificiels. Initiée en 2015, cette technologie repose sur le travail de François Chollet, un développeur de Google. Elle s'inscrit dans le cadre du projet Oneiros (pour Open-ended Neuro-Electronic Intelligent Robot Operating System).

Pourquoi utiliser Keras ?

Keras est conçu pour rendre les projets de deep learning accessibles. Son API se veut relativement simple à prendre en main. Elle est conçue pour réduire au maximum le nombre d'actions à réaliser lors de la création d'un réseau de neurones artificiel, tout en livrant des explications en cas d'erreurs. Autre avantage de Keras, ses modèles de machine learning sont supportés par une large gamme de plateformes : iOS, Android, Raspberry Pi ou Google Cloud.

Sous licence open source MIT, Keras contient de nombreuses briques de réseaux neuronaux : couches, fonctions d'activation, optimiseurs... La bibliothèque comprend aussi une multitude d'outils pour faciliter le travail avec les données d'image et de texte. Keras se caractérise par un excellent support du multi-GPU en vue de répartir l'entrainement d'un modèle sur plusieurs cartes graphiques et ainsi ingérer un volume massif de données d'apprentissage. Le code de Keras est hébergé sur GitHub.

Keras est-il multiplateforme ?

Les modèles Keras se déploient sur :

  • iOS, via CoreML d'Apple, 
  • Android, via le runtime TensorFlow Android,
  • Raspberry Pi,
  • Un navigateur via des accélérateurs JavaScript GPU,
  • Une machine virtuel Java.

Comment fonctionne Keras ?

Dans Keras, un modèle se présente sous la forme d'un agencement de modules configurables : couches de neurones, optimiseurs, fonctions d'activation, régularisation... De nouveaux modèles peuvent être développés en plus, et ajoutés en fonction des besoins. 

Keras délègue les opérations de bas niveau aux frameworks de deep learning sur lesquels il s'appuie :  TensorFlow, Theano, Microsoft Cognitive Toolkit...

Quelle différence entre Keras et TensorFlow ?

Développé par Google, TensorFlow est une plateforme de deep learning open source conçue pour concevoir des réseaux de neurones artificiels. Quant à Keras, c'est une API de haut niveau taillée pour le prototypage rapide de réseaux de neurones artificiels pouvant recourir à TensorFlow comme socle de mise en œuvre. 

Outils d'intelligence artificielle