Vous êtes sur la page 1sur 26

Apprentissage I

Perceptrons
Juan Manuel Torres
juan-manuel.torres@univ-avignon.fr

LIA/Universit dAvignon

Apprentissage partir dexemples

Classification : perceptrons

Problmes dapprentissage

Classification : perceptrons

Types dapprentissage

Classification : perceptrons

Quand utiliser lapprentissage

Classification : perceptrons

Domaines industriels

Classification : perceptrons

Challenge

Classification : perceptrons

Inspiration biologique

Classification : perceptrons

Neurones

Classification : perceptrons

Composantes du neurone

Classification : perceptrons

10

Historique

Classification : perceptrons

11

histoire

Classification : perceptrons

12

Perceptron, Rosenblatt 1960

Classification : perceptrons

13

Perceptrons

Classification : perceptrons

14

Perceptrons
Couche dentre : n entres (pas de neurones)
Une sortie (neurone)
La sortie dun neurone discret peut avoir des
valeurs 0 (excit) et 1 (inhib)
La neurone a un seuil (threshold). Il sexcite si la
somme pondere des entres > seuil
Connexion de lentre j au neurone i reprsent
par un poids wij
Calcul de la fonction f: Rn {0,1}
Classification : perceptrons

15

Types de neurones

Classification : perceptrons

16

Questions
Un perceptron avec n entres et une sortie qui
{0,1}, alors
calcule la fonction Rn
Quels fonctions peuvent tre calcules?
Existe-t-il un algorithme dapprentissage ?

Classification : perceptrons

17

Perceptrons
Un perceptron consiste dun neurone dont la
fonction de transfert est la fonction de Heaviside:

H ( x) =

1 si x 0
0 si x > 0

Model de McCulloch-Pitts: c.a.d. un neurone dont


la sortie est 0 ou 1
Classification : perceptrons

18

Neurones avec seuil


x
x

Neurone avec seuil w0

-w

n
Classification : perceptrons

19

Neurones avec biais


1

Neurone avec biais


w0 . Soit

Alors

ou
Classification : perceptrons

20

Fonction Boolenne : ET
X

X&Y

Classification : perceptrons

21

Fonction Booleenne : OU
X Y

XvY

Classification : perceptrons

22

Fonction Booleenne : XOR


X Y

XY

0 0

0 1

1 0

1 1

0
Classification : perceptrons

23

Ensemble linairement sparable


Un ensemble X dans Rn {0,1} est linairement sparable
(LS) sil existe un vecteur w dans Rn+1 tel que pour toute
paire (x,t) dans X :

Un ensemble dapprentissage X est correctement class


par un perceptron si pour chaque (x,t) dans X la sortie du
perceptron lentre x est t
Un ensemble fini X peut etre class correctement par un
perceptron si et seulement sil est LS
Classification : perceptrons

24

Ensemble LS

Classification : perceptrons

25

Ensemble non LS

Classification : perceptrons

26

Apprentissage du Perceptron
Les entres au perceptron sont independentes, il suffit
d'tudier la sortie. Soit l'ensemble fini

appel ensemble d'apprentissage. L'ensemble X est


correctement classifi, si pour chaque paire (x,t) de X la
sortie du perceptron une entre x est t
Un ensemble X peut tre correctement class par un
perceptron monocouche si et seulement si il est
linearement sparable
Classification : perceptrons

27

Regle dapprentissage du
Perceptron (version incrementale)
Valeur initial
choisir une paire

Soit correctement class


Classification : perceptrons

28

Intrpretation geomtrique
wold

wnew

Les poids sont modifis quand


langle avec le vecteur dentr est
diminu

Classification : perceptrons

29

Intrpretation geomtrique
wnew

wold

- x

x
Les poids sont modifis quand
langle avec le vecteur dentr est
augment

Classification : perceptrons

30

A retenir
Lalgorithme dapprentissage du perceptron est une
forme dapprentissage correctif (Rosenblatt)
En ajustant les poids, le rseau apprends le vecteur
present, mais dautres vecteurs, peuvent tre desappris
Lalgorithme depend du paramtre dapprentissage ,
un apprentissage plus rapide peut tre envisag avec
dautres valeurs
La normalisation des vecteurs dentre peut tre
interessante pour la convergence

Classification : perceptrons

31

Rgle dapprentissage du
Perceptron (version batch)
Valeur initial

Soit correctement class


Classification : perceptrons

32

Exemple

Classification : perceptrons

33

Exemple
On utilisera 4 points pour l'apprentissage
x1 = ( 2, 1) t1 = 1 (classe rouge)
x2 = ( 0, -1) t2 = 1 (classe rouge)
x3 = (-2, 1) t3 = -1 (classe bleu)
x4 = ( 0, 2) t4 = -1 (classe bleu)
Initialisation (alatoire) des poids et du biais:
W = ( -0.7, 0.2 ) bias = 0.5
= 1
Classification : perceptrons

34

Exemple...
Pas 1. Exemple x1 = (2,1) t1 = 1
W = ( -0.7, 0.2 ) bias = 0.5
Champ = -0.7*2 + 0.2*1 + 0.5 = -0.7
SORTIE = signe(-0.7) = -1
t1 = 1 y = -1
Donc ajuster les poids :
e = t1 S = 1 (-1) = 2
WN = W + e*x1 = (-0.7,0.2) + 2*(2,1)
WN = (3.3, 2.2)
biasN = bias + e*1 = 0.5 + 2*1 = 2.5

Classification : perceptrons

35

...Exemple...
Pas 2. Objet x2 = (0,-1) t2 = 1
W = ( 3.3, 2.2 ) bias = 2.5
Champ = 3.3*0 + 2.2*-1 + 2.5 = 0.3
SORTIE = signe(0.3) = 1
t2 = 1

= SORTIE = 1

Pas besoin d'ajuster les poids

Classification : perceptrons

36

...Exemple...
Pas 3. Objet P3 = (-2,1) T3 = -1
W = ( 3.3, 2.2 ) bias = 2.5
Champ = 3.3*-2 + 2.2*1 + 2.5 = -1.9
Sortie = signe(-1.9) = -1
t3 = -1

= Sortie = -1

Pas besoin d'ajuster les poids

Classification : perceptrons

37

...Exemple...
Paso 4. Objet x4 = (0,2) t4 = -1
W = ( 3.3, 2.2 ) bias = 2.5
Champ = 3.3*0 + 2.2*2 + 2.5 = 6.9
Sortie = Signe(6.9) = 1
t4 = -1
Sortie = 1
Donc ajuster les poids :
e = t1 Sortie = -1 (1) = -2
WN = W + e*x4 = (3.3, 2.2) + (-2)*(0,2)
WN = (3.3, -1.8)
biasN = bias + e*1 = 2.5 + (-2)*1 = 0.5

Classification : perceptrons

38

...Exemple.
On a pass tous les exemples de l'ensemble d'apprentissage
Les poids finaux :
W = (3.3, -1.8)

bias 0.5

Vrification :
Classe
Classe
Classe
Classe

(x1)
(x2)
(x3)
(x4)

=
=
=
=

1
1
-1
-1

(
(
(
(

Sortie
Sortie
Sortie
Sortie

=
=
=
=

5.3
2.3
-7.9
-3.1

)
)
)
)

Classification : perceptrons

39

Exercice
Soit l'ensemble d'apprentissage { X, t } :
x1
x2
x3
x4
x5
x6

=
=
=
=
=
=

( 5, -1
( 2, 6
( 3, 3
( 2, 1
( -1, 1
( 1, -2

)
)
)
)
)
)

t1
t2
t3
t4
t5
t6

= 1
= 1
= 1
= -1
= -1
= -1

A) Determiner si { X, t } est LS (le represnter sur un plan 2D)


B) S'il est LS, construire un Perceptron, en partant des valeurs
alatoires :
W1 = 0.5

W2 = -0.7

bias = 0.5

Classification : perceptrons

40

Perceptrons Multi-couches
Un reseau de neurones multi-couches consist dune
couche dentre n entres (pas neurones)
Une couche de sortie de m neurones
Plusieurs couches intermediaires (caches) avec
plusieurs neurones
Les sorties de chaque couche cache sont les entres
des units des couches suivantes
Les connexions de lunit j dans la couche k-1 lunit i
dans la couche k est un poids wijk
Il calcule une fonction f: Rn

{0,1}m

Classification : perceptrons

41

Perceptron 2-couches
x1

S1

x2
x3

W1

S2
W2

f ( ... )

WH

xN

SH
Classification : perceptrons

42

XOR revis
x1

0.5

-1

0.5

-1

x2

0.5
Classification : perceptrons

43

encore XOR
x1
1

1.5
1

-2

0.5

x2
Classification : perceptrons

44

Rsum
Les perceptrons ont des capacits limits:
uniquement des ensembles LS peuvent tre
bien classs
Il existe un algorithme convergent si lensemble
est LS
Les perceptrons multi-couches ont des
capacits enormes (on peut approcher nimporte
quelle fonction des entres), mais il nexiste pas
un algorithme simple dapprentissage
Classification : perceptrons

45

Theorme de convergence du
Perceptron
Soit X un ensemble d'apprentissage fini lineairement
separable. Soit un vecteur des poids initial et un
paramtre d'apprentissage chosit arbitrairement
comme une valeur > 0
Alors pour chaque paire de l'ensemble d'apprentissage
de X, le calcul du vecteur de poids au moyen de la rgle
d'apprentissage du perceptron converge dans un
nombre fini de pas
Classification : perceptrons

46

Proof sketch 1

Classification : perceptrons

47

Proof sketch 2

Classification : perceptrons

48

Proof sketch 3

Classification : perceptrons

49

Capacit du perceptron
Le nombre de funciones booleenes de n arguments est
2(2

n)

Chaque fonction booleene definit une dichotomie de


points d'un hypercube n-dimensionnel
Le nombre de dichotomies lineaires (separable) Bn est
born par C(2n, n) o C(m, n) est le nombre de
dichotomies lineaires de m points en Rn en position
generale et est donne par :

Classification : perceptrons

50

Quelques chiffres
n

Bn

16

14

256

104

65536

1882

4294967296

94572

18446744073709551616

15028134

2(2

340282366920938463463374607431768211456 8378070864

Classification : perceptrons

51

Vous aimerez peut-être aussi