Dans un précédent article, nous avons défini le concept de Deep Learning et ses principales applications. Au coeur de cette technique de Machine Learning , les réseaux de neurones artificiels. Dans cet article nous allons nous intéresser à la structure des neurones ainsi qu'à leur rôle dans le fonctionnement d'algorithmes de Deep Learning.
Avant de s’attaquer au fonctionnement précis des réseaux de neurones, on s’est dit qu’il serait intéressant de faire un parallèle avec les neurones biologiques .
(Pas de panique, un article dédié aux réseaux de neurones utilisés en Deep Learning suivra )
Neurone Biologique : Structure et rôle
Le système nerveux est composé de milliards de cellules : c’est un réseau de neurones biologiques. En effet, les neurones ne sont pas indépendants les uns des autres, ils établissent entre eux des liaisons et forment des réseaux plus ou moins complexes.
Le neurone biologique est composé de trois parties principales :
- Le corps cellulaire composé du centre de contrôle traitant les informations reçues par les dendrites.
- Les dendrites sont les principaux fils conducteurs par lesquels transitent l’information venue de l’extérieur.
- L’axone est fil conducteur qui conduit le signal de sortie du corps cellulaire vers d’autres neurones.
Quant aux synapses, elles font effet de liaison et de pondération entre neurones et permettent donc aux neurones de communiquer entre eux.
En résumé :
Les neurones biologiques disposent d’un centre de contrôle (appelé cellule somatique) faisant la somme des informations recueillies par les dendrites. Ensuite, le centre de contrôle retourne un potentiel d’action en suivant les règles suivantes :
- Si la somme en entrée ne dépasse pas le seuil d’excitation : pas de message nerveux via l’axone.
- Si la somme en entrée dépasse le seuil d’excitation : un message nerveux est émis via l’axone (c’est l’idée, mais en réalité un peu plus compliqué).
Quel est le lien entre les neurones biologiques et neurones artificiels ?
Procédons à une comparaison simple des étapes principales de l’algorithme du perceptron avec les éléments constitutifs des neurones biologiques. Ce choix d’algorithme se justifie car il se rapproche au mieux du fonctionnement des neurones biologiques :
- Les synapses/dendrites : pondération de chaque élément en entrée wi
xi
- Corps cellulaires : application d’une fonction d’activation f à la somme des entrées pondérées
- Axone : sortie de notre modèle

Le vocabulaire spécifique à cet algorithme est le suivant :
- Le vecteur w porte le nom de vecteur de poids (qui s’ajuste lors de l’entraînement).
- Le vecteur x porte le nom de vecteur d’entrée.
f porte le nom de fonction d’activation.
Pour la plupart des fonctions d’activations, le perceptron consiste à trouver l’hyperplan séparateur (définie par w) entre nos deux classes :
L’algorithme de Perceptron simple n’est plus utilisé en pratique puisque d’autres algorithmes comme le Support Vector Machine sont bien plus performants. De même, les neurones biologiques ne sont pas utilisés individuellement, ils sont généralement reliés à d’autres neurones.
L’intérêt de l’algorithme du Perceptron vient d’une technique démontrée en 1989 par George Cybenko qui consiste à lier et empiler des couches de perceptron pour apporter une plus grande complexité. Un algorithme de ce type s’appelle Perceptron Multicouche (Multilayer Perceptron en anglais), souvent abrégé par l’acronyme MLP.
UNE CARRIÈRE DANS LA DATA VOUS TEND LES BRAS !
UNE CARRIÈRE DANS LA DATA VOUS TEND LES BRAS !
Une reconversion dans le big data vous intéresse, mais vous ne savez pas par où commencer ?

Dans la figure précédente, le modèle consiste à classifier (en 10 classes) des images de chiffres manuscrits. Les carrés verts sont les entrées de notre modèle, les perceptrons sont représentés par des ronds gris et les liaisons sont représentées par les flèches.
En général, la dernière couche de notre modèle permet de mettre en forme le résultat souhaité. Ici, comme nous avons un problème de classification, nous recherchons alors à prédire la probabilité de chaque classe (chiffre 0, chiffre 1 …). C’est pour cet raison que la dernière couche possède 10 neurones puisqu’il y a 10 classes, et une fonction d’activation « softmax » permettant de retourner une probabilité.
C’est beaucoup plus libre pour les autres couches de notre modèle, il est surtout très important que les fonctions d’activations des perceptrons soient non-linéaires pour complexifier son modèle. En pratique, les fonctions d’activations tanh ou ReLU sont les plus utilisées.
Comme dans les LEGO, c’est au Data Scientist de choisir l’architecture de son modèle.
Il existe des architectures plus performante que d’autre, mais il n’y a pas vraiment de règle mathématique derrière. C’est l’expérience qui prime sur le choix des structures de modèle.
Pour résumer, les modèles de Perceptron Multicouche avec son nombre important de paramètres peuvent être vus comme des méthodes de brute force pour résoudre un problème de data science.
Il existe d’autres couches dans le Deep learning comme les convolutions qui vont permettre d’appliquer des filtres à nos images pour extraire des caractéristiques plus pertinente que des pixels : forme géométrique, bord …
Dans le prochain article, nous allons vous apprendre quelles méthodes sont utilisées pour entraîner les réseaux de neurones.
Article 1 : Introduction au Deep Learning
Article 2 : Réseaux de neurones: Biologique VS Artificiels
Article 3 : Convolutional Neural Network
Article 4 : Fonctionnement des réseaux de neurones
Article 5 : Transfer Learning
Sources
- F. Rosenblatt (1958), The perceptron: a probabilistic model for information storage and organization in the brain (http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.335.3398&rep=rep1&type=pdf)
- G. Cybenkot (1989), Approximation by Superpositions of a Sigmoidal Function (http://cognitivemedium.com/magic_paper/assets/Cybenko.pdf)