Aller au contenu

Rétropropagation

La Rétropropagation (Backpropagation) est le moteur mathématique de tout le Deep Learning moderne. C’est l’algorithme qui permet à un réseau de neurones de modifier ses millions (ou milliards) de paramètres pour réduire ses erreurs. Sans lui, l’apprentissage profond n’existerait pas.

L’Idée Fondamentale

Quand un réseau de neurones fait une erreur, la rétropropagation répond à la question : “De combien chaque paramètre a-t-il contribué à cette erreur, et dans quelle direction doit-il changer ?”

Le Processus Complet

graph LR
    subgraph Forward["Passe Avant"]
        I[Entrée<br/>Image] --> H1[Couche 1]
        H1 --> H2[Couche 2]
        H2 --> H3[Couche N]
        H3 --> O[Sortie<br/>Prédiction]
    end
    
    subgraph Loss["Calcul d'Erreur"]
        O --> L[Fonction de Perte<br/>Écart avec réalité]
    end
    
    subgraph Backward["Passe Arrière"]
        L --> G3[Gradient N]
        G3 --> G2[Gradient 2]
        G2 --> G1[Gradient 1]
    end
    
    subgraph Update["Mise à Jour"]
        G1 --> W1[Ajuster Poids 1]
        G2 --> W2[Ajuster Poids 2]
        G3 --> W3[Ajuster Poids N]
    end
    
    style Forward fill:#667eea20,stroke:#667eea
    style Backward fill:#f59e0b20,stroke:#f59e0b

Les 4 Phases

  1. Forward Pass (Passe Avant)

    • Les données traversent le réseau couche par couche
    • Chaque neurone applique ses poids et sa fonction d’activation
    • On obtient une prédiction finale
  2. Calcul de la Perte (Loss)

    • On compare la prédiction avec la vraie réponse
    • Une fonction de perte quantifie l’erreur (ex: MSE, Cross-Entropy)
    • Plus la perte est haute, plus on s’est trompé
  3. Backward Pass (Rétropropagation)

    • On calcule le gradient de la perte par rapport à chaque poids
    • On remonte de la sortie vers l’entrée (d’où “rétro”)
    • La règle de la chaîne (Chain Rule) propage les gradients
  4. Mise à Jour des Poids

    • Chaque poids est ajusté dans la direction qui réduit l’erreur
    • L’amplitude dépend du learning rate (taux d’apprentissage)
    • On répète sur des milliers d’exemples

Histoire

La rétropropagation a une histoire mouvementée :

AnnéeÉvénement
1960sPremières formulations théoriques
1974Paul Werbos dans sa thèse (ignorée)
1986Geoffrey Hinton, Rumelhart et Williams publient le papier fondateur
2006Hinton relance le Deep Learning
2012AlexNet prouve l’efficacité à grande échelle
Aujourd’huiUtilisé dans tous les réseaux de neurones

Problèmes et Solutions

Le Problème du Gradient Évanescent

Dans les réseaux très profonds, les gradients peuvent devenir si petits en remontant qu’ils “disparaissent”. Les premières couches n’apprennent plus.

Solutions :

  • ReLU au lieu de Sigmoid (gradients plus stables)
  • Batch Normalization (normalise les activations)
  • Connexions Résiduelles (ResNet : skip connections)

Le Problème du Gradient Explosif

L’inverse : les gradients deviennent énormes et déstabilisent l’entraînement.

Solutions :

  • Gradient Clipping (couper les gradients trop grands)
  • Initialisation soignée (Xavier, He)

Pourquoi c’est Fondamental

Sans rétropropagation, il n’y aurait pas :

  • De réseaux de neurones profonds
  • De reconnaissance d’images
  • De traduction automatique
  • De LLM (GPT, Claude, Gemini)
  • D’IA générative

C’est littéralement l’algorithme qui fait “apprendre” les machines.

À retenir

  • La rétropropagation est l’algorithme qui permet aux réseaux de neurones d’apprendre.
  • Elle propage l’erreur de la sortie vers l’entrée via la règle de la chaîne.
  • Les poids sont ajustés pour réduire progressivement l’erreur.
  • Popularisée par Geoffrey Hinton en 1986, elle reste incontournable.
  • Des optimiseurs comme AdamW améliorent l’utilisation des gradients.

Notions liées