• Aucun résultat trouvé

9 Younès BENNANI

N/A
N/A
Protected

Academic year: 2022

Partager "9 Younès BENNANI "

Copied!
15
0
0

Texte intégral

(1)

Université Paris 13/Younès Bennani Traitement Informatique des Données 1

9 Younès BENNANI

ILOG 3

Traitement

Informatique des

Données

(2)

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

k

w(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 k

x

1k

M x

nk

!

"

#

# #

$

%

&

&

&

)

* + + +

,

- . . .

x

0 k

x

1k

M 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

1

w

T

!

k

< 0 pour x

k

"C

2

#

$

%

&

%

! x

k

, w

T

( "

k

y

k

) > 0

C

Perceptronk

(w) = ! w

T

( "

k

y

k

)

w(t +1) = w(t)

k k

Si f w

(

T

!

k

)

=yk alors

Si f w

(

T

!

k

)

"yk alors

w

2

3 1

(3)

Université Paris 13/Younès Bennani Traitement Informatique des Données 5

Représentation générale d’une fonction continue

Kolmogorov (1957)

x

0

x

1

x

n

Thé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,1

G

1,n

G

2n+1,1

G

2n+1,n

F

1

F

2n+1

M

!

!

!

M

f (x) = F

i

G

ij

( ) x

j

j=1 n

" !

#

$ %

&

'

i=1 2n+1

!

f (x) [ ] 0,1

n

G

ij

F

i

G

ij

F

i

f w (

0

+ w

T

x )

f (x)

f (x) = x

1

.x

2

f (x) = 1

4 ( ( x

1

+ x

2

)

2

! ( x

1

! x

2

)

2

)

Perceptron Multi-Couche (PMC)

Multi-Layer Perceptron (MLP)

x

0

x

1

x

n

M

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

) }

(4)

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

1

x

n

M

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

m

M

! x0=1

! Z0=1

!

biais

!

biais

(5)

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

i

i!Amont(

"

j)

z

j

= ƒ ( ) a

j

y ˆ

k

= ƒ ( ) a

k

a

k

= w

0k(2 )

+ w

jk(2)

z

j

j!Amont(k)

"

y ˆ

k

= ƒ w

0k(2)

+ w

jk(2 )

ƒ w

0(1)j

+ w

ij(1)

x

i

i!Amont(j) n

"

#

$

% &

' (

j!Amont(k)

"

#

$ % &

' ( x

0

x

1

x

n

M

x y ˆ

y

Sortie désirée

Sortie calculée

L'activation de la j

ème

cellule cachée est :

La sortie de cette i

ème

cellule 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ème

unité 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ème

sortie 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

(6)

Université Paris 13/Younès Bennani Traitement Informatique des Données 11

Surfaces de séparation et PMC

Sortie

Entrée

OU

ET

Régions

convexes

Hyperplans Régions arbitraires

Perceptron Multi-Couche (PMC)

Critères d!’apprentissage

C

mse

(w) = 1

2 ( y

k

! y ˆ

k

)

2

k=1 N

"

C

multiple!logistic

(w ) = y

pk

log y

pk

y ˆ

pk

+ ( 1 ! y

pk

) log 1 ! y

p

k

1 ! y ˆ

pk

"

# $

%

&

p=1

'

n k=1

(

N

(

C

log!likelihood

(w) = y

k

log y

k

p

k

k=1 N

" avec p

k

= e

ˆ y k

e

y ˆ j

"

j

C

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

)

T

(7)

Université 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

)

2

k=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) #

ik

x

j

C

ek

(w) = 1

2 ( y

ik

! y ˆ

ik

)

2

i=1 n

"

!

i

k

= f " (a

i

) ˆ y

i k

# y

i

(

k

) si i $ S

!

i

k

= f " ( a

i

) w

hi

!

h k

h$Aval(i)

% si i & S

' ( )

* )

Rétro-propagation du gradient

C

ek

( w) = 1

2 ( y

ik

! y ˆ

ik

)

2

i=1 n

" ! C

ek

( w)

! w

ij

= ! C

ek

(w)

! x

i

! x

i

! a

i

! a

i

! w

ij

si i ! S A

i

= " ( y

ik

" y ˆ

ik

)

!

ik

= " C

ek

(w)

" a

i

= A

i

B

i

= A

i

f a # ( )

i

x

j

= f a ( )

j

si i ! S

A

i

= A

h

B

h

D

hi

h"Aval

#

(i)

= A

h

f a $ ( )

h

w

hi

h"Aval(i

#

)

a

j

= w

0(1)j

+ w

ij(1)

x

i

i!Amont(

"

j)

A

i

B

i

= f a ! ( )

i

C

i j

= x

j

A

i

= A

h

B

h

! a

h

! x

i

h"Aval

#

(i)

D

hi

= w

h i

(8)

Université Paris 13/Younès Bennani Traitement Informatique des Données 15

Rétro-propagation du gradient

yi=f a

( )

i

ai= 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

( )

i

M

M

M

!m

!ik= f a"

( )

i whi!hk

h#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

i

Algorithme d ’apprentissage

!

ik

= f " (a

i

) ˆ ( y

ik

# y

ik

) si i $ S

!

ik

= f " ( a

i

) w

hi

!

hk

h$Aval(i

%

)

si i & S

' ( )

* )

a

j

= w

0j

+ w

ij

x

i

i!Amont(j

"

)

w

ij

( t + 1) = w

ij

(t) ! " (t) #

ik

x

j

(9)

Université 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

2

x2

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

1

x

n

M

x y ˆ

y

Entrée Cachée Sortie

Sortie désirée

Sortie calculée

M

(10)

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.

(11)

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

(12)

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

(13)

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

(14)

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

i

i=1 N

$ #

2

= 1 N ( x

i

" x )

2

i=1 N

$

a

i

= w

ij

x

j

j!Amont(i

"

)

E a [ ]

i

= E w

ij

x

j

j!Amont(

"

i)

#

$ %

&

' ( = E w [ ]

ij

E x [ ]

j

= 0

j!Amont(i)

"

Var a [ ]

i

= Var w

ij

x

j

j!Amont(i

"

)

#

$ %

&

' ( = E w

ij

[ ]

2

E x [ ]

2j

= Amont(i ) Var w [ ]

ij

Var x [ ]

j

j!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 )

#12

On 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

!

" #

$

(15)

Université Paris 13/Younès Bennani Traitement Informatique des Données 29

Exercice à faire

D = 1 1 1

!

"

# #

$

%

&

& , 1 '1

!

"

# $

%

!

"

# #

$

%

&

& ; 1 '1 '1

!

"

# #

$

%

&

& , 1 '1

!

"

# $

%

!

"

# #

$

%

&

& ; 1 1 '1

!

"

# #

$

%

&

& , '1 1

!

"

# $

%

!

"

# #

$

%

&

& ; 1 '1 '1

!

"

# #

$

%

&

& , '1 1

!

"

# $

%

!

"

# #

$

%

&

&

( )

* + *

, -

* . *

1 1

0.5 0.3 0.4 0.1

0.3 0.6

!0.8 0.9 0.2

!0.4

!0.2

!0.7 ƒ ( ) x = e

x

! 1

e

x

+ 1

Références

Documents relatifs

SEGMENT .text ;;;marque le début du segment de code ;;;marque le début du segment de code ;;;marque le début du segment de code ;;;marque le début du segment de code global

Artificial Neural Networks: From Perceptron to Deep Learning 1 © 2021 ⏐ Younès Bennani - USPN.. Artificial

Université Paris 13/Younès Bennani Traitement Informatique des Données 7. Formes

Université Paris 13/Younès Bennani Traitement Informatique des Données 1.. 2

Université Paris 13/Younès Bennani Traitement Informatique des Données 1.. 5

- 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

« Si un ensemble de formes est linéairement séparable, alors l’algorithme d’apprentissage du Perceptron converge vers une solution correcte en un nombre fini

EPAT’14, Carry-Le-Rouet 7-12 juin 2014 Apprentissage par réseaux de neurones artificiels / Younès Bennani (LIPN-Univ. Paris 13) 7.. Le