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 pour la formation des réseaux de neurones artificiels (NN), en particulier dans le domaine de l'apprentissage profond (DL). Il sert de mécanisme central permettant aux modèles d'apprendre de leurs erreurs pendant le processus de formation du modèle. L'algorithme calcule efficacement la contribution de chaque paramètre (comme les poids et les biais du modèle ) au sein du réseau à l'erreur globale observée dans les prédictions du modèle. Cette information sur le gradient est ensuite utilisée par les algorithmes d'optimisation pour ajuster les paramètres de façon itérative, améliorant ainsi progressivement les performances et la précision du modèle.

Comment fonctionne la rétropropagation

Le processus de rétropropagation suit généralement un passage initial vers l'avant où les données d'entrée circulent dans le réseau pour générer une prédiction. Après avoir comparé la prédiction à la valeur cible réelle à l'aide d'une fonction de perte, l'algorithme de rétropropagation s'exécute en deux phases principales :

  1. Passage en avant : Les données d'entrée sont introduites dans le réseau neuronal, passant par des couches de neurones, chacune appliquant ses poids, ses biais et une fonction d'activation (comme ReLU ou Sigmoïde), jusqu'à ce qu'une prédiction de sortie soit générée.
  2. Passage à rebours : L'algorithme calcule l'erreur (la différence entre la prédiction et la valeur réelle) à l'aide de la fonction de perte choisie. Il propage ensuite ce signal d'erreur vers l'arrière à travers le réseau, couche par couche. En utilisant la règle de la chaîne du calcul, il calcule le gradient de la fonction de perte par rapport à chaque poids et à chaque biais du réseau. Ce gradient représente l'impact d'une petite modification de chaque paramètre sur l'erreur globale. Pour une compréhension visuelle, des ressources comme "Calculus on Computational Graphs" offrent des explications utiles.

Une fois les gradients calculés, un algorithme d'optimisation, tel que la descente de gradient ou des variantes comme la descente de gradient stochastique (SGD) ou l'optimiseur Adam, utilise ces gradients pour mettre à jour les weights and biases du réseau. L'objectif est de minimiser la fonction de perte, en apprenant au réseau à faire de meilleures prédictions au cours des époques successives.

Importance dans l'apprentissage profond

La rétropropagation est indispensable à l'apprentissage profond moderne. Son efficacité dans le calcul des gradients rend l'entraînement d'architectures très profondes et complexes réalisable sur le plan informatique. Cela inclut des modèles tels que les réseaux neuronaux convolutifs (CNN), qui excellent dans les tâches de vision par ordinateur (VA), et les réseaux neuronaux récurrents (RNN), couramment utilisés pour les données séquentielles comme dans le traitement du langage naturel (NLP). Sans la rétropropagation, il serait impossible d'ajuster les millions de paramètres des grands modèles comme le GPT-4 ou ceux formés sur des ensembles de données massifs comme ImageNet. Elle permet aux modèles d'apprendre automatiquement des caractéristiques complexes et des représentations hiérarchiques à partir des données, ce qui sous-tend de nombreuses avancées en matière d'intelligence artificielle depuis sa popularisation, comme l'expliquent en détail les ressources couvrant l 'histoire de l'apprentissage profond (Deep Learning). Des outils comme PyTorch et TensorFlow s'appuient fortement sur des moteurs de différenciation automatique qui mettent en œuvre la rétropropagation.

Algorithmes de rétropropagation et d'optimisation

Il est important de distinguer la rétropropagation des algorithmes d'optimisation. La rétropropagation est la méthode utilisée pour calculer les gradients (la contribution à l'erreur de chaque paramètre). Les algorithmes d'optimisation, quant à eux, sont les stratégies qui utilisent ces gradients calculés pour mettre à jour les paramètres du modèleweights and biases) afin de minimiser la perte. La rétropropagation fournit la direction de l' amélioration, tandis que l'optimiseur détermine la taille du pas(taux d'apprentissage) et la manière de la mise à jour.

Applications dans le monde réel

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

  1. Détection d'objets avec Ultralytics YOLO: Lors de la formation d'un système de détection d'objets, il est important de prendre en compte les besoins de l'utilisateur. Ultralytics YOLO (comme YOLOv8 ou YOLO11) pour la détection d'objets sur un ensemble de données tel que COCO, la rétropropagation est utilisée à chaque itération d'apprentissage. Après que le modèle ait prédit les boîtes de délimitation et les classes, la perte (par exemple, en comparant les boîtes prédites à la vérité terrain) est calculée. La rétropropagation calcule les gradients de tous les poids dans l'épine dorsale et la tête de détection du modèle. Un optimiseur utilise ensuite ces gradients pour ajuster les poids, améliorant ainsi la capacité du modèle à localiser et à classer les objets avec précision. Les utilisateurs peuvent s'appuyer sur des plateformes comme Ultralytics HUB pour gérer ce processus de formation, en bénéficiant d'implémentations efficaces de la rétropropagation. Ceci est crucial pour les applications allant des véhicules autonomes aux systèmes de sécurité.
  2. Modèles de traitement du langage naturel: Les grands modèles de langage (LLM) tels que les modèles BERT et GPT sont formés à l'aide de la rétropropagation. Par exemple, dans une tâche d'analyse des sentiments, le modèle prédit le sentiment (positif, négatif, neutre) d'un texte donné. La différence entre le sentiment prédit et l'étiquette réelle se traduit par une valeur d'erreur. La rétro-propagation calcule dans quelle mesure chaque paramètre du vaste réseau a contribué à cette erreur. Des algorithmes d'optimisation mettent ensuite à jour ces paramètres, ce qui permet au modèle de mieux comprendre les nuances linguistiques, le contexte et le sentiment au cours de la formation. Des groupes de recherche universitaires tels que le groupe NLP de Stanford explorent et affinent continuellement ces techniques.
Tout lire