Idée
Remonter la chaîne en sens inverse : on part de l'écart final et on regarde de quoi il dépend, étape par étape, jusqu'aux premiers réglages.
Pourquoi
Remonter la chaîne en sens inverse : on part de l'écart final, on regarde de quoi il dépend juste avant, puis de quoi cela dépendait juste avant, et on remonte jusqu'aux premiers réglages. Chaque maillon donne une dérivée locale, et le produit de tous les maillons donné la sensibilité du résultat à un réglage profond. C'est la règle de la chaîne $\frac{df}{dx} = \frac{df}{du} \cdot \frac{du}{dx}$ vue en analyse, étendue à une composition de longueur quelconque.
Outil
C'est la règle de la chaîne $\frac{df}{dx} = \frac{df}{du} \cdot \frac{du}{dx}$ vue en analyse, étendue à une composition de longueur quelconque.
Formule
Pour la dernière couche d'un réseau (ici $\ell = 2$), on pose $$dZ^{[2]} = \frac{\partial L}{\partial A^{[2]}} \cdot \frac{\partial A^{[2]}}{\partial Z^{[2]}}$$ comme abréviation des deux premiers maillons de la chaîne. Pour une couche plus profonde $\ell$, on définit récursivement $$dZ^{[\ell]} = dZ^{[\ell+1]} \cdot \frac{\partial Z^{[\ell+1]}}{\partial A^{[\ell]}} \cdot \frac{\partial A^{[\ell]}}{\partial Z^{[\ell]}}$$ ce qui simplifie l'écriture des gradients de tous les paramètres de la couche $\ell$. C'est une factorisation, pas un nouvel objet — exactement la même technique qu'isoler un facteur commun en algèbre.
Piège
Backprop = backward = on commence par la dernière couche, pas la première. Pourquoi ? Parce que $\partial L/\partial W^{[1]}$ requiert $\partial L/\partial Z^{[2]}$ (chain rule). Si on calcule W^{[1]} avant, on n'a pas encore Z^{[2]}'s gradient. L'ordre est imposé par la chain rule : sortie → entrée.