Apprentissage I - Laboratoire Informatique d’Avignon...

26
Apprentissage I Perceptrons Juan Manuel Torres [email protected] LIA/Université d’Avignon Classification : perceptrons 2 Apprentissage à partir d’exemples

Transcript of Apprentissage I - Laboratoire Informatique d’Avignon...

Page 1: Apprentissage I - Laboratoire Informatique d’Avignon ...lia.univ-avignon.fr/fileadmin/documents/Users/Intranet/chercheurs/... · • En ajustant les poids, le réseau apprends le

Apprentissage I

Perceptrons

Juan Manuel [email protected]

LIA/Université d’Avignon

Classification : perceptrons 2

Apprentissage à partir d’exemples

Page 2: Apprentissage I - Laboratoire Informatique d’Avignon ...lia.univ-avignon.fr/fileadmin/documents/Users/Intranet/chercheurs/... · • En ajustant les poids, le réseau apprends le

Classification : perceptrons 3

Pro

blèm

es d

’app

rent

issa

ge

Classification : perceptrons 4

Types d’apprentissage

Page 3: Apprentissage I - Laboratoire Informatique d’Avignon ...lia.univ-avignon.fr/fileadmin/documents/Users/Intranet/chercheurs/... · • En ajustant les poids, le réseau apprends le

Classification : perceptrons 5

Quand utiliser l’apprentissage

Classification : perceptrons 6

Domaines industriels…

Page 4: Apprentissage I - Laboratoire Informatique d’Avignon ...lia.univ-avignon.fr/fileadmin/documents/Users/Intranet/chercheurs/... · • En ajustant les poids, le réseau apprends le

Classification : perceptrons 7

Challenge…

Classification : perceptrons 8

Inspiration biologique

Page 5: Apprentissage I - Laboratoire Informatique d’Avignon ...lia.univ-avignon.fr/fileadmin/documents/Users/Intranet/chercheurs/... · • En ajustant les poids, le réseau apprends le

Classification : perceptrons 9

Neurones

Classification : perceptrons 10

Composantes du neurone

Page 6: Apprentissage I - Laboratoire Informatique d’Avignon ...lia.univ-avignon.fr/fileadmin/documents/Users/Intranet/chercheurs/... · • En ajustant les poids, le réseau apprends le

Classification : perceptrons 11

Historique…

Classification : perceptrons 12

…histoire…

Page 7: Apprentissage I - Laboratoire Informatique d’Avignon ...lia.univ-avignon.fr/fileadmin/documents/Users/Intranet/chercheurs/... · • En ajustant les poids, le réseau apprends le

Classification : perceptrons 13

Perceptron, Rosenblatt 1960

Classification : perceptrons 14

Perceptrons

Page 8: Apprentissage I - Laboratoire Informatique d’Avignon ...lia.univ-avignon.fr/fileadmin/documents/Users/Intranet/chercheurs/... · • En ajustant les poids, le réseau apprends le

Classification : perceptrons 15

Perceptrons• Couche d’entrée : n entrées (pas de neurones)• Une sortie (neurone)• La sortie d’un neurone discret peut avoir des

valeurs 0 (excité) et 1 (inhibé) • La neurone a un seuil (threshold). Il s’excite si la

somme ponderée des entrées > seuil• Connexion de l’entrée j au neurone i représenté

par un poids wij

• Calcul de la fonction f: Rn → {0,1}

Classification : perceptrons 16

Types de neurones…

Page 9: Apprentissage I - Laboratoire Informatique d’Avignon ...lia.univ-avignon.fr/fileadmin/documents/Users/Intranet/chercheurs/... · • En ajustant les poids, le réseau apprends le

Classification : perceptrons 17

Questions• Un perceptron avec n entrées et une sortie qui

calcule la fonction Rn � {0,1}, alors

• Quels fonctions peuvent être calculées?

• Existe-t-il un algorithme d’apprentissage ?

Classification : perceptrons 18

PerceptronsUn perceptron consiste d’un neurone dont la fonction de transfert est la fonction de Heaviside:

Model de McCulloch-Pitts: c.a.d. un neurone dont la sortie est 0 ou 1

���

>≤

=0001

)(xsi

xsixH

Page 10: Apprentissage I - Laboratoire Informatique d’Avignon ...lia.univ-avignon.fr/fileadmin/documents/Users/Intranet/chercheurs/... · • En ajustant les poids, le réseau apprends le

Classification : perceptrons 19

Neurones avec seuil

Neurone avec seuil –w0

y0

-w Σ

1w

w2

wn

xn

2x

1x

Classification : perceptrons 20

Neurones avec biais• Neurone avec biais

w0 . Soit

• Alors

• ou

w1

0w

1x

1

Σ0y

wn

xn

Page 11: Apprentissage I - Laboratoire Informatique d’Avignon ...lia.univ-avignon.fr/fileadmin/documents/Users/Intranet/chercheurs/... · • En ajustant les poids, le réseau apprends le

Classification : perceptrons 21

Fonction Booléenne : ET

111

001

010

000

X & YYX

Classification : perceptrons 22

Fonction Booleéenne : OU

111

101

110

000

X v YYX

Page 12: Apprentissage I - Laboratoire Informatique d’Avignon ...lia.univ-avignon.fr/fileadmin/documents/Users/Intranet/chercheurs/... · • En ajustant les poids, le réseau apprends le

Classification : perceptrons 23

Fonction Booleenne : XOR

011

101

110

000

X © YYX

Classification : perceptrons 24

Ensemble linéairement séparableUn ensemble X dans Rn � {0,1} est linéairement séparable (LS) s’il existe un vecteur w dans Rn+1 tel que pour toute paire (x,t) dans X :

•Un ensemble d’apprentissage X est correctement classé par un perceptron si pour chaque (x,t) dans X la sortie du perceptron à l’entrée x est t•Un ensemble fini X peut etre classé correctement par un perceptron si et seulement s’il est LS

Page 13: Apprentissage I - Laboratoire Informatique d’Avignon ...lia.univ-avignon.fr/fileadmin/documents/Users/Intranet/chercheurs/... · • En ajustant les poids, le réseau apprends le

Classification : perceptrons 25

Ensemble LS

Classification : perceptrons 26

Ensemble non LS

Page 14: Apprentissage I - Laboratoire Informatique d’Avignon ...lia.univ-avignon.fr/fileadmin/documents/Users/Intranet/chercheurs/... · • En ajustant les poids, le réseau apprends le

Classification : perceptrons 27

Apprentissage du PerceptronLes entrées 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 entrée x est t

Un ensemble X peut être correctement classé par un perceptron monocouche si et seulement si il est linearement séparable

Classification : perceptrons 28

Regle d’apprentissage du Perceptron (version incrementale)

Valeur initial

Soit correctement classé

choisir une paire

Page 15: Apprentissage I - Laboratoire Informatique d’Avignon ...lia.univ-avignon.fr/fileadmin/documents/Users/Intranet/chercheurs/... · • En ajustant les poids, le réseau apprends le

Classification : perceptrons 29

Intérpretation geométriquewnewoldw

xα x

Les poids sont modifiés quand l’angle avec le vecteur d’entré est diminué

Classification : perceptrons 30

Intérpretation geométriqueoldwwnew

xα- x

Les poids sont modifiés quand l’angle avec le vecteur d’entré est augmenté

Page 16: Apprentissage I - Laboratoire Informatique d’Avignon ...lia.univ-avignon.fr/fileadmin/documents/Users/Intranet/chercheurs/... · • En ajustant les poids, le réseau apprends le

Classification : perceptrons 31

A retenir• L’algorithme d’apprentissage du perceptron est une

forme d’apprentissage correctif (Rosenblatt)• En ajustant les poids, le réseau apprends le vecteur

present, mais d’autres vecteurs, peuvent être desappris• L’algorithme depend du paramètre d’apprentissage αααα,

un apprentissage plus rapide peut être envisagé avec d’autres valeurs

• La normalisation des vecteurs d’entrée peut être interessante pour la convergence

Classification : perceptrons 32

Règle d’apprentissage du Perceptron (version batch)Valeur initial

Soit correctement classé

Page 17: Apprentissage I - Laboratoire Informatique d’Avignon ...lia.univ-avignon.fr/fileadmin/documents/Users/Intranet/chercheurs/... · • En ajustant les poids, le réseau apprends le

Classification : perceptrons 33

Exemple

Classification : perceptrons 34

Exemple

On utilisera 4 points pour l'apprentissagex1 = ( 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 (aléatoire) des poids et du biais:W = ( -0.7, 0.2 ) bias = 0.5

α = 1

Page 18: Apprentissage I - Laboratoire Informatique d’Avignon ...lia.univ-avignon.fr/fileadmin/documents/Users/Intranet/chercheurs/... · • En ajustant les poids, le réseau apprends le

Classification : perceptrons 35

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) = -1t1 = 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 36

...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

Page 19: Apprentissage I - Laboratoire Informatique d’Avignon ...lia.univ-avignon.fr/fileadmin/documents/Users/Intranet/chercheurs/... · • En ajustant les poids, le réseau apprends le

Classification : perceptrons 37

...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 38

...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) = 1t4 = -1 Sortie = 1Donc 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

Page 20: Apprentissage I - Laboratoire Informatique d’Avignon ...lia.univ-avignon.fr/fileadmin/documents/Users/Intranet/chercheurs/... · • En ajustant les poids, le réseau apprends le

Classification : perceptrons 39

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

Vérification :

Classe (x1) = 1 ( Sortie = 5.3 )Classe (x2) = 1 ( Sortie = 2.3 )Classe (x3) = -1 ( Sortie = -7.9 )Classe (x4) = -1 ( Sortie = -3.1 )

Classification : perceptrons 40

ExerciceSoit l'ensemble d'apprentissage { X, t } :x1 = ( 5, -1 ) t1 = 1

x2 = ( 2, 6 ) t2 = 1

x3 = ( 3, 3 ) t3 = 1x4 = ( 2, 1 ) t4 = -1

x5 = ( -1, 1 ) t5 = -1

x6 = ( 1, -2 ) t6 = -1

A) Determiner si { X, t } est LS (le represénter sur un plan 2D)B) S'il est LS, construire un Perceptron, en partant des valeurs aléatoires :

W1 = 0.5 W2 = -0.7 bias = 0.5

Page 21: Apprentissage I - Laboratoire Informatique d’Avignon ...lia.univ-avignon.fr/fileadmin/documents/Users/Intranet/chercheurs/... · • En ajustant les poids, le réseau apprends le

Classification : perceptrons 41

Perceptrons Multi-couches• Un reseau de neurones multi-couches consist d’une

couche d’entrée n entrées (pas neurones)• Une couche de sortie de m neurones • Plusieurs couches intermediaires (cachées) avec

plusieurs neurones • Les sorties de chaque couche cachée sont les entrées

des unités des couches suivantes• Les connexions de l’unité j dans la couche k-1 à l’unité i

dans la couche k est un poids wijk

• Il calcule une fonction f: Rn � {0,1}m

Classification : perceptrons 42

Perceptron 2-couches

x N

x 2

x 3

x 1

S 2

S H

S 1

W

W

W

f ( ... )

H

1

2

Page 22: Apprentissage I - Laboratoire Informatique d’Avignon ...lia.univ-avignon.fr/fileadmin/documents/Users/Intranet/chercheurs/... · • En ajustant les poids, le réseau apprends le

Classification : perceptrons 43

x 1

x 2

x 1

x 2

0.5

0.5

0.5-1

-1

1

1

XOR revisé…

Classification : perceptrons 44

x 2

x 1

…encore XOR

x 2

x 1

-21

1 1

1.5 0.5

1

Page 23: Apprentissage I - Laboratoire Informatique d’Avignon ...lia.univ-avignon.fr/fileadmin/documents/Users/Intranet/chercheurs/... · • En ajustant les poids, le réseau apprends le

Classification : perceptrons 45

Résumé

• Les perceptrons ont des capacités limités: uniquement des ensembles LS peuvent être bien classés

• Il existe un algorithme convergent si l’ensemble est LS

• Les perceptrons multi-couches ont des capacités enormes (on peut approcher n’importe quelle fonction des entrées), mais il n’existe pas un algorithme simple d’apprentissage

Classification : perceptrons 46

Theorème de convergence du Perceptron

Soit X un ensemble d'apprentissage fini lineairement separable. Soit un vecteur des poids initial et un paramètre 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 règle d'apprentissage du perceptron converge dans un nombre fini de pas

Page 24: Apprentissage I - Laboratoire Informatique d’Avignon ...lia.univ-avignon.fr/fileadmin/documents/Users/Intranet/chercheurs/... · • En ajustant les poids, le réseau apprends le

Classification : perceptrons 47

Proof sketch 1

Classification : perceptrons 48

Proof sketch 2

Page 25: Apprentissage I - Laboratoire Informatique d’Avignon ...lia.univ-avignon.fr/fileadmin/documents/Users/Intranet/chercheurs/... · • En ajustant les poids, le réseau apprends le

Classification : perceptrons 49

Proof sketch 3

Classification : perceptrons 50

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

• 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 donnée par :

Page 26: Apprentissage I - Laboratoire Informatique d’Avignon ...lia.univ-avignon.fr/fileadmin/documents/Users/Intranet/chercheurs/... · • En ajustant les poids, le réseau apprends le

Classification : perceptrons 51

Quelques chiffres

83780708643402823669209384634633746074317682114567

15028134184467440737095516166

9457242949672965

1882655364

1042563

14162

441

220

Bn2(2n)n