Quiz d'entraînement : les trois quarts des bonnes réponses pour le réussir.
Les réseaux de neurones
Derrière la reconnaissance d'images, la traduction automatique et les modèles de langage, on trouve la même brique, répétée des millions de fois : le neurone artificiel, un tout petit calcul. Assemblés en couches et réglés par descente de gradient, ces neurones font quelque chose qu'aucun modèle vu jusqu'ici ne savait faire : fabriquer eux-mêmes leurs variables. Une régression a besoin qu'on lui donne la distance au centre pour tracer un cercle ; un réseau la trouve seul.
Ce cours est pour toi si tu connais la régression logistique et l'idée d'une descente de gradient, et que tu veux voir de l'intérieur ce qu'est un réseau : ce que calcule un neurone, pourquoi il faut des couches et une activation, combien de nombres il y a à régler, et comment l'erreur remonte pour les régler. Tu vas tenir une droite à la main, parier sur ce qu'un neurone ne sait pas faire, poser toi-même des coudes sur une courbe, compter des paramètres, calculer un gradient, puis lancer un réseau sur une spirale. Chaque bloc marqué « Figure interactive » réagit : touche, glisse, regarde ce qui change.
Le neurone : une somme, un biais, une activation
Un neurone reçoit des nombres, les multiplie chacun par un poids, additionne le tout, ajoute un biais, puis passe le résultat dans une fonction d'activation. Avec la sigmoïde comme activation, sa sortie est comprise entre 0 et 1, comme une probabilité. Sur un plan à deux entrées, qu'est-ce que cela dessine ? Voici deux nuages de points ; la droite pointillée est l'endroit où la sortie vaut 0,5. Essaie de la placer toi-même : la flèche dorée, perpendiculaire à la droite, montre les poids ; sa pointe les règle, la poignée sur la droite la déplace.
sortie = sigmoïde(−4,0 × x₁ + 3,0 × x₂ − 3,6)
50 % des points bien classés : la droite est mal placée ou mal orientée. La flèche des poids est perpendiculaire à la droite et pointe vers la classe 1 (les carrés) : tourne-la d'abord, puis déplace la droite entre les deux nuages.
Un neurone à deux entrées : somme pondérée, plus un biais, passée dans la sigmoïde. La couleur du plan est sa sortie ; le pointillé, la droite où elle vaut 0,5 ; la flèche, ses poids, perpendiculaire à la droite et dirigée vers la classe qu'il appelle 1 (les carrés).
Un neurone seul trace une droite : il est exactement une régression logistique. Les poids sont la flèche, qui oriente la droite et pointe vers la classe qu'elle appelle 1 ; plus elle est longue, plus la transition est nette. Le biais est ce qui déplace la droite sans la tourner : en glissant la poignée, tu l'as réglé sans le savoir. Chercher les trois nombres à la main marche ; avec des millions de poids, c'est la descente de gradient qui s'en charge, et c'est ce que fait le bouton d'entraînement.
La sigmoïde joue un rôle précis : elle transforme la somme pondérée, un nombre quelconque, en un nombre entre 0 et 1 qu'on lit comme une probabilité. Loin de la droite, la somme est grande, la sigmoïde sature, et la sortie vaut presque 0 ou presque 1 ; près de la droite, elle passe doucement de l'un à l'autre. C'est pour cela que des poids plus grands « resserrent » la transition : la même somme est multipliée par un facteur plus fort avant d'entrer dans la sigmoïde.
Pourquoi empiler des couches
Une droite ne sépare pas tout. Le cas d'école est le ou exclusif (XOR) : deux classes posées en diagonale, qu'aucune droite ne sépare. Minsky et Papert l'ont montré en 1969 pour un neurone seul. La réponse : une couche cachée de neurones entre l'entrée et la sortie. Avant de regarder, parie : un neurone seul, entraîné pendant 600 époques sur quatre groupes placés aux coins d'un carré, quel score atteint-il ?
Un neurone seul, entraîné pendant 600 époques sur quatre groupes placés aux coins d'un carré, deux classes en diagonale (le « ou exclusif ») : quel score atteint-il ?
Le « ou exclusif » : classe B en haut à gauche et en bas à droite. Aucune droite ne le sépare. Chaque réseau est entraîné 600 époques ; les pointillés montrent les droites des neurones cachés.
Un neurone seul reste à peine au-dessus du hasard : 57 % de points bien classés, alors qu'une droite parfaitement placée irait à 75 % (trois groupes sur quatre), pas plus. Chaque neurone caché trace sa propre droite ; le neurone de sortie combine leurs avis. La couche cachée invente ainsi de nouvelles variables, apprises à partir des données. Deux conditions pour que ça marche, et la figure montre ce qui se passe sans elles. Il faut une activation non linéaire : sans elle, empiler des couches revient à une seule transformation linéaire, donc à une droite. Et il faut des poids de départ différents : partis égaux, les neurones reçoivent le même gradient et restent identiques à jamais. On initialise donc au hasard, à une échelle choisie pour que les signaux ne s'éteignent ni n'explosent d'une couche à l'autre (Entraîner un réseau profond y revient en détail).
Comment la couche cachée s'y prend-elle ? Le XOR se décompose en deux questions que chaque droite sait poser : « l'un des deux est-il actif ? » (un OU) et « les deux le sont-ils ? » (un ET). Le ou exclusif est vrai quand le premier est vrai et que le second ne l'est pas. Deux neurones cachés, un pour chaque question, puis un neurone de sortie qui les combine, suffisent donc : chaque droite découpe le plan, et la sortie assemble les morceaux. Avec quatre neurones cachés, l'entraînement a le choix entre plusieurs découpages équivalents, et il en trouve un.
Des coudes qui dessinent une courbe
Jusqu'où va une seule couche cachée ? Pour le voir, prenons l'activation la plus utilisée aujourd'hui, la ReLU : 0 sous un seuil, une ligne droite au-dessus. Chaque neurone ReLU ajoute un coude à la courbe que dessine le réseau. Deux coudes sont déjà posés, mal placés. Touche la courbe pour en ajouter un, touche un coude pour le retirer : la ligne se règle aussitôt. À nombre égal de coudes, saurais-tu faire mieux que des coudes régulièrement espacés ?
2 coudes : 5,3 points d'erreur, plus que les 3,6 de coudes régulièrement espacés. Des coudes mal placés coûtent : retire le moins utile, ou demande le meilleur endroit pour le suivant.
Chaque neurone ReLU vaut 0, puis monte en ligne droite à partir d'un seuil : un coude (point doré). La couche de sortie additionne ces coudes avec des poids ajustés au mieux (moindres carrés) ; c'est toi qui choisis où ils se trouvent. Dans un vrai réseau, l'entraînement les déplace aussi.
Oui, et nettement : trois coudes bien placés suivent la courbe mieux que quatre coudes régulièrement espacés (2,2 points d'erreur contre 2,9). Ce n'est pas seulement le nombre de neurones qui compte, c'est où se trouvent leurs coudes, et c'est justement ce que règle l'entraînement. Avec assez de coudes, la ligne brisée épouse n'importe quelle courbe. C'est le théorème d'approximation universelle : sur un domaine borné, une couche cachée assez large approche n'importe quelle fonction continue. Il a d'abord été démontré pour la sigmoïde (Cybenko, 1989), puis pour toute activation continue, bornée et non constante (Hornik, 1991), enfin, pour la ReLU qui n'est pas bornée, par Leshno et ses coauteurs (1993), pour toute activation non polynomiale. Il faut le lire avec précaution. Il dit que la forme existe, pas qu'on la trouvera, ni avec combien de neurones ou d'exemples. En pratique, des réseaux profonds atteignent les mêmes formes avec bien moins de neurones, en composant des motifs simples en motifs complexes.
Pour une couche cachée de ReLU, le calcul est transparent : la sortie du réseau est une ordonnée et une pente de départ, plus la somme, sur chaque neurone, de son poids multiplié par max(0, x − c), où c est le coude du neurone. Changer un coude, c'est changer où la pente change ; changer son poids, c'est changer de combien elle change. L'entraînement règle les deux.
Les activations courantes
| Activation | Valeurs | Où on la trouve | À savoir |
|---|---|---|---|
| Sigmoïde | 0 à 1 | Sortie d'une classification binaire | Sature : son gradient s'éteint loin de 0 |
| Tangente hyperbolique (tanh) | −1 à 1 | Couches cachées des petits réseaux, réseaux récurrents | Centrée sur 0, sature aussi |
| ReLU | 0 ou la valeur | La plupart des réseaux modernes | Rapide ; un neurone peut « mourir » s'il reste sous 0 |
| GELU | Une ReLU adoucie | BERT, GPT-2 et de nombreux modèles de langage | Lisse près de 0 |
Un réseau, couche par couche
Un réseau enchaîne ces couches : une valeur entre à gauche, chaque couche la transforme, une valeur sort à droite. Combien y a-t-il de nombres à régler ? Parie sur un réseau à deux entrées, deux couches cachées de quatre neurones et une sortie : combien de paramètres au total ?
Un réseau 2 → 4 → 4 → 1 : deux valeurs en entrée, deux couches cachées de quatre neurones, une sortie. Combien de paramètres à régler ?
Chaque flèche porte le nombre de paramètres de la couche qu'elle franchit.
Ce sont 37 paramètres : 28 poids et 9 biais, un biais par neurone. Le piège classique est d'oublier les biais, ou de compter un seul nombre par neurone. Regarde le jeton traverser les couches : le nombre sur chaque flèche est celui des paramètres de la couche qu'elle franchit, et il croît vite avec la largeur. Passe de quatre à huit neurones par couche : de 37 paramètres, on passe à 105. C'est cette croissance qui rend les grands réseaux gourmands en données et en mémoire.
Retiens aussi ce que fait une couche : elle prend m nombres et en produit n, chacun combinaison des m entrées suivie d'une activation. La couche suivante part de ces n nombres, jamais des entrées d'origine ; c'est ainsi que les couches profondes travaillent sur des variables de plus en plus éloignées des données brutes.
Les maths derrière · Compter les paramètres d'une couche
Une couche de n neurones qui reçoit m valeurs a un poids par entrée et par neurone, soit n × m poids, et un biais par neurone, soit n biais :
paramètres de la couche = n × m + n = n × (m + 1)
Pour 2 → 4 → 4 → 1 : première couche 4 × (2 + 1) = 12, deuxième 4 × (4 + 1) = 20, sortie 1 × (4 + 1) = 5. Le total vaut 12 + 20 + 5 = 37. Pour 2 → 8 → 8 → 1 : 8 × 3 + 8 × 9 + 1 × 9 = 24 + 72 + 9 = 105.
La rétropropagation, nombre par nombre
Pour régler les poids par descente de gradient, il faut le gradient de la perte par rapport à chaque poids. La rétropropagation (Rumelhart, Hinton et Williams, 1986) le calcule en deux passes : une passe en avant pour prédire, une passe en arrière pour répartir l'erreur. Voici un tout petit réseau et un seul exemple, avec tous les nombres. Avance jusqu'à l'étape « en arrière » : tu auras alors à calculer toi-même le gradient d'un poids, celui qui relie x₁ à h₁, parmi trois valeurs proposées : laquelle est la bonne ?
- 1. En avant
- 2. L'erreur
- 3. En arrière
- 4. La mise à jour
En avant : chaque neurone caché fait sa somme pondérée, biais compris (pour h₁ : 0,80 × 0,50 + 0,40 × (−0,40) + 0,10 = 0,34), puis sa tangente hyperbolique (0,33). La sortie fait de même avec h₁ et h₂ : 0,33 × 1,20 + 0,35 × (−0,70) + 0,05 = 0,20, puis sigmoïde : 0,55. Le réseau dit « classe 1 à 0,55 ».
Un réseau 2 → 2 → 1 (activation tanh, sortie sigmoïde) et un seul exemple, d'entrées (0,80 ; 0,40) et de classe 1. Chaque nombre est calculé, pas illustré.
Les deux mauvaises valeurs sont les deux oublis les plus fréquents : celui de la pente de tanh, et celui du poids par lequel le signal remonte. Le gradient d'un poids vaut le signal d'erreur qui arrive à son neurone, multiplié par la valeur qui entre par ce poids ; et le signal d'erreur d'un neurone caché se calcule à partir de celui de la sortie, couche par couche : c'est la règle de la chaîne, que la descente de gradient utilise ensuite pour faire le pas.
Le signal d'erreur de départ se calcule en une ligne. Avec une sortie en sigmoïde et une perte d'entropie croisée, le signal à la sortie vaut sortie − cible : ici −0,450, négatif puisque la cible est 1 et que le réseau répond 0,550. Une fois tous les gradients calculés, chaque poids recule d'un pas proportionnel au sien : w ← w − η × gradient, où η est le taux d'apprentissage. Le même calcul, répété sur tous les exemples et des milliers de fois, est l'entraînement.
Les maths derrière · La règle de la chaîne pour un poids
Pour le poids w₁₁ (de x₁ vers h₁), le gradient est le produit de quatre facteurs : le signal d'erreur de la sortie δ, le poids w₂₁ par lequel il remonte vers h₁, la pente de tanh en h₁ qui vaut 1 − h₁², et l'entrée x₁ :
∂perte/∂w₁₁ = δ × w₂₁ × (1 − h₁²) × x₁
Dans la figure : δ = −0,450, w₂₁ = 1,20, h₁ = 0,327 donc 1 − h₁² = 0,893, et x₁ = 0,80. Le signal d'erreur de h₁ vaut 1,20 × (−0,450) × 0,893 = −0,482, et le gradient −0,482 × 0,80 = −0,386. Négatif : augmenter w₁₁ ferait baisser la perte, donc la mise à jour l'augmente.
Aujourd'hui, personne n'écrit ces gradients à la main : PyTorch ou JAX les calculent automatiquement (différentiation automatique). Mais savoir ce qu'ils font explique la plupart des pannes : un gradient qui s'éteint en traversant des activations saturées, ou qui explose. Pour vérifier une implémentation, on compare au gradient numérique : bouger un poids d'un epsilon et regarder la perte.
Le terrain de jeu : apprendre une spirale
Deux spirales entrelacées : aucune droite, aucune courbe de forme élémentaire ne les sépare. C'est le terrain de jeu classique pour voir un réseau apprendre. Combien faut-il de neurones, et de couches, pour que la frontière s'enroule ?
9 paramètres ne suffisent pas : la frontière se courbe mais ne s'enroule pas (78 % sur des points neufs). Ajoute des neurones, ou une couche.
120 points sur deux spirales entrelacées. Réseau à activation tanh, entraîné par Adam. Précision mesurée aussi sur 120 points neufs.
Sans couche cachée, une droite. Avec deux neurones, une courbe qui ne s'enroule pas. Avec quatre, ou deux couches, la frontière suit les spirales. Le curseur rejoue l'entraînement : au départ, des poids au hasard et une frontière quelconque ; chaque époque la corrige un peu (ici avec Adam, Kingma et Ba, 2014). Plus de neurones et de couches donnent plus de formes possibles, et donc plus de paramètres à régler : il leur faut plus de données pour ne pas apprendre le bruit, et un entraînement plus soigné. C'est tout le sujet du cours Entraîner un réseau profond.
Regarde les deux scores de la figure. « Vus » mesure les points sur lesquels le réseau s'entraîne ; « neufs » mesure des points qu'il n'a jamais rencontrés, et c'est le seul qui compte pour savoir s'il a appris la spirale ou seulement retenu ses points. Quand le premier monte et que le second reste en retrait, le réseau apprend le bruit.
Ce que les couches apprennent
Pourquoi des réseaux profonds plutôt que larges ? Parce que chaque couche part de ce que la précédente a fabriqué. Sur une image, on observe en visualisant les couches d'un réseau de convolution (Zeiler et Fergus, 2013) que les premières répondent à des motifs élémentaires, des bords et des taches de couleur, et que les suivantes les combinent en formes de plus en plus riches. Personne n'a écrit ces détecteurs : l'entraînement les a trouvés, parce qu'ils servent à faire baisser la perte. C'est la même idée que la couche cachée du XOR, répétée : de nouvelles variables, construites sur celles de la couche d'avant. Les réseaux de convolution en font leur principe, en partageant un même détecteur sur toute l'image.
Le texte fonctionne de la même façon, avec d'autres briques : le Transformer empile des couches où chaque mot rassemble de l'information de ses voisins, avant de passer dans de petits réseaux de neurones comme ceux de ce cours. Retiens l'ordre de grandeur plutôt que le détail : un neurone est un calcul minuscule, et c'est l'empilement, les données et l'entraînement qui font la différence.
Ce qu'on oublie souvent
- Mettre les entrées à l'échelle. Un réseau apprend mal quand une variable vaut des milliers et une autre des centièmes (voir La préparation des données).
- Commencer par un réseau sur un tableau. Sur des données tabulaires, les arbres boostés restent en général devant (voir Choisir un modèle).
- Croire ses probabilités. Les grands réseaux modernes sont souvent trop sûrs d'eux ; on les calibre si la probabilité compte (voir Évaluer un modèle).
- Confondre taille et qualité. Plus de neurones sans plus de données, c'est surtout plus de façons d'apprendre le bruit.
- Oublier les biais en comptant les paramètres. Un neurone, c'est des poids plus un biais.
- Prendre « neurone » au pied de la lettre. L'analogie avec le cerveau est lointaine : un neurone artificiel est une somme pondérée et une fonction, rien de plus.
Teste-toi
Quelques questions sur les idées qu'on vient de croiser. La raison s'affiche après chaque réponse : c'est elle qui compte.
Question 1 sur 10
8 bonnes réponses attendues sur 10.
Que calcule un neurone ?
Une bonne réponse par question. Ce sont les idées qu'on retrouve dans tous les réseaux, du plus petit aux modèles de langage.
Le vocabulaire en un coup d'œil
| Terme | En une phrase |
|---|---|
| Neurone | Une somme pondérée de ses entrées, plus un biais, passée dans une fonction d'activation. |
| Poids, biais | Les paramètres d'un neurone, réglés par l'entraînement. |
| Fonction d'activation | La fonction non linéaire qui suit la somme (sigmoïde, tanh, ReLU…) : sans elle, les couches s'effondrent en une seule. |
| Couche cachée | Une couche de neurones entre l'entrée et la sortie ; elle fabrique de nouvelles variables. |
| Coude | L'endroit où un neurone ReLU quitte 0 pour monter : la ligne brisée d'un réseau en a un par neurone. |
| Réseau profond | Un réseau à plusieurs couches cachées : le deep learning. |
| Paramètres | Tous les poids et tous les biais d'un réseau : n × (m + 1) pour une couche de n neurones à m entrées. |
| Passe avant | Calculer la sortie à partir de l'entrée, couche par couche. |
| Rétropropagation | Calculer le gradient de chaque poids en propageant l'erreur de la sortie vers l'entrée (règle de la chaîne). |
| Signal d'erreur (δ) | Ce qu'un neurone reçoit de la passe arrière ; multiplié par l'entrée d'un poids, il donne le gradient de ce poids. |
| Initialisation | Les valeurs de départ des poids : au hasard, à la bonne échelle, pour briser la symétrie. |
| Approximation universelle | Sur un domaine borné, une couche assez large peut approcher n'importe quelle fonction continue, sans dire comment trouver ses poids. |
| Époque | Un passage complet sur les données d'entraînement. |
| Différentiation automatique | Le calcul automatique des gradients par les bibliothèques (PyTorch, JAX). |
Ce qu'il faut retenir
- Un neurone est une somme pondérée, un biais et une activation : seul, c'est une régression logistique, une droite. Les poids sont la flèche perpendiculaire à la droite, le biais la déplace.
- Les couches cachées fabriquent de nouvelles variables ; elles n'ont d'intérêt qu'avec une activation non linéaire et des poids de départ au hasard.
- Une couche assez large peut tout approcher en théorie, mais ce qui compte est où se placent les coudes ; en pratique, la profondeur y arrive avec bien moins de neurones.
- Une couche de n neurones à m entrées a n × (m + 1) paramètres : les biais comptent.
- La rétropropagation donne le gradient de chaque poids : signal d'erreur à l'arrivée × valeur au départ, avec la pente de l'activation et le poids de la couche suivante dans le signal, couche par couche.
- Plus de neurones, c'est plus de formes possibles, et plus de données nécessaires pour ne pas apprendre le bruit.
Pour aller plus loin
- Rumelhart, Hinton & Williams (1986), Learning representations by back-propagating errors, Nature : la rétropropagation (consultée le 28 octobre 2026).
- Cybenko (1989), Approximation by superpositions of a sigmoidal function, Mathematics of Control, Signals, and Systems ; et Hornik (1991), Approximation capabilities of multilayer feedforward networks, Neural Networks : l'approximation universelle pour la sigmoïde et les activations bornées (titres, revues et années vérifiés dans Crossref le 28 octobre 2026).
- Leshno, Lin, Pinkus & Schocken (1993), Multilayer feedforward networks with a nonpolynomial activation function can approximate any function, Neural Networks : toute activation non polynomiale, la ReLU comprise ; le texte de l'article, dont l'énoncé du théorème de Hornik pour une activation bornée et non constante, a été lu le 28 octobre 2026.
- Kingma & Ba (2014), Adam: A Method for Stochastic Optimization : l'optimiseur qu'utilise le terrain de jeu (consultée le 28 octobre 2026).
- Zeiler & Fergus (2013), Visualizing and Understanding Convolutional Networks : une technique pour visualiser ce que détectent les couches intermédiaires d'un réseau de convolution (résumé consulté le 28 octobre 2026).
- Michael Nielsen, Neural Networks and Deep Learning : un livre en ligne, gratuit, qui construit tout pas à pas (consulté le 28 octobre 2026).
- TensorFlow Playground : le terrain de jeu dont s'inspire la dernière figure, avec plus de réglages (consulté le 28 octobre 2026).