Perceptron multicouche

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Perceptron constitué de 4 couches
Perceptron multicouche

Le Perceptron multicouche est un Classifieur linéaire de type réseau neuronal formel organisé en plusieurs couches au sein desquelles une information circule de la couche d'entrée vers la couche de sortie uniquement ; il s'agit donc d'un réseau de type feedforward (en). Chaque couche est constituée d'un nombre variable de neurones, les neurones de la couche de sortie correspondant toujours aux sorties du système.

Le Perceptron a été inventé en 1957 par Frank Rosenblatt au Cornell Aeronautical Laboratory, inspiré par la théorie cognitive de Friedrich Hayek et celle de Donald Hebb. Dans cette première version le perceptron était alors mono-couche et n'avait qu'une seule sortie à laquelle toutes les entrées sont connectées.

Perceptron multicouche à rétropropagation[modifier | modifier le code]

Les premiers réseaux de neurones n'étaient pas capable de résoudre des problèmes non linéaires ; cette limitation fut supprimée au travers de la rétropropagation[1] du gradient de l'erreur dans les systèmes multicouches, proposé par Paul J Werbos en 1984 et mis au point deux années plus tard, en 1986 par David Rumelhart.

Dans le Perceptron multicouche à rétropropagation, les neurones d'une couche sont reliés à la totalité des neurones des couches adjacentes. Ces liaisons sont soumises à un coefficient altérant l'effet de l'information sur le neurone de destination. Ainsi, le poids de chacune de ces liaisons est l'élément clef du fonctionnement du réseau : la mise en place d'un Perceptron multicouche pour résoudre un problème passe donc par la détermination des meilleurs poids applicables à chacune des connexions inter-neuronales. Ici, cette détermination s'effectue au travers d'un algorithme de rétropropagation.

Algorithme de rétropropagation[modifier | modifier le code]

  1. Présentation d'un motif d'entraînement au réseau.
  2. Comparaison de la sortie du réseau avec la sortie ciblée.
  3. Calcul de l'erreur en sortie de chacun des neurones du réseau.
  4. Calcul, pour chacun des neurones, de la valeur de sortie qui aurait été correcte.
  5. Définition de l'augmentation ou de la diminution nécessaire pour obtenir cette valeur (erreur locale).
  6. Ajustement du poids de chaque connexion vers l'erreur locale la plus faible.
  7. Attribution d'un blâme à tous les neurones précédents.
  8. Recommencer à partir de l'étape 4, sur les neurones précédent en utilisant le blâme comme erreur.

Voir aussi[modifier | modifier le code]

Notes et références[modifier | modifier le code]

  1. Rumelhart, D. E., Hinton, McClelland, and Williams, R. J. (1986), ―Learning Internal Representations by Error Propagation‖ Parallel Distributed Processing: Explorations in the Microstructure of Cognition

Bibliographie[modifier | modifier le code]

  • Marc Parizeau, Réseaux de Neurones (Le perceptron multicouche et son algorithme de retropropagation des erreurs), Université Laval, Laval, 2004, 272 p.
  • Fabien Tschirhart (dir. Alain Lioret), Réseaux de neurones formels appliqués à l'Intelligence Artificielle et au jeu, ESGI (mémoire de master de recherche en multimédia et animation numérique), Paris, 2009, 121 p. [mémoire en ligne (page consultée le 8 novembre 2010)]