Plan
2- Domaines d’application
Classification
Regroupement
Approximation Prédiction
Mémoire associative Optimisation
Commande robotique
3- Perceptron
Historique
Reconnaissance de formes
Neurone formel de McCulloch & Pitts
Perceptron de Rosenblatt
Adaline et madaline de Widrow-Hoff
Cours #3 GPA-779
- 1 Application des réseaux de neurones et des systèmes experts
Découverte
S. Haykin, Neural Networks: A
Comprehensive Foundation, Prentice
Hall, 2e édition, 1998 (1ère édition:
IEEE Press).
Approche ingénierie
Classique dans le domaine
Meilleure introduction aux réseaux
de neurones artificiels, selon un
sondage.
Cours #3 GPA-779
- 2 Application des réseaux de neurones et des systèmes experts
Découverte
Hervé ABDI, Les réseaux de neurones,
Presses Universitaires de Grenoble,
1994.
Découvert à Paris, juillet 2002, 24€
Approche pédagogique
Nombreux exemples numériques
Perceptron : Rosenblatt et multicouche,
MA, Hopfield
Appendice: calcul matriciel
Appendice: programmes MATLAB
Cours #3 GPA-779
- 3 Application des réseaux de neurones et des systèmes experts
Chapitre 2
Domaines d’application
Principaux domaines
d’application
1. Classification
2. Regroupement
3. Approximation
4. Prédiction
5. Optimisation de
parcours
6. Mémoire
associative
7. Commande
Cours #3 GPA-779
- 5 Application des réseaux de neurones et des systèmes experts
2.1 Classification
Montrer par l’exemple à reconnaître les
catégories de formes présentées à
l’entrée du réseau
Perceptron de Rosenblatt
Réseau à rétro-propagation du gradient
d’erreur (perceptron multicouche)
Cours #3 GPA-779
- 6 Application des réseaux de neurones et des systèmes experts
Reconnaissance de chiffres
Cours #3 GPA-779
- 7 Application des réseaux de neurones et des systèmes experts
Sonar
Travaux de Sejnowski
& Gorman, 1988
Pré-traitement: TFD
Apprentissage: formes
spectrales
Cours #3 GPA-779
- 8 Application des réseaux de neurones et des systèmes experts
2.2 Approximation
Transformer une forme d’entrée en une
forme de sortie selon une fonction de
transformation apprise par le réseau
Réseau à rétro-propagation du gradient
d’erreurs (perceptron multicouche)
Adaline-Madaline
Cours #3 GPA-779
- 9 Application des réseaux de neurones et des systèmes experts
Approximation de
fonction
transcendentale
y = 0,8sinπx
n=10; K=21
31 param. à
entraîner :
– 20 poids
– 11 polar.
Cours #3 GPA-779
- 10 Application des réseaux de neurones et des systèmes experts
Réseau Net Talk
Sejnowski & Rosenberg
1986
But: Apprendre à
prononcer un texte écrit
avec l’aide d’un
dictionnaire phonétique
Cours #3 GPA-779
- 11 Application des réseaux de neurones et des systèmes experts
Cours #3 GPA-779
- 12 Application des réseaux de neurones et des systèmes experts
Approximation complexe: conduite d’un véhicule motorisé
à à
gauche droite
route + claire 1217
ou + foncée unités
= 256
= 960 (dans le bleu)
Cours #3 GPA-779
- 13 Application des réseaux de neurones et des systèmes experts
Approximation complexe: conduite de
véhicule motorisé
Projet développé à Carnegie-Mellon
Apprentissage: 1200 images présentées 40
fois chacune. Les images représentent une
grande diversité de courbes, d’intensité et de
distortion. L’apprentissage dure ~30 min.
Résultats: Le meilleur à … ~5 km/hrs dans
une route boisée.
Cours #3 GPA-779
- 14 Application des réseaux de neurones et des systèmes experts
2.3 Prédiction
Prédire une valeur de sortie à partir d’une
forme d’entrée
Indice Dow-Jones
14 indicateurs, dont:
DJ précédent
Or Couche cachée: 20
Bons du trésor
Cours #3 GPA-779
- 15 Application des réseaux de neurones et des systèmes experts
2.4 Compression
Encodeur 8-3-8
Extraction
de Classification
primitives
transmis
Cours #3 GPA-779
- 16 Application des réseaux de neurones et des systèmes experts
2.5 Mémorisation associative
Mémoriser plusieurs formes.
En rappeler 1 à partir d’une forme
partielle ou bruitée.
Réseaude Hopfield
BAM, ABAM
Cours #3 GPA-779
- 17 Application des réseaux de neurones et des systèmes experts
Reconstruction d’images
Cours #3 GPA-779
- 18 Application des réseaux de neurones et des systèmes experts
2.6 Optimisation
Trouver une bonne solution (pas
nécessairement LA solution optimale)
qui minimise une fonction de coût.
Réseaurécurrent de Hopfield
Machine de Boltzmann
Cours #3 GPA-779
- 19 Application des réseaux de neurones et des systèmes experts
Voyageur de commerce
Un vendeur doit établir un itinéraire de visite
de 5 villes. Il doit partir de Boston et revenir à
Boston à la fin de son itinéraire.
Chaque ville est visitée une et une seule fois
L’itinéraire doit être le plus court possible afin de
minimiser les frais d’essence
La principale difficulté rencontrée avec ce type
de problème est l’explosion combinatoire des
solutions à évaluer.
Cours #3 GPA-779
- 20 Application des réseaux de neurones et des systèmes experts
Cours #3 GPA-779
- 21 Application des réseaux de neurones et des systèmes experts
Réseau de Hopfield
Lignes villes
Colonnes séquence de visite
Poids contraintes du
problème à résoudre
– 1 ville visitée 1 seule fois
– 1 étape 1 seule ville
– Distance entre les villes
Activation du réseau
minimisation du coût
Cours #3 GPA-779
- 22 Application des réseaux de neurones et des systèmes experts
2.7 Regroupement
Apprendre sans supervision à classer les
données soumises au réseau.
Les classes sont regroupées selon un critère de
proximité des formes.
2 formes «semblables» vont activer une seule et
même classe.
Les réseaux de compétition forment la base :
Gagnant emporte tout
ART
Kohonen, LVQ
Cours #3 GPA-779
- 23 Application des réseaux de neurones et des systèmes experts
Réseau ART pour la classification non-supervisée
Cours #3 GPA-779
- 24 Application des réseaux de neurones et des systèmes experts
ART: reconnaissance de lettres manuscrites
= 0,9
= 3 et plus
nouvelle
catégorie
Cours #3 GPA-779
- 25 Application des réseaux de neurones et des systèmes experts
Chapitre 3
Le Perceptron
Réseaux de Neurones
Application en Reconnaissance de Formes
d’après B. Solaiman
Dépt. Image & Traitement de l'Information
Ecole Nationale Supérieure des Télécommunications de
Bretagne
Plan
1 Problématique de reconnaissance de formes
2 Développement d’une solution neuronale
3 Neurone formel - Perceptron, Madaline
1 Problématique de
Reconnaissance de Formes
Extraction Système
X des Y de D
primitives décision
Espace Espace Espace
d'entrée des primitives des décisions
1 Problématique de reconnaissance de formes
Les primitives :
1 Les vecteurs propres
y
. . . z. . .
. ..
...z........ ... v
. . .
... ....... u...
y1
.. V2 ..
j j V1
x x
x1
i i
z = x1 i + y1 j z = u V1 + v V2
1 Problématique de reconnaissance de formes
2 Les primitives visuelles
….
1 Problématique de reconnaissance de formes
3 Les vecteurs prototypes
. . . ..
. .. ... ..
. . .
. ...
..
. . . . . . . .. P1
.
. . ...
P3 . . P1 . . ... d3
. P3 . . d1
.
y . . . .z . . .
d2
.z
P2. ... P2. ...
.. ..
x
z (x,y) z (d1,d2,d3)
2 Développement d’une
solution neuronale
Case Based
Problème formel Reasoning
Un ensemble de Une base
connaissances d’apprentissage
Problème formel : Reconnaissance de chiffres manuscrits
Connaissances : L’ensemble des chiffres (0, 1, … , 9),
La structures des chiffres,
Forme de représentation (images 16x16),
Les primitives à utiliser,
Les méthodes de pré-traitement utilisées,..
Une base d’apprentissage :
?
«5 »
5 i f f r e
, Ch
Problème formel : Reconnaissance de pannes dans les
cartes électroniques.
Connaissances : L’ensemble des pannes potentielles,
Les mesures réalisables,
Une base d’apprentissage :
Carte + panne + Mesures associées
2 Développement d’une solution neuronale
Démarche
1 Identifier les connaissances exploitables
2 Définir l’architecture neuronale adéquate :
a. objectifs,
b. nature de la base d’apprentissage
3 Définir la mémoire et
l’algorithme d’apprentissage
4 Définir la stratégie de décision
2 Développement d’une solution neuronale
Catégorisation des R.d.N en
Reconnaissance de Formes
1 Les réseaux de neurones classifieurs
Réseau de neurones
classifieur
Extraction des
primitives
Espace Espace des Espace des
d’objets primitives décisions
2 Développement d’une solution neuronale
Les réseaux de neurones
2
extracteurs de primitives
Réseau de neurones
d’extraction de primitives
Système de
décision
Espace Espace des Espace des
d’objets primitives décisions
2 Développement d’une solution neuronale
s réseaux de neurones
3
xtracteurs de primitives/Classifieu
Réseau d’extraction de primitives / classifieurs
Extraction Système
des de
primitives décision
Espace Espace des primitives Espace des
d’objets (d’observations) décisions
Neurone formel :
3 Réseaux perceptron et
madaline
Le neurone formel de McCulloch&Pitts
.AND.
?
.OR.
.XOR.
…....
Fonctions logiques
Version circuit à seuil
x1
1
y yq
N xn
wn
y = X × WT = ∑w n xn Circuit à seuil
n =1
xN
wN
⎧ 1 si y > θ
yq = ⎨
Combinateur linéaire adaptatif
⎩- 1 sinon.
Modèle du neurone formel de
McCulloch&Pitts 1943
Version somme biaisée
x1
w1
y
xn
wn
N b
y = b+ ∑w n xn xN 1 Biais
wN
n =1
Combinateur linéaire adaptatif
b + x1w 1 + x 2 w 2 < 0
Exemple
x1 x1
w1=+1 w1=+1
x2 x2
w2=+1 ET w2=+1 OU
x1 x2 Sortie ET Sortie OU
-1 -1 -1 -1
-1 1 -1 1
1 -1 -1 1
1 1 1 1
Surface de décision 2 Surface de décision 3
x2 x3
x2
D +
D+
x1 x1
D - D-
La fonction réalisée par un neurone formel :
La séparation linéaire
P Q PQ
1 1 +1
Exemple : 1 -1 -1
-1 1 -1
-1 -1 -1
Q
- +
1
b
P
w1
Y PQ
P
w2
Q
- -
Exemple (suite) :
La droite qui résoud le problème
Q est donnée par :
- +
w1 b
x 2 = − x1 −
w2 w2
P où
b = -1
w1 = 1
w2 = 1
- -
le signe de b vérifie que :
b + x1w 1 + x 2 w 2 < 0
P Q PQ
1 1 +1
Exercice : 1 -1 +1
-1 1 +1
-1 -1 -1
Q
+ +
1
b
P
w1
Y PQ
P
w2
Q
- +
Exercice (solution) :
La droite qui résoud le problème
est donnée par :
Q w b
x 2 = − 1 x1 −
+ + w2 w2
où
b=1
P w1 = 1
w2 = 1
le signe de b vérifie que :
- +
b + x1w 1 + x 2 w 2 > 0
Le neurone sépare deux classes mais ne
permet pas de les caractériser !
x2
Y D+
x1 C1
s X
x2 x1
C2
S(X) = S(Y)
D-
Apprentissage des poids synaptiques
1 deux classes C1 et C2
Apprentissage ? linéairement séparables
2 Surface de séparation :
N
b + ∑ wn x n = 0
3 Apprentissage n =1
Base d’exemples
(X , d(k)) €
k Estimer wn et b
d(k) = {0,1} ou {-1,+1}
L’algorithme d’apprentissage de Rosenblatt , 1958
x1(k)
w1
y(k)
yq(k)
xn(k)
wn
xN(k) Algorithme d(k)
wN Nouveaux
de
Rosenblatt
[w1, w2,…, wN]
eq(k)
W(t+1) = W(t) + eq(k) Xk
Interprétation géométrique
de l’algorithme de Rosenblatt
x3
Xk W(t+1) = eq(k) Xk
W(t+1)
W(t)
x1
x2
La modification de poids est proportionnelle à l’erreur et au vecteur d’entrée et est
de même direction que ce dernier
Le déroulement de l’algorithme d'apprentissage
initialisation aléatoire des poids synaptiques;
tant que CONDITION D’ARRÊT non vérifiée faire
Pour k=1 jusqu'à k=K
faire
présenter la forme Xk à l'entrée;
calculer yq(k);
calculer eq(k);
Pour n = 0 jusqu'à n = N faire
ajustement des poids :
wn(t+1) = wn(t) +
eq (k) xn(k)
Fin;
P Q PQ
1 1 1
Exemple : 1 0 -1 Seuil à 0,2
0 1 -1
0 0 -1
1
b3
P
w1
Ne Out
t
Q w2
d
Exemple (suite):
Initialisation des poids à 0
(0 0 0)
P Q b Net Out d w1 w2 b w1 w2 b
1 1 1 0 0 1 1 1 1 1 1 1
Calcul de la droite de séparation w 1P + w 2 Q + b = ±θ
P Q b Net Out d w1 w2 b w1 w2 b
1 0 1 2 1 -1 -1 0 -1 0 1 0
… … …
Rosenblatt a démontré, 1960, la convergence de cet
algorithme pour la séparation de deux classes à condition
qu'elles soient linéairement séparables.
Si eq(k) = 0 yq(k)= d(k)
W(k+1) = W(k) (i.e. pas de modification
des poids synaptiques)
Exemple : = 0, d(k)= 1
y (k) = 0.0001 eq(k) = 0
y (k) = 0.9999
L’algorithme de Widrow-Hoff, 1960
x1(k)
w1
yq(k)
xn(k)
y(k)
wn
xN(k) Algorithme
d(k)
de
wN Widrow-
Nouveaux
[w1, w2,…, wN] Hoff e(k)
Minimiser l'erreur analogique quadratique moyenne : [d(k) - y(k)]2
W(t+1) = W(t) + e(k) Xk
C1 C1 C1
C2 C2 C2
Widrow-Hoff
A p p r e n t i s s a g e
Rosenblatt
C1 C1 C1
C2 C2 C2
Marvin Minsky, 1969
Perceptrons, an introduction to computational geometry
x2
C1
C2
x1
Le problème du XOR
réseaux Madaline
x2
1 b1 1
b3
X1 w11
Z1
v1
w12
Y
w21 v2
Z2
x1 X2
w22
b2
1
Solution « artificielle »
et si N > 3 ?
Naissance de l’architecture multicouches
Fausett, Prentice Hall, 1994
Exercice 2.7
1
b
P Q P•Q
P
1 1 1 w1
1 -1 -1 Y PQ
-1 1 -1 w2
Q
-1 -1 -1
P Q b Net Out d w1 w2 b w1 w2 b
1 1 1 0 0 1 1 1 1 1 1 1
1 -1 1 1 1 -1 -1 1 -1 0 2 0
-1 1 1 2 1 -1 1 -1 -1 1 1 -1
-1 -1 1 -3 -1 -1 0 0 0 1 1 -1
Exercice 2.7 (suite)
Étape 1 Étape 2 Étape 3
Q Q Q
- + - + - +
P P P
- - - - - -
P+ Q+ 1 = 0 Q= 0 P+ Q- 1 = 0
Fausett, Prentice Hall, 1994 1
Exercice 2.16 P
b
w1
P Q P¬Q
Ne
1 1 0 Out
t
1 0 1 Q w2
0 1 0
0 0 0 d
La règle d’apprentissage de l’ADALINE cherche à minimiser
l’erreur quadratique totale :
4
E = ∑(P(p) w 1 + Q(p) w 2 + b −d (p)) 2
p =1
où P ( p ) w 1 + Q( p ) w 2 + b est la valeur « Net » et d est un élément
de la table de vérité de P¬Q
Exercice 2.16 (suite)
Le AND NOT sans valeur de biais consiste à minimiser :
E = (w1 + w2)2 + (w1 – 1)2 + (w2)2
Il n’y a pas d’erreur pour la dernière ligne du tableau logique, peu importe les
valeurs de poids synaptiques.
Les dérivées partielles en w1 et w2 permettent de trouver le minimum de E :
2(w1 + w2) + 2(w1 – 1) = 0 2(w1 + w2) + 2(w2) = 0
2 w1 + w2 – 1 = 0 w1 + 2 w2 = 0 ou w1 = -2 w2
-4 w2 + w2 – 1 = 0 ou w2 = -1/3 w1 = 2/3
Exercice 2.16 (suite)
Le AND NOT avec valeurs de biais consiste à minimiser :
E = (w1 + w2 + b)2 + (w1 – 1 + b)2 + (w2 + b)2 + b2
Les dérivées partielles en w1, w2 et b permettent de trouver le minimum de E :
{
2(w1 + w2 + b) + 2(w1 – 1 + b) = 0 2 w1 + w2 + 2b = 1
2(w1 + w2 + b) + 2(w2 + b) = 0 w1 + 2 w2 + 2b = 0
2(w1 + w2 + b) + 2(w1 – 1 + b) + 2(w2 + b) + 2b = 0 2 w1 + 2 w2 + 4b = 1
w1 = 0.5 w2 = -0.5 b = 0.25