Il y a eu un avant et un après… Jusqu’en 2015 environ, gérer des applications de « deep learning » semblait une compétence réservée à quelques happy few. Et puis, Keras a changé la donne et mis ces outils à la portée de millions d’usagers…

Cela vous intéressera aussi

Le langage Python est devenu populaire grâce à sa capacité à simplifier des activités ultra-complexes.

  • Une bibliothèque Python telle que Scikit-learn est devenue incontournable pour le machine learning. 
  • Dès lors que l’on s’adonne à du calcul scientifique, l’usage de Numpy a de fortes chances d’apparaître comme la solution de choix.
  • Si, en tant que data scientist, on opère dans l’analyse de vastes volumes de données, la tentation sera forte de recourir à la bibliothèque Pandas.
  • Et pour la représentation graphique sous Python, la bibliothèque Matplotlib s’est imposée d’elle-même.

Il existe une branche de l’intelligence artificielle appelée le deep learning et qui requiert une expertise plus poussée encore que les disciplines évoquées précédemment. Et comme nous allons le voir, une fois de plus, Python est au rendez-vous…

Le « deep learning », c’est quoi au juste ?

Le deep learning est une branche du machine learning, qui se concentre sur la résolution de problèmes complexes, en émulant l’activité du mental humain. Pour parvenir à ses fins, le deep learning utilise les réseaux de neurones artificiels.

Réseaux de neurones

Un réseau de neurones est une approche informatique potentiellement capable d’apprendre à réaliser n’importe quelle tâche.

C’est en 1943 que deux mathématiciens de l’université de l’Illinois ont inventé le concept des réseaux de neurones virtuels. De l’observation du fonctionnement des neurones de notre corps, ils ont émis l’idée que l’on devrait pouvoir créer des fonctions qui, à partir d’un signal en entrée, seraient à même de produire un signal avisé en sortie.

Il a toutefois fallu attendre 1957 pour que ce concept soit matérialisé une première fois avec le Perceptron de Frank Rosenblatt, un algorithme d’apprentissage répétitif qui opère sur le modèle des réseaux de neurones et qui est en mesure de déterminer des valeurs et tendances en fonction du résultat souhaité. Le problème, c’est que le Perceptron produisait des modèles linéaires. Or, dans notre vie, un grand nombre de phénomènes ne suivent pas un modèle linéaire.

En 1986, Goeffrey Hinton a inventé le Perceptron multi-couche qui prend en compte de vastes réseaux de neurones – et donc à plusieurs couches. Il a ainsi pu générer des modèles non linéaires à partir de phénomènes réels, et posé quatre étapes de résolution d’un problème.

  1. Forward propagation : les données circulent de la première à la dernière couche.
  2. Cost Function : un paramètre qui détermine l’efficacité d’un modèle de machine learning sur un ensemble de données.
  3. Backward propagation : les données circulent de la dernière couche jusqu’à la première.
  4. Gradient descent (descente de gradient) : un algorithme d’o...
    [Courte citation de 8% de l'article original]