Rétropropagation dans les réseaux de neurones : algorithme d’apprentissage automatique et exemple
⚡ Résumé intelligent
La rétropropagation est l'algorithme d'entraînement principal d'un réseau neuronal, ajustant finement chaque poids à partir de l'erreur mesurée lors de l'époque précédente afin que le modèle généralise mieux sur des données non vues, une couche à la fois.
Qu'est-ce qu'un réseau de neurones artificiels ?
Un réseau de neurones artificiels est un ensemble d'unités d'entrée/sortie interconnectées, chaque connexion ayant un poids. Il permet de construire des modèles prédictifs à partir de vastes bases de données et s'inspire du système nerveux humain. Ce type de réseau prend en charge la compréhension d'images, l'apprentissage automatique, la synthèse vocale et de nombreuses autres tâches de reconnaissance de formes.
La rétropropagation est l'algorithme qui détermine quelles doivent être ces pondérations ; il est donc préférable de considérer ces deux idées conjointement.
Qu'est-ce que la rétropropagation ?
La rétropropagation est essentielle à l'apprentissage des réseaux de neurones. Il s'agit d'une méthode d'ajustement fin des poids d'un réseau de neurones en fonction du taux d'erreur obtenu lors de l'itération précédente. Un ajustement précis des poids permet de réduire les taux d'erreur et d'améliorer la fiabilité du modèle en augmentant sa capacité de généralisation.
La rétropropagation dans un réseau neuronal est une forme abrégée de « propagation vers l'arrière des erreurs ». Il s'agit d'une méthode standard de formation de réseaux de neurones artificiels. Cette méthode permet de calculer le gradient d'une fonction de perte par rapport à tous les poids du réseau.
Deux termes sont souvent confondus. La rétropropagation uniquement calcule le gradient ; un optimiseur tel que la descente de gradient est ce qui en fait change Les poids sont calculés à l'aide de ce gradient. Presque tous les frameworks modernes effectuent automatiquement la rétropropagation grâce à leur moteur de différence automatique.
Comment fonctionne l'algorithme de rétropropagation
L'algorithme de rétropropagation du gradient dans un réseau de neurones calcule le gradient de la fonction de perte pour un poids donné, selon la règle de la chaîne. Il traite efficacement les données couche par couche, contrairement à un calcul direct naïf. Il calcule le gradient, mais ne précise pas son utilisation. Il généralise ce calcul dans la règle delta.
C'est la règle de la chaîne qui rend ce système efficace. L'influence d'un poids initial sur la perte finale est le produit des dérivées locales le long du chemin vers la sortie ; ainsi, l'algorithme met en cache le résultat intermédiaire de chaque couche lors du retour et le réutilise pour chaque poids de la couche inférieure au lieu de recalculer l'ensemble du réseau pour chaque poids.
Pour mieux comprendre, prenons l'exemple du schéma de réseau de neurones à rétropropagation suivant. La figure tracen une seule passe complète : les entrées arrivent par la gauche, les activations se déplacent vers l’avant à travers la couche cachée jusqu’à la sortie, et l’erreur mesurée remonte ensuite le long des mêmes connexions pour corriger les poids.
- Entrées X, arrivent par le chemin préconnecté
- L'entrée est modélisée à l'aide de poids réels W. Les poids sont généralement sélectionnés de manière aléatoire.
- Calculez la sortie pour chaque neurone depuis la couche d'entrée, jusqu'aux couches cachées, jusqu'à la couche de sortie.
- Calculer l'erreur dans les résultats :
ErrorB= Actual Output – Desired Output
- Revenez de la couche de sortie à la couche cachée pour ajuster les pondérations de manière à réduire l'erreur.
- Répétez le processus jusqu'à obtenir le résultat souhaité.
De nombreux manuels scolaires écrivent la même quantité que souhaité moins réelLes deux conventions fonctionnent, car le signe est absorbé lors de la soustraction de l'optimiseurtracc'est le gradient, à condition de conserver une convention unique sur l'ensemble du réseau.
En pratique, l'erreur est rarement une simple sous-routine.tracUne fonction de perte, telle que l'erreur quadratique moyenne pour la régression ou l'entropie croisée pour la classification, convertit les différences par sortie en un nombre unique que la rétropropagation du gradient calcule réellement.
Pourquoi avons-nous besoin d’une rétropropagation ?
Les avantages les plus importants de la rétropropagation sont :
- La rétropropagation est rapide, simple et facile à programmer
- Il n'ajoute aucun nouveau paramètre ; le réglage que vous effectuez relève de l'optimiseur et du réseau, principalement le taux d'apprentissage et le nombre d'entrées.
- C'est une méthode flexible car elle ne nécessite aucune connaissance préalable du réseau.
- C'est une méthode standard qui fonctionne généralement bien
- Il n’est pas nécessaire de mentionner spécialement les caractéristiques de la fonction à apprendre.
En clair, sans moyen efficace d'obtenir des gradients, l'entraînement d'un réseau plus profond qu'une seule couche serait impraticable sur le plan informatique.
Qu’est-ce qu’un réseau Feed Forward ?
Un réseau neuronal feedforward est un réseau neuronal artificiel dans lequel les nœuds ne forment jamais un cycle. Ce type de réseau neuronal comporte une couche d’entrée, des couches cachées et une couche de sortie. Il s’agit du premier et du plus simple type de réseau neuronal artificiel.
Cette distinction est importante ici car la propagation avant de la rétropropagation est exactement une propagation avant ; seule la correction d'erreur s'effectue dans la direction opposée.
Types de réseaux de rétropropagation
Il existe deux types de réseaux de rétropropagation :
- Rétropropagation statique
- Rétropropagation récurrente
Rétropropagation statique
Il s'agit d'un type de réseau de rétropropagation qui produit une carteping Il s'agit d'une entrée statique pour une sortie statique. Cette méthode est utile pour résoudre des problèmes de classification statique comme la reconnaissance optique de caractères.
Rétropropagation récurrente
Rétropropagation récurrente dans data mining Le signal est propagé jusqu'à l'obtention d'une valeur fixe. Ensuite, l'erreur est calculée et propagée en sens inverse.
La principale différence entre ces deux méthodes est que la carteping La rétropropagation est rapide en statique, tandis qu'elle est non statique en récurrence. Le tableau ci-dessous compare les deux.
| Critère | Rétropropagation statique | rétropropagation récurrente |
|---|---|---|
| Carteping | Entrée statique vers sortie statique | Non statique ; le réseau se stabilise avant que l’erreur ne soit utilisée. |
| Speed | Rapide, un seul passage par échantillon | L'activation est itérée plus lentement jusqu'à stabilisation. |
| Forme du réseau | Progression sans cycles | Contient des connexions de rétroaction |
| Utilisation typique | Reconnaissance optique de caractères, classification à taille fixe | Problèmes dont le résultat dépend d'un état interne stable |
Histoire de la rétropropagation
- En 1961, le concept de base de la rétropropagation continue a été dérivé dans le contexte de la théorie du contrôle par J. Kelly, Henry Arthur et E. Bryson.
- En 1969, Bryson et Ho ont proposé une méthode d’optimisation de système dynamique en plusieurs étapes.
- En 1970, Seppo Linnainmaa a publié le mode inverse de la différentiation automatique, la méthode de calcul sur laquelle repose la rétropropagation moderne.
- En 1974, Werbos évoquait la possibilité d'appliquer ce principe dans un réseau de neurones artificiels.
- En 1982, Hopfield a présenté son idée de réseau neuronal.
- En 1986, grâce aux efforts de David E. Rumelhart, Geoffrey E. Hinton et Ronald J. Williams, la rétropropagation a été reconnue.
- En 1989, Yann LeCun et ses collègues ont entraîné un réseau convolutif avec rétropropagation pour lire des chiffres manuscrits, l'une des premières applications pratiques à grande échelle.
- En 1993, Wan a été la première personne à remporter un concours international de reconnaissance de formes grâce à la méthode de rétropropagation.
- En 2006, les travaux de Hinton sur les réseaux de croyances profonds et le pré-entraînement couche par couche ont relancé l'intérêt pour l'entraînement des réseaux profonds, qui avait stagné en raison de la disparition des gradients.
- En 2010, Xavier Glorot et Yoshua Bengio ont analysé pourquoi les réseaux profonds étaient difficiles à entraîner et ont introduit une initialisation des poids améliorée, qui, associée aux activations ReLU, a rendu la rétropropagation profonde pratique.
- En 2012, AlexNet (Krizhevsky, Sutskever et Hinton) a remporté le concours ImageNet en utilisant la rétropropagation accélérée par GPU, déclenchant le boom moderne de l'apprentissage profond.
- En 2014, l'optimiseur Adam (Kingma et Ba) a été introduit et est rapidement devenu la variante de descente de gradient par défaut utilisée avec la rétropropagation.
- En 2015, la normalisation par lots et les réseaux résiduels (ResNet) ont résolu les problèmes de flux de gradient dans les réseaux très profonds, permettant la rétropropagation à travers des centaines de couches.
- Entre 2015 et 2017, TensorFlow et PyTorch a fait de la différentiation automatique une fonctionnalité standard du logiciel, de sorte que les gradients n'avaient plus besoin d'être calculés manuellement.
- L'architecture Transformer a été introduite en 2017 et est entraînée de bout en bout par rétropropagation, tout comme les grands modèles de langage construits sur elle.
- En 2019, Bengio, Hinton et LeCun ont reçu le prix ACM AM Turing pour leurs travaux sur les réseaux neuronaux profonds.
- En 2020, l'article « Backpropagation and the Brain » (Lillicrap, Santoro, Marris, Akerman et Hinton) a avancé que le cerveau pourrait se rapprocher d'un apprentissage de type rétropropagation, relançant ainsi le débat sur la plausibilité biologique.
- En 2022, Hinton a proposé l'algorithme Forward-Forward, une méthode d'entraînement qui évite complètement le retour en arrière.
- En 2024, John Hopfield et Geoffrey Hinton ont reçu le prix Nobel de physique pour leurs découvertes fondamentales qui ont permis l'apprentissage automatique grâce aux réseaux neuronaux artificiels.
- En 2025, les méthodes forward-forward ont été étendues aux réseaux convolutionnels, démontrant que l'entraînement sans rétropropagation pouvait fonctionner pour les tâches de classification d'images.
- En 2026, la rétropropagation reste l'algorithme d'entraînement standard pour la quasi-totalité des modèles d'apprentissage profond, tandis que la recherche se poursuit sur des méthodes d'apprentissage sans gradient, locales et parallèles qui réduisent son coût en mémoire et en calcul.
Points clés de la rétropropagation
- Simplifie la structure du réseau en supprimant les liens pondérés qui ont le moins d'effet sur le réseau entraîné.
- Vous devez étudier un groupe de valeurs d'entrée et d'activation pour développer la relation entre les couches d'entrée et les unités cachées.
- Il permet d'évaluer l'impact d'une variable d'entrée donnée sur une sortie du réseau. Les connaissances acquises grâce à cette analyse doivent être représentées dans des règles.
- La rétropropagation est particulièrement utile pour les réseaux de neurones profonds travaillant sur des projets sujets aux erreurs, tels que la reconnaissance d'images ou de parole.
- La rétropropagation tire parti des règles de chaîne et de puissance, ce qui lui permet de fonctionner avec un nombre quelconque de sorties.
Meilleure pratique pour la rétropropagation
La rétropropagation dans un réseau de neurones peut être expliquée à l'aide de l'analogie du lacet de chaussure. Les mises à jour des poids se comportent comme la tension d'un lacet : trop faible et rien ne tient, trop forte et quelque chose casse.
| Tension de la dentelle | Ce que cela signifie pendant l'entraînement |
|---|---|
| Tension insuffisante | Insuffisamment contraignant et trop lâche — le modèle est sous-ajusté |
| Trop de tension | Trop de contraintes (surentraînement) ; processus trop lent ; risque accru de rupture |
| Tirer plus sur un lacet que sur l'autre | Malaise (biais) — une partie du réseau domine l'adéquation |
Deux habitudes pratiques découlent de cette analogie : adapter les entrées avant l’entraînement afin qu’aucune caractéristique ne soit plus déterminante que les autres, et surveiller la perte de validation afin de relâcher la tension avant que le surentraînement ne s’installe.
Inconvénients de l'utilisation de la rétropropagation
- Les performances réelles de la rétropropagation sur un problème spécifique dépendent des données d'entrée.
- L'algorithme de rétro-propagation dans l'exploration de données peut être très sensible aux données bruyantes
- Sur un mini-lot, la rétropropagation doit être implémentée avec une approche matricielle ;ping Le traitement par exemple, un à la fois, est nettement plus lent.
- Dans les réseaux profonds, la multiplication répétée de petites dérivées peut réduire les gradients à zéro, de sorte que les premières couches apprennent à peine — le problème de disparition du gradient décrit dans le Google Cours intensif d'apprentissage automatique.
Aucun de ces éléments n'exclut la méthode. Ce sont les raisons pour lesquelles les praticiens privilégient les activations ReLU, la normalisation et des stratégies d'apprentissage rigoureuses lorsqu'ils passent d'un réseau peu profond à un réseau plus complexe. l'apprentissage en profondeur .

