Rapport L E PE R CEPTR ON MULT IC O U C HE Réalisé par : Encadré par : HALIM Hamza TAHBOUN Anasse OUBELQUE Khalid TAOUIL Mohammed LARHROUCH Mustapha AICHA Majda TABLE DES MATIERES Introduction..................................................................................................................................................... 2 Topologie en couches:..................................................................................................................................... 2 Le perceptron multicouche ............................................................................................................................. 3 Définition ................................................................................................................................................. 3 Architecture............................................................................................................................................. 3 Fonction de transfert............................................................................................................................... 3 L’Apprentissage : ............................................................................................................................................. 4 REFERANCES .................................................................................................................................................... 6 1 INTRODUCTION Le Perceptron peut être vu comme une fonction de discrimination entre deux classes pour un problème de reconnaissance des formes : il partitionne l'espace d'entrée en deux régions avec une frontière de décision linéaire. Avec des poids wi bien étudiés, cette surface linéaire permet de représenter des fonctions logiques comme le ET, le OU et le non. Le Perceptron ne peut pas simuler le OU exclusif (XOR) car dans ce cas la surface de décision est non linéaire. La critique du cas du XOR par [Minsky et Papert, 1969] a d'ailleurs provoqué une temporaire mais historique désaffection pour le Perceptron. Cette limitation fut supprimée au travers de la rétro propagation du gradient de l'erreur dans les systèmes multicouches, proposé par Paul J Werbos en 1984 et mis aux point deux années plus tard, en 1986 par David Rumelhart. TOPOLOGIE EN COUCHES: Si les unités élémentaires sont souvent très proches dans la plupart des systèmes neuronaux, c'est au niveau de l’architecture de ces neurones que les systèmes se différencient. Comme évoqué dans la section précédente, les possibilités du Perceptron sont limitées. Même à plusieurs, ils ne peuvent délimiter que des régions aux frontières linéaires dans un espace de RNA. En revanche, si les neurones sont placés en couches successives (les sorties d'un certain nombre de neurones sont les entrées des suivants et ainsi de suite jusqu'à la sortie), alors l'ensemble du réseau est capable de décider d'un problème pour des surfaces plus complexes et peut aussi simuler n'importe quelle fonction booléenne. Ce type d'organisation est appelé Perceptron multicouche (PMC). 2 LE PERCEPTRON MULTICOUCHE DEFINITION 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 (Propagation des activations : de l’entrée vers la sortie). 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. ARCHITECTURE Le perceptron multicouche (PMC) est un réseau composé de couches successives. Une couche est un ensemble de neurones n’ayant pas de connexion entre eux. Une couche d’entrée lit les signaux entrant, un neurone par entrée Xj, une couche en sortie fournit la réponse du système. Selon les auteurs, la couche d’entrée qui n’introduit aucune modification n’est pas comptabilisée. Une ou plusieurs couches cachées participent au transfert. Un neurone d’une couche cachée est connecté en entrée à chacun des neurones de la couche précédente et en sortie à chaque neurone de la couche suivante. FONCTION DE TRANSFERT Noter : X1, . . ., Xp : les entrées d’un réseau α, β : les poids des entrées sont des paramètres (à estimer lors de la procédure d’apprentissage) Y : la sortie est la variable Un perceptron multicouche réalise donc une transformation des variables d’entrée : Y = φ(X1, . . ., Xp; α) 3 Où α est le vecteur contenant chacun des paramètres αjkl de la jème entrée du kème neurone de la lème couche. La couche d’entrée (l = 0) n’est pas paramétrée, elle ne fait que distribuer les entrées sur tous les neurones de la couche suivante. Un théorème dit de « approximation universelle » montre que cette structure élémentaire à une seule couche cachée est bien suffisante pour prendre en compte les problèmes classiques de modélisation ou apprentissage statistique. En effet, toute fonction régulière peut être approchée uniformément avec une précision arbitraire et dans un domaine fini de l’espace de ses variables, par un réseau de neurones comportant une couche de neurones cachés en nombre fini possédant tous la même fonction d’activation et un neurone de sortie linéaire. De façon usuelle et en régression (Y quantitative), la dernière couche est constituée d’un seul neurone muni de la fonction d’activation identité tandis que les autres neurones (couche cachée) sont munis de la fonction sigmoïde. En classification binaire, le neurone de sortie est muni également de la fonction sigmoïde tandis que dans le cas d’une discrimination à m classes (Y qualitative), ce sont m neurones avec fonction sigmoïde, un par classe, qui sont considérés en sortie. Ainsi, en régression avec un perceptron à une couche cachée de q neurones et un neurone de sortie, cette fonction s’écrit : Y = φ(x; α, β) = β0 + β 0 z avec zk = f (αk0 + αk 0x); k = 1, . . ., q. L’APPRENTISSAGE : L’apprentissage est une phase du développement d’un réseau de neurones durant laquelle le comportement du réseau est modifié jusqu’à l’obtention du comportement désiré. Pour les PMC en utilise un apprentissage supervisé : technique d'apprentissage automatique où l'on cherche à produire automatiquement des règles à partir d'une base de données d'apprentissage contenant des « exemples » (en général des cas déjà traités et validés). Le problème de l’apprentissage dans les perceptrons multicouches est de connaitre la contribution de chaque poids dans l’erreur globale du réseau. L’algorithme de rétro-propagation de l’erreur permet de faire cela. Dans le Perceptron multicouche à rétro propagation, 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 interneuronales. Ici, cette détermination s'effectue au travers d'un algorithme de rétro propagation. ALGORITHME DE RETRO PROPAGATION : Présentation d'un motif d'entraînement au réseau. Comparaison de la sortie du réseau avec la sortie ciblée. Calcul de l'erreur en sortie de chacun des neurones du réseau. Calcul, pour chacun des neurones, de la valeur de sortie qui aurait été correcte. 4 Définition de l'augmentation ou de la diminution nécessaire pour obtenir cette valeur (erreur locale). Ajustement du poids de chaque connexion vers l'erreur locale la plus faible. Attribution d'un blâme à tous les neurones précédents. Recommencer à partir de l'étape 4, sur les neurones précédents en utilisant le blâme comme erreur. CONDITIONS : Il faut une fonction d’activation dérivable car on a besoin de la dérivé pour rétro-propager l’erreur. 5 CORPUS DE DONNEES : o Corpus de données : L’ensemble des données connues et disponibles o Corpus d’apprentissage Un sous-ensemble du corpus de données qui va servir à l’apprentissage o Corpus de test Un sous-ensemble du corpus de données qui va servir à vérifier l’apprentissage o Corpus de validation Un sous-ensemble du corpus de données qui va servir modifier l’apprentissage MESURE DE L'ERREUR : Erreur apparente o L’erreur apparente se mesure sur le corpus d’apprentissage. o L’erreur réelle se mesure sur le corpus entier. Erreur réelle Si l’erreur apparente est très faible alors que l’erreur réelle est très forte, le corpus d’apprentissage est très certainement mal échantillonné. REFERANCES http://fr.wikipedia.org/wiki/Perceptron_multicouche http://www-lisic.univ-littoral.fr/~verel/TEACHING/08-09/sac-M1/cRdNV9.pdf https://tel.archives-ouvertes.fr/tel-00584318/document http://www.labri.fr/perso/nrougier/downloads/Perceptron.pdf 6