En partant de la dernière couche, un « passage arrière » différencie la fonction de perte pour calculer la contribution de chaque paramètre individuel du réseau à l'erreur globale pour une entrée unique.
Pour revenir à notre exemple précédent de modèle de classificateur, nous commencerons par les 5 neurones de la dernière couche, que nous appellerons couche L. La valeur softmax de chaque neurone de sortie représente la probabilité (sur 1) qu'une entrée appartienne à sa catégorie. Dans un modèle parfaitement entraîné, le neurone représentant la bonne classification aurait une valeur de sortie proche de 1, tandis que les autres neurones auraient des valeurs proches de 0.
Pour l'instant, nous nous concentrerons sur l'unité de sortie représentant la prédiction correcte, que nous appelleronl Lc. La fonction d'activation de Lc est une fonction composite qui contient les nombreuses fonctions d'activation imbriquées de l'ensemble du réseau neuronal, de la couche d'entrée à la couche de sortie. La minimisation de la fonction de perte implique de procéder à des ajustements dans l'ensemble du réseau afin de rapprocher la sortie de la fonction d'activation de Lc de 1.
Pour ce faire, nous devons savoir comment tout changement dans les couches précédentes modifiera la sortie de Lc . En d'autres termes, nous devons trouver les dérivées partielles de la fonction d'activation de Lc .
La sortie de la fonction d'activation de Lc dépend des contributions qu'elle reçoit des neurones de l'avant-dernière couche, que nous appellerons couche L-1. Une façon de modifier la sortie de Lc consiste à ajuster les poids entre les neurones de L-1 et Lc. En calculant la dérivée partielle de chaque poids de L-1 par rapport aux autres, nous pouvons voir comment l'augmentation ou la diminution de chacun d'eux rapprochera (ou éloignera) la sortie de Lc de 1.
Cependant, ce n'est pas la seule façon de modifier la sortie de Lc. Les contributions que Lc reçoit des neurones de L-1 sont déterminées non seulement par les pondérations appliquées aux valeurs de sortie de L-1, mais aussi par les valeurs de sortie elles-mêmes (avant pondération). Les valeurs de sortie des neurones de L-1, à leur tour, sont influencées par les poids appliqués aux entrées qu'ils reçoivent de L-2.Nous pouvons donc différencier les fonctions d'activation en L-1 pour trouver les dérivées partielles des poids appliqués aux contributions de L-2. Ces dérivées partielles nous montrent comment toute modification d'un poids en L-2 affectera les sorties en L-1, ce qui affectera ensuite la valeur de sortie de Lc et, par conséquent, la fonction de perte.
Selon la même logique, nous pourrions également influencer les valeurs de sortie que les neurones de L-1 reçoivent des neurones de L-2 en ajustant les contributions que les neurones de L-2 reçoivent des neurones de L-3. Nous trouvons donc les dérivées partielles dans L-3, et ainsi de suite, en répétant ce processus de manière récurrente jusqu'à ce que nous ayons atteint la couche d'entrée. Lorsque nous avons terminé, nous disposons du gradient de la fonction de perte : un vecteur de sa dérivée partielle pour chaque paramètre de poids et de biais dans le réseau.
Nous avons maintenant effectué un passage avant et un passage arrière pour un exemple d'entraînement. Cependant, notre objectif est d'entraîner le modèle à bien se généraliser à de nouvelles entrées. Pour ce faire, il faut s'entraîner sur un grand nombre d'échantillons qui reflètent la diversité et la gamme des entrées sur lesquelles le modèle sera chargé de faire des prédictions après l'entraînement.