Apprentissage I - Laboratoire Informatique d’Avignon...
Transcript of Apprentissage I - Laboratoire Informatique d’Avignon...
Apprentissage I
Perceptrons
Juan Manuel [email protected]
LIA/Université d’Avignon
Classification : perceptrons 2
Apprentissage à partir d’exemples
Classification : perceptrons 3
Pro
blèm
es d
’app
rent
issa
ge
Classification : perceptrons 4
Types d’apprentissage
Classification : perceptrons 5
Quand utiliser l’apprentissage
Classification : perceptrons 6
Domaines industriels…
Classification : perceptrons 7
Challenge…
Classification : perceptrons 8
Inspiration biologique
Classification : perceptrons 9
Neurones
Classification : perceptrons 10
Composantes du neurone
Classification : perceptrons 11
Historique…
Classification : perceptrons 12
…histoire…
Classification : perceptrons 13
Perceptron, Rosenblatt 1960
Classification : perceptrons 14
Perceptrons
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…
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
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
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
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
Classification : perceptrons 25
Ensemble LS
Classification : perceptrons 26
Ensemble non LS
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
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é
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é
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
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
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
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
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
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
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
Classification : perceptrons 47
Proof sketch 1
Classification : perceptrons 48
Proof sketch 2
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 :
Classification : perceptrons 51
Quelques chiffres
83780708643402823669209384634633746074317682114567
15028134184467440737095516166
9457242949672965
1882655364
1042563
14162
441
220
Bn2(2n)n