01 / 09 Le neurone artificiel
  1. ← Réseaux de neurones : fondations et mathématiques
  2. 00 Avant-propos
  3. 01 Le neurone artificiel
  4. 02 Algèbre linéaire essentielle
  5. 03 Fonctions d'activation
  6. 04 Le perceptron
  7. 05 Du neurone au réseau multi-couches
  8. 06 Forward pass et fonctions de coût
  9. 07 Dérivées et règle de la chaîne
  10. 08 La rétropropagation
Réseaux de neurones : fondations et mathématiques · 01 / 09

Le neurone artificiel

Du biologique au mathématique, ce qui se passe vraiment dans la brique élémentaire d'un réseau.

Tout réseau de neurones, du plus simple au plus profond, est un assemblage d’une seule brique élémentaire répétée par millions. Cette brique, le neurone artificiel, n’a pourtant rien de magique. C’est une équation à trois ingrédients qui s’inspire d’une cellule biologique vieille de plusieurs centaines de millions d’années.

À la fin de ce chapitre tu sauras répondre à trois questions : qu’est-ce qu’un neurone artificiel calcule exactement, d’où vient cette idée, et pourquoi un neurone tout seul a une limite que les réseaux modernes ont dû dépasser.

L’inspiration biologique

Ton cerveau contient environ 86 milliards de neurones (Azevedo et al., 2009). Chaque neurone reçoit des signaux électriques d’autres neurones via ses dendrites, intègre ces signaux dans son corps cellulaire, et décide selon un seuil interne s’il doit lui-même envoyer un signal le long de son axone.

En 1943, Warren McCulloch et Walter Pitts modélisent ce comportement par une équation (McCulloch & Pitts, 1943), et posent les bases de ce qu’on appellera quelques années plus tard le neurone artificiel. Ce n’est pas une copie fidèle de la biologie, c’est une simplification mathématique qui s’avère puissante.

L’analogie de l’arbitre

Imagine un arbitre de foot qui doit décider si une faute mérite un penalty. Il reçoit plusieurs informations, et chacune compte plus ou moins selon le contexte.

InformationEntréePoids
La main a touché le ballonx1=1x_1 = 1w1=0,8w_1 = 0{,}8
Dans la surface de réparationx2=0x_2 = 0w2=0,5w_2 = 0{,}5
Geste intentionnelx3=1x_3 = 1w3=0,9w_3 = 0{,}9

L’arbitre fait dans sa tête une somme pondérée Somme pondérée Addition de plusieurs valeurs, chacune multipliée par un coefficient appelé poids. Formule générale Σ wᵢ xᵢ. C'est le cœur du calcul du neurone artificiel, avant l'ajout du biais et l'application de la fonction d'activation. : il additionne les informations en les multipliant chacune par leur importance. Si le total dépasse un seuil, il siffle. C’est exactement ce que fait un neurone artificiel.

Joue avec un neurone

Place de la pratique avant la théorie. Bouge les curseurs ci-dessous. La sortie se recalcule en direct. Ta mission : trouver une combinaison où la sortie yy est très proche de 11, puis une autre où elle est très proche de 00. Tu vas sentir comment chaque paramètre tire dans une direction.

f =
x₁ = 1.00w₁ = 0.80x₂ = 0.00w₂ = 0.50x₃ = 1.00w₃ = 0.90b = -0.50Σz = 1.20σy = 0.77
z = 1.00·0.80 + 0.00·0.50 + 1.00·0.90 + -0.50 = 1.20
y = σ(z) = 0.77

Trois choses à remarquer en jouant :

  • Une entrée à zéro annule la contribution de son poids, peu importe la valeur de ce dernier.
  • Augmenter un poids accentue l’influence de son entrée. Le passer en négatif inverse son effet.
  • Le biais translate la sortie indépendamment des entrées. Un biais très négatif rend le neurone très difficile à activer.

La formule mathématique

L’opération du neurone se résume en une équation. La forme développée, lisible :

y = f( x₁·w₁ + x₂·w₂ + x₃·w₃ + b )
Forme développée

La même équation en notation compacte avec le symbole somme :

y=f(i=1nwixi+b)y = f\left(\sum_{i=1}^{n} w_i x_i + b\right)

Et la forme la plus dense, en notation vectorielle :

y=f(wx+b)y = f(\mathbf{w} \cdot \mathbf{x} + b)

Les trois formes disent la même chose, à des niveaux d’abstraction croissants. Apprends à les reconnaître toutes les trois, tu les croiseras dans n’importe quel article scientifique.

Que représente chaque symbole

Le flux d’information, vu comme un graphe

Propagation d'une entrée à travers un neurone

Chaque entrée passe par une multiplication par son poids, toutes les contributions s’additionnent avec le biais, et le résultat traverse la fonction d’activation pour produire la sortie.

Du biologique à l’artificiel

Élément biologiqueRôleÉquivalent artificiel
DendritesReçoivent les signaux entrantsEntrées x1,x2,,xnx_1, x_2, \dots, x_n
SynapsesRégulent l’intensité du signalPoids w1,w2,,wnw_1, w_2, \dots, w_n
Corps cellulaireIntègre tous les signauxSomme pondérée wixi\sum w_i x_i
Seuil d’activationDéclenche ou non le signalBiais bb + fonction ff
AxoneTransmet la sortieSortie yy

Une idée née en 1943

Le neurone artificiel a une histoire de 83 ans, faite de percées et de longs hivers.

AnnéeÉvénement
1943McCulloch & Pitts modélisent le neurone mathématiquement.
1949Donald Hebb énonce la règle « les neurones qui s’activent ensemble se renforcent ensemble ».
1958Frank Rosenblatt publie l’article fondateur du perceptron Perceptron Premier neurone artificiel capable d'apprendre, inventé par Frank Rosenblatt en 1958. Il combine une somme pondérée des entrées avec une fonction seuil pour produire une décision binaire 0 ou 1. Source : Rosenblatt, 1958 , première règle d’apprentissage automatique d’un neurone.
1960Mark I Perceptron : première réalisation matérielle (Cornell Aeronautical Laboratory), un calculateur électromécanique capable de reconnaître des formes simples.
1969Minsky & Papert publient Perceptrons et démontrent qu’un seul neurone ne peut pas apprendre XOR XOR (ou exclusif) Opération logique qui vaut 1 quand exactement une de ses deux entrées vaut 1, et 0 sinon. Ses cas positifs sont en diagonale dans le plan 2D, ce qui les rend non séparables par une seule droite. Cela rend XOR impossible à apprendre pour un perceptron unique. Source : Minsky et Papert, 1969 . Premier coup d’arrêt sérieux à l’enthousiasme.
1973Rapport Lighthill au Royaume-Uni : l’IA est jugée incapable de tenir ses promesses. Les financements s’effondrent en Europe et aux États-Unis. C’est le premier hiver de l’IA, qui durera une décennie.
1986Rumelhart, Hinton & Williams publient la rétropropagation Backpropagation Algorithme permettant de calculer le gradient de la fonction de coût par rapport à chaque poids d'un réseau de neurones. Il propage l'erreur de la sortie vers les couches précédentes en appliquant la règle de la chaîne. C'est le cœur de l'apprentissage des réseaux multi-couches. Source : Rumelhart, Hinton et Williams, 1986 du gradient. La recherche repart.
2012AlexNet (Krizhevsky, Sutskever, Hinton) écrase ImageNet sur GPU. Début de l’ère du deep learning moderne.

Ce qu’un seul neurone ne peut pas faire

Définition formelle : hyperplan et linéaire séparabilité

Travailler proprement demande une définition précise. Soit xRn\mathbf{x} \in \mathbb{R}^n un vecteur d’entrée, wRn\mathbf{w} \in \mathbb{R}^n un vecteur de poids, bRb \in \mathbb{R} un biais. On note ici Rn\mathbb{R}^n l’ensemble des listes ordonnées de nn nombres réels (le chapitre 2 formalisera cette notion). L’ensemble des points qui annulent la somme pondérée

{xRnwx+b=0}\{\mathbf{x} \in \mathbb{R}^n \mid \mathbf{w} \cdot \mathbf{x} + b = 0\}

est ce qu’on appelle un hyperplan. Dans R2\mathbb{R}^2 c’est une droite, dans R3\mathbb{R}^3 un plan, et en dimension supérieure on ne peut plus le dessiner mais l’équation reste la même.

Un hyperplan partitionne l’espace en deux demi-espaces : celui où wx+b>0\mathbf{w} \cdot \mathbf{x} + b > 0 (le neurone s’active) et celui où wx+b<0\mathbf{w} \cdot \mathbf{x} + b < 0 (le neurone ne s’active pas). Un neurone à seuil est exactement cette opération de partition.

Un ensemble de points étiquetés {(xi,yi)}\{(\mathbf{x}_i, y_i)\} avec yi{0,1}y_i \in \{0, 1\} est dit linéairement séparable s’il existe (w,b)(\mathbf{w}, b) tel que l’hyperplan associé sépare correctement les points de label 1 des points de label 0. Sinon, il est non linéairement séparable.

Pourquoi XOR n’est pas linéairement séparable

Ce résultat n’est pas seulement visuel, il se démontre en quelques lignes par l’absurde. On utilise ici la fonction seuil, qui est celle du perceptron historique. La même impossibilité reste vraie avec une sigmoïde : on perd seulement la simplicité de l’inégalité stricte.

Avant d’attaquer la démonstration, fixons une notation utile pour la suite. Pour une condition logique PP, on note 1[P]\mathbb{1}[P] la fonction indicatrice de PP : elle vaut 11 si PP est vraie, 00 sinon. En particulier 1[z0]\mathbb{1}[z \geq 0] est la fonction de Heaviside, parfois notée H(z)H(z), qu’on a déjà croisée au début de ce chapitre.

Cette démonstration tient en cinq lignes mais elle clôt définitivement le débat : aucun choix de poids et de biais ne peut résoudre XOR avec un seul neurone à seuil.

Vérifier soi-même

Cela suffit pour des problèmes linéairement séparables, comme l’opération ET, où une seule droite suffit à isoler le cas (1,1)(1, 1) des trois autres. Mais ça ne suffit pas pour XOR XOR (ou exclusif) Opération logique qui vaut 1 quand exactement une de ses deux entrées vaut 1, et 0 sinon. Ses cas positifs sont en diagonale dans le plan 2D, ce qui les rend non séparables par une seule droite. Cela rend XOR impossible à apprendre pour un perceptron unique. Source : Minsky et Papert, 1969 (ou exclusif), où les cas positifs se trouvent en diagonale : aucune droite ne peut les séparer des cas négatifs.

Essaie de séparer XOR à la main

Bouge les curseurs ci-dessous pour orienter et déplacer la droite. Sur AND et OR, tu peux atteindre 4 points sur 4 correctement classés. Sur XOR, tu n’y arriveras jamais : un point sera toujours du mauvais côté.

AB00110110
Droite : B = -1.00·A + 1.50
1 / 4 bien classés
Sur XOR, aucune droite ne sépare correctement les quatre points. Tu auras beau essayer, tu n'atteindras jamais 4 sur 4.

C’est exactement ce qu’ont démontré Minsky et Papert en 1969. Géométriquement, un neurone correspond à une droite ; XOR demande une frontière qui ne peut pas être linéaire. La solution viendra des réseaux multi-couches, qui peuvent composer plusieurs droites pour dessiner des frontières plus complexes.

Le rôle du biais, visuellement

Sans biais, la droite que trace le neurone passe forcément par l’origine. C’est une contrainte forte : la plupart des problèmes réels ont une frontière de décision qui n’est pas à l’origine.

Le biais résout ça en translatant la droite n’importe où dans le plan. Image mentale utile : les poids contrôlent l’orientation de la droite (sa pente), le biais contrôle sa position.

Pour le voir en direct, reprends le composant ci-dessous sur le dataset OR. Garde la pente proche de 1-1 et ne touche qu’à l’ordonnée à l’origine (qui joue ici le rôle du biais). La droite glisse parallèlement à elle-même. Sans cette translation, impossible de classer correctement les trois points orange.

AB00110111
Droite : B = -1.00·A + 0.50
4 / 4 bien classés

Une autre façon d’observer le biais : reviens sur le NeuronDiagram plus haut, mets toutes les entrées à zéro. La sortie ne dépend plus que du biais. C’est le « niveau de base » du neurone, indépendant de toute donnée d’entrée.

En une phrase

Un neurone artificiel calcule une combinaison linéaire de ses entrées, ajoute un biais, et passe le tout dans une fonction non-linéaire. C’est tout. La puissance vient de ce qu’on en fait quand on les empile et les entraîne.

Vers le chapitre 2

Tu as vu dans la dernière section que la formule du neurone s’écrit aussi sous la forme compacte y=f(wx+b)y = f(\mathbf{w} \cdot \mathbf{x} + b). Cette notation vectorielle est partout en deep learning, mais on ne l’a pas vraiment définie : qu’est-ce qu’un vecteur exactement ? Que veut dire le point central entre w\mathbf{w} et x\mathbf{x} ? Le chapitre 2 installe ces fondations d’algèbre linéaire en restant strictement utile pour la suite du cours.

Exercices

Prends une feuille et un crayon. Les corrigés sont juste en-dessous, regarde-les seulement après avoir essayé.

Exercice 1 : calcul direct

Soit un neurone à deux entrées avec w1=2w_1 = 2, w2=1w_2 = -1, b=0,5b = 0{,}5, et fonction d’activation ReLU définie par ReLU(z)=max(0,z)\text{ReLU}(z) = \max(0, z). Calculer la sortie pour x1=0,7x_1 = 0{,}7 et x2=0,3x_2 = 0{,}3.

Exercice 2 : construire un neurone AND

Trouver un triplet (w1,w2,b)(w_1, w_2, b) tel qu’un neurone à seuil H(z)=1[z0]H(z) = \mathbb{1}[z \geq 0] avec deux entrées binaires x1,x2{0,1}x_1, x_2 \in \{0, 1\} implémente la fonction logique ET. Vérifier sur les quatre cas.

Sources

  • Azevedo, F. A. et al. (2009). « Equal numbers of neuronal and nonneuronal cells make the human brain an isotropically scaled-up primate brain. » Journal of Comparative Neurology 513(5), 532-541. DOI 10.1002/cne.21974
  • McCulloch, W. & Pitts, W. (1943). « A Logical Calculus of Ideas Immanent in Nervous Activity. » Bulletin of Mathematical Biophysics 5(4), 115-133. DOI 10.1007/BF02478259
  • Hebb, D. O. (1949). The Organization of Behavior. Wiley. Archive.org
  • Rosenblatt, F. (1958). « The Perceptron: a probabilistic model for information storage and organization in the brain. » Psychological Review 65(6), 386-408. DOI 10.1037/h0042519
  • Minsky, M. & Papert, S. (1969). Perceptrons: An Introduction to Computational Geometry. MIT Press.
  • Rumelhart, D. E., Hinton, G. E. & Williams, R. J. (1986). « Learning representations by back-propagating errors. » Nature 323(6088), 533-536. DOI 10.1038/323533a0
  • Krizhevsky, A., Sutskever, I. & Hinton, G. E. (2012). « ImageNet Classification with Deep Convolutional Neural Networks. » NeurIPS 25. Lien NeurIPS
  • Lighthill, J. (1973). Artificial Intelligence: A General Survey. Science Research Council, Royaume-Uni. Archive.org

Pour aller plus loin

  • Goodfellow, I., Bengio, Y. & Courville, A. (2016). Deep Learning. MIT Press. Chapitre 6 sur les réseaux feed-forward. deeplearningbook.org
  • Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer. Chapitre 5 sur les réseaux de neurones.
  • Hastie, T., Tibshirani, R. & Friedman, J. (2009). The Elements of Statistical Learning. Springer. Chapitre 11. stanford.edu PDF gratuit
  • LeCun, Y. (cours en ligne au Collège de France, 2016 à aujourd’hui). « L’apprentissage profond ». college-de-france.fr
  • Ng, A. (cours en ligne Coursera, « Deep Learning Specialization »). Très bon complément en anglais.
Quiz
  1. 1. Que produit l'opération d'un neurone, avant la fonction d'activation ?

  2. 2. Pourquoi un seul neurone ne peut-il pas apprendre XOR ?

  3. 3. Quel est le rôle géométrique du biais ?

  4. 4. Que fait la fonction d'activation f dans l'équation y = f(Σ wᵢ xᵢ + b) ?

  5. 5. Vrai ou faux : le neurone artificiel est une copie fidèle du neurone biologique.