Aller au contenu
Fondamentaux

Réseau de neurones

Des couches de petites unités de calcul qui pondèrent ce qu'elles reçoivent : la machine sur laquelle repose tout LLM, et ce que ses réglages appris lui font faire.

7 min de lecture
  • #réseau de neurones
  • #apprentissage profond
  • #fonction d'activation

Un réseau de neurones est une machine à calculer faite de couches de petites unités, les neurones artificiels, qui pondèrent chacune ce qu’elles reçoivent et passent le résultat à la couche suivante : ce sont ces pondérations, réglées sur des exemples, qui décident de ce que le réseau sait faire.

Imagine une chaîne de comités. Au premier rang, chaque membre reçoit le même dossier, accorde plus ou moins d’importance à chaque pièce selon ses propres habitudes, fait ses comptes et rend un avis, ou se tait si le total est trop faible. Le rang suivant ne voit jamais le dossier : seulement les avis du rang précédent, qu’il pondère à son tour. Au bout, un dernier comité tranche.

Personne ne comprend le problème en entier : c’est la façon dont chacun pondère ce qu’il reçoit qui fait tomber l’ensemble juste. Et apprendre, pour cette chaîne, ce n’est pas embaucher : c’est retoucher les habitudes de chacun, dossier après dossier.

Un neurone artificiel est un « dispositif à plusieurs entrées et une sortie », dit la définition officielle publiée au Journal officiel en 2018. Il fait trois choses, toujours les mêmes.

  1. Il multiplie chaque nombre qu’il reçoit par un poids, propre à cette entrée.
  2. Il additionne les produits et ajoute un décalage constant, le biais (rien à voir avec les biais d’un modèle au sens éthique).
  3. Il passe ce total dans une fonction d’activation, qui décide de ce qui sort.

Prends deux entrées, 2 et 3, avec les poids 0,5 et −1 et un biais de 1. Le total vaut 2 × 0,5 + 3 × (−1) + 1 = −1. Avec une activation très courante, la ReLU, qui laisse passer un nombre positif et remplace un négatif par zéro, le neurone sort 0 : il se tait. Change un poids, et il peut se mettre à parler.

L’idée a plus de quatre-vingts ans. Le neurone formel de McCulloch et Pitts, en 1943, répondait en tout-ou-rien. Le perceptron de Rosenblatt, en 1958, est le premier dont les poids s’apprennent à partir d’exemples.

Un neurone seul ne sait presque rien faire. On les range donc en couches : tous les neurones d’une couche lisent la même liste de nombres en entrée (un vecteur) et calculent en parallèle. La couche suivante lit leurs sorties, et ainsi de suite jusqu’à la couche de sortie.

Les couches du milieu sont dites cachées, parce que les données d’entraînement ne disent jamais ce qu’elles doivent produire : seules l’entrée et la sortie attendue sont connues. Le nombre de neurones d’une couche est sa largeur ; le nombre de couches, sa profondeur. L’apprentissage profond (deep learning) désigne justement l’entraînement de réseaux à nombreuses couches.

Un exemple classique, celui de la vidéo de 3Blue1Brown : reconnaître un chiffre manuscrit dans une image de 28 × 28 pixels. L’entrée compte 784 valeurs, deux couches cachées de 16 neurones suivent, et la sortie en a 10, une par chiffre. Ce petit réseau porte déjà 13 002 poids et biais.

Dans l’ordinateur, aucun objet « neurone » n’existe. Une couche s’écrit comme une grille de poids (une matrice) par laquelle on multiplie le vecteur d’entrée, suivie de l’activation appliquée case par case. Le réseau, sur le disque, n’est que ces grilles.

Sans elle, chaque couche ne ferait que multiplier et additionner, et enchaîner des multiplications et des additions redonne une multiplication et une addition : cent couches sans activation calculent ce qu’une seule pourrait calculer.

L’exemple d’école est le « ou exclusif » (XOR) : répondre 1 quand exactement une entrée sur deux vaut 1. Aucun calcul fait seulement de multiplications et d’additions n’y arrive. Une couche cachée de deux neurones ReLU suffit, et le manuel de Goodfellow, Bengio et Courville en donne les poids exacts.

La fonction varie selon les époques : un seuil chez McCulloch et Pitts, des courbes en S ensuite, la ReLU devenue le choix par défaut dans les années 2010, puis des variantes plus douces dans les LLM, comme SwiGLU chez Llama 3.

Au départ, les poids sont tirés au hasard. On montre un exemple, on compare la sortie à la réponse attendue, et on corrige chaque poids d’un petit pas dans le sens qui réduit l’écart (le détail est dans la fiche Entraînement). La rétropropagation, décrite par Rumelhart, Hinton et Williams dans Nature en 1986, est la procédure qui permet de calculer cette correction jusque dans les couches cachées. C’est elle qui a rendu les réseaux à plusieurs couches entraînables, là où le perceptron n’en réglait qu’une.

Un LLM est un réseau de neurones, simplement très grand et d’une forme particulière : le Transformer. Chacun de ses blocs enchaîne deux sous-couches. La première, l’attention, fait circuler l’information d’un token, un morceau de mot, à l’autre. La seconde est un réseau de neurones classique, appliqué à chaque token séparément : une couche cachée et une activation.

Dans la version à 405 milliards de paramètres de Llama 3, ce réseau compte 53 248 neurones cachés, et il est répété sur 126 couches. Les « neurones » d’un LLM, en pratique, ce sont eux.

  • Chaque assistant conversationnel que tu utilises est un réseau de neurones : « le modèle », c’est cet empilement de couches, figé une fois l’entraînement terminé.
  • AlexNet, présenté en 2012 à la conférence NIPS (aujourd’hui NeurIPS), classait des images en 1 000 catégories. L’article annonce 60 millions de paramètres pour 650 000 neurones : de l’ordre de cent paramètres par neurone.
  • En 2016, Yann LeCun consacre sa leçon inaugurale au Collège de France à « l’apprentissage profond », puis une série de cours qui va des réseaux multicouches aux réseaux convolutifs et récurrents.
  • Le prix Nobel de physique 2024 a été attribué à John Hopfield et Geoffrey Hinton pour des découvertes fondatrices qui permettent l’apprentissage automatique avec des réseaux de neurones artificiels.
  • « Un réseau de neurones est une simulation du cerveau. » Il s’en inspire de loin, et les manuels de référence le disent en toutes lettres : le but n’est pas de modéliser fidèlement le cerveau, mais d’approcher des fonctions à partir d’exemples. Un neurone artificiel fait une multiplication, une addition et un tri, sans rien de la chimie d’un neurone biologique. La définition officielle française reste prudente : il simule « certaines propriétés » du neurone vivant, pas toutes.
  • « GPT-3 a 175 milliards de neurones. » Ce sont des paramètres, c’est-à-dire des poids : chaque neurone en porte autant qu’il a d’entrées. Le réseau de reconnaissance de chiffres cité plus haut calcule avec 42 neurones (16 + 16 + 10, les 784 pixels d’entrée ne calculant rien) pour 13 002 paramètres ; Llama 3 compte quelques millions de neurones cachés pour 405 milliards de paramètres. Aligner ces chiffres sur les quelque 86 milliards de neurones du cerveau humain compare deux choses différentes.
  • « Une seule couche suffit si elle est assez grande, la profondeur ne sert à rien. » Un théorème de 1989 dit bien qu’une couche cachée peut approcher à peu près n’importe quelle fonction, pourvu qu’elle ait assez de neurones. Mais il ne promet ni que l’entraînement trouvera les bons poids, ni que ce nombre restera raisonnable : il peut exploser, et une couche aussi large risque de mal apprendre et de mal généraliser.

Voir aussi