You are on page 1of 4

Chapitre 2 Perceptron

Introduction
Perceptron est un type de rseau neurologique artificiel invent en 1957 dans le Laboratoire aronautique de Cornell par Frank Rosenblatt. Il peut tre vu comme un primitif modle des rseaux neurologique du feedforward: classificateur linaire. C'est un rseau de neurones trs simple avec

deux couches de neurones acceptant seulement des valeurs d'entres et de sorties binaires. Le procd d'apprentissage est supervis et le rseau est capable de rsoudre des oprations logiques simples sommes AND ou OR. La mthode d'apprentissage est : supervise. Ce qui veut dire que les sorties du rseau sont compares avec des sorties cibles (patrons). Il est aussi utilis pour la classification de patrons. Les oprations logiques plus compliques (le XOR : problme de classification) ne peuvent tre rsolues par un Perceptron. L'algorithme d'apprentissage est la rgle d'apprentissage de Hebb qui affecte le changement des poids en multipliant l'entre d'un neurone par sa sortie et le taux d'apprentissage du rseau.

1. Structure
Dans sa version la plus simple, le perceptron est un rseau compos de trois couches: La premire couche, appele rtine, est celle des cellules d'entre, sur lesquelles sont appliqus les patterns classer. La deuxime couche est constitue de cellules associatives, par exemple des automates boolens dont les entres sont prises parmi les cellules de la rtine. Leurs fonctions boolennes, variant ventuellement d'un automate l'autre, sont fixes au dpart: elles ne sont pas susceptibles d'apprentissage. La dernire couche comprend une ou plusieurs cellules de dcision, qui sont en fait des automates seuil dont les poids sont modifis lors de la procdure d'apprentissage
Le rseau n'a pas de boucles: l'information est donc traite en un seul passage travers les couches successives. Il n'y a pas de dynamique itrative vers un attracteur comme dans les exemples que nous avons traits jusqu'ici.

2. Classifieur linaire

Chapitre 2 Perceptron

3. Apprentissage du perceptron
L'algorithme d'apprentissage du Perceptron est semblable celui utilis pour la loi de Hebb. Les diffrences se situent au niveau de la modification des poids. (1) Initialisation des poids et du seuil S des valeurs (petites) choisies au hasard. (2) Prsentation d'une entre El = (e1, ... en) de la base d'apprentissage. (3) Calcul de la sortie obtenue x pour cette entre : a = (wi . ei) - S x = signe (a) ( si a > 0 alors x = +1 sinon a 0 alors x = -1 ) (4) Si la sortie x du Perceptron est diffrente de la sortie dsire d l pour cet exemple d'entre El alors modification des poids ( le pas de modification) : wi(t+1) = wi(t) + .((d l - x).ei) Rappel : dl = +1 si E est de la classe 1, dl = -1 si E est de la classe 2 et (dl - x) est une estimation de l'erreur. (5) Tant que tous les exemples de la base d'apprentissage ne sont pas traits correctement (i.e. modification des poids), retour l'tape 2. L'inconvnient majeur de cet algorithme est que si l'chantillon prsent n'est pas linairement sparable, l'algorithme ne convergera pas et lon naura aucun moyen de le savoir. On pourrait penser qu'il suffit d'observer l'volution des poids synaptiques pour en dduire si l'on doit arrter ou non l'algorithme. En effet, si les poids et le seuil prennent deux fois les mmes valeurs sans que le perceptron ait appris et alors que tous les exemples ont t prsents, cela signifie d'aprs le thorme prcdent que l'chantillon n'est pas sparable. Et l'on peut penser que l'on peut borner les poids et le seuil en fonction de la taille de la rtine. C'est vrai mais les rsultats de complexit noncs ci-dessous (sans dmonstration) montrent que cette ide n'est pas applicable en pratique.

Chapitre 2 Perceptron

Exemple de fonctionnement de l'algorithme d'apprentissage du Perceptron : Base d'exemples d'apprentissage : e1 e2 d 1 1 1 (1) -1 1 -1 (2) -1 -1 -1 (3) 1 -1 -1 (4) 1/ Conditions initiales : w1 = -0.2, w2 = +0.1, S = 0, ( = +0.1) 2/ a(1) = -0.2 + 0.1 -0.2 = -0.3 3/ x(1) = -1 (la sortie dsire d(1) = +1, d'o modification des poids) 4/ w1 = -0.2 + 0.1 . (1 + 1) . (+1) = 0 w2 = +0.1 + 0.1 . (1 + 1) . (+1) = +0.3 2/ a(2) = +0.3 - 0.2 = +0.1 3/ x(2) = +1 Faux 4/ w1 = 0 + 0.1 . (-1 - 1) . (-1) = +0.2 w2 = +0.3 + 0.1 . (-1 - 1) . (+1) = +0.1 2-3/ a(3) = -0.2 -0.1 -0.2 = -0.5 Ok 2-3/ a(4) = +0.2 - 0.1 - 0.2 = -0.1 Ok 2-3/ a(1) = +0.2 + 0.1 - 0.2 = +0.1 Ok 2-3/ a(2) = -0.2 + 0.1 - 0.2 = -0.1 Ok 5/ Tous les exemples de la base ont t correctement traits, l'apprentissage est termin.

4. Interprtation gomtrique et limitations

Dmonstration : Il suffit pour s'en convaincre de se rappeler que l'quation d'un hyperplan dans un espace de dimension n est de la forme :

Chapitre 2 Perceptron

Un perceptron est donc un discriminant linaire. On montre facilement qu'un chantillon de R n est sparable par un hyperplan si et seulement si l'chantillon de R n+1 obtenu en rajoutant une entre toujours gale 1 est sparable par un hyperplan passant par l'origine. Figure: Si l'on rajoute une entre gale 1, l'hyperplan sparateur peut passer par l'origine

Toute fonction boolenne peut-elle tre calcule par un perceptron ? D'aprs ce qui prcde, la rponse est videmment non. Le contre-exemple le plus simple est le ``OU exclusif'' (XOR) sur deux variables.

Dmonstration algbrique : soit avoir :

un perceptron calculant le XOR. On devrait

Il suffit d'additionner la premire quation et la quatrime d'une part, la seconde et la troisime d'autre part pour se rendre compte que l'hypothse est absurde. Dmonstration gomtrique : on ``voit'' bien qu'aucune droite ne peut sparer les points de coordonnes (0,0) et (1,1) des points de coordonnes (0,1) et (1,0) Figure: Comment trouver une droite sparant les points (0,0) et (1,1) des points (0,1) et (1,0) ?

You might also like