67
RECONNAISSANCE DE FORMES IAR-6002

RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Embed Size (px)

Citation preview

Page 1: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

RECONNAISSANCE DE FORMES

IAR-6002

Page 2: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Réseaux de neurones

Introduction Réseaux sans couches cachées Réseaux avec des couches cachées Algorithme de propagation-arrière Réseaux de Hopfield

Page 3: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Introduction

Les réseaux de neurones permettent de simuler l’activité du cerveau humain

Des tâches comme la reconnaissance de visages humains est accomplit facilement par un humain mais devient très difficile pour les ordinateurs conventionnels

Le cerveau humain est composé de cellules nerveuses (neurones) organisées de façon à travailler en parallèle sur le même problème

Page 4: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Introduction

Un neurone est constitué d’un corps cellulaire, de dendrites qui reçoivent les signaux en entrée et d’axones qui émettent les signaux en sortie

Les dendrites reçoivent des signaux des organes sensoriels (yeux, oreilles) ou d’axones d’autres neurones

Les axones émettent des signaux à des organes comme les muscles ou aux dendrites d’autres neuronnes

Page 5: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Introduction

Page 6: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Introduction

Un neurone reçoit des signaux de plusieurs milliers de dendrites et émet au travers de centaines d’axo-nes

Avec le haut niveau de redondance des connexions entre neurones, les performances du cerveau sont robustes

Dans plusieurs régions du cortex cérébral, les neurones sont organisés en couches

Un neurone reçoit généralement des signaux des neurones de la couche adjacente

Page 7: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Introduction

De plus, les signaux en entrée proviennent de neurones d’une petite région proche du neurone récepteur, et le patron d’interconnexion est similaire pour chaque neurone récepteur

Les connexions entre les couches sont générale-ment dans une seule direction, partant du traite-ment bas-niveau (œil, oreille) jusqu’à un haut-niveau de raisonnement

Page 8: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Introduction

Premier modèle mathématique d’un neurone (McCulloch et Pitts)

– Les entrées sont définies par x1,…..xM.

– Calcul d’une somme pondérée s en utilisant les poids w1,…wM.

– Seuillage de sSI s > T ALORS

sortie = 1

SI s <= T ALORS

sortie = 0

M

iiixws

1

Page 9: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Introduction

Les connexions avec des poids positifs sont excitatives et celles avec des poids négatifs sont inhibitives

La sortie d’un neurone est 1 SI

Txwxwxw MM 2211

Page 10: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Introduction

Nous pouvons réécrire cette expression

00

10

10

0

1100

yD

yD

x

Tw

xwxwxwD MM

Le poids w0 est un poids biaisé

Page 11: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Introduction

Ce nouveau modèle est représenté

Page 12: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Introduction

L’entraînement des réseaux de neurones est l’aspect le plus difficile de leurs utilisations

L’entraînement revient à trouver les poids wi permettant aux réseaux de fonctionner avec une performance acceptable

Page 13: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Réseaux sans couches cachées

Ces réseaux sont aussi appelés réseaux à deux couches, une couche en entrée et une en sortie

wij

Dj

xi

Page 14: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Réseaux sans couches cachées

Rosenblatt a crée un classificateur pouvant être entraîné (PERCEPTRON)

L’algorithme d’entraînement permet de déduire les poids du PERCEPTRON qui sont eux, identiques aux coefficients de la fonction discriminante

Page 15: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Réseaux sans couches cachées

Par exemple

Page 16: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Réseaux sans couches cachées

La fonction discriminante prend la forme

00

10

172490 2122110

yD

yD

xxxwxwwD

Page 17: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Réseaux sans couches cachées

Recherche des poids wi

– Nous cherchons les valeurs de poids qui minimise la fonction

pMMpp

N

ppp

xwxwwD

dDE

110

1

2)(2

1 dp: sorties désirées de l’observation p xp1,…., xpM: valeurs caractéristiques de l’observation p

Les poids sont optimisés d’un seul coup pour tout l’échantillon d’entraînement en posant les dérivées par- tielles E/wi égale à 0 et en trouvant la solution du système d’équations linéaires résultant pour chaque wi

Page 18: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Réseaux sans couches cachées

Recherche des poids wi

– L’algorithme MSE séquentiel est une technique adaptative avec laquelle les observations d’entraîne-ment sont présentées au système une à la fois

– Une observation est classifiée par le réseau et le résultat (D) est comparé aux sorties (d) de la vraie classe de cette observation

– Si l’observation est mal classée, les poids wi sont corrigés proportionnellement aux valeurs caractéris-tiques p multiplié par la différence entre les sorties désirées et celles actuelles

Page 19: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Réseaux sans couches cachées

L’algorithme MSE séquentiel à un seul nœud– L’algorithme MSE utilise la procédure steepest

descent minimisation (SDM) pour corriger les poids de chaque observation

– Les poids sont changés selon les directions qui permettent à la fonction E de décroître rapidement

– La direction de décroissance maximale de la fonc-tion d’erreur est donnée par le vecteur

Mw

Fc

w

Fc

w

Fc ,,,

21

Page 20: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Réseaux sans couches cachées

L’algorithme MSE séquentiel à un seul nœud (1 sortie) (procédure SDM)

– Choisir des poids de départ w1,…wM, et une cons-tante c positive

– Calculer les dérivées partielles F/wi (E/wi)

pour i=1,…,M, et remplacer wi par wi - c F/wi pour i=1,…,M (E/wiE/wi)

– Répéter l’étape précédente jusqu’à ce que les poids w1,…,wM ne changent plus significati-vement

Page 21: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Réseaux sans couches cachées

L’algorithme MSE séquentiel à un seul nœud (exemple de procédure SDM)

364),(

264),(

4323),(

221

32

2

21

221

31

1

21

2122

21

42

4121

wwww

wwF

wwww

wwF

wwwwwwwwF

Page 22: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Réseaux sans couches cachées

L’algorithme MSE séquentiel à un seul nœud (exemple de procédure SDM) (c = 0.1)

807.0430.00000.00000.0539.140

807.0430.00000.00000.0539.130

087.0430.00004.00005.0539.120

802.0438.00161.00221.0539.110

776.0475.0082.01441.0543.15

751.0485.0468.29523.0548.14

582.0386.0691.19855.0770.13

300.0200.0820.286.1730.22

000.0000.0000.3000.2000.41

/),(/),(),( 2122112121

wwwwwFwwwFwwFIteration

Page 23: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Réseaux sans couches cachées

La procédure SDM (difficultés)

– Choix de wi au départ

– Choix de la constante c Le choix de wi peut influencer la convergence vers

des minima locaux si wi est trop loin des valeurs wi qui donnent un minimum global

Si la constante c est trop petite la convergence est lente, si c est trop grand l’algorithme peut passer par dessus des minima sans converger

Page 24: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Réseaux sans couches cachées

L’algorithme MSE séquentiel à un seul nœud– Nous faisons une mise à jour séquentiel des poids

en considérant une observation à la fois

ii

M

iii

xdDw

E

xwD

dDE

)(

)(2

1

0

2

Page 25: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Réseaux sans couches cachées

L’algorithme MSE séquentiel à un seul nœud

– Choix des poids de départ w0,….wM, et une constante c

– Présenter les observations 1 à N au classificateur, revenant à l’observation 1 après N. En calculant pour chaque observation

MM xwxwwD 110

Page 26: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Réseaux sans couches cachées

L’algorithme MSE séquentiel à un seul nœud

– Remplacer wi par wi - c(D-d)xi pour chaque i

– Répéter les 2 étapes précédentes tant que les wi changent

Page 27: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Réseaux sans couches cachées

L’algorithme MSE séquentiel à nœuds multiples Pour chacune des N observations

nous avons:– un vecteur de caractéristiques

x0, x1, …. xM.

– Un vecteur en sortie d1, d2, …, dN.

– Les poids wij correspondent à la connexion entre l’entrée i et le nœud de sortie j

Page 28: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Réseaux sans couches cachées

L’algorithme MSE séquentiel à nœuds multiples

ijjij

M

iiijj

N

jjj

xdDw

E

xwD

dDE

)(

)(2

1

0

1

2

Page 29: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Réseaux sans couches cachées

L’algorithme MSE séquentiel à nœuds multiples

– Choix des poids de départ w0,….wM, et une constante c

– Présenter les observations 1 à N au classificateur, revenant à l’observation 1 après N. En calculant pour chaque observation

MMjjjj xwxwwD 110

Page 30: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Réseaux sans couches cachées

L’algorithme MSE séquentiel à nœuds multiples

– Remplacer wij par wij - c(Dj-dj)xi pour chaque i

– Répéter les 2 étapes précédentes tant que les wij changent

Les algorithmes MSE séquentiel à un et multiples nœuds sont reconnus pour être efficace lorsque les classes sont bien séparées

Page 31: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Réseaux avec couches cachées

En général, un réseau à plusieurs couches est caractérisé:– K+1 couches de nœuds, dénotées 0, 1, …., K

– La sortie du nœud i de la couche k est dénotée xi(k)

et représente la valeur seuillée de la somme pondé-rée des entrées

– La couche 0 est appelée couche rétine (entrée)

– La couche K est la couche de sortie

– Les couches entre les deux sont les couches cachées

Page 32: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Réseaux avec couches cachées

Réseau à plusieurs couches

Page 33: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Algorithme de propagation-arrière

L’entraînement d’un réseau multicouche ne peut être fait par la méthode SDM puisqu’une variation d’un poids ne change généralement pas les sorties du réseau

La sortie d’un nœud sera changée seulement si les poids changent suffisamment pour que la somme pondérée change de signe

Même si une sortie change de valeur dans une couche donnée cela ne signifie pas que les sorties de la prochaine vont changer

Page 34: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Algorithme de propagation-arrière

Les sorties finales du réseau sont alors résistantes aux petites variations des poids dans le réseaux

Pour éliminer le besoin des seuils T nous pourrions être tenté d’éliminer ces seuils et de calculer sim-plement la somme pondéré à chaque nœud

Par contre, les réseaux à couches multiples devien-nent inutiles puisque dans ce contexte nous pou-vons déduire un réseau à 2 couches équivalents

Page 35: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Algorithme de propagation-arrière

Réseaux sans seuil

Page 36: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Algorithme de propagation-arrière

Réseaux sans seuil

21

2121

212

211

121412

)21(2)232(42

21:

232:

xxD

xxxxD

xxN

xxN

Page 37: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Algorithme de propagation-arrière

Nous pouvons trouver un compromis entre l’utili-sation d’un seuil discontinu ou d’une combinaison linéaire à chaque nœud en utilisant une fonction sigmoïde de la forme

)1(

2

1)0(

,1)(

,0)(1

1)(

RRds

dR

R

ssR

ssRe

sRs

Page 38: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Algorithme de propagation-arrière

La fonction R à chaque nœud permet aux sorties du réseau d’être des fonctions différentiables des poids.

L’ensemble des poids peut alors être détermininé par la méthode SDM

Page 39: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Algorithme de propagation-arrière

Pour l’entraînement du réseau l’algorithme PA utilise la procédure SDM et une fonction sigmoïde

Les couches sont dénotées k=0,1,….K avec k=0 pour la couche d’entrée et k=K pour la couche de sortie

La sortie du noeud j dans la couche k est dénotée par xj

(k) pour j=1,…Mk ou Mk est le nombre de nœuds de la couche k (sans compter le nœud avec un poids biaisé)

Page 40: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Algorithme de propagation-arrière

Pour la couche d’entrée: xj(0) = xj pour j=1,…M0

Pour chaque couche sauf la couche de sortie la sortie du nœud à poids biaisé est x0

(k)=1 pour k=0,…,K-1

Les sorties sont xj(K) pour j=1,…,MK

Les poids des connexions entre le nœud i de la couche k-1 et le nœud j de la couche k est wij

(k)

Page 41: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Algorithme de propagation-arrière

Les poids des connexions entre le nœud i de la couche k-1 et le nœud j de la couche k est wij

(k)

Page 42: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Algorithme de propagation-arrière

Étapes de l’algorithme PA – Phase d’alimentation-avant (feed-forward) par

laquelle les sorties des nœuds sont calculées à partir de la couche 1 vers la couche K

– Phase de propagation arrière où les poids sont ajustés pour que les sorties x1

(K) , …., xMK(K) et les

sorties désirées d1,…dMK soient en accord

Page 43: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Algorithme de propagation-arrière

1) Initialisation des poids wij(k) à de petites valeurs

aléatoires et choix d’une constante c positive 2) Pour chaque observation 1 à N, initialisée les

entrées x1(0) , …. , xM0

(0) , revenant à l’observation 1 après avoir atteint l’observation N

3) Alimentation-avant. Pour k=0,…,K-1 calculer

)1(

1)(

,,1 1

0

)()1()1(

s

k

M

i

ki

kij

kj

esR

Mj

xwRxk

Page 44: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Algorithme de propagation-arrière

4) Propagation-arrière. Pour les nœuds de la couche de sortie j= 1,…, MK calculer

))(1( )()()()(j

Kj

Kj

Kj

Kj dxxx

Pour les couches k = K-1, …, 1 calculer

k

kij

M

j

kj

ki

ki

ki

Mi

wxxk

,,1

)1( )1(

1

)1()()()(1

Page 45: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Algorithme de propagation-arrière

5) Remplacer les poids

kjixcww ki

kj

kij

kij ,,,)1()()()(

6) Répéter les étapes 2 à 5 TANT QUE les poids changent significativement

Page 46: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Algorithme de propagation-arrière

Si la valeur de sortie d’un nœud est proche de 0 ou 1 la valeur de j

(k) -> 0, cela signifie alors que la valeur des poids est stable

La phase de PA utilise la méthode SDM pour ajus-ter les poids de façon à minimiser la fonction d’er-reur

KM

jj

Kj dxE

1

2)( )(2

1

Page 47: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Algorithme de propagation-arrière

Les dérivées partielles de E sont calculées par rap-port aux poids de la couche K et ainsi de suite jus-qu’à la couche 1

De plus, les dérivées partielles de la couche k découlent de celles calculées de la couche k+1

Page 48: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Algorithme de propagation-arrière

La fonction de correction j(K) découle

)1()()()(

)1()()()()()(

)()(

)1()()(

0

)1()()()(

)(

)1()()()()(

)()(

)(

)1()(

)1(

))(1)(()(

)(

)1()()(

1

Ki

Kj

Kij

Kij

Ki

Kj

Kjj

Kj

KijK

ij

Kij

Kij

Ki

Kj

Kj

M

i

Ki

KijK

ijKij

Kj

Ki

Kj

Kjj

KjK

ij

Kj

jKjK

ij

xcww

xxxdxcww

Ecww

xxxxwRww

x

sRsRsR

sR

xxxdxw

xdx

w

E

K

Page 49: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Application (Reconnaissance de visage)

Image initiale du visage de 30X30 en 256 niveaux de gris

Compression des données 900->40 Réseau de classification à une couche cachée Réseau entraîné avec 80 visages Réseau testé avec 10 visages

Page 50: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Application (Reconnaissance de visage)

Page 51: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Réseaux de Hopfield

Le cerveau humain est capable de reconnaître des formes même si elles sont réprésentées de façons imparfaites

De plus, la reconnaissance d’une forme particulière peut amener la résurgeance d’autres évènements mémorisés

Ce concept fait référence aux mémoires associati-ves par lesquelles une forme même imparfaite est associée à d’autres formes

Page 52: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Réseaux de Hopfield

Un réseau de Hopfield est une mémoire associative simple

Les formes sont représentées par des séquences de n-bits de 1 et de -1

Contrairement à la plupart de réseaux qui sont à alimentation-avant, chaque nœud du réseau de Hopfield est connectés aux autres nœuds du réseau

De plus, chaque connexion possède un poids et est bidirectionnelle

Page 53: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Réseaux de Hopfield

L’assignation des poids représente la phase d’ap-prentissage du réseau par laquelle les formes à as-sociées sont emmagasinées dans le réseau

Par la suite, dès qu’une forme est présentée au réseau , celui-ci recherche la forme emmagasinée la plus semblable à celle introduite en entrée

Page 54: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Réseaux de Hopfield

Étapes de la classification– Les n nœuds du réseau sont initialisés aux n valeurs

caractéristiques d’une forme

– Chaque nœud calcule la somme pondérée des valeurs des autres nœuds et change sa valeur à 1 si la somme pondérée est + ou à -1 si cette somme est -

– Dès que les poids cessent de changer le réseau à alors atteint un état stable qui correspond à la forme stockée la plus proche de celle introduite en entrée

Page 55: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Réseaux de Hopfield

Le réseau converge alors vers la forme dont la dis-tance est minimale. La distance étant donnée par le nombre de positions de 2 chaînes (formes) x et y dont les valeurs sont différentes

Les résultats expérimentaux démontrent que les réseaux de Hopfield peuvent emmagasinés approximativement 0.15n formes, où n est le nombre de nœuds du réseaux

Page 56: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Réseaux de Hopfield

Page 57: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Réseaux de Hopfield

Exemple de réseau de Hopfield avec comme forme en entrée:+++-+++++-

Page 58: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Algorithme de stockage

Les poids wij sont déduits des formes à emmagasi-ner

Le poids entre les nœuds i et j dépendent de la similarité entre les bits i et j des formes emmaga-sinées

Nous pouvons représenter une forme p pour 1<=p<=m

),,,( )()(2

)(1

)( pn

ppp xxxx

Page 59: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Algorithme de stockage

Les poids wij entre les nœuds i et j sont calculés par

ji

jixxw

m

p

pj

pi

ij

01

)()(

Le poids entre les nœuds i et j est alors le nombre de fois que le bit i et j d’une forme sont pareilles moins le nombre de fois qu’ils diffèrent et ce additionner sur l’ensemble des formes emmagasinées

Page 60: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Algorithme de retrait

Si nous avons une forme à recherchée donnée par

n

jjiji ywsgny

1

),,,( 21 nyyyy Le traitement commence en initialisant chaque nœud i par les valeurs yi. Ensuite, chaque valeur de yi choisie aléatoirement est mise à jour tant que le réseau ne conver- ge pas vers un état stable. La mise à jour de yi devient:

Page 61: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Algorithme de retrait

Pour comprendre comment une forme y est mise à jour de façon itérative nous réécrivons

m

p

n

ijjj

pj

pi

n

ijj

m

pj

pj

pi

n

jjij yxxyxxyw

1 ,1

)()(

,1 1

)()(

1

Si une forme y (INPUT) est semblable à une forme x(p) la quantité entre parenthèse sera proche de n si ces formes sont très différentes cette même quantité sera proche de -n

Page 62: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Algorithme de retrait (convergence)

Pour démontrer la convergence nous écrivons

n

i

n

jjiij yywE

1 12

1

Ce qui représente la fonction Liapunov du réseau. Quand un nœud k déclenche, E ne doit pas augmenter. Pour voir cela supposons que le nœud k déclenche et que yk change de 1 à -1. E peut être réécrit

n

kii

n

kjjjiij

n

jjkjk yywywyE

,1 ,11 2

1

Page 63: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Algorithme de retrait (convergence)

Si E est la différence entre la valeur originale de E (quand yk = +1) et sa nouvelle valeur (quand yk = -1) et y la différence entre la valeur originale de yk (+1) et sa nouvelle valeur yk (-1) alors E s’écrit

1)(12

1)(12

)(0

1

1

1

n

jjkjdebutk

n

jjkjdebutk

n

jjkjdebutk

ywsgnySI

ywsgnySI

ywsgnySI

y

Page 64: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Algorithme de retrait (convergence)

Si E est la différence entre la valeur originale de E (quand yk = +1) et sa nouvelle valeur (quand yk = -1) et y la différence entre la valeur originale de yk (+1) et sa nouvelle valeur yk (-1) alors E s’écrit

00

2

1

11

Eyw

ywywyE

n

jjkj

n

jjkj

n

jjkj

Page 65: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Algorithme de retrait (convergence)

Si E est la différence entre la valeur originale de E (quand yk = -1) et sa nouvelle valeur (quand yk = +1) et y la différence entre la valeur originale de yk (-1) et sa nouvelle valeur yk (+1) alors E s’écrit

00

2

1

11

Eyw

ywywyE

n

jjkj

n

jjkj

n

jjkj

Page 66: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Algorithme de retrait (convergence)

E est décroissant (par coup de 2) et a une borne inférieure donnée par

ijwnE max2

1 2

Page 67: RECONNAISSANCE DE FORMES IAR-6002. Réseaux de neurones u Introduction u Réseaux sans couches cachées u Réseaux avec des couches cachées u Algorithme de

Algorithme de retrait (convergence)

Le réseau converge vers un état stable Après avoir atteint un état stable, cet état ne

change pas même si les noeuds continus de déclencher

Un état stable vers lequel le réseau converge n’est pas nécessairement unique et peut ne pas être une des formes enmagasinées

Ces situations surviennent lorsque le nombre de formes stockées par rapport au nombre de noeuds du réseau