Vous êtes sur la page 1sur 11

CHAPITRE 4 : LA CLASSIFICATION NEURONALE

Introduction

Le concept de réseaux neuronaux provient de l'étude des neurones biologiques de laquelle a été
déterminé un mécanisme d'apprentissage et de restitution de l'information. Le cerveau humain est
un gigantesque réseau de neurones qui pèse environ 1,5kg et qui comprend plus de 100 milliards de
neurones avec 60 milliards de connexions (synapses). Une synapse peut être inhibante ou excitante.

Le neurone biologique

Un neurone biologique est constitué de plusieurs composants : les dendrites, le corps cellulaire
(soma), l’axone et les terminaisons axonales.

Figure 1. Schéma d’un neurone biologique


Corps cellulaire (soma)

Il contient le noyau de la cellule nerveuse. C'est en cet endroit que prend naissance l'influx nerveux,
qui représente l'état d'activité du neurone.

Axone

Il est unique pour chaque neurone. L’axone est le vecteur de sortie de l'information. C'est une
information électrique quantifié grâce à un seuil électrique.

Synapse

Elle communique l'information, en la pondérant par un poids synaptique, à un autre neurone. Elle est
essentielle dans le fonctionnement du système nerveux.

Dendrites

Elles sont constituées de synapses réceptionnant les informations émises pas les axones des autres
neurones connectés. Ceux sont les entrées principales du neurone, qui captent l'information venant
d'autres neurones.

Le principe de fonctionnement d’un neurone biologique est comme suit : chaque synapse
réceptionne les valeurs électriques émises par les axones des neurones connectés et y applique un
CHAPITRE 4 : LA CLASSIFICATION NEURONALE

coefficient correspondant à la fréquence d'utilisation de la synapse. Le coefficient de chaque synapse


évolue et permet donc le mécanisme d'apprentissage.

Par la suite, en fonction de ces signaux qui lui parviennent, le corps cellulaire (soma) du neurone va
déclencher ou non un signal électrique appelé influx nerveux sur son axone avec une certaine valeur
que si la somme de toutes les valeurs électriques reçues des synapses dépasse un certain seuil. Cet
influx nerveux va se déplacer le long de l’axone jusqu’aux terminaisons axonales, où il sera
communiqué aux autres neurones grâce aux synapses. Un tel mécanisme de comparaison permet de
déterminer la pertinence de l'information.

Cet immense réseau de cellules permet donc de mémoriser des informations venues de tous les
capteurs humains: la vue, le touché, l'odorat,... en traçant de multiples chemins à travers ces cellules
(plus précisément en changeant les coefficients des synapses).

Le neurone formel

Le neurone artificiel reprend le même principe de fonctionnement du neurone biologique. La


première étude systématique du neurone artificiel est due au neuropsychiatre Mc Culloch et au
logicien Pitts [Lippmann, 87] qui, s'inspirant de leurs travaux sur les neurones biologiques,
proposèrent en 1943 un modèle constitué des éléments suivants:

Figure 2. Le modèle de neurone formel.

Les entrées du neurone i proviennent soit d’autres neurones soit de l’environnement

Les poids associés à chaque neurone déterminent l’influence de chaque entrée.

Le seuil (biais) permet de contrôler l’entrée de la fonction d’activation g du neurone i,

La fonction de combinaison permet de calculer une combinaison linéaire des entrées pondérées
par les coefficients .

La fonction d’activation qui permet le passage de la somme pondérée dans la fonction d’activation g
et calcule la valeur de sortie du neurone qui sera transmise aux neurones suivants.
CHAPITRE 4 : LA CLASSIFICATION NEURONALE

Le fonctionnement d’un neurone artificiel se résume en un processeur élémentaire qui réalise une
somme pondérée des signaux qui lui parviennent. Ainsi, chaque signal entrant est associé un poids
car les synapses n’ont pas toutes la même valeur (les connexions entre les neurones étant plus ou
moins fortes). La valeur de la sommation est comparée à un seuil et la sortie du neurone est une
fonction non linéaire du résultat:

in = w a − θ

a = g(in )

Pour obtenir la valeur de sortie y d’un neurone, la fonction d'activation ou fonction de transfert,
est une fonction qui doit renvoyer un réel proche de 1 quand les "bonnes" informations d'entrées
sont données et un réel proche de 0 quand elles sont "mauvaises". Plusieurs fonctions
d'activation g peuvent être utilisées. Toutefois dans la pratique, les deux fonctions de transfert
les plus utilisées sont la fonction de Heaviside et la fonction sigmoïde.

 fonction de Heaviside: ∀ ∈ , g( )=1 ≥0 , 0

 tangente hyperbolique : ∀ ∈ , y = g( )= 2 / (1 + exp(-2 * )) – 1

 fonction gaussienne : ∀ ∈ , y = g( )= exp(-( 2)/2)

 fonction à seuil : ∀ ∈ , y = g( )= 0 si <0 et y= g( )= 1 si >0

 fonction sigmoïde : ∀x ∈ R, y = g(x) =

Un réseau de neurones artificiels (réseaux connexionnistes)

Un réseau de neurones artificiel (RNA) est constitué de cellules (ou neurones), connectée entre elles
par des liaisons affectées de poids. Ces liaisons permettent à chaque cellule de disposer d'un canal
pour envoyer et recevoir des signaux en provenance d'autres cellules du réseau. Chacune de ces
connexions reçoit un poids (une pondération), qui détermine sont impact sur les cellules qu'elle
connecte.

Apprentissage d’un RNA

L’apprentissage d’un RNA se résume en une étape d’ajustement des ses poids. Ceci revient à
modifier les paramètres de la fonction représentée par le réseau. Par exemple, la sortie du réseau a5
ci-dessous dépend de la valeur des entrées a1 et a2 et des paramètres de la fonction qui sont les
poids Wji.
CHAPITRE 4 : LA CLASSIFICATION NEURONALE

Les types de réseaux neuronaux


Il existe de nombreux types de réseaux neuronaux, on peut les diviser en deux grandes catégories
selon la nature de leur algorithme d'apprentissage. En effet, les premiers sont dits supervisés car, lors
de l'apprentissage, ils doivent disposer d'un professeur capable de leur indiquer ce qui devrait être
produit en sortie pour chaque une des informations fournies en entrées. Les seconds sont dits non
supervisés car ils arrivent à s'auto-organiser.

Selon une classification en modèles à apprentissage supervisé et modèles à apprentissage non


supervisé, on peut généralement retenir 6 principaux RNA réseaux de neurones artificiels.

Les RNA à apprentissage supervisé (non bouclés)

1. Le perceptron monocouche
2. Le perceptron multicouche (PMC)
3. Les réseaux à fonction radiale de base (Radial basis fonction RBF)

Les RNA à apprentissage non supervisé (récurrents ou bouclés)

1. Le réseau de Kohonen (ou réseau à compétition, SOM,..)


2. Le réseau de Hopfield
3. Les réseaux ART (Adaptative Resonance Theory)
CHAPITRE 4 : LA CLASSIFICATION NEURONALE

Figure 33. Topologie des RNA

Le perceptron monocouche

C'est un réseau à couche qui permet de positionner en entrées des éléments devants être appris
(éléments linéairement séparables afin de ne pas avoir de confusion). Ceux
Ceux-ci
ci tracent un chemin à
travers le réseau. Une fois l'apprentissage effectué, en repassant les mêmes éléments en entrée ils
réutilisent le même chemin et activent les mêmes neurones de sorties. Plusieurs neurones de sorties
sont activées pour chaque comparaison, les résultats ne sont pas identiques à chaque comparaison,
des approximation
approximationss sont effectuées. Le perceptron peut être utilisé pour l'apprentissage et la
reconnaissance d'images.

Figure 44. Le réseau perceptron


CHAPITRE 4 : LA CLASSIFICATION NEURONALE

Algorithme d’apprentissage : Règle de delta

Les entrées au perceptron sont independentes, il suffit d'étudier la sortie.


Soit l'ensemble d’apprentissage fini = { (x , d ) tel que x ∈ R , d ∈ {0,1} }
Soit α le taux d’apprentissage avec 0 ≤ α ≤1

L’ensemble est correctement classifié, si pour chaque paire (x , d ) de la sortie du


perceptron à une entrée x est d .

Un ensemble d’apprentissage peut être correctement classé par un perceptron


monocouche si et seulement si il est lineairement séparable.

Algorithme : Règle de delta


On initialise aléatoirement les poids .
Répéter
Choisir un exemple d’entraînement = (x , d ) ∈ X
Calculer la sortie du réseau a
ai = g( in ) avec in = ∑ w a
si di ≠ ai alors
Pour j allant de 0 à n
∆w = α (di-ai). a tel que erri= di-ai
w = w + ∆w
Fin pour
jusqu’à ce que X soit correctement classifié.

Exemple

Soient 4 exemples de la base apprentissage


x1 = (2, 1), d1 = 1 (classe rouge)
x2 = (0, -1), d2 = 1 (classe rouge)
x3 = (-2, 1), d3 = -1 (classe bleu)
x4 = (0, 2), d4 = -1 (classe bleu)
On initialise aléatoirement le vecteur des poids W ainsi que le biais comme suit :
W = (-0.7, 0.2), bias = 0.5 et α = 1
Passe 1. Exemple x1 = (2,1) et d1 = 1
W = (-0.7, 0.2) et bias = 0.5
in = x1.WT + bias = -0.7*2 + 0.2*1 + 0.5 = -0.7
a = g(in)= signe(-0.7) = -1
d = 1 et a = -1 donc d ≠ a

Ajustement des poids


err = d – a = 1 – (-1) = 2
CHAPITRE 4 : LA CLASSIFICATION NEURONALE

WN = W + err*x1 = (-0.7, 0.2) + 2*(2,1)


WN = (3.3, 2.2)
biasN = bias + err* α = 0.5 + 2*1 = 2.5

Passe 2. Exemple x2 = (0,-1) et d2 = 1


W = (3.3, 2.2) et bias = 2.5
in = x2.WT + bias = 3.3*0 + 2.2*-1 + 2.5 = 0.3
a = g(in)= signe(0.3) = 1 donc d = a = 1
Pas besoin d’ajuster les poids

Passe 3. Exemple x3 = (-2,1) et d3 = -1


W = (3.3, 2.2) et bias = 2.5
in= x3.WT + bias = 3.3*-2 + 2.2*1 + 2.5 = -1.9
a = g(in)=signe(-1.9) = -1
d = -1 = a = -1
Pas besoin d’ajuster les poids

Passe 4. Exemple x4 = (0,2) et d4 = -1


W = (3.3, 2.2) et bias = 2.5
in = x4.WT + bias = 3.3*0 + 2.2*2 + 2.5 = 6.9
a = g(in)=signe(6.9)= 1
d = -1 et a = 1
Ajustement des poids
err = d – a = -1 – (1) = -2
WN = W + err*x4 = (3.3, 2.2) + (-2)*(0,2)
WN = (3.3, -1.8)
biasN = bias + err*1 = 2.5 + (-2)*1 = 0.5

Tous les exemples de l’ensemble d’apprentissage ont été passés. Les poids finaux obtenus
sont : W = (3.3, -1.8) et bias = 0.5

On vérifie :
a1 = WT.x1 + bias = 3.3*2 + -1.8*1 + 0.5 = 5.3
Classe de x1 = 1 (a1 = 5.3)

En vérifiant de la même pour les autres exemples, on obtient :


Classe de x2 = 1 (a2 = 2.3)
Classe de x3 = -1 (a3 = -7.9)
Classe de x4 = -1 (a4 = -3.1)
CHAPITRE 4 : LA CLASSIFICATION NEURONALE

Le perceptron multicouche (PMC)

Le perceptron multicouches (Multi Layer Perceptron MLP) généralise le perceptron afin


d’apprendre des modèles plus complexes, non linéaires. C’est le plus simple et le plus connu
des réseaux de neurones.

Un réseau PMC est constitué :


 d’une couche d’entrée (un neurone par variable plus un pour le biais)
 une ou plusieurs couches cachées (avec un nombre arbitraire de neurones)
 une couche de sortie (un neurone pour la discrimination, un neurone par classe dans
le multiclasse)
 il est acyclique
 il est complètement connecté
Chaque neurone n’est relié qu’aux neurones des couches précédentes, mais à tous les
neurones de la couche précédente. La fonction d’activation utilisée est en générale une
somme pondérée.

Figure 5. Le réseau perceptron multicouche(PMC)

Apprentissage

La généralisation de la règle delta aux réseaux à couches cachées s’appelle rétro-ropagation


du gradient de l’erreur. Elle consiste à propager l’erreur à travers le réseau dans le sens
inverse de la propagation des activations.Cette technique permet de calculer la modification
des poids des connexions entre les couches cachées.Elle tente de réduire la différence entre
les sorties du réseau et les sorties désirées. L’erreur E du réseau à minimiser est calculée par
l’équation suivante :
CHAPITRE 4 : LA CLASSIFICATION NEURONALE

1
E = ( d − g (in))
2
∈ ∈
Avec :
d : sortie désirée
a ou g (in) : sortie obtenue
X : ensemble des exemples e d’entrainement
S : ensemble des sorties s du réseau

Méthode de rétro-propagation du gradient de l’erreur


Principe : calculer l’erreur en sortie pour corriger le poids de la couche précédente, puis
propager jusqu’à la couche d’entrée. La correction utilise la dérivée de l’erreur par rapport à
chacun des poids de la couche précédente.

Algorithme de rétropropagation du gradient de l’erreur


Initialiser les poids à de petites valeurs aléatoires (entre -0.05 et 0.05)
Tant que la condition d’arrêt n’est pas atteinte
Pour chaque exemple d’entraînement
Calculer les sorties du réseau a

a = g(in ) = g( ∑ w a )

Pour toutes les unités de sortie a , calculer l’erreur ∆

∆ ← g (in ) × (d − a )

Pour toutes les unités cachées j, calculer l’erreur ∆

∆ ← g in ∑ W ∆

Mettre à jour tous les poids Wji

W ← W + α × a ×∆

Fin pour
Fin pour
Fin tant que

La convergence de l’algorithme dépend de l’une des conditions d’arrêt suivantes :


1. Après un certain nombre fixe d’itérations.
2. Lorsque les poids se stabilisent
3. Lorsque l’erreur dans les sorties des exemples d’entraînement descend en dessous d’une
certaine borne.
4. Lorsque l’erreur avec les exemples de validation descend en dessous d’ne certaine
borne.
CHAPITRE 4 : LA CLASSIFICATION NEURONALE

NB. Le nombre d’itérations est important . Si trop faible, l’erreur n’est pas suffisamment
réduite. Si trop grand, le réseau devient trop spécifique aux données d’entraînement.

Exemple :
Considérons le réseau PMC suivant avec
Un taux d’apprentissage α= 0.05
Une fonction d’activation g sigmoïde aux nœuds et .
Un exemple de la base d’apprentissage e = (x , d ) ∈ X tel que x = (x , x , x ) et d = 2

1. Calcul de la sortie du réseau

On a:
a = g(in ) =

in = ∑ w a

Pour i = 4

in = a w + a w + a w

in = (−1 × −0.5) + (2 × −0.2) + (5 × 0.1) = 0.6

a = g(in ) = . = 0.6457

Pour i = 5

in = a w + a w

in = (−1 × −0.4) + (0.6457 × 0.3) = 0.5937

a = g(in ) = . = 0.6442
CHAPITRE 4 : LA CLASSIFICATION NEURONALE

1
E = ( d − g (in))
2
∈ ∈
Avec :
d : sortie désirée
a ou g (in) : sortie obtenue
X : ensemble des exemples e d’entrainement
S : ensemble des sorties s du réseau

Méthode de rétro-propagation du gradient de l’erreur


Principe : calculer l’erreur en sortie pour corriger le poids de la couche précédente, puis
propager jusqu’à la couche d’entrée. La correction utilise la dérivée de l’erreur par rapport à
chacun des poids de la couche précédente.

Algorithme de rétropropagation du gradient de l’erreur


Initialiser les poids à de petites valeurs aléatoires (entre -0.05 et 0.05)
Tant que la condition d’arrêt n’est pas atteinte
Pour chaque exemple d’entraînement
Calculer les sorties du réseau a

a = g(in ) = g( ∑ w a )

Pour toutes les unités de sortie a , calculer l’erreur ∆

∆ ← g (in ) × (d − a )

Pour toutes les unités cachées j, calculer l’erreur ∆

∆ ← g in ∑ W ∆

Mettre à jour tous les poids Wji

W ← W + α × a ×∆

Fin pour
Fin pour
Fin tant que

La convergence de l’algorithme dépend de l’une des conditions d’arrêt suivantes :


1. Après un certain nombre fixe d’itérations.
2. Lorsque les poids se stabilisent
3. Lorsque l’erreur dans les sorties des exemples d’entraînement descend en dessous d’une
certaine borne.
4. Lorsque l’erreur avec les exemples de validation descend en dessous d’ne certaine
borne.