Tensorflow Playground : faire du Deep Learning sans coder !

Si tu veux comprendre comment marche le Deep Learning sans coder et sans te prendre la tête avec la théorie, alors Tensorflow Playground est fait pour toi !
En effet cet outil te permet de facilement manipuler des réseaux de neurones et de visualiser son évolution en temps réel, sans avoir à taper une seule ligne de code 😀.
Dans cette article je te présenterai le principe des réseaux de neurones et du Deep Learning sans entrer dans les détails techniques pour rester simple. A la fin de cet article tu pourras jouer avec les réseaux neurones directement avec Tensorflow Playground 😋.
Qu’est-ce qu’un réseau de neurones ?
Les origines des réseaux de neurones
En Data Science, on cherche à créer des modèles prédictifs, c’est-à-dire un programme pour effectuer des tâches comme par exemples :
- A partir d’une image d’un animal, savoir de quel animal il s’agit ?
- A partir des caractéristiques d’un champignon, savoir s’il est toxique on non ?
- Traduire un texte anglais en française.
- etc…
D’abord on a inventé des modèles prédictifs issus des mathématiques, comme les régressions linéaires, les arbres de décisions, Support Vector Machines (SVM), etc…
Ensuite un nouveau type de modèle prédictif a émergé : les réseau de neurones (ou Neural Network en anglais).
Ce modèle est basé sur le système nerveux humain, qui fonctionne grâce à une multitude de neurones qui transmettent des informations entres à eux via des connexions 🤔.

Le Deep Learning
Le Deep learning est la science qui consiste à étudier ce type de modèle : les réseaux de neurones.
Un réseau de neurones va être constitué (tu l’auras compris) de neurones, qu’on appelle aussi des perceptrons (ce nom n’est pas important ici), qui sont disposés par couches et ces couches sont connectés entre eux comme de la manière suivante :

Chaque neurone reçoit des valeurs envoyées par les neurones de la couche précédente. Il va ensuite combiner ces valeurs entre elles pour construire une valeur en sortie, qu’il enverra à son tour aux neurones de la couche suivante.
Sans entrer dans les détails mathématiques ici 😅, la valeur calculée en sortie d’un neurone dépend de la force des connexions. Cette force est un nombre réel : plus elle est grande en valeur absolue plus elle influence la valeur en sortie.
La partie compliquée du Deep Learning repose dans l’entraînement du réseau de neurones. Cet entraînement consiste à trouver la bonne force sur toutes les connexions pour que le réseau imite les données 🤨.
La méthode d’entraînement utilisée s’appelle la rétopropagation du gradient (tu entendras plus souvent la terminologie anglaise Backpropagation). Elle consiste à renforcer ou affaiblir les connexions grâce à un calcul de gradient (je reviendrai sur les détails techniques dans un prochain article).
Qu’est-ce que Tensorflow Playground ?
L’outil Tensorflow
D’abord qu’est-ce que Tensorflow ? C’est une librairie créée par Google qui permet de faire du Deep Learning. C’est une des plus populaire avec Pytorch.
Petite régression : son nom vient du fait qu’on peut interpréter les réseaux de neurones comme des flux (flow) de tenseurs (Tensor). Un tenseur étant grosso modo un tableau de nombres.
L’application Tensorflow Playground
Enfin venons maintenant à la partie intéressante : Tensorflow Playground. C’est une application en ligne que tu peux trouver ici et qui te permet de voir concrètement le fonctionnement d’un réseau de neurones !
L’interface est très facile à prendre en main et se présente de la façon suivante.

Si tu démarres voici les étapes à suivre pour utiliser cette interface :
- Le graphique tout à droite représente deux choses : 1) les données formées par points bleus (classés +1) et orange (classé -1) et 2) le modèle simulé par le réseau de neurones représentés par des zones nuancées entre le bleu et le orange (de +1 vers -1). Le but étant que le réseau apprenne à imiter les données, c’est-à-dire à placer la zone bleu sur les points bleus et la zone orange sur (tu t’en doutes) les points oranges.
- Au centre, tu peux voir l’architecture du réseau, c’est-à-dire le nombre de couches, le nombre de neurones par couche, ainsi que les connexions entre les neurones. Plus la connexion est épaisse plus elle est forte.
- Le bouton Play en haut à droite sert à lancer l’apprentissage. Appuie dessus 👍! Tu verras les zones bleus et oranges apparaître au fur et à mesure.
Voilà tu as entrainé ton tout premier réseau de neurones 👏! Et tu peux voir qu’il a bien réussi à imiter les données 😀. N’hésites pas à explorer l’interface pour comprendre le fonctionnement des réseaux de neurones.
Ton challenge : reproduire les données en spirale
Tu as pu remarquer que les données proposées par défaut sont faciles à reproduire par un réseau de neurones.
Toutefois, tu peux changer les données à droite de l’interface dans Data. Il y a quatre type de données qui te sont proposés et la dernière est celui en forme de spirale. Choisis celui là 👌!
Essaie de faire reproduire ces données par le réseau en changeant sa structure (le nombre de couches et le nombre de neurones par couche), tu verras que ce n’est pas facile 😕! D’ailleurs dis nous en commentaire, quelle structure donne les meilleurs résultats 👍.
En résumé
N’hésites pas à aller jouer avec Tensorflow Playground ici 👌 et à dire en commentaire si tu as aimé cette application.
0 commentaire