apprentissage i - laboratoire informatique d’avignon...
TRANSCRIPT
![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](https://reader031.vdocuments.mx/reader031/viewer/2022021902/5b9c267c09d3f2194e8bc808/html5/thumbnails/1.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022021902/5b9c267c09d3f2194e8bc808/html5/thumbnails/2.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022021902/5b9c267c09d3f2194e8bc808/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022021902/5b9c267c09d3f2194e8bc808/html5/thumbnails/4.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022021902/5b9c267c09d3f2194e8bc808/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022021902/5b9c267c09d3f2194e8bc808/html5/thumbnails/6.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022021902/5b9c267c09d3f2194e8bc808/html5/thumbnails/7.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022021902/5b9c267c09d3f2194e8bc808/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022021902/5b9c267c09d3f2194e8bc808/html5/thumbnails/9.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022021902/5b9c267c09d3f2194e8bc808/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022021902/5b9c267c09d3f2194e8bc808/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022021902/5b9c267c09d3f2194e8bc808/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022021902/5b9c267c09d3f2194e8bc808/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022021902/5b9c267c09d3f2194e8bc808/html5/thumbnails/14.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022021902/5b9c267c09d3f2194e8bc808/html5/thumbnails/15.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022021902/5b9c267c09d3f2194e8bc808/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022021902/5b9c267c09d3f2194e8bc808/html5/thumbnails/17.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022021902/5b9c267c09d3f2194e8bc808/html5/thumbnails/18.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022021902/5b9c267c09d3f2194e8bc808/html5/thumbnails/19.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022021902/5b9c267c09d3f2194e8bc808/html5/thumbnails/20.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022021902/5b9c267c09d3f2194e8bc808/html5/thumbnails/21.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022021902/5b9c267c09d3f2194e8bc808/html5/thumbnails/22.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022021902/5b9c267c09d3f2194e8bc808/html5/thumbnails/23.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022021902/5b9c267c09d3f2194e8bc808/html5/thumbnails/24.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022021902/5b9c267c09d3f2194e8bc808/html5/thumbnails/25.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022021902/5b9c267c09d3f2194e8bc808/html5/thumbnails/26.jpg)
Classification : perceptrons 51
Quelques chiffres
83780708643402823669209384634633746074317682114567
15028134184467440737095516166
9457242949672965
1882655364
1042563
14162
441
220
Bn2(2n)n