Propagation arrière (Backpropagation) : comment l’IA traque l’« intrus » de l’erreur (avec la règle de la chaîne)
1. Introduction : l’intrus se cache ici
Dans l’article précédent, nous avons vu que la dérivation est « un compas qui indique dans quelle direction tourner les paramètres pour réduire l’erreur ».
Mais le deep learning a un problème majeur : le modèle est trop profond.
Il y a des dizaines, voire des centaines de couches entre l’entrée et la sortie.
Situation : la couche de sortie déclenche une erreur (Loss) de 10 points par rapport à la vérité.
Problème : qui est réellement fautif ?
On ne sait pas si c’est un paramètre proche de l’entrée qui a provoqué un effet de papillon, ou un paramètre juste avant la sortie qui a fait un mauvais tour de magie.
C’est là que le deep learning trouve l’intrus de façon très astucieuse : « blâmer celui qui vient juste après » (règle de la chaîne).
2. Règle de la chaîne : la définition mathématique de la « responsabilité »
Dans les manuels de mathématiques, la règle de la chaîne s’écrit ainsi.
$$\frac{dz}{dx} = \frac{dz}{dy} \cdot \frac{dy}{dx}$$
Pour nous, développeurs, c’est juste une formule, mais du point de vue de la gestion d’équipe, c’est « la répartition de la responsabilité ».
Imaginez un processus de validation : Chef d’équipe (entrée) -> Responsable (couche cachée) -> Directeur (sortie).
- Le directeur (sortie) fait un gros échec (erreur).
- Il ne veut pas assumer la responsabilité, alors il analyse : « Le rapport fourni par le responsable était mauvais, c’est pour ça que mon résultat est mauvais » ($\frac{dz}{dy}$ : combien mon résultat a été affecté par le responsable).
- Le responsable se plaint : « Le chef d’équipe a fourni des données de base défectueuses, donc mon rapport est aussi défectueux » ($\frac{dy}{dx}$ : combien mon résultat a été affecté par le chef d’équipe).
Finalement, l’impact du chef d’équipe sur le projet global ($\frac{dz}{dx}$) se calcule comme (responsabilité du directeur envers le responsable) × (responsabilité du responsable envers le chef d’équipe).
C’est exactement la règle de la chaîne.
3. Propagation arrière (Backpropagation) : le débogage qui brûle à l’envers
Cette procédure de « blâmer » s’étend à l’ensemble du système : c’est la propagation arrière.
- Forward (propagation avant) : on introduit les données et on obtient un résultat. (On fait le travail.)
- Calcul de la perte : on compare à la vérité et on mesure l’écart. (Un incident.)
- Backward (propagation arrière) : on remonte de la couche de sortie vers l’entrée, en disant : « Grâce à toi, l’erreur est de X ».
Pour un développeur, c’est exactement l’équivalent d’un stack trace lu à l’envers pour trouver la cause première.
On commence par le message d’erreur final (Loss), puis on remonte couche par couche, comme si on faisait un git blame.
4. Autograd de PyTorch : l’équipe d’audit automatisée
Quand on code du deep learning avec numpy, le plus pénible est de dériver à la main chaque expression. (On perd la tête à cause des dérivées matricielles.)
PyTorch est génial parce qu’il trace tout ce processus de responsabilité sur un graph de calcul et le fait automatiquement.
- Dès que vous appelez
loss.backward(), - Le moteur Autograd (l’équipe d’audit) se met en route.
- Il parcourt le graph à l’envers, couche par couche, en appliquant la règle de la chaîne (multiplication).
- Puis il attribue à chaque paramètre (Weight) une part de responsabilité (Gradient), par ex.
0.003.
Vous n’avez qu’à appliquer la mise à jour (optimizer.step()) avec ces gradients.
5. Conclusion : mais que se passe‑t‑il si la responsabilité disparaît ? (Vanishing Gradient)
Même ce système impeccable a une faiblesse critique.
En multipliant sans cesse, si le réseau est trop profond, la responsabilité peut devenir nulle.
« Ce n’est pas ma faute » × 0.1 × 0.1 × 0.1 … = 0.0001 … et ainsi de suite, jusqu’à ce que les couches initiales reçoivent un signal « il n’y a rien à corriger (Gradient = 0) ».
C’est le fameux problème de gradient qui disparaît (Vanishing Gradient). Comment l’IA moderne l’a résolu ? (Indice : ReLU et ResNet)

Aucun commentaire.