Vous êtes sur la page 1sur 19

Rsum : Rseaux de neurones

Marc-Olivier LaBarre Mai 2002


SYMBOLISME

Dans le texte qui suit, des symboles et des variables sont utilises pour reprsenter les
composantes des rseaux de neurones. Voici les dfinitions de ce symbolisme.
S Systme que reprsente le rseau de neurone, de lextrieur
X Vecteur dintrant du rseau, ou dune manire locale,
vecteur dintrant dune couche du rseau.
x
i
i-me lment du vecteur dintrant X
Y Vecteur de sortie du rseau, ou dune manire locale,
vecteur de sortie produit par une couche du rseau.
y
i
i-me lment du vecteur de sortie Y
w
i
Poids du i-me intrant du neurone
w
i,j
Poids sur le lien entre le neurone i et le neurone j
W
i
Vecteur de poids associ au neurone i
W Matrice de poids, associe une couche.
f( ) Fonction dactivation dun neurone
Seuil dactivation dun neurone
LISTE DES ABBRVIATIONS
PMC Perceptron Multicouche
ACP Analyse des Composantes Principales
Les rseaux de neurones sont une des composantes importantes du domaine de
lintelligence artificielle. Les rseaux de neurones artificiels , pour les diffrencier des
rseaux de neurones biologiques, sont composs de neurones artificiels simples, petites
fonctions mathmatiques, qui permettent, monts en rseau de former des fonctions
complexes trs utiles. Par analogie aux neurones biologiques, les neurones artificiels ont
pour but de reproduire des raisonnements intelligents dune manire artificielle. Ces
neurones peuvent adopter de certaines qualits habituellement propres au biologique,
cest--dire, la gnralisation, lvolutivit, et une certaine forme de dduction.
La structure dun neurone artificiel est en fait copie sur la structure des neurones
biologiques. Les principales structures biologiques des neurones ont toutes leur
quivalent artificiel (voir plus bas), ceci ayant pour but de reproduire leur fonctionnement
de la meilleure faon possible (dune manire logique, simple et facilement reprsentable
sur informatique). Un neurone est une minuscule structure qui traite les influx nerveux
qui arrivent (inputs), chacun selon son importance relative, et qui met un (et un seul)
signal de sortie (output). Les neurones artificiels reproduisent le mme procd, recevant
chaque signal dentre (input) tempr par un poids (weight). Ces poids sont aussi
appels poids synaptiques, par analogie. Les intrants pondrs, habituellement (mais pas
toujours) somms, sont ensuite compars un seuil dactivation
1
et passs dans la
fonction du neurone (habituellement une fonction trs simple), qui produit lextrant
(output) dsir. Dans les neurones biologiques, les intrants et extrants sont des influx
lectriques, reprsents artificiellement par des valeurs numriques. Habituellement, les
neurones sont relis ensemble en rseaux, les neurones dun niveau (les rseaux de
neurones sont habituellement btis en niveaux hirarchiques) passant leurs extrants aux
neurones du niveau suivant (devenant les intrants des neurones suivants). Dune manire
gnrale, un neurone constitue un minuscule processeur, capable de grer une fonction
simple.
Tableau 1 : Analogie entre les neurones biologiques et artificiels
Neurone biologique Neurone artificiel Reprsentation symbolique
Soma Neurone
Dendrite Intrant (Input) x
i
, X (intrant net)
Axone Extrant (Output) Y
Synapse Poids w
i
Figure 1 : Schma dun neurone artificiel (deux signaux dintrants seulement)
NAISSANCE
En 1943, Warren McCulloch et Walter Pitts ont propos un des premiers modles de
neurone artificiel, qui deviendra la base des rseaux de neurones artificiels. Ce modle
de neurone (galement appel neurone de McCulloch-Pitts) utilise la sommation des
intrants pess (weighted inputs) comme intrant net X (intrant direct de la fonction du
neurone) et comme fonction dactivation, la fonction de signe (compar avec le seuil ) .
1
n
i i
i
X x w

2
1
1
si X
Y
si X

'
<

1
Plusieurs rseaux nutilisent pas de seuils dactivation. Cependant, ces neurones ne sont pas diffrents des
neurones prsents ici, mais plutt un cas particulier o = 0.
2
Par sa simplicit et son intuitivit cest cette forme dintrant net qui est utilise par dfaut,.
Intrants Neurone Extrant
x
1
w
1
Y
w
2
x
2
seuil
Tableau 2 : Autres fonctions dactivation
3
(compares au seuil )
tage Signe Sigmode
4
Linaire
1
0
tage
si X
Y
si X

'
<

1
1
signe
si X
Y
si X

'
<

*( )
1
1
sigmoide
X
Y
e

+
linaire
Y X
La fonction dactivation par signe est trs utile, mais dautres fonctions peuvent tre
utilises. Par exemple, la fonction par tage (Y = {0,1}) est meilleure pour les sorties par
bits et pour les tables de vrits. La fonction sigmode prsente davantage de souplesse et
de nuance lors du traitement des erreurs.
Malgr la grande rpartition de ces neurones, il en existe au moins un autre type. Les
neurones, on en effet deux fonctions dactivation, la premire tant la production de
lintrant net (ci-haut, la somme des intrants pess), le seconde tant la fonction
dactivation. Dans le cas du neurone de McCulloch-Pitts, ainsi que dans la plupart des
cas, les neurones sont des neurones produit scalaire , car lintrant net est produit de la
mme manire que le produit scalaire entre le vecteur dintrant et le vecteur de poids
associs ce neurone. Dans dautres cas, on peut aussi utiliser des neurones distance .
Comme le nom lindique, la production de lintrant net dans ce cas est produit par le
calcul dune distance enter le vecteur dintrant et le vecteur de poids. Habituellement,
une autre manire de calculer lintrant net amne faire des choix diffrents par rapport
la fonction dactivation utilise. Dans le cas des neurones distances , . Les neurones
distance sont utiliss dune manire plus spcifique, particulirement dans le cas des
rseaux de Kohonen. Il est important de noter que les poids dun rseaux doivent tre
interprts de manire diffrente selon les type de neurone utilis.
Le seuil dactivation dun neurone peut galement tre considr comme un intrant fixe
de valeur 1 et de seuil . Cette manire de procder permet dinclure la modification du
seuil dans un algorithme dentranement, augmentant ainsi lapprentissage du rseau.
Cependant, cette modification nest correcte que lorsque la fonction dactivation
seffectue sur lintrant net auquel on soustrait le seuil ( f(X )). Par exemple, dans le
cas dun neurone distance , cette modification serait tout a fait incorrecte. Certaines
personnes utilisent la notion de biais pour les neurones. Il sagit dun intrant fixe de 1 et
de poids dtermin selon le rseau. Gnralement, lutilisation du biais sur un neurone ne
se fait pas en mme temps que lutilisation de seuils dactivation, mais rien ne lempche,
sinon les quelques complications que cela occasionne. De fait, dans plusieurs cas, la
double utilisation de biais et de seuils dactivation est superflue. On peut facilement
considrer que le biais sur un neurone est quivalent un seuil dactivation, mais si ceci
se rvle vrai dans plusieurs cas, il serait incorrect de gnraliser. Il est important de
faire la diffrence entre le biais dun neurone et le biais dans le cas dune mthode
statistique. Dans la suite du texte, le biais fera rfrence celui des mthodes
statistiques, sauf indication contraire.
3
Ce tableau nest pas exhaustif, mais regroupe les fonction dactivations les plus utilises
4
Dans cette formule, le permet de modifier limportance de la variation. Plus est grand (>1), plus la
fonction sigmode tend vers la fonction par tage. Plus est petit ( < 1), plus la fonction tend vers une
droite. Par dfaut, =1.
ARCHITECTURE
Un rseau de neurones est, comme son nom lindique, un ensemble de neurones en
rseau, de sorte que les signaux sortant (outputs) des neurones deviennent des signaux
entrant (inputs) dans dautres neurones. Larchitecture gnrale des rseaux de neurones
consiste en la reprsentation des neurones en couches (layers) successives, la premire
reprsentant la couche dintrants (input layer), la dernire tant la couche de sortie
(output layer), les couches intermdiaires tant les couches caches (hidden layers) du
rseau. Ces couches sont dites caches car de lextrieur du rseau, on ne peut analyser
clairement leur fonctionnement. On ne connat vraiment que les signaux intrants et
extrants du rseau. Les neurones de la couche dintrants ne sont pas vraiment des
neurones traitants (computing neurons), mais ont pour seule utilit de normaliser lentres
des signaux ainsi que la distribution des signaux intrants. Dans cette architecture
normalise, les couches de neurones sont totalement interconnectes, cest--dire que les
neurones dune couche sont tous relis tous les neurones des couches adjacentes. Cette
architecture normalise peut sembler rigide, mais elle permet une reprsentation correcte
de la plupart des rseau de neurones, tout en permettant lutilisation dalgorithmes
dentranement plus gnraux.
Dune manire gnrale, un rseau de neurones se comporte, dun point de vue extrieur,
comme une fonction S qui traite des donnes (inputs) et produit une rponse
correspondante (output). Les donnes entres peuvent tre de nimporte quel type
reprsentable de manire binaire ou numrique. Ces donnes peuvent galement tre
vues comme des vecteurs, et le rseau de neurones une application vectorielle.
Les rseaux de neurones peuvent tre soit statiques, soit dynamiques
5
. Les rseaux
dynamiques ont la capacit de sactualiser (modifier les poids des liaisons) en tout temps.
Ces rseaux possdent habituellement des algorithmes dentranements non-superviss,
ce qui permet au rseau en question d voluer chaque utilisation. Les rseaux
statiques se sparent en deux catgories. La premire concerne les rseaux entrans,
cest--dire les rseaux qui ont vu leurs poids modifis par un algorithme dentranement,
sous la supervision dun instructeur jusqu ce que ces rseaux donnent des rsultats
satisfaisants aux donnes dentranement. La seconde catgorie concerne les rseaux
non-volutifs, comme les rseaux de mmoire. Les poids de ces rseaux sont choisis (et
non pas modifis par un entranement), pour donner leffet escompt.
5
Les rseaux sont des structures statiques, cest--dire que, une fois construit, leur architecture ne change
pas. Ici, on parle plutt du caractre statique ou dynamique des poids du rseau lors de son utilisation,
cest--dire, si les valeurs des poids du rseaux peuvent ou non se modifier lors de lutilisation (
diffrencier de lentranement) du rseau.
Figure 2 : Architecture dun rseau de neurones (avec deux couches caches)
LE PERCEPTRON
En 1958, Frank Rosenblatt proposa le perceptron, accompagn dun algorithme
dentranement. Un perceptron est un rseau de neurones avec des neurones produit
scalaire fonctionnant avec une fonction par tage ou sigmode (la fonction est un cas
particulier de la fonction sigmode). On prsente ici un algorithme dentranement pour
un perceptron un seul neurone (le cas le plus trivial).
Algorithme de traitement
1- Initialisation
Mettre les poids initiaux w
1
, w
2
, , w
n
ainsi que le seuil des valeurs alatoires
de lintervalle [-0,5 , 0,5]. Mettre le taux dapprentissage un petite valeur
positive.
2- Activation
Activer le perceptron en appliquant les intrants x
1
(p), x
2
(p). , x
n
(p) et lextrant
dsir Y
d
(p). Calculer lextrant actuel litration p = 1.
1
( ) ( ) ( )
n
i i
i
Y p tage x p w p

1

1
]

o n est le nombre de signaux intrants, et tage est la fonction dactivation par


tage.
3- Entranement des poids
Mettre jour les poids du perceptron
( 1)
i i i
w p w w + +
o
( )
i
w p
est la correction de poids litration p.
La correction de poids est calcule par la loi delta :
( ) ( )
i i
w x p e p
i e
n x
t t
r r
a a
n n
t t
s s
couche premire seconde couche
dintrant couche cache couche cache de sortie (dextrant)
o est le taux dapprentissage et e(p) lerreur litration p (la diffrence entre
lextrant dsir et lextrant actuel du perceptron)
4- Itration
Augmenter p de 1, retourner ltape 2 et rpter le procd jusqu convergence.
Exemple dentranement dun perceptron (un neurone, deux intrants), = 0,35, = 0,2 :
Intrants Sortie
dsire
Poids Initiaux Sortie
actuelle
Erreur Poids Finaux
Priode x
1
x
2
Y
d
w
1
w
2
Y e w
1
w
2
0,4 0,12 0 0,30 -0,20 0,4 0 0 0,30 -0,20
0,99 0,5 0 0,30 -0,20 0,99 0 0 0,30 -0,20
0,82 0,87 1 0,30 -0,20 0,82 0 1 0,46 -0,03
0,34 0,6 1 0,46 -0,03 0,34 0 1 0,53 0,09
0,4 0,12 0 0,53 0,09 0,4 0 0 0,53 0,09
0,99 0,5 0 0,53 0,09 0,99 1 -1 0,33 -0,01
0,82 0,87 1 0,33 -0,01 0,82 0 1 0,50 0,17
0,34 0,6 1 0,50 0,17 0,34 0 1 0,57 0,29
0,4 0,12 0 0,57 0,29 0,4 0 0 0,57 0,29
0,99 0,5 0 0,57 0,29 0,99 1 -1 0,37 0,19
0,82 0,87 1 0,37 0,19 0,82 1 0 0,37 0,19
0,34 0,6 1 0,37 0,19 0,34 0 1 0,44 0,31
0,4 0,12 0 0,44 0,31 0,4 0 0 0,44 0,31
0,99 0,5 0 0,44 0,31 0,99 1 -1 0,24 0,21
0,82 0,87 1 0,24 0,21 0,82 1 0 0,24 0,21
0,34 0,6 1 0,24 0,21 0,34 0 1 0,31 0,33
Lentranement de ce perceptron sera termin aprs 8 priodes (cest--dire, 32 tests).
Les poids finaux seront w
1
= 0,03 et w
2
= 0,64.
Cependant, les perceptrons un neurone ne peuvent apprendre que des fonctions
sparables linairement. Dans le cas prsent ci-haut, la fonction apprise est sparable
par la droite x
1
w
1
+ x
2
w
2
= , soit 0,03x
1
+ 0,64x
2
= 0,35 ou encore x
1
= -64x
2
/3 + 0,35.
De plus, comme Mansky et Papert lont montr dans leur livre Perceptrons en 1969, les
perceptrons ne peuvent gnraliser sur des exemples appris localement. Il est cependant
possible de surpasser ces limitations grces un algorithme diffrent, comme il sera vu
plus tard.
RSEAUX MULTICOUCHE (Multilayer Neural Networks)
Les rseaux de neurones multicouches sont habituellement btis selon le modle
normalis et comprennent 3 ou 4 couches en tout (donc 1 ou 2 couches caches). Sil
est thoriquement possible de construire des rseaux avec un trs grand nombre de
couches caches, les rseaux comprenant plus de couches caches sont trs rares, tant
donn que chaque nouvelle couche augmente la quantit de calculs dune manire
exponentielle. La plupart des rseaux de neurones multicouches sont, dans la pratique,
des perceptrons multicouches (PMC)
RTRO-PROPAGATION DU GRADIENT (back-propagation)
La mthode de modification des poids est trs simple avec lalgorithme de Rosenblatt,
mais il implique quelques limitations dapprentissage. Dans le cas de perceptrons
multicouches, comme on ne sait pas les extrants (outputs) dsirs des couches caches,
mais seulement de la dernire couche, il faut propager la responsabilit des erreurs de la
dernire couche la premire, dans le sens contraire de lexcution de rseau, do le
nom rtro-propagation. De plus, les perceptrons multicouches utilisent des neurones
munis de la fonction dactivation sigmode, celle-ci permettant les nuances ncessaires
une bonne utilisation de la rtro-propagation. Voici les principales lignes de la mthode
de rtro-propagation :
Calcul de lerreur :
,
( )
k d k k
e p y y
: lerreur du neurone k est la diffrence entre la valeur de lextrant
dsir et la valeur actuelle de lextrant du neurone k)
Correction de poids (par la loi delta):
( ) ( ) ( )
jk j k
w p y p p
: la correction du poids du lien du neurone j au neurone k,
o
( )
k
p
est le gradient derreur du neurone k litration
p.
Gradient derreur (pour les neurones de la couche de sortie) :
[ ] [ ] ( ) ( ) ( ) ( ) 1 ( ) ( )
k k k k k k
p F X p e p y p y p e p
La deuxime partie est obtenue par la drive de la fonction sigmode applique
lintrant net du neurone k litration p
Gradient derreur (pour les neurones dune couche cache) :
,
1
( ) ( ) 1 ( ) ( ) ( )
l
j j j k j k
k
p y p y p p w p

1
]

o l est le nombre de neurones sur la couche suivante.
Algorithme de traitement
1- Initialisation
Mettre tous les poids et les seuils dactivation du rseau des valeurs alatoires
uniformment distribues dans un petit intervalle :
2, 4 2, 4
,
i i
F F
_


,
(selon Haykin, 1994), o F
i
est le nombre total de signaux intrants du
neurone i dans le rseau. Cette initialisation est faite un neurone la fois.
Mettre la valeur du taux dapprentissage une petite valeur positive.
2- Activation
Activer le rseau de neurones en appliquant les signaux intrants et les extrants
dsirs
Calculer les signaux sortant des neurones des couches successives, de la premire
couche cache la couche de sortie.
3- Entranement des poids
Mettre jour les poids du rseau en propageant les erreurs dans le sens inverse :
Calculer les gradients derreurs pour les neurones des couches successives (ordre
inverse), de la couche de sortie la premire couche cache.
Calculer les corrections de poids pour chaque lien et mettre jour les poids.
4- Itration
Incrmenter p, retourner ltape 2 et rpter le procd jusqu ce que le critre
derreur soit atteint.
Figure 3 : Simple rseau de neurones multicouche
La mthode de rtro-propagation peut mettre normment de temps avant que la
sommation des erreurs carres ne soit rduite zro (Ceci peut tre impossible selon les
cas). Cest pourquoi on utilise plutt un critre derreur, soit une certaine valeur critique,
qui doit tre atteinte par la sommation des erreurs carres (habituellement entre 0,001 et
0,1). La loi delta, utilise par la mthode de rtro-propagation, a pour objectif de rduire
la sommation des erreurs carres produites par le rseau. Si on reprsente la courbe de la
fonction de la somme des erreurs carres par rapport un poids du rseau, on peut
observer que la variation idale dpend de la pente de la courbe de la fonction, do
lutilisation de la drive dans le calcul du gradient derreur (et par le fait mme, de la
variation de poids). Comme cette recherche, telle la mthode du hillclimbing, recherche
les extrma par un vrification de la pente, elle peut tre limit par latteinte de minima
locaux.
Lentranement dun perceptron multicouche avec lalgorithme de rtro-propagation du
gradient se fait dune manire similaire lentranement dun perceptron neurone
unique, mais il faut procder neurone par neurone et poids par poids, en commenant par
la dernire couche. Il faut calculer le gradient derreur pour chaque neurone, puis
calculer la variation de poids pour les liens rattachs ce neurone. Ensuite on passe la
couche prcdente. Cette mthode devient trs rapidement lourde en calculs.
La diffrence entre lutilisation de la fonction dactivation par tage et sigmode (o
encore la diffrence entre un petit et un lev tient au degr de gnralisation que lon
veut atteindre. Avec la fonction par tage, la courbe produite par le systme S du rseau
de modifiera jusqu ce que les rponses soit correctes et cessera dvoluer sitt aprs.
Dans le cas de la fonction sigmode, il nexiste pas vraiment de rponse correcte et
incorrecte de manire claire, la rponse tant une valeur entre 0 et 1. Cette faon de faire
permet davoir de plus grandes nuances quant aux erreurs produites par le systme.
Mme avec des rponses correctes , il reste une petite marge derreur, et la courbe du
systme tendra dmarquer le plus possible les valeurs dapprentissage. De cette
manire, une rponse correcte de 0,60 (arrondie 1 dans un modle binaire) ne sera pas
considre satisfaisante, et lalgorithme permet encore de modifier les poids pour que la
rponse soit de plus en plus claire (de tendre vers 1). Bref, lutilisation de la fonction
sigmode par rapport tient lvolutivit mme si les rponses donnes par le rseau sont
bonnes. Un trop grand (tend vers la fonction par tage) fera que le rseau se modifiera
moins a posteriori que pour = 1, alors quun trop aura de la difficult sarrter. Il
nest pas toujours possible de clarifier compltement, et les cas limites devront se
contenter de rponses moins claires. Dans ces cas, la limite entre les classes dtermines
sera lgrement mouvante. De toutes faons, latteinte dun taux derreur trs trs petit
est extrmement long atteindre, et nest pas toujours souhaite (voir plus bas).
La grande majorit des PMC sont des rseaux avec apprentissage supervis, mais il en
existe quelques-uns qui peuvent apprendre sans professeur pour les guider. Une classe de
ces rseaux non-superviss est celle des rseaux auto-associatifs. Par dfaut, un PMC est
un rseau htro-associatif, ce qui veut dire que la sortie est diffrente de lentre. Dans
le cas particulier o lentre doit tre la mme que la sortie, ces rseaux tant appels
auto-associatifs, on na pas besoin des valeurs de sortie que devraient produire le PMC,
celles-ci tant les mmes que lentre. Ces PMC auto-associatifs ont ceci dintressants
que la premire partie du rseaux constitue un codage des donnes, alors que la seconde
partie est le dcodage, pour retrouver linformation entre.
Figure 4 : PMC auto-associatif
codage dcodage
Quelques amliorations ont t proposes pour augmenter la vitesse dapprentissage des
PMC :
a) Lutilisation de la fonction tangente hyperbolique
tan
2
1
h
bX
a
Y a
e


+
, o a et b
sont constants. Les valeur de a = 1,716 et b = 0,667 sont efficaces (Guyon,
1991). Lavantage de cette fonction par rapport la fonction sigmode de base a
t test empiriquement.
b) Lutilisation dun terme de momentum (momentum term) dans lquation de la
loi delta :
( ) ( 1) ( ) ( )
jk jk j k
w p w p y p p +
, avec
0 1 <
(une
bonne valeur de est 0,95). Cette nouvelle quation porte le nom de loi delta
gnralise. Lajout du terme de momentum permet de stabiliser
lapprentissage, tout en augmentant la descente de la courbe de la somme des
erreurs carres selon les itrations.
c) Lutilisation dun taux dapprentissage variable plutt que constant. Si le
changement dans la somme des erreurs carres porte le mme signe algbrique,
le taux dapprentissage devrait tre augment. Si le signe algbrique du
changement de la somme des erreurs carres alterne dune itration lautre, le
taux dapprentissage devrait tre dcrment.
PROBLMES POUR LA GNRALISATION
Les rseaux de neurones devant gnraliser sur les exemples de lensemble
dapprentissage, il ne sont quune approximation des fonctions que lon recherchait
vraiment. Quelques problmes de lapproximation de rseaux de neurones sont identifis
ici et des solutions y sont proposes.
Compromis Biais-Variance
Le paramtre minimiser dans le cas de lentranement dun rseau de neurone est
lerreur sur les rsultats donns par le rseau de neurone. Cependant, celle-ci ne tient
compte que des valeurs de lensemble dentranement, alors quon devrait tenir compte
de lerreur sur toutes les donnes traiter. Ceci tant impossible, on base plutt
loptimisation sur un risque moyen. Le risque quadratique moyen est un bon paramtre
optimiser. Ce risque se dcompose en trois termes : lerreur baysienne, le biais et la
variance. Lerreur baysienne tient lapprentissage, mais est indpendante de la
procdure dapprentissage. La difficult de cette optimisation est de contrler la fois le
biais et la variance. Alors que la variance est monotone croissante, amis converge, le
biais a un comportement non-monotone. Il commence par dcrotre, puis crot lentement.
Il faut donc trouver un compromis o la somme du biais et de la variance est minimale.
Cela revient accepter un certain biais pour maintenir la variance relativement faible.
Dans le cas des rseaux de neurones, cest le contrle de la complexit du rseau de
neurone qui permet de trouver lestimateur ralisant le bon compromis biais-variance.
Choix de larchitecture
Le choix de larchitecture dun rseau dtermine la classe des fonctions calculables par
celui-ci, ou encore sa complexit potentielle. Cest videmment le premier paramtre sur
lequel les utilisateurs de rseaux ont jou pour contrler les performances dun systme.
La dmarche la plus vidente pour choisir la meilleure architecture est bien entendu de
tester plusieurs modles diffrents, changeants les types de neurones, le nombre de
couches, le nombre de neurones cachs. Cependant, lvaluation comparative des
rseaux ainsi cr pose problme, de nombreuses mthodes existant mais tant beaucoup
trop lourdes en calculs. Pour cette raison, la communaut de rseaux de neurones a
adopt des procdures sous-optimales. La plus courante consiste en lutilisation dun
ensemble de validation, le rseau offrant les erreurs les moindres sur cet ensemble tant
considr le meilleur. Cette mthode est galement coteuse en temps de calculs et
soumise de nombreux alas.
Stopper lapprentissage avant convergence
Trop apprendre partir dun ensemble limit de donnes dapprentissage nuit aux
performances de gnralisation du rseau. Cest le phnomne du sur-apprentissage :
aprs avoir induit des rgles statistiques reprsentatives, le rseau capture les
idiosyncrasies de lensemble dapprentissage. Lerreur calcule sur lensemble
dapprentissage dcrot dune manire continue et se stabilise ensuite, mais lerreur de
test passe par un minimum avant de crotre. Il faut donc stopper lapprentissage l o
lapprentissage produira les meilleures performances de gnralisation. La slection du
meilleur moment pour stopper lapprentissage pose quelques problmes. Lutilisation
dun ensemble de validation reste une des mthodes reste une des techniques les plus
utilises. Il suffit de stopper lapprentissage avant que lerreur sur lensemble de
validation augmente.
Rgularisation
Les techniques dapprentissage des rseaux de neurones sont principalement bases sur
loptimisation, savoir, la recherche de lerreur, du risque ou du cot minimal, selon les
cas. Les mthodes de rgularisation visent modifier les fonction de cots naturelles en
ajoutant des termes supplmentaires aux critres des fonctions de cots. La nouvelle
fonction de cot Q, est reprsente comme suit :
1 2
Q Q Q + , o Q
1
est la fonction de
cot naturelle modifie, le paramtre de pondration de Q
2
et Q
2
le terme
supplmentaire. Ici, on montre le cas dun seul terme ajout la fonction de cot de
base, mais plusieurs autres termes peuvent tre ajout. Par exemple, le choix de
2
2 i
i
Q w
aurait pour effet de contraindre les poids tendre vers 0. Lutilisation de ce
terme correspond la technique connue sous le nom de weight decay, est trs facile a
implater laide la lalgorithme de rtro-propagation du gradient. Cette technique vise
mettre zro les poids inutiles au rseau. Un variation du terme prcdent a t propos
par Weigend (1991), qui permet de faire tendre vers zro les poids faibles, alors que les
autes ne seront pas soumis cette contrainte :
2
2 2
1
i
i
i
w K
Q
w K

, o K est une constante,


permettant de dfinir quels poids sont faibles et quels poids sont forts. Ces deux termes
sont plutt rustiques, tant donn que les poids dun rseau peuvent avoir des
significations diffrentes, ce ncessitant des contraintes diffrentes.
lagage
Llagage est une technique simple qui vise liminer les poids ayant une utilit faible.
La plus populaire des techniques, appele Optimal Brain Damage ou OBD, consiste en
deux phases, entraner le rseau jusqu latteinte dun minimum local, puis dliminer
les poids dutilit faible. Lutilit dun poids w
i
, dans lOBD est dfinie comme tant la
variation du cot rsultant de sa suppressionm qui correspond poser w
i
= 0. Par
quelques approximations, on obtient que lutilit dun poids w
i
est donne par :
( )
2
2
2
1
2
i i
i
Q
Q w w
w

. Compare un seuil, on dcide si un certain poids est utile ou non.


Cette procdure applique plusieurs fois peut conduire une rduction importante du
nombre de poids su systme sans baisse de performances.
Bruitage
Le bruitage des donnes est une autre technique empirique qui permet daugmenter la
qualit de la gnralisation. Elle consiste ajouter un lger bruit chaque vecteur
dentre pendant lapprenti9ssage, la sortie dsire demeurant inchange. De cette faon,
on associe une petite zone de lespace dentre centre autour dun vecteur dentre une
mme sortie dsire. Cela permet dassurer un lissage de la fonction apprise par le rseau
autour des points dapprentissage. Cette technique favorise les solutions qui sont peu
sensibles des variations de la taille du bruit appris, sur les entres.
RSEAUX NON SUPERVISS
Il existe galement des rseaux de neurones qui sentranent sans besoin de supervision,
cest--dire, sans que lon ait besoin de signifier au rseau comment il doit (devrait) se
comporter. Ces rseaux, habituellement, sont toujours en train de sentraner. Il en existe
plusieurs types, mais voici deux exemples plus marquants.
RSEAU DE KOHONEN (CARTE DE KOHONEN)
Ce type de rseau de neurones consiste en une situation o plusieurs neurones entrent en
comptition pour tre activ. Dans cette situation, un seul neurone est activ (winner-
takes-all neuron) suite la comptition. Ces rseaux ont t tudis par Grossberg, von
der Malsburg, Fukushima, mais cest Tuevo Kohonen qui a vraiment lanc ce domaine en
introduisant une nouvelle classe de rseau de neurones, soit les cartes topologiques
dauto-organisation (self-organizing feature map). Il est noter que les termes rseau
de Kohonen, carte de Kohonen et couche de Kohonen, bien quils rfrent des principes
lgrement diffrents, sont souvent utiliss sans grande distinction dans la littrature.
Figure 5 : Couche de Kohonen avec deux intrants. Le neurone gagnant est le plus fonc
et les neurones de son voisinage sont en gris.
Dans ces rseaux, seul le neurone gagnant, selon une certaine fonction, ainsi que, dans
certains cas, un certain voisinage de ce neurone, verra son poids modifi. Seul le neurone
gagnant et son voisinage profiteront de lapprentissage. On calcule le neurone gagnant en
choisissant celui dont le vecteur de poids est le plus prs du vecteur dintrants selon une
distance euclidienne. Lapprentissage consiste rapprocher les poids des neurones
gagnants des valeurs dintrants. De cette faon, une application successive de plusieurs
signaux intrants diffrents organisera les poids du rseau. Les neurones dune couche
Couche
dintrants
Couche de Kohonen
de Kohonen possdent galement des liaisons entre eux, dans le but de comptition
qui est la base du rseau de Kohonen. La taille et la manire de calculer le voisinage
dun neurone de la couche de Kohonen peut varier dun rseau lautre. Ce voisinage
peut aussi bien tre nul, cest--dire que seul le neurone activ est entran chaque
prsentation dun lment.
Algorithme de traitement
1- Initialisation
Mettre les poids synaptiques de petites valeurs alatoires et donner un petite
valeur positive au taux dapprentissage .
2- Activation
Activer le rseau de Kohonen en appliquant le vecteur dintrants X, et trouver le
neurone gagnant j
X
(p) par la distance euclidienne minimale.
1/ 2
2
1
( ) min ( ) ( ) ; 1, 2,...,
n
X j i ij
j
i
j p X W p x w p j m


1
' ;
]

o n est le nombre de neurones de la couche dentre et m le nombre de neurones de


la couche de Kohonen.
3- Apprentissage
Mettre jour les poids synaptiques
( ) , ( )
( )
0, ( )
i ij j
ij
j
x w p j p
w p
j p

]

'

o
( )
j
p
est le voisinage du neurone gagnant
4- Itration
Incrmenter p, retourner ltape 2 jusqu ce que le critre de distance euclidienne
minimale soit atteint ou jusqu ce que les poids convergent.
Les cartes de Kohonen se trouvent utiles dans le cas dune classification automatique. En
effet, en utilisant les neurones de la couche de Kohonen comme tant les indicateurs de
lappartenance un classe. Pour un certain neurone, le vecteur W de poids lui tant
associ reprsente le reprsentant de la classe que ce neurone a la tche de reprsenter.
Ce neurone sera le neurone activ si llment prsent au rseau est plus prs du
reprsentant de cette classe que du reprsentant de nimporte quelle autre classe, cest--
dire, que llment prsent devrait appartenir la classe que reprsente ce neurone.
Bien sur, le problme de lutilisation de rseaux de Kohonen pour effectuer ce type de
classification automatique est dans le nombre de classes, et en mme temps, dans le
nombre de neurones de la couche de Kohonen. Un rseau de Kohonen trouvera des
classes mme sil nen existe pas. Un autre lger problme est lentranement de poids.
La modification des poids dun neurone, cest--dire la mise jour du reprsentant dune
classe, se fait selon un critre dapprentissage . Mais celui-ci, par dfaut, ne tient pas
compte du nombre dlments dans la classe ou dautres contraintes.
APPRENTISSAGE HEBBIEN
Un autre type dapprentissage non supervis est lapprentissage Hebbien (Hebbian
Learning), tir de la loi de Hebb, tel qunonc par le neuropsychologue Donald Hebb en
1949. Celle-ci stipule que si deux neurones de chaque ct dune liaison sont activs
synchroniquement, le poids de cette liaison augmente. Si, dun autre ct, deux neurones
de chaque ct dune liaison sont activs asynchroniquement, le poids de cette liaison
dcroit.
La modification des poids suit la rgle suivante :
( ) ( ) ( ) ( ) ( )
ij i i i ij
w p y p x p y p w p
o reprsente le facteur doubli et le taux dapprentissage.
Cette rgle peut galement tre crite comme la rgle gnrale du produit dactivit
(generalised activity product rule) :
( ) ( ) ( ) ( )
ij i i ij
w p y p x p w p 1
]
o
/
Algorithme de traitement
1- Initialisation
Mettre les poids synaptiques et les seuils de petites valeurs alatoires. Donner de
petites valeurs positives au taux dapprentissage et au facteur doubli .
2- Activation
Activer les neurones du rseau selon leur fonction dactivation.
3- Apprentissage
Mettre jour les poids du rseau selon la rgle gnrale du produit dactivit
4- Itration
Incrmenter p, retourner ltape 2 jusqu ce que les poids convergent.
Il existe galement une mthode dapprentissage Hebbien supervis. Le seul changement
apporter est quon remplace la valeur de y
i
(p) par y
i,d
(p), la valeur dsire de lextrant.
Cependant, cette mthode dapprentissage supervise, contrairement la rtro-
propagation ne tient pas compte des rponses dj donnes par le rseau et met laccent
plutt sur ce qui doit tre appris que sur la correction des erreurs. La mthode
dapprentissage de Hebb applique aux rseaux de neurones les thories bhavioristes
(exprience du chien de Pavlov), comme quoi, en prsentant un stimulus effectif et un
stimulus neutre, on peut, avec entranement, associer la rponse du stimulus effectif avec
la prsence seul du stimulus neutre.
RSEAUX DE MMOIRE
Certains rseaux de neurones ont la capacit de retrouver des modles enregistrs
dans leurs poids synaptiques. Contrairement aux autres rseaux neuronaux, les poids des
rseaux de mmoires ne sont pas entrans, mais choisis. Les rseaux de mmoire nont
pas la capacit dvoluer avec le temps. Ces rseaux, sur prsentation dun certain intrant
(input), vont produire la rponse correspondante. Ces associations intrant-extrant sont
enregistres dans les poids synaptiques du rseau. Cependant, sur la prsentation
dun intrant (input) non-reconnu, ces rseaux ont la capacit, de produire une rponse
correcte. Certains rseaux (BAM, rseaux de Hopfield) corrigent les erreurs dintrant
et donne une rponse programme, comme si lintrant donn faisait partie dune
association prvue du rseau. Dautres rseaux, appels inter polaires (interpolative),
donneront comme rponse une variation dune rponse encode pour les intrants non-
prvus, selon la variation de lintrant par rapport un intrant prvu.
Pour un rseau inter polaire, application : X Y , pour un intrant X diffrant du
modle X
i
,
i i
X X +
, la rponse du rseau sera
( ) ( ) ( ) ( )
i i i i i
X X X Y E + + +
, cest--dire que la rponse Y
i
+ E, diffre
de la rponse encode Y
i
dun facteur E, dpendant de la variation de lintrant par rapport
au modle X
i
,
i

.
BAM
Le BAM, mmoire associative bi-directionnelle (Bi-directionnal Associative Memory),
prsent par Bart Kosko en 1988, consiste en deux couches compltement
interconnectes. Ce type de rseau ne traite que des intrants binaires {-1,1}. Dans ce
type de rseau, il existe galement un lien de rtroaction (feedback) connectant lui-
mme chaque neurone. Un rseau BAM dun vecteur dintrant de dimension n, X
n
, vers
un vecteur Y
m
, de dimension m (ou linverse, le rseau BAM, comme son nom lindique,
fonctionne dans les deux sens) retrouvera une rponse encode dans la matrices des poids
synaptiques. Sur prsentation dun intrant correct, le rseau donnera immdiatement la
rponse correspondante. Sur prsentation dun intrant incorrect, celui-ci sera pass dans
le rseau dans un sens puis dans lautre jusqu ce quon atteigne un tat stable. Sont
considrs comme stables les tats encods dans la matrice des poids ainsi que leurs
complments (les tats enregistrs tant des vecteurs de Hamming, cest--dire binaires
{ } 1,1
, le complment dun vecteur consiste au mme vecteur avec les 1 remplacs par
des 1 et vice versa). Cette correction identifie le vecteur incorrect au vecteur correct
le plus prs selon la distance de Hamming.
Figure 6 : Rseau BAM de 3 vers 4 neurones. Il peut tre utilis dans les deux sens.
Le calcul des rsultats dun passage dans un BAM est simple calculer. Les neurones
tant des neurones de McCullogh-Pitts, pour obtenir le vecteur dextrants, il suffit de
multiplier la matrice des poids synaptiques transpose par le vecteur dintrants, construite
pour retrouver les mmoires enregistres. On construit cette matrice en additionnant la
multiplication dun vecteur dentre avec la transpose du vecteur de sortie. Par
exemple, si on veut encodes les associations suivantes dans un rseau,
1 1 2 2 3 3
1 1 1
1 1 1
1 1 1
1 , 1 , 1
1 1 1
1 1 1
1 1 1
X Y X Y X Y
1 1 1
1 1 1
1 1 1

1 1 1
1 1 1

1 1 1
1 1 1
1 1 1
1 1 1
] ] ]

] ] ]
on doit faire,
1 1 2 2 3 3
t t t
W X Y X Y X Y + + . Et ici,
1 1 3 1
1 1 1 1
1 3 1 1
W
1
1

1
1
]
.
Pour un intrant X quelconque, sa sortie sera
t
Y signe W X 1
]
. Pour passer dans lautre
sens, on multiple la matrice des poids par un vecteur Y.
Dans le cas spcial o on veut seulement corriger un vecteur mal entr, cest dire un
BAM o les vecteurs associs sont identiques, la matrice des poids sera carre et
symtrique. Dans ce cas prcis, il est inutile de faire un rseau deux couches, puisque
le passage dun ct lautre et vice versa produisent finalement le mme rsultat. On
construit donc un rseau dune seule couche o la sortie des neurones est redonne aux
neurones en intrant, tant que la sortie ne devient pas constante.
RSEAU DE HOPFIELD
Un des dfauts du modle prcdent est que la constance des rsultats nest pas garantie.
Cest dans ce contexte que John Hopfield, en 1982, proposa un rseau (appell ensuite
rseau de Hopfield) qui permettait, selon un calcul de niveaux dnergie, de garantir la
convergence vers un tat stable. Ce rseau tait un rseau qui ne permet que de corriger
les erreurs (comme le cas spcial de BAM vu prcdemment), avec deux diffrences
importantes. Premirement, le rseau de Hopfield nutilise pas exactement la mme
fonction dactivation
6
. Aussi, les neurones reoivent comme intrant la somme des
extrants pess des autres neurones. Aucun neurone de reoit sa propre sortie comme
intrant dans ce systme. Bien quil semble une amlioration claire par rapport au BAM
duquel il est tir, le rseau de Hopfield nidentifie pas ncessairement un vecteur dintrant
incorrect au plus prs selon la distance de Hamming.
Figure 7 : Rseau de Hopfield de 4 neurones.
6
Cependant, la fonction dactivation est lgrement diffrente des la fonction de signe habituelle.
1, 0
1, 0
, 0
si X
Y si X
Y si X
+ >

<
'

. Le rsultat du neurone restera inchang si X = 0


x
1
y
1
x
2
y
2
x
3
y
3
x
4
y
4
BIBLIOGRAPHIE
1. Livres
LUGER, George F., Atrificial Intelligence : Structures & Strategies for complex
problem solving, 4
me
dition, Addison-Wesley, 2002, 856p.
NEGNEVITSKY, Michael, Artificial Intelligence : A guide to Intelligent Systems.
Addison-Wesley, 2002, 394p.
THIRIA, Sylvie, Yves Lechevallier, Olivier Gascuel et Stphane Canu,
Statistique et mthodes neuronales, Dunod, 1997, 311p.
2. Sites Internet
PMSI. Rseaux de neurones, Fonctionnement avanc
http://www.pmsi.fr/neurini2.htm
PMSI Initiation aux Rseaux de Neurones http://www.pmsi.fr/neurinit.htm
PNNL (Pacific Northwest National Laboratory) Neural Networks at PNNL
http://www.emsl.pnl.gov:2080/proj/neuron/neural/
TVERTER, Donald R. Backpropagators Review,
http://www.dontveter.com/bpr/bpr.html
PAPLINSKY, Andrew P. et Qiu BIN. CSE5301 Neural Networks (Neuro-Fuzzy
Computing). http://www.csse.monash.edu.au/~app/CSC437nn/
ANDINA DE LA FUENTE, Diego. Artificial Neural Networks
http://www.gc.ssr.upm.es/inves/neural/ann1/anntutorial.html
LIN, Tim. Neural Networks. http://home.ipoline.com/~timlin/neural/
PRECHELT, Lutz. FAQ on Neural Networks.
http://www.ipd.uka.de/~prechelt/FAQ/nn1.html
FRASER, Neil, Neils Neural Nets. http://vv.carleton.ca/~neil/neural/
SMITH, Leslie An Introduction to Neural Networks.
http://www.cs.stir.ac.uk/~lss/NNIntro/InvSlides.html