Université Paris 13/Younès Bennani Traitement Informatique des Données 1
9 Younès BENNANI
ILOG 3
Traitement
Informatique des
Données
Université Paris 13/Younès Bennani Traitement Informatique des Données 3
AdaLinE : Rappel
Stanford, 1960, Bernard Widrow
x0=1 w0
a x1
xn
M
wixi i=0
n
!
w1
wn
z= wixi i=0
n
!
f(x)=
1si x>0
!1si x<0
"
#
$
% $
C
Adalinek(w) = ( y
k! wx
k)
2!
w( C
Adalinek( w) ) = "C
Adalinek"w (w) = #2 [ y
k# wx
k] x
kw(t + 1) = w(t) ! " (t)#
w( C
Adalinek(w ) )
Adaline
Fonction de Coût
Apprentissage
w
0(t + 1) w
1(t + 1)
M w
n(t + 1)
!
"
#
# #
$
%
&
&
&
= w
0(t) w
1(t) M w
n(t)
!
"
#
# #
$
%
&
&
&
' 2 ((t) y
k' ( w
0(t) w
1(t) K w
n(t) )
x
0 kx
1kM x
nk!
"
#
# #
$
%
&
&
&
)
* + + +
,
- . . .
x
0 kx
1kM x
nk!
"
#
# #
$
%
&
&
&
1 2
w3
Perceptron : Rappel
Rosenblatt F., 1957, 1962
X "
i=0nwi!i(x) !(x,w)=f(wT")1 w0
w1
wn
!1
!2
!n la rétine
qui reçoit les informations de l'extérieur
la cellule de décision les cellules d'association
chaque cellule possède une fonction
de transition définie sur la rétine :
! ( x, w ) = f w
0+ w
i"
i(x)
i=1 n
$ #
%
& '
(
!
i( ) x : R " # R
w
T!
k> 0 pour x
k"C
1w
T!
k< 0 pour x
k"C
2#
$
%
&
%
! x
k, w
T( "
ky
k) > 0
C
Perceptronk(w) = ! w
T( "
ky
k)
w(t +1) = w(t)
k k
Si f w
(
T!
k)
=yk alorsSi f w
(
T!
k)
"yk alorsw
2
3 1
Université Paris 13/Younès Bennani Traitement Informatique des Données 5
Représentation générale d’une fonction continue
Kolmogorov (1957)
x
0x
1x
nThéorème : [Kolmogorov (1957)]
Toute fonction continue et définie sur peut s ’écrire sous la forme :
Où les et les sont des fonctions continues d ’une variable.
Exemple :
Un réseau connexionniste est capable d ’approximer les fonctions et par des fonctions de la forme :
M
M
G
1,1G
1,nG
2n+1,1G
2n+1,nF
1F
2n+1M
!
!
!
M
f (x) = F
iG
ij( ) x
jj=1 n
" !
#
$ %
&
'
i=1 2n+1
!
f (x) [ ] 0,1
nG
ijF
iG
ijF
if w (
0+ w
Tx )
f (x)
f (x) = x
1.x
2f (x) = 1
4 ( ( x
1+ x
2)
2! ( x
1! x
2)
2)
Perceptron Multi-Couche (PMC)
Multi-Layer Perceptron (MLP)
x
0x
1x
nM
Architecture :
semblable à celle du Perceptron ou de Madaline + des couches de traitement intermédiaire (couches cachées)
- Couches externes :
Entrée (e unités), Sortie (s unités) - Couches internes :
Cachées (c unités)
Notation : < e I c I s > exemple : < 6 I 4 I 2 >
But :
x k ! y k
{ } k =1 K N
x y ˆ
y
w (1) w (2)
Entrée Cachée Sortie
Sortie désirée
Sortie calculée
D
N= { (x
1, y
1), (x
2, y
2), K ,(x
N, y
N) }
Université Paris 13/Younès Bennani Traitement Informatique des Données 7
Perceptron Multi-Couche (PMC)
Multi-Layer Perceptron (MLP)
0 1 2 3 4 5
6 7 8 9
10 11 Notations :
: l ’ensemble des unités d ’entrée : l ’ensemble des unités de sortie
: l ’ensemble des unités dont les sorties servent d’entrées à l ’unité
: l ’ensemble des unités qui utilisent comme entrée la sortie de
Par définition, on a :
E S Amont(k)
Aval(k)
! i " E, Amont(i) = #
! i " S, Aval(i) = # k
k
Amont(7) = { 0,1, 2,3,4,5 } Aval(7) = { 10,11 } Amont(2) = ! Aval(2) = { 6,7,8,9 } Amont(11) = { 6, 7,8, 9 } Aval(11) = !
Perceptron Multi-Couche (PMC)
Multi-Layer Perceptron (MLP)
x
1x
nM
Couche D’entrée
Couche cachée
Couche de sortie
M
M M M
y
1!
y
p!
M
!
w
p m(2)!
w
p1(2)!
w
10(2)!
w
m n(1)!
w
1 1(1)
!
w
10(1)!
z
1!
z
mM
! x0=1
! Z0=1
!
biais
!
biais
Université Paris 13/Younès Bennani Traitement Informatique des Données 9
Perceptron Multi-Couche (PMC)
Multi-Layer Perceptron (MLP)
a
j= w
0(1)j+ w
ij(1)x
ii!Amont(
"
j)z
j= ƒ ( ) a
jy ˆ
k= ƒ ( ) a
ka
k= w
0k(2 )+ w
jk(2)z
jj!Amont(k)
"
y ˆ
k= ƒ w
0k(2)+ w
jk(2 )ƒ w
0(1)j+ w
ij(1)x
ii!Amont(j) n
"
#
$
% &
' (
j!Amont(k)
"
#
$ % &
' ( x
0x
1x
nM
x y ˆ
y
Sortie désirée
Sortie calculée
L'activation de la j
èmecellule cachée est :
La sortie de cette i
èmecellule cachée s'obtient par une transformation non linéaire de l'activation :
De la même façon, l'activation et la sortie de la k
ièmeunité de sortie peuvent s'obtenir comme suit :
Si on combine le calcul des sorties des cellules cachées et celui
des cellules de sortie on obtient pour la k
ièmesortie du réseau l'expression suivante :
Perceptron Multi-Couche (PMC)
Types de fonction ƒ
ƒ ( ) x = tanh( x) = e x ! e ! x e x + e ! x
ƒ ( ) x = 1 1 + e ! x ƒ ( ) x = x
1 + x ƒ ( ) x = e
x ! 1 e x + 1
!
ƒ ( ) x
!
"
ƒ ( ) x
Université Paris 13/Younès Bennani Traitement Informatique des Données 11
Surfaces de séparation et PMC
Sortie
Entrée
OU
ET
Régionsconvexes
Hyperplans Régions arbitraires
Perceptron Multi-Couche (PMC)
Critères d!’apprentissage
C
mse(w) = 1
2 ( y
k! y ˆ
k)
2k=1 N
"
C
multiple!logistic(w ) = y
pklog y
pky ˆ
pk+ ( 1 ! y
pk) log 1 ! y
pk
1 ! y ˆ
pk"
# $
%
&
p=1
'
n k=1
(
N
(
C
log!likelihood(w) = y
klog y
kp
kk=1 N
" avec p
k= e
ˆ y k
e
y ˆ j"
jC
mse!pondéré(w) = "
k=1N( ( y
k! y ˆ
k) "
!1( y
k! y ˆ
k) ) avec "
!1= N 1 "
kN=1( y
k! y ˆ
k) ( y
k! y ˆ
k)
TUniversité Paris 13/Younès Bennani Traitement Informatique des Données 13
Perceptron Multi-Couche (PMC)
Règles d’adaptation
C
e(w) = 1
2 N
i=1 n! ( y
ik" y ˆ
ik)
2k=1 N
!
w
ij(t + 1) = w
ij(t) ! 1
N " (t ) # C
ek(w)
# w
ij(t )
k=1 N
w
ij( t + 1) = w
ij(t) ! " (t) # C
ek(w) $
# w
ij( t) w
ij( t + 1) = w
ij(t) ! " (t) #
ikx
jC
ek(w) = 1
2 ( y
ik! y ˆ
ik)
2i=1 n
"
!
ik
= f " (a
i) ˆ y
i k# y
i(
k) si i $ S
!
ik
= f " ( a
i) w
hi!
h kh$Aval(i)
% si i & S
' ( )
* )
Rétro-propagation du gradient
C
ek( w) = 1
2 ( y
ik! y ˆ
ik)
2i=1 n
" ! C
ek( w)
! w
ij= ! C
ek(w)
! x
i! x
i! a
i! a
i! w
ijsi i ! S A
i= " ( y
ik" y ˆ
ik)
!
ik= " C
ek(w)
" a
i= A
iB
i= A
if a # ( )
ix
j= f a ( )
jsi i ! S
A
i= A
hB
hD
hih"Aval
#
(i)= A
hf a $ ( )
hw
hih"Aval(i
#
)a
j= w
0(1)j+ w
ij(1)x
ii!Amont(
"
j)A
iB
i= f a ! ( )
iC
i j= x
jA
i= A
hB
h! a
h! x
ih"Aval
#
(i)D
hi= w
h iUniversité Paris 13/Younès Bennani Traitement Informatique des Données 15
Rétro-propagation du gradient
yi=f a
( )
iai= wi jxj
j!Amont(i)
"
x0 wi0
ai yi
x1
xn
M wi1
wi n
!
!i+1
wi+1i
!i
!k
M wk i
wm i
!
! f a
( )
iM
M
M
!m
!ik= f a"
( )
i whi!hkh#Aval(i)
$ Propagation
Rétro-Propagation
1- Tirer au hasard
2- Présentation d’une forme
3- Calcul de l’état du réseau par propagation
4- calcul des signaux d!’erreur
5- Adaptation les poids
Où est le pas du gradient.
6- Répéter de 2 à 5 jusqu’à l’obtention d’une valeur acceptable de l’erreur
w
0! ( ) t
x
k, y
k( )
Perceptron Multi-Couche
x
i= ƒ ( ) a
iAlgorithme d ’apprentissage
!
ik= f " (a
i) ˆ ( y
ik# y
ik) si i $ S
!
ik= f " ( a
i) w
hi!
hkh$Aval(i
%
)si i & S
' ( )
* )
a
j= w
0j+ w
ijx
ii!Amont(j
"
)w
ij( t + 1) = w
ij(t) ! " (t) #
ikx
jUniversité Paris 13/Younès Bennani Traitement Informatique des Données 17
Exemple de PMC (MLP)
D = 1 1 1
!
"
# #
$
%
&
& ,'1
!
"
# #
$
%
&
& ; 1 1 '1
!
"
# #
$
%
&
& ,1
!
"
# #
$
%
&
& ; 1 '1
1
!
"
# #
$
%
&
& ,1
!
"
# #
$
%
&
& ; 1 '1 '1
!
"
# #
$
%
&
& ,'1
!
"
# #
$
%
&
&
( )
* + *
, -
* . *
1 1 0.5
1.0
!1.0 1.5
1.0 1.0
1.0 1.0 0.5
x2
x1
! ( x, w ) = x
1" x
2x2
x1
x2
x1
1.0 x
1+ 1.0 x
2+ 1.5 = 0 x
1+ x
2+ 1.5 = 0 1.0 x
1+ 1.0 x
2+ 0.5 = 0 x
1+ x
2+ 0.5 = 0
Réseaux structurés
Connexions complètes
x
1x
nM
x y ˆ
y
Entrée Cachée Sortie
Sortie désirée
Sortie calculée
M
Université Paris 13/Younès Bennani Traitement Informatique des Données 19
Réseaux structurés
Connexions complètes avec contexte [Elman*]
x
1(t)
x
n(t) M
y ˆ y
Entrée Cachée Sortie
Sortie désirée
Sortie calculée
M
c
1(t ! 1)
c
m(t ! 1)
Contexte
M
* Elman J.L. (1990) : «Finding structure in time»
Cognitive Science, Vol. 14, pp. 179-212.
Réseaux structurés
Connexions complètes avec contexte [Jordan*]
x
1(t)
x
n(t) M
y ˆ y
Entrée Cachée Sortie
Sortie désirée
Sortie calculée
M
y
1(t ! 1) y
p(t ! 1)
Contexte
* Jordan M.I. (1992) : «Constrained supervised learning»
Journal of Mathematical Psychology, Vol. 36, pp. 396-425.
Université Paris 13/Younès Bennani Traitement Informatique des Données 21
Réseaux structurés
Connexions locales
Extracteurs de traits
Entrée Cachée Sortie
Des traits locaux Champ récepteur
L’utilisation de connexions locales diminue très fortement le nombre de poids d’un réseau.
w
1(1)w
3(1)w
2(1)w
4(1)!
"
#
$
% &
w
1(2)w
3(2 )w
2(2)w
4(2)!
"
#
$
% &
w
1(3)w
2(3)w
3(3)w
4(3)!
"
#
#
#
$
%
&
&
&
Réseaux structurés
Connexions contraintes ou à poids partagés
Extracteurs de traits
Entrée Cachée Sortie
Des traits locaux Champ récepteur
Une propriété intéressante du mécanisme de partage des poids tient au nombre très faible de paramètres libres.
w
1(1)w
3(1)w
2(1)w
4(1)!
"
#
$
% & w
1(5)w
2(5)w
3(5)w
4(5)!
"
#
#
#
$
%
&
&
&
w
1(1)w
3(1)w
2(1)w
4(1)!
"
#
$
% &
w
1(3)w
3(3)w
2(3)w
4(3)!
"
#
$
% &
Filtre de convolution
Université Paris 13/Younès Bennani Traitement Informatique des Données 23
Réseaux structurés
LeNet pour la reconnaissance de chiffres [Yann LeCun*]
* Le Cun Y., Boser B., Denker J.S., Henderson D., Howard R.E., Hubbard W., Jackel L.D. (1989) : «Back-propagation applied to handwritten zip code recognition»
Neural Computation, Vol. 1, pp. 541-551.
Réseaux structurés
TDNN (Time Delay Neural Network)
Extracteurs de traits Fréquence
Sortie
temps
w1 (1)
w5(1)
w2 (1)
w6(1)
w3 (1)
w7(1)
w4 (1)
w8(1)
!
"
#
$
% &
Filtre de convolution
w1(1) w5(1)
w2(1) w6(1)
w3(1) w7(1)
w4(1) w8(1)
!
"
#
$
% &
w1 (2)
w5(2 )
w2 (2)
w6(2)
w3 (2)
w7(2)
w4 (2)
w8(2)
!
"
#
$
% &
w1(3)
w5(3)
w2(3)
w6(3)
w3(3)
w7(3)
w4(3)
w8(3)
!
"
#
$
% &
w1 (4)
w5(4 )
w2 (4)
w6(4)
w3 (4)
w7(4)
w4 (4)
w8(4)
!
"
#
$
% &
w1(5) w2(5 ) w3(5)
[ ]
n=2 d=1
N=6 M=((N-n)/d)+1
Université Paris 13/Younès Bennani Traitement Informatique des Données 25
Réseaux structurés
Reconnaissance de la parole [Alex Waibel*]
* Waibel A., Hanazawa T., Hinton G., Shikano K., Lang K. (1987) :
«Phoneme recognition using Time-Delay Neural Networks»
Tech. Rep. ATR, TR-1-006.
Organisation des données
Codage des sorties
Codage « 1-parmi-C »
Bleu
Rouge Blanc Catégorie
1 0 0
0 0 1 0 1 0
Codage (0/1)
1 -1 -1
-1 -1 1 -1 1 -1
Codage (-1/1)
1 0
0 0 0 1
Codage (0/1)
1 -1
-1 -1 -1 1
Codage (-1/1) Codage « 1-parmi-(C-1) »
1 1 1
0 0 1 0 1 1
Codage (0/1) Codage thermomètre
1 1 1 1
1 1
1
2 2 2 2 2
2
3 3 3 3 3
3 x
? x Réseau 2
Ordre entre les classes
Université Paris 13/Younès Bennani Traitement Informatique des Données 27
Organisation des données
les entrées
Comme pour la plupart des techniques statistiques, on a toujours intérêt à pré-traiter les données de façon à ce qu’elles soient centrées, réduites.
x
k! x
k" x
# x = 1
N x
ii=1 N
$ #
2= 1 N ( x
i" x )
2i=1 N
$
a
i= w
ijx
jj!Amont(i
"
)E a [ ]
i= E w
ijx
jj!Amont(
"
i)#
$ %
&
' ( = E w [ ]
ijE x [ ]
j= 0
j!Amont(i)
"
Var a [ ]
i= Var w
ijx
jj!Amont(i
"
)#
$ %
&
' ( = E w
ij
[ ]
2E x [ ]
2j= Amont(i ) Var w [ ]
ijVar x [ ]
jj!Amont(i)
"
= Amont(i ) )
2[ ] w
ij=0
Initialisation des poids
Var a [ ]
i= Amont(i) !
2[ ] w
ij= 1
!
2[ ] w
ij= Amont(i) 1
! [ ] w
ij" Amont(i )
#12On peut donc initialiser les poids selon une loi uniforme sur un intervalle :
w
ij! " k
Amont(i ) , k Amont(i)
#
$ %
&
' (
0.5 < k < 2 f ( x) = 1.71 tanh 2 3 x
!
" #
$
Université Paris 13/Younès Bennani Traitement Informatique des Données 29