Leçon 1 — Le neurone
Un réseau de neurones intimide par son nom. La brique qui le compose est, elle, d'une simplicité presque décevante — et c'est une bonne nouvelle, parce qu'elle se comprend en cinq minutes.
Ce que fait un neurone
Un neurone artificiel effectue exactement trois opérations, dans cet ordre.
1. Il pondère. Chaque entrée qu'il reçoit est multipliée par un nombre qui lui est propre, appelé poids. Un poids élevé signifie « cette entrée compte beaucoup pour moi » ; un poids proche de zéro, « je l'ignore » ; un poids négatif, « cette entrée me fait pencher dans l'autre sens ».
2. Il additionne. Toutes ces valeurs pondérées sont sommées, et on y ajoute un nombre supplémentaire appelé biais, qui décale le résultat. Le biais permet au neurone de s'activer plus facilement ou plus difficilement, indépendamment de ses entrées.
3. Il transforme. Le résultat passe dans une fonction d'activation, qui décide de la valeur finalement transmise.
C'est tout. Un neurone est une somme pondérée suivie d'une fonction simple. Aucune magie, aucune intention, aucune compréhension.
Les poids et le biais sont précisément ce que l'entraînement ajuste. Au départ, ils valent des valeurs aléatoires et le réseau produit du bruit. La descente de gradient les déplace, petit pas par petit pas, jusqu'à ce que les prédictions cessent de s'améliorer. Quand on dit qu'un modèle « a des milliards de paramètres », il s'agit de ces nombres.
La fonction d'activation, ou pourquoi elle est indispensable
Voici le point le plus important de cette leçon, et celui que la plupart des présentations survolent.
Supposons qu'on retire la fonction d'activation. Chaque neurone se contente alors de pondérer et d'additionner, c'est-à-dire d'appliquer une transformation linéaire. Empilons cent couches de tels neurones.
Résultat mathématique : la composition de transformations linéaires est encore une transformation linéaire. Un réseau de cent couches sans activation est donc rigoureusement équivalent à un réseau d'une seule couche. La profondeur n'apporte rien, et le modèle ne peut représenter que des relations proportionnelles — inutile pour reconnaître un visage ou traduire une phrase.
La fonction d'activation brise cette linéarité. C'est elle qui donne au réseau la capacité de représenter des relations complexes, et c'est pour cette seule raison qu'elle existe.
Les fonctions d'activation qui comptent
| Fonction | Ce qu'elle fait | Où on l'utilise |
|---|---|---|
| ReLU | remplace les valeurs négatives par zéro, laisse les positives inchangées | dans les couches internes, par défaut, presque partout |
| Sigmoïde | écrase toute valeur dans l'intervalle 0 à 1 | en sortie, pour une probabilité binaire |
| Softmax | transforme plusieurs scores en probabilités dont la somme fait 1 | en sortie, pour une classification à plusieurs classes |
| Tanh | écrase entre −1 et 1 | historiquement dans les réseaux récurrents |
| GELU | variante lissée de ReLU | dans les transformeurs modernes |
ReLU mérite un mot particulier, parce que sa banalité est instructive. Elle se résume à « si c'est négatif, mets zéro ». On aurait pu croire qu'une opération aussi grossière serait inférieure aux courbes élégantes utilisées jusqu'aux années 2000. C'est l'inverse : elle est plus rapide à calculer, et surtout elle ne fait pas disparaître le gradient sur les valeurs positives, contrairement à la sigmoïde qui l'écrase dès qu'on s'éloigne de zéro. Le remplacement de la sigmoïde par ReLU est l'une des trois raisons techniques pour lesquelles les réseaux très profonds sont devenus entraînables.
De la brique à la couche
Un neurone seul ne fait pas grand-chose. On en met plusieurs côte à côte, recevant tous les mêmes entrées mais avec des poids différents : c'est une couche. Chacun apprend à réagir à un aspect différent de l'entrée.
Puis on empile les couches. La sortie de la première devient l'entrée de la deuxième, et ainsi de suite.
Les couches intermédiaires s'appellent couches cachées, non par mystère mais parce qu'on n'observe ni leur entrée ni leur sortie de l'extérieur. Ce sont elles qui construisent les représentations intermédiaires dont parle la leçon 2.
Techniquement, une couche entière se calcule en une seule multiplication de matrice : c'est exactement ce que décrivait la leçon d'algèbre linéaire du cours de mathématiques. C'est pourquoi les cartes graphiques sont si efficaces ici.
La sortie, et comment on la lit
La dernière couche est dimensionnée par le problème.
- Une valeur, sans activation : régression. La sortie est le nombre prédit.
- Une valeur, activation sigmoïde : classification binaire. La sortie est la probabilité de la classe positive.
- N valeurs, activation softmax : classification à N classes. Les sorties sont des probabilités dont la somme fait 1.
Et il faut le rappeler, parce que c'est la source de bien des malentendus : cette sortie est une distribution, pas une décision. Choisir la classe la plus probable, ou comparer à un seuil, est une opération effectuée par le code autour du modèle. Ce seuil est un levier gratuit, comme l'expliquait le cours de machine learning.
Ce qu'un neurone n'est pas
Une mise au point, parce que l'analogie biologique fait plus de dégâts qu'elle n'aide passé le premier contact.
Un neurone biologique est une cellule vivante d'une complexité considérable : des milliers de synapses, une chimie interne, des dynamiques temporelles, une plasticité qu'on comprend encore mal. Un neurone artificiel est une somme pondérée suivie d'une fonction à une ligne.
L'inspiration a été historique et réelle. La ressemblance s'arrête là. Un réseau de neurones ne « pense » pas plus qu'une régression linéaire ; il calcule, en beaucoup plus grand.
En trois phrases
Un neurone artificiel pondère ses entrées, les additionne avec un biais, et fait passer le résultat dans une fonction d'activation : les poids et le biais sont exactement ce que l'entraînement ajuste. La fonction d'activation est indispensable parce que sans elle, la composition de couches linéaires reste linéaire et cent couches valent une seule. ReLU, malgré sa simplicité extrême, a supplanté les fonctions plus élégantes parce qu'elle ne fait pas disparaître le gradient, ce qui a contribué à rendre les réseaux profonds entraînables.