Livrable de la semaine 4

publicité
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
Téléchargement