La rétropropagation (en anglais backpropagation) est l'algorithme qui permet à un réseau de neurones d'apprendre de ses erreurs. Imaginez un cuisinier qui goûte un plat raté : il remonte la chaîne des ingrédients pour identifier lequel doser autrement la prochaine fois. La rétropropagation fait pareil, mais avec les poids du réseau : elle calcule, couche par couche en remontant, dans quelle mesure chacun a contribué à l'erreur finale.
Le principe : propager l'erreur à l'envers
Lors de l'inférence, l'information circule de l'entrée vers la sortie (forward pass). On compare ensuite la prédiction à la vérité via une fonction de perte. La rétropropagation parcourt alors le réseau en sens inverse, distribuant la responsabilité de l'erreur à chaque poids.
Le cœur mathématique est la règle de dérivation en chaîne (chain rule). Pour un poids $w$, on calcule le gradient :
$$\frac{\partial L}{\partial w} = \frac{\partial L}{\partial a} \cdot \frac{\partial a}{\partial z} \cdot \frac{\partial z}{\partial w}$$
où $L$ est la perte, $a$ l'activation et $z$ la pré-activation.
Du gradient à l'apprentissage
La rétropropagation calcule les gradients ; c'est la descente de gradient qui met à jour les poids :
$$w \leftarrow w - \eta \frac{\partial L}{\partial w}$$
avec $\eta$ le taux d'apprentissage.
| Étape | Sens | Rôle |
|---|---|---|
| Forward pass | Entrée sortie | Calcule la prédiction |
| Calcul de la perte | Sortie | Mesure l'erreur |
| Backward pass | Sortie entrée | Calcule les gradients |
| Mise à jour | — | Ajuste les poids |
Sans rétropropagation, l'apprentissage profond moderne serait tout simplement impraticable : c'est elle qui rend l'entraînement de millions de paramètres efficace.