Réponse courte
La rétropropagation est une méthode pour entraîner un réseau de neurones à plusieurs couches : elle mesure à quel point la sortie est erronée, puis remonte le réseau à rebours pour calculer la part de chaque connexion dans l’erreur et ajuste légèrement chaque connexion pour la réduire. Une lettre de quatre pages de David Rumelhart, Geoffrey Hinton et Ronald Williams, publiée dans Nature le 9 octobre 1986, a montré que cela permet aux couches cachées d’inventer leurs propres caractéristiques utiles, et c’est devenu la façon standard dont les réseaux de neurones apprennent.
Question de suivi Les réseaux de neurones apprennent-ils encore aujourd’hui par rétropropagation?
Chaque fois qu’un téléphone reconnaît votre voix, qu’une application de photos trouve des visages ou qu’un modèle de langage comme GPT-2 termine une phrase, il utilise un réseau dont les connexions ont été réglées par la même procédure de base : la rétropropagation (backpropagation). L’idée est simple à énoncer. Faire une prédiction, mesurer l’erreur, puis remonter la responsabilité de cette erreur à rebours dans le réseau et ajuster un peu chaque connexion. Recommencer des millions de fois.
La méthode n’était pas toute neuve en 1986, mais une courte lettre dans la revue Nature l’a rendue célèbre. Intitulée « Learning representations by back-propagating errors » (apprendre des représentations par rétropropagation des erreurs), elle a paru dans le volume 323, aux pages 533 à 536, le 9 octobre 1986. Ses auteurs étaient David E. Rumelhart et Ronald J. Williams, de l’Institute for Cognitive Science de l’Université de Californie à San Diego, et Geoffrey E. Hinton, de l’Université Carnegie-Mellon à Pittsburgh. La revue l’a reçue le 1er mai et acceptée le 31 juillet 1986. Vous pouvez la trouver grâce à son DOI.
Quel problème a-t-elle résolu?
Un réseau de neurones est fait d’unités simples reliées par des liens pondérés. Certaines unités reçoivent l’entrée, d’autres donnent la sortie, et entre les deux, il peut y avoir des unités cachées, qui ne sont ni l’un ni l’autre. Les règles d’apprentissage antérieures, comme la procédure du perceptron des années 1960, ne pouvaient ajuster que les connexions menant directement à la sortie. Le livre Perceptrons de Marvin Minsky et Seymour Papert, paru en 1969 et cité par l’article, avait prouvé que certaines tâches d’apparence simple, comme repérer une symétrie, sont impossibles sans unités intermédiaires. Les unités cachées pouvaient en principe régler ce problème, mais personne n’avait de façon pratique et générale de décider ce qu’elles devaient apprendre.
La réponse de la lettre : le réseau peut le trouver lui-même. Avec la rétropropagation, les unités cachées en viennent à représenter des caractéristiques importantes du problème, des caractéristiques que personne n’a programmées. Les auteurs insistaient : c’est cette capacité à créer de nouvelles caractéristiques qui distinguait la méthode des anciennes, plus simples.
Comment fonctionne la rétropropagation?
L’entraînement se fait en deux passes.
- Passe avant. Une entrée est placée sur la couche du bas. Chaque unité additionne ses entrées pondérées et comprime le total en un nombre entre 0 et 1 à l’aide d’une courbe lisse en forme de S appelée la sigmoïde. Couche après couche, le signal atteint la sortie.
- Mesurer l’erreur. La sortie est comparée à la bonne réponse, et les carrés des différences sont additionnés.
- Passe arrière. À l’aide de la règle de dérivation en chaîne du calcul différentiel, le réseau calcule de combien un petit changement de l’entrée de chaque unité de sortie modifierait l’erreur. Il transmet ensuite cette sensibilité à rebours, le long de chaque connexion, à la couche du dessous, et ainsi de suite jusqu’en bas. À la fin, chaque poids a un nombre qui indique dans quel sens, et avec quelle force, il a poussé l’erreur.
- Ajuster. Chaque poids fait un petit pas dans la direction qui réduit l’erreur. C’est ce qu’on appelle la descente de gradient, comme descendre une colline dans le brouillard en sentant la pente sous ses pieds.
Un exemple concret : un poids, un pas
Prenons une seule unité avec une entrée de 1 et un poids de 0,5. La bonne réponse est 1.
| Étape | Calcul | Résultat |
|---|---|---|
| Passe avant | Entrée totale = 1 × 0,5; sigmoïde de 0,5 | Sortie ≈ 0,62 |
| Erreur | ½ × (0,62 − 1)² | Erreur ≈ 0,072 |
| Responsabilité de la sortie | Sortie moins cible | −0,38 |
| À travers la sigmoïde | −0,38 × 0,62 × (1 − 0,62) | ≈ −0,09 |
| Responsabilité du poids | −0,09 × l’entrée (1) | ≈ −0,09 |
| Mise à jour (taille du pas 0,5) | Nouveau poids = 0,5 − 0,5 × (−0,09) | ≈ 0,545 |
| Vérification | Sigmoïde de 0,545 | Sortie ≈ 0,633, plus près de 1 |
Dans un vrai réseau, le même calcul s’effectue pour tous les poids à la fois, et la responsabilité d’une unité cachée est la somme des responsabilités qui lui reviennent de toutes les unités du dessus.
À essayer : refaites le tableau dans un tableur pour cinq pas de plus et regardez la sortie se rapprocher peu à peu de 1. Puis changez la taille du pas pour 5 et voyez ce qui arrive à l’erreur.
Qu’a démontré l’article?
La lettre a montré la méthode sur deux petites tâches. Dans la première, un réseau de seulement deux unités cachées a appris à dire si une rangée de six entrées allumées ou éteintes était symétrique par rapport à son milieu, ce qu’aucune couche unique ne peut faire. Il lui a fallu 1 425 passages sur les 64 entrées possibles, et la solution trouvée utilisait des poids nets et équilibrés.
La deuxième tâche était plus frappante. Les auteurs ont dessiné deux arbres généalogiques, l’un anglais et l’autre italien, de 12 personnes chacun, et ont donné à un réseau à cinq couches des faits comme « la tante de Colin est Jennifer ». Après un entraînement sur 100 des 104 faits possibles, il a répondu correctement aux 4 qu’il n’avait jamais vus. En examinant les unités cachées, ils ont constaté que certaines en étaient venues à coder des caractéristiques comme la nationalité d’une personne, sa génération ou sa branche de la famille, dont aucune n’apparaissait explicitement dans l’entrée.
Les auteurs étaient francs sur les limites. Le paysage de l’erreur peut contenir des creux qui ne sont pas le point le plus bas, même si, en pratique, leurs réseaux y restaient rarement coincés. Ils signalaient que David Parker et Yann Le Cun avaient trouvé des variantes de façon indépendante, et ils prévenaient que, sous cette forme, la méthode n’était probablement pas la façon dont les vrais cerveaux apprennent.
Pourquoi a-t-elle compté?
L’idée avait une longue préhistoire. Des ingénieurs en automatique comme Henry Kelley et Arthur Bryson ont établi des méthodes apparentées vers 1960, Seppo Linnainmaa a publié la technique générale de la différentiation automatique en 1970, et Paul Werbos a proposé de l’appliquer aux réseaux de neurones dans sa thèse de 1974. Ce que la lettre de 1986 a ajouté, c’est une démonstration claire que les couches cachées apprennent des représentations internes porteuses de sens, présentée à un large public scientifique en même temps que l’influent ouvrage Parallel Distributed Processing, que la lettre cite aussi.
La lettre a fait de la rétropropagation la façon la plus connue d’entraîner des réseaux de neurones. L’intérêt a de nouveau diminué dans les années 2000, puis il est revenu en force dans les années 2010, quand des processeurs graphiques bon marché ont rendu possible l’entraînement de réseaux beaucoup plus grands.
Les réseaux de neurones apprennent-ils encore aujourd’hui par rétropropagation?
Oui. En 2020, presque tous les systèmes d’apprentissage profond sont entraînés par rétropropagation et descente de gradient : classificateurs d’images, systèmes de reconnaissance vocale, réseaux d’AlphaGo et modèles de langage comme GPT-2 et BERT de Google. Les bibliothèques logicielles modernes calculent la passe arrière automatiquement, si bien que les ingénieurs écrivent rarement le calcul différentiel à la main.
Les détails ont changé. Les réseaux ont maintenant des dizaines ou des centaines de couches au lieu de cinq, les unités utilisent souvent des fonctions plus simples que la sigmoïde, et l’entraînement fait appel à des versions raffinées de la descente de gradient qui adaptent la taille du pas. Mais la boucle de base, passe avant, erreur, passe arrière, petite mise à jour, est celle que décrivent ces quatre pages de Nature.
La question que les auteurs avaient laissée ouverte l’est toujours. Les chercheurs continuent de chercher des règles d’apprentissage que le cerveau pourrait plausiblement utiliser puisque, comme les auteurs l’ont eux-mêmes dit, la rétropropagation sous cette forme n’est probablement pas la façon dont les vrais neurones apprennent.
Sources
- Learning representations by back-propagating errors — Nature, vol. 323, pp. 533-536, 9 octobre 1986
- Backpropagation — Wikipedia (archived 3 April 2020), 3 avril 2020