Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
Introduction à
l’Apprentissage Connexionniste
Younès BENNANI
1
Université Paris 13/Younès Bennani Apprentissage Connexionniste 2
- Éléments de base: le neurone, architecture, paramètres
- Critères et algorithmes d'apprentissage
- Adaline
Université Paris 13/Younès Bennani Apprentissage Connexionniste 3
Plan du cours
- Éléments de base
- le neurone
- architectures
- paramètres
- Critères et algorithmes d'apprentissage
- Modèles connexionnistes supervisés
- Perceptron multicouches
- Réseaux à fonctions radiales
- Learning Vector quantization
- Modèles Connexionnistes non supervisés
- Les cartes topologiques de Kohonen
- ART
- Liens avec les statistiques
- Extraction et sélection de caractéristiques
- Fusion de données et de décisions
- Heuristiques pour la généralisation
- régularisation structurelle
- régularisation explicite et pénalisation
- Applications
Université Paris 13/Younès Bennani Apprentissage Connexionniste 4
Livres
Neural Networks for Pattern Recognition
Christopher M. Bishop
Clarendon Press - Oxford (1995)
Neural Smithing
Supervised Learning in Feedforward Artificial Neural Networks
Russell D. Reed & Robert J. Marks
Massachusetts Institute of Technology Press (1999)
Pattern Recognition and Neural Networks
B.D. Ripley
Cambridge University Press (1996)
Neural Networks
James A. Freeman & David M. Skapura
Addison-Wesley Publishing Compagny (1991)
Adaptive Pattern Recognition and Neural Networks
Yoh-Han Pao
Addison-Wesley Publishing Compagny (1989)
Neural Networks in Computer Intelligence
LiMin Fu
Massachusetts Institute of Technology Press (1994)
Université Paris 13/Younès Bennani Apprentissage Connexionniste 5
Le Neurone Formel
1943, Mc Culloch & Pitts
Un modèle et non une copie du neurone biologique
= un processeur élémentaire caractérisé par :
• signaux d’entrée
• poids des connexions
• fonction d’activation
• état interne d’activation
• fonction de transition
• état de sortie
x0, x1,K, x
n
!
wi 0,w
i1,K,w
in
!
F(x,w)
!
a = F(x,w)
!
f (a)
!
s = f (a)
x0
!
w j 0
!
a j
!
s j
x1
xn
M!
F(xi,w ji)
!
f (a j )!
w j1
!
w j n
Université Paris 13/Younès Bennani Apprentissage Connexionniste 6
Le Neurone Formel
x0
!
w j 0
!
s j
x1
xn
M!
F(xi,w j i)
!
f (a j )!
w j1
!
w j n
!
a j
Définition : Un neurone formel (artificiel) est une unité de traitement qui reçoit
des données en entrée, sous la forme d’un vecteur, et produit une sortie réelle.
Cette sortie est une fonction des entrées et des poids des connexions.
Université Paris 13/Younès Bennani Apprentissage Connexionniste 7
Poids et connexion
Définition : Une connexion entre deux unités i et j indique la
possibilité d'une relation physique entre ces deux unités.
Définition : La valeur numérique du poids associé à une
connexion entre deux unités reflète la force de la relation entre
ces deux unités. Si cette valeur est positive, la connexion est
dite excitatrice, sinon elle est dite inhibitrice. La convention
usuelle est de noter le poids de la connexion reliant le neurone
i au neurone j :
!
wj i
x0
!
w j 0
!
s j
x1
xn
M!
F(xi,w j i)
!
f (a j )!
w j1
!
w j n
!
a j
Université Paris 13/Younès Bennani Apprentissage Connexionniste 8
Le Neurone Formel
k
Définition : Si l’on considère l’unité k, et que l’on appelle Amont(k) l’ensemble
des neurones dont les sorties servent d’entrées au neurone k, Aval(k) l’ensemble
des neurones qui utilisent comme entrée la sortie du neurone k.
E l’ensemble des neurones d’entrée, et S l’ensemble des neurones de sortie.
Alors, par définition on a : ! i " E, Amont(i)=# et ! i " S, Aval(i)= #.
Amont(k) Aval(k)
Université Paris 13/Younès Bennani Apprentissage Connexionniste 9
Le Neurone Produit Scalaire
x0
x1
xn
M
!
w j i xii= 0
n
"
ƒ x( ) =ex ! e! x
ex
+ e! x
!
a j
!
w j 0
!
w j1
!
w j n
!
F(x,w) = w.x = wj i xii " Amont (j )
#
!
sj = ƒ wj i xii " Amont ( j )
#$
% & &
'
( ) )
Université Paris 13/Younès Bennani Apprentissage Connexionniste 10
Le Neurone Distance
x0
x1
xn
M!
w j i " xi( )2
i= 0
n
#
!
a j
!
w j 0
!
w j1
!
w j n
!
w " x2
= w2
" 2 w.x + x2
!
F(x,w) = w " x2
= wj i " xi( )2
i # Amont ( j )
$
!
sj = ƒ wj i " xi( )2
i # Amont ( j )
$%
& ' '
(
) * *
Université Paris 13/Younès Bennani Apprentissage Connexionniste 11
Réseau Connexionniste
x0
x1
xn
M
!
y ="(x,w)
Définition : Un réseau de neurones est un graphe valué orienté, constitué
d’un ensemble d’unités (ou automates), réalisant des calculs élémentaires,
structurées en couches successives capables d’échanger des informations
au moyen de connexions qui les relient.
- Un réseau se caractérise par :
- son architecture
- les fonctions de ses éléments !
y1
!
yp
M
M
- Architecture massivement parallèles.
- Système basé sur la coopération de
plusieurs unités simples (neurones formels).
Université Paris 13/Younès Bennani Apprentissage Connexionniste 12
Fonctions d’un réseau connexionniste
Le Mode Apprentissage :
Le réseau est modifié en fonction des exemples d ’apprentissage
On peut modifier :
- les poids de ses connexions
- son architecture
- les fonctions de transition des unités
Il existe essentiellement deux sortes d ’algorithmes d ’apprentissage :
- l’apprentissage supervisé
- l’apprentissage non supervisé
Université Paris 13/Younès Bennani Apprentissage Connexionniste 13
Apprentissage Supervisé
On se donne :
- N exemples étiquetés
- une architecture de réseau
- des poids initiaux
On cherche, au moyen de l’algorithme
d’apprentissage à trouver des poids tels que :
- les exemples sont reconnus :
- on obtient une bonne généralisation :
est une réponse raisonnable pour l’entrée
x
!
d
!
EN = x1,d1( ), x 2,d2( ),K, x
N,d
N( ){ } xk " #n
dk " #p
A
w0
w*
!
dk
="(xk,w)
!
d ="(x,w)
x
entréeSortie
désirée
! (x,w)
Professeur
!
y
Sortiedésirée
Sortiecalculée
Université Paris 13/Younès Bennani Apprentissage Connexionniste 14
Apprentissage Non Supervisé
On se donne :
- N exemples non étiquetés
- une architecture de réseau
- des poids initiaux
!
EN
= x1, x
2,K,x
N{ }A
w0
On cherche à trouver des poids tels que :
- les exemples sont correctement regroupés- on obtient une bonne généralisation
w*
! (x,w)x
Université Paris 13/Younès Bennani Apprentissage Connexionniste 15
Mode Reconnaissance
Le réseau est utilisé pour traiter des données
- les poids et l ’architecture du réseau sont fixés
- on lui présente un exemple en entrée et le réseau calcule
une sortie qui dépend de l’architecture et des
poids appris.
A
w*
!
y ="(x,w)
x
La sortie peut être :
- l’étiquette de la classe (identité) Classement/Discrimination
- le N° du cluster Classification/Quantification
- la valeur à prévoir Prévision
- un vecteur du même type que l’entrée Codage/Compaction
Université Paris 13/Younès Bennani Apprentissage Connexionniste 16
Utilisation des modèles connexionnistes
Grand nombre de mesures + Loi sous-jacente inconnue
Taille
Poids
Danceur de Ballet
Joueur de Rugby
Frontière de décision
Classement
TaillePoids
BalletRugby
x
!
d
Université Paris 13/Younès Bennani Apprentissage Connexionniste 17
Utilisation des modèles connexionnistes
Grand nombre de mesures + Loi sous-jacente inconnue
Compression
décodage
codage
x 1 x 2 x 3
x 1 x 2 x 3
x
x
x 1 x 2 x 3
x 1 x 2 x 3
Université Paris 13/Younès Bennani Apprentissage Connexionniste 18
Utilisation des modèles connexionnistes
Grand nombre de mesures + Loi sous-jacente inconnue
x t-2 x t-1 x t
x t+1
Régression
Université Paris 13/Younès Bennani Apprentissage Connexionniste 19
Utilisation des modèles connexionnistes
Grand nombre de mesures + Loi sous-jacente inconnue
ClassificationQuantification
x
x
x
x
x
x
x
x
x
x
x
x
x
x
xxx x
x x
x
x
x
x
x
x
x
x
x
x
x
x
x
xxx x
x
Clustering
Université Paris 13/Younès Bennani Apprentissage Connexionniste 20
Apprentissage à partir d’exemples
Connaissances :• données• domaine
But :
• Construire un système qui explique des données
ou une relation pertinente liant ces données
• Estimer un modèle statistique qui a généré les données
Démarche :• Choisir un système possédant une bonne capacité degénéralisation
• Agir sur la complexité effective des modèles
Université Paris 13/Younès Bennani Apprentissage Connexionniste 21
Où , à valeur dans un espace (des conditions extérieures ou des exemples),représente les observations d’une v.a. de distribution de probabilité, fixe mais inconnue, et les paramètres du réseau.
Formalisme
La problématique de l’apprentissage se présente souvent comme laminimisation d’une fonction de risque :
!
R(w) = L z ,w( ) dp(z )Z
"
Risque théorique
L’erreur de généralisation
Fonction de perte
Loss function
!
z
!
Z
!
Z
!
p(z )
!
w
L’apprentissage revient à trouver les paramètres :
!
w*
= argminw
R(w)
Université Paris 13/Younès Bennani Apprentissage Connexionniste 22
Le risque théorique n’est pas calculable, est inconnue.
Mais un échantillon d’exemples indépendants, tirés deest connu.
En pratique, on ne peut pas minimiser , on utilise alors unprincipe d’induction.
Le plus courant = minimisation du risque empirique (MRE) :
Formalisme
Choix :!
˜ R (w) =1
NL z
k,w( )
k=1
N
"Risque empirique
(Erreur d ’apprentissage)
!
R(w)!
p(z)
!
p(z)
!
EN
= zk{ }
k=1
N
!
w+
= argminw
˜ R (w)
Université Paris 13/Younès Bennani Apprentissage Connexionniste 23
Algorithmes d’Optimisation
À partir d'une configuration initiale des poids (les paramètres du modèle),une procédure de gradient modifie les valeurs de ces paramètres par desajustements successifs qui visent à minimiser le critère d'erreur .
La version la plus simple utilise pour cela les dérivées premières de ,c'est le cas de l'algorithme dit de la plus grande pente.
!
˜ R (w)
!
f (x)
!
" f (x0)
!
x
!
x0
!
x1
= x0"#. $ f (x
0)
Repeat this iteratively
until for some xi,
ƒ’(xi) is sufficiently close to 0.
Université Paris 13/Younès Bennani Apprentissage Connexionniste 24
Algorithmes d’Optimisation
La règle d'adaptation :
!
w(t +1) = w(t) "1
N#(t) $
w˜ R
k(w)
k=1
N
%
!
w(t +1) = w(t) "#(t)$w
˜ R k(w)
!
˜ R k(w) = L z
y,w( )
Gradient total
Gradient stochastique!
" ˜ R (w)
"w= lim
#w$0
˜ R (w + #w) % ˜ R (w)
#w
!
"w
˜ R k(w) =
# ˜ R k(w)
#w1
,K,# ˜ R
k(w)
#wi
,K,# ˜ R
k(w)
#wn
$
% &
'
( )
Université Paris 13/Younès Bennani Apprentissage Connexionniste 25
Systèmes d’Apprentissage Supervisé
Université Paris 13/Younès Bennani Apprentissage Connexionniste 26
Système d ’Apprentissage Supervisé
Exemples d’apprentissage
Algorithme d ’apprentissage(Méthode d ’optimisation)
Fonctionde coût
Entrée Sortie désirée
EntréeSortie
calculée +-
erreur
Adaptationdes poids
x0
x1
xn
!
y ="(x,w)
!
d
!
x
M
!
y1
!
yp M
Université Paris 13/Younès Bennani Apprentissage Connexionniste 27
Adaline : Adaptive Linear ElementStanford, 1960, Bernard Widrow*
x0= 1
w0
a
x1
xn
M
wixi
i= 0
n
!
w1
wn
C’est un élément linéaire adaptatif :
!
y = wixii= 0
n
"
L ’unité x0, dont
l ’activation fixée à 1, est
dite unité de biais.
Elle permet d'introduire
les termes de biais dans
le réseau.
* Widrow B., Hoff M.E. (1960) : « Adaptive switching circuits », IRE WESCON
Conv. Record, part 4, pp. 96-104.
!
y ="(x,w) = w0
+ wixii=1
n
#
!
y
f (x) =
1 si x > 0
!1 si x < 0
"
# $
% $
Université Paris 13/Younès Bennani Apprentissage Connexionniste 28
Adaline : Adaptive Linear Element
!
y = wixii= 0
n
" = w x cos#
w
x
Université Paris 13/Younès Bennani Apprentissage Connexionniste 29
Adaline : Adaptive Linear Element
!
y ="(x,w) = w0
+ wixii=1
n
#
!
y ="(x,w) = w0
+ wTx
w
x2
x1
w0+ w
T
x = 0
l =w
Tx
w= !
w0
w
Université Paris 13/Younès Bennani Apprentissage Connexionniste 30
Adaline : Adaptive Linear Element
Sans unité de biais
xx
x
x
x
x
x
x
x
x
oo
o
o
o
o
o
o
o
o
o
xx
x
x
x
x
x
x
x
x
oo
o
o
o
o
o
o
o
o
o
Avec unité de biais
Université Paris 13/Younès Bennani Apprentissage Connexionniste 31
Adaline : Adaptive Linear Element
On peut l’utiliser en discrimination (classement) entre 2 classes :
xx
x
x
x
x
x
x
x
x
oo
o
o
o
o
o
o
o
o
o
xi
C2
C1
$(x,w)=0
$(x,w)> 0)$(x,w)< 0
! (x,w) = w0
+ wT
x
> 0 si x "C1
< 0 si x "C2
#
$ %
& %
Université Paris 13/Younès Bennani Apprentissage Connexionniste 32
Adaline : Adaptive Linear Element
Si l ’on appelle la forme prise en compte à l’itération k,
On définit le carré de l’erreur instantanée associée à la forme par :
!
˜ R Adaline
k(w) = d
k" wx
k( )2
!
zk = x
k,d
k( )
Sortie désirée
L’erreur quadratique globale ou (MSE) est définie comme la moyenneobservée des carrés des erreurs instantanées sur l’ensemble de toutesles formes :
!
xk,d
k( )
Sortie calculée : y
!
˜ R Adaline
(w) =1
N
˜ R Adaline
k(w)
k=1
N
"
Il existe plusieurs algorithmes d’apprentissage.
Université Paris 13/Younès Bennani Apprentissage Connexionniste 33
Adaline : Adaptive Linear Element
Techniques de descente de gradient (la plus grande pente) :supposons qu ’à l’instant , les poids de l ’Adaline soient et qu ’on présente la forme , alors les poids seront modifiés par :
Cette règle est appelée règle du gradient stochastiqueou règle de Widrow-Hoff ou règle du delta de Widrow-Hoffou règle !-LMS (Least Mean Square)
!
"w
˜ R Adaline
k(w) =
# ˜ R Adaline
k(w)
#w= $2 d
k$ wx
k( )xk
!
w(t +1) = w(t) "#(t)$w
˜ R Adaline
k(w)
t
Le pas du gradientLe gradient instantané
w t( )
!
xk,d
k( )
Université Paris 13/Younès Bennani Apprentissage Connexionniste 34
Adaline : Adaptive Linear Element
1- Tirer au hasard
2- Présenter une forme
3- Déterminer la valeur de l’écart
4- Calculer une approximation du gradient
5- Adapter les poids
Où est le pas du gradient.
6- Répéter de 2 à 4 jusqu’à l’obtention d’une
valeur acceptable de l’erreur
w0
w t( )
! t( )
!
ekt( ) = d
k" wx
k( )
!
"w
˜ R Adaline
k(w) = #2e
kt( )x
k
!
xk,d
k( )
!
w(t +1) = w(t) "#(t)$w
˜ R Adaline
k(w)
Université Paris 13/Younès Bennani Apprentissage Connexionniste 35
Adaline : Exemples
Données : Table de vérité d ’une fonction booléenne de 2 variables
Problème :
Trouver un Adaline capable d ’apprendre la table de véritéd’une fonction booléenne de 2 variables
x1
1
1
x2
1
-1
d
1
1
-1 1 1
-1 -1 -1
Fonction : $(x,w)= (x1 ou x2)
Université Paris 13/Younès Bennani Apprentissage Connexionniste 36
Adaline : Exemples
x1
1
1
x2
1
-1
d
1
1
-1 1 1
-1 -1 -1
Fonction : $(x,w)= (x1 ou x2)x2
x1
Université Paris 13/Younès Bennani Apprentissage Connexionniste 37
Adaline : Exemples
!
EN
= x1,d1( ), x 2,d2( ),..., xN ,dN( ){ }
x1
1
1
x2
1
-1
d
1
1
x0
1
1
-1 1 11
-1 -1 -11
x0= 1
w0
a
yx1
x2
wixi
i= 0
n
!w1
w2 ! x,w( ) = x
1" x
2
Université Paris 13/Younès Bennani Apprentissage Connexionniste 38
Adaline : Exemples
x0= 1
w0
a
yx1
xn
wixi
i= 0
n
!w1
w2 ! x,w( ) = x
1" x
2
x2
x1
w1x1+ w
2x2+ w
0= 0
Université Paris 13/Younès Bennani Apprentissage Connexionniste 39
Adaline : Exemples
x0= 1
w0
a
yx1
x2
wixi
i= 0
n
!w1
w2 ! x,w( ) = x
1" x
2
x2
x1
w1x1+ w
2x2+ w
0= 0
x1
1
1
x2
1
-1
d
1
-1
x0
1
1
-1 1 -11
-1 -1 -11
Université Paris 13/Younès Bennani Apprentissage Connexionniste 40
Exercice à faire
x0
0.3
a
yx1
x2
wixi
i= 0
n
!0.8
0.4! x,w( )
!
E =
1
1
1
"
#
$ $ $
%
&
' ' ' ,1
"
#
$ $ $
%
&
' ' ' ;
1
1
(1
"
#
$ $ $
%
&
' ' ' ,(1
"
#
$ $ $
%
&
' ' ' ;
1
(1
1
"
#
$ $ $
%
&
' ' ' ,1
"
#
$ $ $
%
&
' ' ' ;
1
(1
(1
"
#
$ $ $
%
&
' ' ' ,1
"
#
$ $ $
%
&
' ' '
)
* +
, +
-
. +
/ +
Représenter dans un repère orthogonal l’ensemble des échantillons.
Utiliser l ’algorithme Adaline pour adapter les poids du modèle (%=0.1).
Donner l ’équation de l ’hyperplan séparant les deux classes.
Représenter l ’hyperplan dans le même repère orthogonal
f (x) =
1 si x > 0
!1 si x < 0
"
# $
% $
! x,w( ) = x1" x
2