Découverte des réseaux de neurones
Modèles de réseaux de neurones
1. Inspiration biologique
a. Idée de départ
Avec l’apparition des premiers calculateurs numériques au milieu du XXe siècle, l’idée a émergé de créer un modèle numérique du cerveau :

Principe d’une simulation numérique du fonctionnement du cerveau
La proposition était de reproduire avec des calculs, un fonctionnement simplifié du cerveau. Comme celui-ci possède les facultés d’apprentissage, de mémorisation et de traitement des informations, l’espoir était de réussir à transférer ces capacités à la machine.
Avec le recul, cette idée peut paraître simpliste, puisque les techniques actuelles sont assez éloignées de la volonté initiale. Il est cependant intéressant de connaître ces éléments historiques pour comprendre les bases de la discipline, avec ses sources d’inspiration.
b. Le cerveau
Chez l’homme (et l’animal), l’intelligence est localisée au niveau du cerveau qui possède les caractéristiques suivantes :
-
poids entre 1,3 et 1,5 kg ;
-
interconnexion d’environ 86 milliards de neurones ;
-
consommation énergétique de l’ordre de 20 W par jour.

Visuel d’un cerveau humain
c. Le neurone biologique
Chaque neurone qui compose le cerveau comporte :
-
un corps cellulaire qui intègre un noyau ;
-
des dendrites qui partent du corps avec de multiples ramifications ;
-
un unique axone qui se divise à son extrémité pour se connecter aux dendrites d’autres neurones au niveau de jonctions appelées synapses.

Principe de connexions des neurones dans un cerveau
Pour comprendre la complexité d’un cerveau, il faut savoir que la longueur totale des axones est d’environ 160 000 km (quatre fois le tour de la terre !) et que le nombre total de synapses est estimé autour de 100 billions soit 1014 !
Un cerveau est en agitation constante avec la circulation d’influx nerveux (tension de quelques millièmes de volt) entre les axones et les dendrites par l’intermédiaire des synapses. Chaque noyau fonctionne comme un sommateur à seuil : il collecte...
Réseau de type perceptron multicouche
1. Règles de construction
a. Représentation visuelle
Le perceptron multicouche est souvent référencé sous l’acronyme MLP qui signifie en anglais MultiLayer Perceptron. C’est un réseau de neurones avec la topologie suivante :
-
les neurones sont organisés en couches ; chaque neurone dispose d’une fonction d’activation et d’un biais ;
-
les valeurs des entrées sont reliées aux neurones de la première couche appelée couche d’entrée ;
-
les valeurs de sorties sont les résultats des neurones de la dernière couche appelée couche de sortie ;
-
les neurones de chaque couche sont totalement connectés à ceux de la couche suivante et il n’existe aucune autre connexion dans le réseau ; un poids est associé à chaque connexion.
Un perceptron multicouche peut comporter un nombre de couches quelconque et un nombre de neurones dans chaque couche également quelconque. Les couches, autres que celles d’entrée et de sortie, sont appelées couches cachées.
Parfois, les entrées sont appelées couche d’entrée, ce qui peut créer une confusion, car il ne s’agit pas de neurones comme dans le reste du réseau, mais uniquement de valeurs unitaires.

Convention de représentation

Perceptron avec 2 entrées, 1 sortie et 3 couches

Perceptron avec 2 entrées, 1 sortie et 4 couches

Perceptron avec 3 entrées, 4 sorties et 3 couches
Dans le visuel présenté à la section Inventaire des principaux réseaux, le perceptron multicouche correspond au réseau « Feed Forward (FF) », lorsqu’il ne comporte qu’une seule couche cachée et au réseau « Deep Feed Forward (DFF) » s’il en utilise plusieurs.
b. Description mathématique
Je rassure ceux qui gardent des souvenirs douloureux de leurs cours de mathématique, la compréhension de cette section n’est pas indispensable pour poursuivre la lecture de cet ouvrage. Elle reste cependant intéressante pour ceux qui souhaiteraient approfondir certains points comme le fonctionnement de l’algorithme...
Démarche de mise en œuvre d’un perceptron
1. Démarche globale
La démarche à suivre pour définir et valider un perceptron multicouche est résumée sur le schéma suivant :

Processus de mise en œuvre d’un perceptron multicouche
Cette figure se lit séquentiellement de haut en bas, avec des retours en arrière possibles lorsque certaines phases ne se déroulent pas comme attendu. Les étapes successives sont numérotées de 1 à 6, et l’avancement de la construction du réseau est illustré sur la droite de la figure.
Si cette section vous paraît trop abstraite, vous pouvez aller directement aux sections Expérimentation avec l’outil Playground ou Lave-linge intelligent de la société LG qui détaillent l’application de la démarche sur des exemples, puis reprendre ultérieurement la lecture de ces pages.
2. Analyse du problème
Cette étape est primordiale, car elle conditionne fortement la réussite d’un projet. Il s’agit de définir ce que doit faire le réseau, c’est-à-dire quels sont les résultats à calculer et quelles sont les informations à exploiter pour les obtenir. À l’issue de cette phase sont définis le nombre et la nature des variables utilisées en entrée du réseau ainsi que les résultats calculés en sortie.
Pour guider ces choix, il faut avoir en tête deux éléments. Tout d’abord être certain qu’il existe une relation entre les valeurs à obtenir et les données fournies : le réseau possède une certaine « intelligence » mais n’a pas de capacité divinatoire ! Ainsi il est envisageable (mais ambitieux !) d’utiliser un réseau pour prévoir l’arrivée du tiercé à partir des résultats des dernières courses, mais cela n’a aucun sens de tenter de prédire le prochain tirage du loto avec les informations sur les tirages précédents !
Le second élément à prendre en compte est la disponibilité de données pour l’apprentissage. Il faut pouvoir disposer, en nombre suffisant, d’exemples...
Expérimentations avec l’outil Playground
1. Ecosystème associé à TensorFlow
TensorFlow est accessible à l’adresse https://www.tensorflow.org/ :

Page d’accueil du site tensorflow.org (version française)
Pour les illustrations, nous utilisons les contenus en français lorsqu’ils sont disponibles. Comme ce n’est pas toujours le cas, vous ne serez pas surpris dans la suite de voir apparaître des captures d’écran en anglais.
TensorFlow est souvent considéré comme une API pour développer des applications de machine learning. Pourtant cette plate-forme logicielle ne se limite pas à être une simple bibliothèque Python. Elle propose un écosystème très riche avec de nombreuses ressources dans l’univers de l’apprentissage machine.
Commençons notre découverte avec les outils disponibles, accessibles via la rubrique Outils du menu Ressources :

Accès à l’écosystème associé à TensorFlow

Outils associés à l’écosystème de TensorFlow
L’application qui nous intéresse ici est « TensorFlow Playground ». Comme son nom l’indique, elle propose un « terrain de jeu » pour expérimenter facilement des premiers réseaux de neurones.
2. Fonctionnement de Playground
a. Interface graphique
Playground est accessible via TensorFlow, mais aussi directement à l’adresse https://playground.tensorflow.org/ :

Page d’accueil de l’outil Playground
Cet outil, proposé par Google, a uniquement une vocation pédagogique pour aider à comprendre les principales notions des perceptrons multicouche. Il permet de « jouer » avec des modèles, en menant des tests rapides avec les différents jeux de données proposés.
L’un de ses atouts majeurs est sa simplicité d’utilisation : aucune installation logicielle n’est requise et toutes les fonctionnalités sont accessibles depuis une unique page web :

Organisation de l’interface graphique de Playground
Les différentes zones de l’écran correspondent aux étapes de mise en œuvre d’un perceptron, détaillées dans...
Lave-linge intelligent de la société LG
1. Utilisation de l’IA comme argument commercial
Après les exemples théoriques de la section précédente, terminons ce chapitre avec une application concrète. Dans le monde de l’électroménager, de nombreuses marques communiquent sur l’utilisation de l’IA dans leurs produits. Elles expliquent que ces nouvelles technologies améliorent les performances (réduction de la consommation d’énergie, meilleure efficacité) et simplifient l’expérience client.
C’est par exemple le cas de la société coréenne LG, qui annonce pour ses lave-linge une réduction de 18 % de l’usure des textiles grâce à sa technologie AI DDTM :

Communication sur une réduction de l’usure des textiles (source LG)
Même si LG est peu loquace sur le fonctionnement de son lave-linge, deux indices intéressants se trouvent sur son site internet. D’une part, il est indiqué que, « basé sur plus de 20 000 expériences de lavage, AI DD™ adapte les mouvements de tambour pour prendre soin de votre linge ». D’autre part, le principe utilisé est illustré avec le schéma suivant :

Principe de fonctionnement de la technologie AI DDTM (source LG)
Avec la connaissance des éléments théoriques de ce chapitre, ce schéma fait immédiatement penser à l’utilisation d’un réseau de neurones. Mais impossible d’en savoir plus avec les informations communiquées par la société LG !
Vidéo
publicitaire de la société LG qui valorise sa
technologie AI DDTM : https://www.youtube.com/watch?v=6fobogcrnYM2. Levée du mystère avec l’analyse des brevets
En général les entreprises qui communiquent sur le contenu technologique de leurs produits mettent en avant les avantages, mais restent discrètes sur les détails des solutions techniques. Pour se protéger des contrefaçons, les industriels déposent des brevets, ce qui interdit l’usage à...
Conclusion
Dans ce chapitre, nous avons tout d’abord exploré les fondamentaux théoriques sur les réseaux de neurones. Puis le fonctionnement d’un modèle spécifique, en l’occurrence le perceptron multicouche, a été approfondi. Comprendre ses conditions d’utilisation nous a ensuite permis de préciser les différentes étapes nécessaires à sa mise en œuvre.
Cette démarche a été illustrée avec deux cas pratiques. Après une rapide présentation de l’outil TensorFlow Playground, nous avons montré comment utiliser cette application web pour visualiser et mieux comprendre les conditions d’apprentissage et de fonctionnement de plusieurs réseaux. Ces expérimentations ont ainsi illustré les éléments théoriques développés précédemment.
Pour terminer, le fonctionnement du lave-linge intelligent commercialisé par la société LG a été analysé. En nous appuyant sur les brevets, nous avons découvert que la technologie AI DDTM utilisée repose sur l’utilisation de modèles perceptron multicouche identiques à ceux étudiés dans ce chapitre.
Fort de toutes ces connaissances, vous êtes certainement impatients de coder vos premiers programmes avec...