Glossaire

Rétropropagation

Apprends comment la rétropropagation entraîne les réseaux neuronaux, réduit les taux d'erreur et alimente efficacement les applications d'IA telles que la reconnaissance d'images et le NLP.

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

La rétropropagation, abréviation de "rétropropagation des erreurs", est un algorithme fondamental utilisé pour la formation des réseaux de neurones artificiels, en particulier dans le cadre de l'apprentissage profond. C'est le moteur qui permet aux modèles d'apprendre de leurs erreurs en calculant efficacement dans quelle mesure chaque paramètre (poids et biais) du réseau a contribué à l'erreur globale des prédictions. Ces informations sont ensuite utilisées par les algorithmes d'optimisation pour ajuster les paramètres et améliorer les performances du modèle au fil du temps pendant l'entraînement du modèle.

Comment fonctionne la rétropropagation

Le processus comprend deux phases principales après une prédiction initiale :

  1. Passage en avant : Les données d'entrée sont transmises au réseau, couche par couche, en activant les neurones et en appliquant les poids du modèle jusqu'à ce qu'une sortie (prédiction) soit générée.
  2. Calcul de l'erreur : La différence entre la prédiction du réseau et la valeur cible réelle (vérité terrain) est calculée à l'aide d'une fonction de perte. Cette perte quantifie à quel point la prédiction était erronée. Une ressource courante pour comprendre cela est le chapitre du livre sur l'apprentissage profond consacré aux MLP.
  3. Passage à rebours : C'est ici que la rétropropagation se produit véritablement. En partant de la couche de sortie, l'algorithme calcule le gradient de la fonction de perte par rapport aux weights and biases chaque couche. Il utilise la règle de la chaîne du calcul pour propager efficacement le signal d'erreur vers l'arrière du réseau, couche par couche. Cela permet de déterminer dans quelle mesure chaque paramètre doit être modifié pour réduire l'erreur globale. Des visualisations telles que celles présentées dans "Calculus on Computational Graphs" peuvent aider à illustrer ce flux.
  4. Mise à jour des poids : les gradients calculés sont ensuite utilisés par un algorithme d'optimisation, tel que la descente de gradient ou des variantes plus avancées comme Adam, pour mettre à jour les weights and biases du réseau, poussant le modèle à faire de meilleures prédictions lors de l'itération suivante.

Importance dans l'apprentissage profond

La rétropropagation est fondamentale pour le succès de l'apprentissage profond moderne. Elle permet la formation d'architectures très profondes et complexes, telles que les réseaux neuronaux convolutifs (CNN) largement utilisés en vision par ordinateur, et les réseaux neuronaux récurrents (RNN) utilisés pour les données séquentielles comme le texte. Sans un moyen efficace de calculer les gradients comme le fait la rétropropagation, la formation de ces grands modèles serait infaisable sur le plan informatique. Il permet aux modèles d'apprendre automatiquement des caractéristiques et des relations complexes à partir de grandes quantités de données, formant la base de nombreuses avancées en matière d'IA depuis sa popularisation dans les années 1980, détaillée dans les ressources couvrant l'histoire de l'apprentissage profond.

Applications dans le monde réel

La rétropropagation est implicitement utilisée chaque fois qu'un modèle d'apprentissage profond est formé. Voici deux exemples :

  1. Détection d'objets : Modèles comme Ultralytics YOLO sont entraînés à l'aide de la rétropropagation. Lorsque le modèle identifie incorrectement un objet ou place une boîte de délimitation de façon imprécise dans une image provenant d'ensembles de données tels que COCO, la rétropropagation calcule les gradients nécessaires pour ajuster les poids du modèle, améliorant ainsi sa capacité à effectuer une détection d'objet précise.
  2. Traitement du langage naturel (NLP) : La formation de grands modèles de langage comme BERT ou GPT pour des tâches telles que la traduction automatique ou l'analyse des sentiments repose en grande partie sur la rétropropagation. Elle ajuste les paramètres du modèle pour minimiser la différence entre le texte généré et la sortie souhaitée, ce qui permet à ces modèles de comprendre et de générer un langage semblable à celui des humains. Le groupe NLP de Stanford propose de nombreuses ressources sur ces sujets.

Concepts apparentés

Bien qu'étroitement liée, la rétropropagation est distincte de la descente en gradient. La rétropropagation est l'algorithme qui permet de calculer les gradients de la fonction de perte en fonction des paramètres du réseau. La descente de gradient (et ses variantes) est l'algorithme d'optimisation qui utilise ces gradients calculés pour mettre à jour itérativement les paramètres et minimiser la perte. La rétropropagation peut parfois souffrir de problèmes tels que le problème du gradient disparaissant, en particulier dans les réseaux très profonds, bien que des techniques telles que l'utilisation de fonctions d'activation ReLU et de connexions résiduelles permettent d'atténuer ce problème.

Tout lire