Backpropagation : Définition, usage sur les réseaux de neurones

-
4
 m de lecture
-

Il s’agit d’un outil essentiel des applications de deep learning. C’est grâce à la backpropagation qu’un algorithme prédictif va pouvoir être amélioré en permanence, éliminant toujours davantage les taux d’erreur.

Vous le savez sans doute, les réseaux de neurones artificiels (de l’anglais artificial neural network) sont l’une des approches les plus populaires dans le domaine du deep learningune discipline amenant une machine à résoudre des problèmes en simulant certaines fonctions de la pensée humaine. Certains poseront la question : que vient faire le terme artificiel dans cette expression ? Il se trouve que cette technologie reflète la façon d’opérer de nos propres mécanismes logiques dans la vie réelle. Nous construisons instinctivement des modèles afin de mieux résoudre divers problèmes.

Or, il en va des réseaux de neurones comme de nous-mêmes : nous avons tendance à perpétuellement améliorer notre façon d’opérer dans une activité donnée. Ainsi, si nous nous formons à repérer des champignons non comestibles, il y a fort à parier que, au fil des temps, nous serons de plus en plus experts en la matière. Et bien, il en va de même pour les réseaux de neurones.

La méthode mise à contribution pour améliorer l’efficacité d’un réseau de neurone donnée porte un nom : backpropagationrétropropagation.

À première vue, la backpropagation pourrait sembler difficile à appréhender, mais il n’en est rien. Commençons par le commencement…

Comment fonctionne un réseau de neurones ?

De fait, il est difficile d’expliquer simplement comment fonctionne la backpropagation si nous ne commençons pas par passer en revue ce qui constitue un réseau de neurones.

Nœuds et connexions

Un réseau de neurones est composé de nœuds et de connexions entre ces nœuds.

Chaque nœud est une unité de calcul qui opère sur des données. Les nœuds intègrent des fonctions d’activation (activation function). Ces dernières déterminent si le nœud doit être activé ou non, selon les informations qu’il reçoit.

Les nœuds sont connectés entre eux, selon un modèle de couches, de poids et de biais, décrit ci-dessous.

Les trois types de couches d’un réseau de neurones

Les combinaisons nœud/connexions sont réparties sur plusieurs couches :

  • Input layer / couche d’entrée : celle qui reçoit les données du réel ou bien celles qu’il va falloir analyser.
  • Hidden layer / couche cachée : une ou plusieurs couches intermédiaires de traitement des données.
  • Output layer / couche de sortie : les informations issues du traitement par le réseau de neurone.

Lorsqu’on exécute un réseau de neurones, les données passent d’un nœud/d’une connexion au suivant selon le principe du feedforward – que l’on pourrait traduire par propagation avant.

L’ensemble produit une courbe complexe qui va aider à prédire des phénomènes à partir de données non observées.

Poids et biais

Deux éléments sont essentiels dans un réseau de neurones : les poids (weights) et les biais (biases). Ce sont des valeurs arbitraires et que l’on va pouvoir ajuster au fil des expériences.

Poids

Le poids est une donnée numérique associée à la connexion entre deux nœuds. Il détermine quelle sera l’influence d’une donnée sur le résultat en sortie. En voici un exemple. Dans un réseau de neurones destiné à prédire s’il va pleuvoir, on pourrait poser qu’une température relativement basse va avoir un poids élevé.

Biais

Un biais est un ajustement des données en entrée censé aider le réseau à opérer de meilleures prédictions. Prenons un exemple de la vie courante : un enseignant qui vient de noter des copies d’examen découvre qu’il s’est montré trop sévère sur l’ensemble. Il pourrait prendre le biais d’ajouter 3 points à toutes les copies afin qu’une majorité d’élèves aient des notes supérieures ou égales à 10/20.

La backpropagation, c’est quoi au juste ?

Si vous avez bien assimilé ce qui suit, alors il devient aisé d’expliquer ce qu’est la backpropagation : elle consiste à ajuster les poids (weights) et les biais (bias) dans un réseau de neurones !

La rétropropagation est une méthode qui vise à minimiser le taux d’erreur entre les prédictions du réseau de neurones et les résultats observés dans le réel. Et c’est en ajustant les poids et les biais, de façon itérative, que ce processus d’amélioration est accompli.

La backpropagation dans le monde réel

La rétropropagation est un outil essentiel d’amélioration des algorithmes de deep learning. Voici quelques types d’usage courants.

Programmation cinématographique

Prenons l’exemple d’un exploitant de salles de cinéma souhaitant améliorer la fréquentation de ses établissements en adaptant la programmation des films aux goûts du public. Certains poids ont sans doute été placés dans l’algorithme prédictif,, par exemple, le poids des films d’action a été jugé plus important que celui des films intimistes. La backpropagation va consister à évaluer les films ainsi choisis et à comparer les audiences effectives à celles qui ont été prédites. A partir des informations du réel, il va être possible d’ajuster le poids et le biais des diverses catégories de films projetés. Il pourrait ressortir par exemple d’un tel traitement qu’à un moment particulier le public est friand de comédies.

Reconnaissance vocale

Une application de type SIRI ou Cortana pourra utiliser la rétropropagation pour améliorer la transcription de la parole humaine, en fonction des erreurs constatées dans le modèle actuel.

Recommandation d’articles

Une application de vente en ligne peut analyser quelles sont les ventes effectives faisant suite aux recommandations affichées et ajuster les algorithmes correspondants.

Véhicule autopiloté

La rétropropagation va aider à perfectionner les algorithmes de conduite autonome, en ajustant les modèles en fonction des remontées d’usage dans la vie réelle.

Un pilier du deep learning

La rétropropagation est une technique fondamentale des applications de deep learning, puisque c’est grâce à elle qu’il va être possible d’ajuster les réseaux de neurones dans le sens d’une amélioration continue des résultats. En intervenant sur les poids (weights) et biais (biais) d’un tel réseau, elle va progressivement réduire le taux d’erreurs. Elle est donc essentielle dans des domaines très divers : diagnostic médical, prévision météo, prédiction financière… Elle est régulièrement mise en pratique par les chercheurs en IA. Toutefois, bien que sa pratique puisse paraître complexe, elle gagnera à être maîtrisée tôt ou tard par un data scientist.

Facebook
Twitter
LinkedIn

DataScientest News

Inscrivez-vous à notre Newsletter pour recevoir nos guides, tutoriels, et les dernières actualités data directement dans votre boîte mail.
Poursuivre la lecture

Vous souhaitez être alerté des nouveaux contenus en data science et intelligence artificielle ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Newsletter icone
icon newsletter

DataNews

Vous souhaitez recevoir notre
newsletter Data hebdomadaire ?