Accueil – Chapitre approfondi 2

À la fin de ce chapitre, tu sauras : ce qu’est le gradient de la fonction de coût, ce que représente le vecteur d’erreur δ dans chaque couche, comment fonctionne l’algorithme de rétropropagation (backpropagation) et pourquoi il est beaucoup plus rapide qu’une méthode naïve.

Dans le chapitre approfondi 1, tu as vu comment un réseau de neurones calcule une réponse à partir d’entrées, comment on mesure l’erreur avec une fonction de coût et comment la descente de gradient ajuste les poids. Les chapitres 4 et 5 en ont déjà parlé (intuition et calcul avec la règle de la chaîne). Ici, on va plus loin : on donne les quatre équations de base et l’algorithme complet de la rétropropagation, et pourquoi il est beaucoup plus rapide qu’une méthode naïve.

Parcours du chapitre (en une image)

Rappel réseau Coût & gradient Hadamard Équations δ Algorithme complet

En résumé : ce chapitre explique, pas à pas, comment l’erreur en sortie se propage en arrière dans toutes les couches et comment cela donne le gradient exact pour tous les poids et biais.

Lexique

Objectif : connaître les nouveaux mots du chapitre (gradient, dérivée partielle, produit de Hadamard, vecteur d’erreur δ, rétropropagation, différence finie, etc.).

Gradient ∇C
Vecteur qui regroupe toutes les dérivées partielles de la fonction de coût C par rapport aux paramètres (poids, biais). Il indique dans quelle direction C augmente le plus vite ; pour l’apprentissage, on va dans la direction opposée.
Dérivée partielle
Variation d’une fonction quand on bouge un seul paramètre (par exemple un poids wjk) et qu’on garde les autres fixés.
Produit de Hadamard s ⊙ t
Produit composante par composante de deux vecteurs de même taille : (s ⊙ t)j = sj·tj. À ne pas confondre avec une multiplication matrice×vecteur.
Erreur δl
Vecteur qui mesure « combien » chaque neurone de la couche l contribue encore à l’erreur totale. Plus |δ| est grand, plus il y a de chose à corriger.
Rétropropagation (backpropagation)
Algorithme qui calcule efficacement le gradient de la fonction de coût en partant de l’erreur en sortie et en la propageant en arrière dans le réseau.
Différence finie
Méthode naïve pour approximer une dérivée : on calcule C(w+ε) et C(w), puis on regarde le quotient (C(w+ε) − C(w))/ε. Correct mais très lent pour un grand réseau.

Rappel : réseau feedforward et coût

Objectif : se rappeler comment on calcule les activations al couche par couche et comment on définit le coût C pour un exemple.

On considère un réseau feedforward (sans boucle) avec une fonction d’activation sigmoïde σ. Pour chaque couche l (sauf l’entrée), on calcule :

zl = wl · al-1 + bl puis al = σ(zl).

Pour un exemple (x, y), on obtient en sortie aL (prédiction du réseau) et on mesure l’erreur avec la fonction de coût quadratique :

C = (1/2) · ‖y − aL‖².

Mini-réseau 2 → 2 → 1 : ajuste les entrées et regarde comment la sortie et le coût changent.

Entrées : x1 =   x2 =

Cible y =

Sortie aL = 0.5   Coût C = 0.00

En résumé : un réseau calcule successivement zl, al, puis on mesure l’erreur entre y et aL avec une fonction de coût comme C = (1/2)‖y − aL‖².

Hypothèses sur la fonction de coût

Objectif : comprendre pourquoi on peut calculer le gradient exemple par exemple puis moyenner.

Pour utiliser la rétropropagation, on fait deux hypothèses simples :

  • 1. Coût moyen : le coût total C est une moyenne des coûts Cx pour chaque exemple x : C = (1/n) Σx Cx.
  • 2. Coût par exemple : pour un exemple x, le coût Cx ne dépend que des sorties du réseau aL(x) et de la cible y(x) (qui est fixée).

On peut donc calculer le gradient pour un seul exemple (ou un mini-batch) et ensuite faire la moyenne sur plusieurs exemples.

Coût moyen sur quelques exemples : déplace les valeurs et regarde la moyenne.

Cx1 =   Cx2 =   Cx3 =

Nombre d'exemples n =

C = (1/n) Σ Cx0.00

En résumé : le coût total est une moyenne de coûts individuels, et chaque coût individuel dépend seulement des sorties du réseau. Cela permet de calculer le gradient sur un exemple, puis de moyenner.

Le produit de Hadamard

Objectif : distinguer clairement le produit de Hadamard (⊙) du produit matrice×vecteur.

Le produit de Hadamard de deux vecteurs s et t de même taille est le vecteur s ⊙ t obtenu en multipliant composante par composante :

(s ⊙ t)j = sj · tj.

Essaie le produit de Hadamard :

s = [, , ]

t = [, , ]

s ⊙ t = [3, 8, 15]

En résumé : s ⊙ t multiplie les composantes deux à deux. On l’utilise dans les équations de rétropropagation pour appliquer σ′(z) à chaque neurone séparément.

Les équations de la rétropropagation

Objectif : comprendre les quatre équations qui relient les erreurs δ et le gradient des poids et biais.

On note δl le vecteur d’erreur pour la couche l. Intuitivement, δlj mesure à quel point le neurone j de la couche l doit encore être corrigé.

  • Erreur en sortie : δL = (aL − y) ⊙ σ′(zL)
  • Propagation vers l’arrière : δl = ((wl+1)T δl+1) ⊙ σ′(zl)
  • Biais : ∂C/∂blj = δlj
  • Poids : ∂C/∂wljk = al−1k · δlj

Erreur en sortie : δL = (aL − y) · σ′(zL).

aL =   y =   zL =

σ′(zL) = 0.00   δL = 0.00

Propagation en arrière : calcule δ2 à partir de δ3 et des poids.

δ3 = []   w3 = [w1, w2] = [, ]

z2 = [z1, z2] = [, ]

δ2 = [0.00, 0.00]

En résumé : une fois que l’on connaît δ en sortie, ces quatre équations permettent de calculer tous les δ dans le réseau et ensuite toutes les dérivées par rapport aux poids et aux biais.

L’algorithme de rétropropagation

Objectif : voir l’algorithme complet étape par étape, pour un exemple puis pour un mini-batch.

  1. Entrée : on fixe x et on met a1 = x.
  2. Feedforward : pour chaque couche l, on calcule zl puis al = σ(zl).
  3. Erreur en sortie : on calcule δL avec la formule de la couche de sortie.
  4. Retour en arrière : pour l = L−1, …, 2 on calcule δl avec la formule de propagation.
  5. Gradient : pour chaque couche l, on obtient ∂C/∂bl et ∂C/∂wl à partir de δl et al−1.

Pour un mini-batch de plusieurs exemples, on répète ces étapes pour chaque exemple puis on moyenne les gradients avant de mettre à jour les poids et biais.

Gradient d’un poids unique : ∂C/∂w = ain · δout.

ain =   δout =

∂C/∂w = 0.18

En résumé : la rétropropagation applique toujours le même schéma : feedforward pour obtenir les activations, puis propagation de l’erreur vers l’arrière, puis calcul des dérivées de C par rapport à tous les poids et biais.

Pourquoi la rétropropagation est rapide ?

Objectif : comparer le coût en calculs d’une méthode naïve par différences finies et de la rétropropagation.

Une idée naïve pour obtenir ∂C/∂wj est de calculer :

∂C/∂wj ≈ (C(w + εej) − C(w)) / ε,

c’est-à-dire de refaire presque tout le calcul du réseau pour chaque poids. Si on a 1 000 000 de poids, il faut ~1 000 001 passages, ce qui est énorme.

Méthode naïve vs rétropropagation :

Nombre de poids (approx.) :

Passages réseau méthode naïve ≈ 1000001

Passages réseau rétropropagation ≈ 2 (1 aller + 1 retour)

En résumé : la rétropropagation partage les calculs entre toutes les dérivées : au lieu d’un passage par poids, on obtient tout le gradient avec seulement un passage avant et un passage arrière.

Exercices

Objectif : s’entraîner à manipuler δ, le gradient et les idées de rétropropagation.

Exercice 1 – Gradient d’un poids

Énoncé : dans un neurone simple, on a sortie a = σ(wx + b), coût C = (1/2)(a − y)². Montrer que ∂C/∂w est proportionnel à x · δ, où δ est l’erreur en sortie.

x =   δ =

x · δ = 0.20

Exercice 2 – δ en couche cachée

Énoncé : pour une couche cachée de deux neurones, expliquer pourquoi δ2j dépend d’un mélange des erreurs de la couche suivante pondérées par les poids, puis de σ′(z2j).

Calcule δ2j étape par étape :

δ31 =   δ32 =

w1 =   w2 =

z2j =

(w1·δ31 + w2·δ32) = 0.00

σ′(z2j) = 0.00   δ2j = 0.00

Exercice 3 – Méthode naïve vs rétropropagation

Énoncé : pour un réseau avec 10 000 poids, combien de passages complets du réseau faut-il :

  • avec la méthode naïve (différences finies),
  • avec la rétropropagation ?

Utilise le widget de la section Comparaison naïve pour vérifier tes réponses.

Refais le calcul pour 10 000 poids :

Nombre de poids ≈

Passages réseau méthode naïve ≈ 10001

Passages réseau rétropropagation ≈ 2

En résumé : ces exercices t’aident à relier les formules (∂C/∂w, δl) à des raisonnements concrets.

Quiz

Objectif : vérifier que tu as compris le rôle de δ, du gradient et de la rétropropagation.

Choisis un quiz :

Fiche enseignant

Fiche pédagogique pour le chapitre approfondi 2 : objectifs, niveau, durée, pistes de correction des exercices et idées de discussion autour de la rétropropagation.