26
Chapitre 4 les Réseaux de neurones 40 Chapitre 3 Les réseaux de neurones 4.1. Introduction aux réseaux de neurones [7] Les réseaux de neurones ont d'abord été développés pour résoudre des problèmes de contrôle, de reconnaissance de formes ou de mots, de décision, de mémorisation comme une alternative à l'intelligence artificielle, et en relation plus ou moins étroite avec la modélisation de processus cognitifs (capable de connaître ou faire connaître) réels et des réseaux de neurones biologiques. 4.2. Le neurone biologique [ROS 97] Le neurone biologique est une cellule vivante spécialisée dans le traitement des signaux électriques. Les neurones sont reliés entre eux par des liaisons appelées axones. Ces axones vont eux- mêmes jouer un rôle important dans le comportement logique de l'ensemble. Ces axones conduisent les signaux électriques de la sortie d'un neurone vers l'entrée (synapse) d'un autre neurone. Les neurones font une sommation des signaux reçus en entrée et en fonction du résultat obtenu vont fournir un courant en sortie. (figure 1) La structure d’un neurone se compose de trois parties : La somma : ou cellule d’activité nerveuse, au centre du neurone. L’axone : attaché au somma qui est électriquement actif, ce dernier conduit l’impulsion conduite par le neurone. Dendrites : électriquement passives, elles reçoivent les impulsions d’autres neurones. Figure.1. Le neurone biologique

Chapitre 3 RN

Embed Size (px)

Citation preview

Page 1: Chapitre 3 RN

Chapitre 4 les Réseaux de neurones

40

Chapitre 3Les réseaux de neurones

4.1. Introduction aux réseaux de neurones [7]

Les réseaux de neurones ont d'abord été développés pour résoudre des problèmes de contrôle,de reconnaissance de formes ou de mots, de décision, de mémorisation comme une alternativeà l'intelligence artificielle, et en relation plus ou moins étroite avec la modélisation deprocessus cognitifs (capable de connaître ou faire connaître) réels et des réseaux de neuronesbiologiques.

4.2. Le neurone biologique [ROS 97]

Le neurone biologique est une cellule vivante spécialisée dans le traitement des signauxélectriques.Les neurones sont reliés entre eux par des liaisons appelées axones. Ces axones vont eux-mêmes jouer un rôle important dans le comportement logique de l'ensemble. Ces axonesconduisent les signaux électriques de la sortie d'un neurone vers l'entrée (synapse) d'un autreneurone.Les neurones font une sommation des signaux reçus en entrée et en fonction du résultatobtenu vont fournir un courant en sortie. (figure 1)La structure d’un neurone se compose de trois parties :

• La somma : ou cellule d’activité nerveuse, au centre du neurone.• L’axone : attaché au somma qui est électriquement actif, ce dernier conduit

l’impulsion conduite par le neurone.• Dendrites : électriquement passives, elles reçoivent les impulsions d’autres

neurones.

Figure.1. Le neurone biologique

Page 2: Chapitre 3 RN

Chapitre 4 les Réseaux de neurones

41

4.3. Le neurone formel (artificiel) [7]

Le neurone artificiel (ou cellule) est un processeur élémentaire. Il reçoit un nombre variabled'entrées en provenance de neurones appartenant à un niveau situé en amont (on parlera deneurones "amonts"). A chacune des entrées est associé un poids w représentatif de la force dela connexion. Chaque processeur élémentaire est doté d'une sortie unique, qui se ramifieensuite pour alimenter un nombre variable de neurones appartenant à un niveau situé en aval(on parlera de neurones "avals"). A chaque connexion est associée un poids. (figure 2 )

Figure.2. Le neurone formel

4.4. Modélisation d’un neurone formel [7]

Les réseaux de neurones formels sont à l'origine d’une tentative de modélisationmathématique du cerveau humain. Les premiers travaux datent de 1943 et sont l’ uvre deMM. Mac Culloch et Pitts. Ils présentent un modèle assez simple pour les neurones etexplorent les possibilités de ce modèle.La modélisation consiste à mettre en uvre un système de réseau neuronaux sous un aspectnon pas biologique mais artificiel, cela suppose que d’après le principe biologique on aura unecorrespondance pour chaque élément composant le neurone biologique, donc unemodélisation pour chacun d’entre eux.On pourra résumer cette modélisation par le tableau 1, qui nous permettra de voir clairementla transition entre le neurone biologique et le neurone formel [YAS 99].

Neurone biologique Neurone artificiel

Synapses Poids de connexions

Axones Signal de sortie

Dendrite Signal d’entrée

Somma Fonction d’activation

Page 3: Chapitre 3 RN

Chapitre 4 les Réseaux de neurones

42

Tableau.1. Analogie entre le neurone biologique et le neurone formel1-Les entréesElles peuvent être :

• Booléennes.• Binaires (0, 1) ou bipolaires (-1, 1).• Réelles.

2-Fonction d’activation [YOU 99]Cette fonction permet de définir l’état interne du neurone en fonction de son entrée totale,citons à titre d’exemple quelques fonctions souvent utilisées :

2-a-Fonction binaire a seuil

exemple :

Fonction Heaviside définie par

1 si x ≥ 0 (figure.3) h(x)= 0 sinon

Fonction Signe définie par

+1 si x ≥ 0 (figure.4) Sgr(x)= - 1 sinon

h(x) sgn(x)

1 1

0 x x

-1

Figure.3. Fonctions Heaviside Figure.4. Fonctions signe

Le seuil introduit une non-linéarité dans le comportement du neurone, cependant il limite lagamme des réponses possibles à deux valeurs.

2.b-Fonction linéaire

C’est l’une des fonctions d’activations les plus simples, sa fonction est définie par : F(x)=x(figure.5)

Page 4: Chapitre 3 RN

Chapitre 4 les Réseaux de neurones

43

F(x) F(x)=x

x

Figure.5. Fonction linéaire

2.c-Fonction linéaire à seuil ou multi-seuils

On peut la définir comme suit :

x x ∈ [ u, v ] F(x) = v si x ≥ v u si x ≤ u

Cette fonction représente un compromis entre la fonction linéaire et la fonction seuil : entreses deux barres de saturation, elle confère au neurone une gamme de réponses possibles. Enmodulant la pente de la linéarité, on affecte la plage de réponse du neurone. ( figure.6)

F(x)

x

Figure.6. Fonction linéaire a seuil

2.d-Fonction sigmoïde

Elle est l’équivalent continu de la fonction linéaire. Etant continu, elle est dérivable, d’autantplus que sa dérivée est simple à calculer, (figure 7) elle est définie par :

e11(x)f x-+

=

Page 5: Chapitre 3 RN

Chapitre 4 les Réseaux de neurones

44

F(x)

1

1/2 - x

Figure.7. Fonction sigmoïde3. Fonction de sortie

Elle calcule la sortie d’un neurone en fonction de son état d’activation. En général, cettefonction est considérée comme la fonction identité.Elle peut être :

• Binaire (0, 1) ou bipolaire (-1, 1 )• Réelle.

4.5. Architecture des réseaux [7]

Les connexions entre les neurones qui composent le réseau décrivent la topologie du modèle.Elle peut être quelconque, mais le plus souvent il est possible de distinguer une certainerégularité (réseau à connexion complète) [ROS 97].

4.5.1. Réseau monocouche

La structure d’un réseau monocouche est telle que des neurones organisés en entrée soiententièrement connectés à d’autres neurones organisés en sortie par une couche modifiable depoids [YOU 99]. (figure 8)

Entrée W Sortie

Figure.8. Réseau Monocouche

Page 6: Chapitre 3 RN

Chapitre 4 les Réseaux de neurones

45

4.5.2. Réseau multicouche [ROS 97]

Les neurones sont arrangés par couche. Il n'y a pas de connexion entre neurones d'une mêmecouche, et les connexions ne se font qu'avec les neurones de couches avales. Habituellement,chaque neurone d'une couche est connecté à tous les neurones de la couche suivante et celle-ciseulement. Ceci nous permet d'introduire la notion de sens de parcours de l'information (del'activation) au sein d'un réseau et donc définir les concepts de neurone d'entrée, neurone desortie. Par extension, on appelle couche d'entrée l'ensemble des neurones d'entrée, couche desortie l'ensemble des neurones de sortie. Les couches intermédiaires n'ayant aucun contactavec l'extérieur sont appelées couches cachées. (figure.9)

Entrée couche cachée Sortie

Figure.9. Réseau Multicouche

4.5.3. Réseau à connexion complète

C'est la structure d'interconnexion la plus générale. Chaque neurone est connecté à tous lesneurones du réseau (et à lui-même). (figure.10)

Figure.10. Réseau à connexion complète

Page 7: Chapitre 3 RN

Chapitre 4 les Réseaux de neurones

46

4.5.4. Réseau à connexions locales

Il s'agit d'une structure multicouche, mais qui à l'image de la rétine conserve une certainetopologie. Chaque neurone entretient des relations avec un nombre réduit et localisé deneurones de la couche avale. Les connexions sont donc moins nombreuses que dans le casd'un réseau multicouche classique. (figure.11)

Entrée Couche cachée Sortie

Figure.11. Réseau à connexions locales

4.6. Modèles des réseaux de neurones [7]

4.6.1. Modèle de Hopfield [AUR 96]

Le modèle de Hopfield fut présenté en 1982. Ce modèle très simple est basé sur le principedes mémoires associatives.C’est d’ailleurs la raison pour laquelle ce type de réseau est dit associatif (par analogie avec lepointeur qui permet de récupérer le contenu d’une case mémoire).Le modèle de Hopfield utilise l’architecture des réseaux entièrement connectés et récurrents(dont les connexions sont non orientées et ou chaque neurone n’agit pas sur lui-même). Lessorties sont en fonction des entrées et du dernier état pris par le réseau.

4.6.2. Modèle Kohonen [LEM 94]

Ce modèle a été présenté par Kohonen en 1982 en se basant sur des constatations biologiques.Il a pour objectif de présenter des données complexes et appartenant généralement à unespace discret de grandes dimensions dont la topologie est limitée à une ou deux dimensions.Les cartes de Kohonen sont réalisées à partir d’un réseau à deux couches, une en entrée et uneen sortie.

Notons que les neurones de la couche d’entrée sont entièrement connectés à la couche desortie. (figure.12)

Page 8: Chapitre 3 RN

Chapitre 4 les Réseaux de neurones

47

Figure.12. Le modèle de Kohonen

Les neurones de la couche de sortie sont placés dans un espace d’une ou de deux dimensionsen général, chaque neurone possède donc des voisins dans cet espace. Et qu’enfin, chaqueneurone de la couche de sortie possède des connexions latérales récurrentes dans sa couche(le neurone inhibe les neurones éloignés et laisse agir les neurones voisins).

4.6.3. Le modèle perceptron

Le mécanisme perceptron fut inventé par le psychologue FRANK Rosenblat à la fin desannées 50 [FRE 92]. Il représentait sa tentative d’illustrer certaines propriétés fondamentalesdes systèmes intelligents en général.Le réseau dans ce modèle est formé de trois couches : Une couche d’entrée (la rétine),fournissant des donnés à une couche intermédiaire, chargée des calculs, cela en fournissant lasomme des impulsions qui lui viennent des cellules auxquelles elle est connectée, et ellerépond généralement suivant une loi définie avec un seuil, elle-même connectée à la couchede sortie (couche de décision), représentant les exemples à mémoriser. Seule cette dernièrecouche renvoie des signaux à la couche intermédiaire, jusqu’à ce que leurs connexions sestabilisent [YOU 99] (figure.13).

Entrée couche intermédiaire sortie

Figure.13. Le modèle du percéptron

S1

S2

Sn

Page 9: Chapitre 3 RN

Chapitre 4 les Réseaux de neurones

48

4.6.4. Le modèle Adaline

L ’adaline (Adaptatif Linear Neurone) de Widrow et Hoff est un réseau à trois couches : uned’entrée, une couche cachée et une couche de sortie. Ce modèle est similaire au modèle depercéptron, seule la fonction de transfert change, mais reste toujours linéaire :F (x)= x (voirFigure.5) [YOU 99].Les modèles des neurones utilisés dans le percéptron et l’adaline sont des modèles linéaires.Séparation linéaire : on dit que deux classes A et B, sont linéairement séparables si on arriveà les séparer par une droite coupant le plan en deux (figure.14)

: Classe A

: Classe B

Figure.14. La séparation linéaire entre la classe A et B

Le problème est résolu avec les réseaux multicouches, car il peut résoudre toute sorte deproblèmes qu’ils soient linéairement séparables ou non [DEB 97].

4.7. Apprentissage [7]

L'apprentissage est vraisemblablement la propriété la plus intéressante des réseaux neuronaux.Elle ne concerne cependant pas tous les modèles, mais les plus utilisés. L'apprentissage estune phase du développement d'un réseau de neurones durant laquelle le comportement duréseau est modifié jusqu'à l'obtention du comportement désiré. L'apprentissage neuronal faitappel à des exemples de comportement.Durant cette phase de fonctionnement, le réseau adapte sa structure (le plus souvent, les poidsdes connexions) afin de fournir sur ses neurones de sortie les valeurs désirées. Cetapprentissage nécessite des exemples désignés aussi sous l'appellation d'échantillond'apprentissage ainsi qu'un algorithme d'apprentissage.Après initialisation des poids du réseau (en général des valeurs aléatoires), il y a présentationdes exemples au réseau et calcul des sorties correspondantes. Une valeur d'erreur ou decorrection est calculée et une correction des poids est appliquée.

Au niveau des algorithmes d'apprentissage, il a été défini deux grandes classes selon quel'apprentissage est dit supervisé ou non supervisé. Cette distinction repose sur la forme desexemples d'apprentissages. Dans le cas de l'apprentissage supervisé, les exemples sont descouples (Entrée, Sortie associée) alors que l'on ne dispose que des valeurs (Entrée) pourl'apprentissage non supervisé. Remarquons cependant que les modèles à apprentissage non

Ligne deséparation

Page 10: Chapitre 3 RN

Chapitre 4 les Réseaux de neurones

49

supervisé nécessitent avant la phase d'utilisation une étape de labélisation effectuée parl'opérateur, qui n'est pas autre chose qu'une part de supervision.

4.7.1. Apprentissage supervisé

L'apprentissage est dit supervisé lorsque les exemples sont constitués de couples de valeurs dutype : (valeur d'entrée, valeur de sortie désirée). Tout le problème de l'apprentissage superviséconsiste, étant donné un ensemble d'apprentissage E de N couples (entrée - sortie désirée)(xi,yi) i =1,2,. ,n, à déterminer le vecteur des poids w d'un réseau Fw capable de mettre cesinformations en correspondance, c'est à dire un réseau tel que : Fw (xi) =yi avec i =1,2,......... ,n.

4.7.2. Apprentissage non supervisé

L'apprentissage est qualifié de non supervisé lorsque seules les valeurs d'entrée sontdisponibles. Dans ce cas, les exemples présentés à l'entrée provoquent une auto-adaptation duréseau afin de produire des valeurs de sortie qui soient proches en réponse à des valeursd'entrée similaires (de même nature).

4.8. Le perceptron multicouche [7]

Le percéptron multicouches est un réseau comportant L couches, chaque neurone d'unecouche étant totalement connecté aux neurones de la couche suivante.Chaque neurone k est un automate linéaire généralisé dont la fonction de transfert fk estsupposée sigmoïdale. [ROB 92]L'algorithme d'apprentissage par rétro-propagation du gradient de l'erreur est un algorithmeitératif qui a pour objectif de trouver le poids des connexions minimisant l'erreur quadratiquemoyenne commise par le réseau sur l'ensemble d'apprentissage. Cette minimisation par uneméthode du gradient conduit à l'algorithme d'apprentissage de rétro-propagation (Lippmann,1987).Cet algorithme, qui présente l'avantage d'exister, reste discutable dans la mesure où saconvergence n'est pas prouvée. Son utilisation peut conduire à des blocages dans un minimumlocal de la surface d'erreur. Son efficacité dépend, en effet, d'un grand nombre de paramètresque doit fixer l'utilisateur : le pas du gradient, les paramètres des fonctions sigmoïdes desautomates, l'architecture du réseau ; nombre de couches, nombre de neurones par couche...,l'initialisation des poids...

4.8.1. Des approximateurs universels:

Vingt ans après la publication de l’ouvrage où Minsky et Papert (1969) exposaient leslimitations de Perceptron simple, Cybenko et al. (1989) et Hornik et al. (1989) établissent lesréseaux de neurones comme une classe d’approximateurs universels. Il a été ainsi démontréqu’un perceptron multicouches avec une seule couche cachée pourvue d’un nombre suffisantde neurones, peut approximer n’importe quelle fonction avec la précision souhaitée.Néanmoins, cette propriété ne permet pas de choisir, pour un type de fonction donné, lenombre de neurones optimal dans la couche cachée. Autrement dit ce résultat ne mène pasvers une technique de construction d’architecture.

Page 11: Chapitre 3 RN

Chapitre 4 Les réseaux de neurones

50

4.8.2 .Architecture et fonctionnement du réseau multicouche

La topologie d’un tel réseau est formée de plusieurs couches de neurones sans communicationà l’intérieur d’une même couche (figure.15).

§une couche en entrée qui représente les entrées auxquelles sont transmises lesdonnées à traiter en provenance d’une source extérieure au réseau ;

§une ou plusieurs couches cachées effectuant le traitement spécifique du réseau ;

§une en sortie qui délivre les résultats.

L’apprentissage est supervisé, c’est-à-dire que l’on présente au réseau, en même temps, uneforme et son modèle. La fonction de transfert utilisée est une fonction sigmoïde, dont ladérivabilité joue un rôle important.L’apprentissage dans ce type de structure consiste à appliquer des couples (entrées, sortiesdésirées) à l’entrée du réseau.Une sortie réelle est calculée pour chaque neurone de la jème couche. Ce calcul est effectué deproche en proche la couche d’entrée vers la couche de sortie, celle ci est appelée« propagation d’avant ». Ensuite l’erreur est calculée puis propagée dans le réseau, donnantlieu à une modification des poids.On considère un réseau comportant une couche d’entrée à n neurones, une couche de sortie àm neurones et il comporte une à plusieurs couches cachées.Supposons qu’on dispose d’un ensemble d’apprentissage composé de k paires de vecteurs :

(x1 ,o1 ) , (x2 ,o2 ) , . . . . . . . , (x k ,o k )

avec :

x p = (x p,0 ,1 , x p,0,2 , . . . . . . , x p,0 ,n) t ∈R n. Vecteur d’entrée.

Figure.15. Structure d’un réseau de neurone multicouche

wLn0

Σxpo1

xpo2

w110

Σ

f ( )

f ( )

yp11 xp11

xp12yp12

w1n2

w111

w121

+1

+1

xpon Σ f ( )xp1nyp1n

w120+1

Σxp,L-1,1

xp,L-1,2

wL10

f ( )

f ( )

ypL1 xpL1

xpL2ypL2

+1

+1

Σ

xp,L-1,n

Σ f ( )xpLnypLm

+1

wL20

wL1

wL2wLn

wLn

wL1

wL2

wLn

wL2

wL1

Couche de sortie

w1n1

w1nn

w12n

w11n

w122

w112

1 ère Couche

Page 12: Chapitre 3 RN

Chapitre 4 Les réseaux de neurones

51

O p = (O p,1 , O p,2 , . . . . . . , O p,m ) t ∈R m. Vecteur des sorties désiré.

y p = (y p,l,,1 , y p,l,,2 , . . . . . . , y p, l,,m) t ∈R m . Vecteur des sorties réel du réseau.

où w j,k,i : la connexion entre le neurone k de la couche j-1 et le neurone i de la couche j. y p,j,k : l’entrée totale du neurone k pour l’échantillon p de la couche j. w j,k,0 = θ j,k : le poids fictif du neurone k de la couche j correspondant à un biais dontl’entrée est fixée à 1.L’entrée totale du k n ud pour la couche j est :

La sortie de ce n ud sera :

x p,j,k = F (y p,j,k )

où F est une fonction de transfert sigmoïde.

4.9. Mise en oeuvre des réseaux neuronaux [YAS 99]Nous allons suivre une démarche reprise par Wierenga et Kluytmans (1994) qui est composéede quatre étapes principales :

Etape 1 : fixer le nombre de couches cachéesMis à part les couches d'entrée et de sortie, l'analyste doit décider du nombre de couchesintermédiaires ou cachées. Sans couche cachée, le réseau n'offre que de faibles possibilitésd'adaptation ; avec une couche cachée, il est capable, avec un nombre suffisant de neurones,d'approximer toute fonction continue (Hornik, 1991). Une seconde couche cachée prend encompte les discontinuités éventuelles.Etape 2 : déterminer le nombre de neurones par couches cachéesChaque neurone supplémentaire permet de prendre en compte des profils spécifiques desneurones d'entrée. Un nombre plus important permet donc de mieux coller aux donnéesprésentées mais diminue la capacité de généralisation du réseau. Ici non plus il n'existe pas derègle générale mais des règles empiriques. La taille de la couche cachée doit être :

• Soit égale à celle de la couche d’entrée.• Soit égale à 75% de celle-ci.• Soit égale à la racine carrée du produit des nombres dans la couche d’entrée et de sortie.

Notons que le dernier choix réduit le nombre de degrés de liberté laissés au réseau, et donc lacapacité d’adaptation sur l’échantillon d’apprentissage, au profit d’une plus grande stabilité.Une voie de recherche ultérieure consisterait soit à procéder à l'estimation d'un réseaucomportant de nombreux neurones puis à le simplifier par l'analyse des multicolinéarités oupar une règle d'apprentissage éliminant les neurones inutiles ; soit à définir une architecture

∑=

−=n

0ii,1j,pi,k,jk,j,p xwy

k,j

n

1ii,1j,pi,k,j xw θ+= ∑

=−

(4.1)

(4.2)

Page 13: Chapitre 3 RN

Chapitre 4 Les réseaux de neurones

52

tenant compte de la structure des variables identifiée au préalable par une analyse encomposantes principales.Etape 3 : choisir la fonction d'activationNous considérerons la fonction logistique pour le passage de la couche d'entrée à la couchecachée. Le passage de cette dernière à la couche de sortie sera soit linéaire, soit sigmoïde(logistique) selon nos types de variables.Etape 4 : choisir l'apprentissageL’apprentissage par rétro-propagation nécessite la détermination du paramètre d’ajustementdes poids synaptiques à chaque itération.La détermination du critère d'arrêt est aussi cruciale dans la mesure où la convergence peutpasser par des minima locaux.

4.10. Algorithmes d’apprentissage [7]

4.10.1. Retropropagation du gradient

L’algorithme de rétro-propagation a été développé en particulier par Rumelhart et Parkenet leCun en 1985 [YOU 99]. Cet algorithme repose sur la minimisation de l’erreur quadratiqueentre les sorties calculées et celles souhaitées.Le terme rétro-propagation du gradient provient du fait que l’erreur calculée en sortie esttransmise en sens inverse vers l’entrée.L’erreur commise sur le kéme n ud de sortie est :δ p k = O p k x p l k (4.3)Par conséquent l’erreur totale (pour tous les n uds) est :

Pour minimiser E p, on calcule son gradient par rapport à chaque poids w, puis on modifie lespoids dans le sens inverse du gradient.

Mise à jour des poids de la couche de sortie

∑∑==

−==m

1k

2k,l,pk,p

m

1k

2k,pp )xO(

21

21E δ (4.4)

j,k,

2k,,pk,p

j,k,

pp

l

l

l w

)xO(

21

wE

E∂

−∂=

∂=∇ (4.5)

[ ])y(w

)xO( k,l,pj,k,l

k,l,pk,p f∂

∂−−=

)y(w)y()y(f

)xO(Ek,l,pj,k,l

k,l,pk,l,pk,l,pk,pp ∂∂

∂∂−−=∇ (4.6)

j,1l,p

m

0jj,1l,pj,k,l

j,k,lj,k,l

k,l,p x)xw(ww

y−

=− =−

∂∂

=∂

∂∑ (4.7)

)y(fy

)y(fk,l,p

k,l,p

k,l,p ′=∂

(4.8)

Page 14: Chapitre 3 RN

Chapitre 4 Les réseaux de neurones

53

∇E p = - ( O p,k – x p,l,k ) f ′( y p,l,,k) x p,l-1, j

= δ p,k x p,l,k ( 1 x p,l,k ) x p,l-1,j (4.9)

La modification des poids est fonction du calcul du gradient. Ainsi, les poids sur la couche desortie sont mis à jour de la façon suivante :w l,k,j ( t+1) = w l,k,j (t) + ∆ p w l,k,j (t) (4.10)∆ p w l,k,j (t) = µ ( O p,k x p,l,k )f ′( y p,l,k) x p,l-1,j (4.11)ou :

µ : pas d’apprentissage 0<µ<1

Remarque :Le taux d’apprentissage, un des paramètres de cet algorithme, ne doit pas etre trop grandsinon il entraînerait des oscillations de l’erreur autour d’un minimum qu’on ne pourra pasatteindre et si µ est trop petit le temps d’apprentissage serait trop grand.On pose :

e p,l,k= ( O p,k x p,l,k )f ′( y p,l,k) (4.12)où :

e p,l,k :erreur de signal du kéme n ud de la couche de sortie .

L’équation des modifications des poids aura donc la forme suivante :w l,k,j ( t+1) = w l,k,j (t) +µ e p,l,k x p,l-1,k (4.13)

Mise à jour des poids des couches cachées

Le procédé peut être appliqué aux couches cachées .Cependant un obstacle survient lors ducalcul de l’erreur des sorties des n uds cachées. Cette limitation provient du fait que lessorties désirées ne sont pas connues.Pour s’affranchir de cet obstacle, nous devons développer un terme d’erreur à la sortie des

uds cachés.Nous n’avons aucune idée a l’avance de ce que peut etre la sortie correcte ou désirée pour ces

uds.Pour cela, nous développons le terme de l’erreur a la sortie du réseau :

∑=

−=m

kklpkpp xOE

1

2,,, )(

21

[ ]∑=

−=m

1k

2k,l,pk,p )y(fO

21

(4.14)

∑ ∑= =

−=

m

1k

2n

0jj,1l,pj,k,lk,p )xw(fO

21

Page 15: Chapitre 3 RN

Chapitre 4 Les réseaux de neurones

54

Nous pouvons exploiter le fait que xp,l-1,j dépend des poids de la couche cachée à traversl’équation suivante :

y p,l-1,j

pour évaluer le gradient de E p par rapport aux poids des couches cachées .

Chacun des facteurs de l’équation (4.16) peut être calculé explicitement :

Le résultat est le suivant :

)xw(fxn

0ii,2l,pi,j,1lj,1l,p ∑

=−−− = (4.15)

∑= −− ∂

−∂=

∂ m

1k i,j,1l

2k,l,pk,p

i,j,1l

p

w)xO(

21

wE

∑= −

− ∂

∂−−=

m

1k i,j,1l

j,1l,p

j,1l,p

k,l,p

k,l,p

k,l,pk,l,pkp, w

yyy

yx

)x(O

∑= −

− ∂

∂−−=

m

1k i,j,1l

j,1l,p

j,1l,p

j,1l,p

j,1l,p

k,l,p

k,l,p

k,l,pk,l,pkp, w

yyx

xy

yx

)x(O

(4.16)

)y(fy

)y(fyx

k,l,pk,l,p

k,l,p

k,l,p

k,l,p ′=∂

∂=

j,k,lj,1l,p

n

0jj,1l,pj,k,l

j,1l,p

k,l,p wx

)xw(

xy

=∂

=∂

=−

)y(fy

)y(fyx

j,1l,pj,1l,p

j,1l,p

j,1l,p

j,1l,p−

− ′=∂

∂=

i,2l,pi,j,1l

j,1l,p xwy

−−

− =∂

∑=

−−−

′′−−=∂

∂ m

1ki,2l,pj,1l,pj,k,lk,l,pk,l,pk,p

i,j,1l

p x)y(fw)y(f)xO(w

E(4.17)

Page 16: Chapitre 3 RN

Chapitre 4 Les réseaux de neurones

55

La mise à jour des poids de la couche cachée se fait dans le sens inverse du gradient enutilisant l’équation précédente :

Nous pouvons utiliser la définition de ep,l,k de (4.12) pour écrire :

(4.18)

avec µ : taux d’apprentissage . (4.19)

Notons que la mise à jour de chaque poids de la couche cachée dépend de toutes les erreurs designal e p L k sur la couche de sortie. En définissant le terme de l’erreur des couches cachées :

Alors l’équation de mise à jour des poids de la couche cachée devient :wl-1,j,i (t+1)=wl-1,j,i (t) + µ ep,l-1,j xp,l-2,i ( 4.21 )

4.10.1.1. Résumé de l’algorithme de rétro-propagation

1. Appliquer un vecteur d’entrée x p = ( x p,0,1 ,x p,0,2 , .. , x p,0,n )t aux n udsd’entrées puis initialiser les poids du réseau ;

2. Exécuter l’échantillon d’apprentissage à travers le réseau ;3. Calculer les termes d’erreur de signal de la couche de sortie et les couches cachées en

utilisant ( 4.12 ) et ( 4.20 ) respectivement ;4. Mise à jour les poids de la couche de sortie et couches cachées en utilisant ( 4.13 )

et ( 4.21 ) respectivement ;5. Répéter ce processus jusqu’à ce que l’erreur EP devienne acceptable ( aller à 2 ) .

4.10.1.2. Considérations pratiques

• Les poids du réseau doivent être initialisés à de petites valeurs aléatoires.• la valeur du taux d’apprentissage µ a un effet significatif sur les performances duréseau, si ce taux est petit l’algorithme converge lentement, par contre s’il est grandl’algorithme risque de générer des oscillations.• Généralement, µ doit être compris entre 0 et 1 pour assurer la convergence del’algorithme vers une solution optimale.• Il n’existe pas de règles permettant de déterminer le nombre de couches cachées dansun réseau donné ni le nombre de neurones dans chacune d’elles.• Théoriquement, l’algorithme ne doit se terminer dès que le minimum de l’erreurcommise par le réseau sera atteint, correspondant à un gradient nul, ce qui n’est jamaisrencontré en pratique. C’est pourquoi un seuil est fixé à priori afin d’arrêterl’apprentissage.

4.10.1.3. Accélération de l’algorithme avec le momentum

La convergence du réseau par rétro-propagation est un problème crucial car il requiert denombreuses itérations. Pour pallier à ce problème, un paramètre est souvent rajouté pouraccélérer la convergence. Ce paramètre est appelé « le momentum ».

∑=

−− ′−′=m

1kj,k,lk,l,pk,l,pk,pi,2l,pj,1l,pj,k,lp w)y(f)xO(x)y(fw µ∆

∑=

−−′=m

1kj,k,lk,l,pi,2l,pj,1l,pj,k,lp wex)y(fw µ∆

∑=

−− ′=m

1kj,k,lk,l,pj,1l,pj,1l,p we)y(fe ( 4.20 )

Page 17: Chapitre 3 RN

Chapitre 4 Les réseaux de neurones

56

Le momentum est un moyen efficace pour accélérer l’apprentissage et aussi pour pouvoirsortir des minimums locaux. La règle de mise à jour des poids devient alors :

w j,k,i (t+1)=w j,k,i (t) + µ e p,j,k xp,j-1,i + Ω [ w j,k,i (t) - w j,k,i (t-1) ]Ω : est la constante du momentum .

4.10.1.4. L’algorithme RPROP

l’algorithme Backprop traditionnel modifie les poids à partir deijw

E∂∂ mais la grandeur de

cette différentielle ne représente pas vraiment la grandeur de la modification nécessaire duchangement de poids, la solution de ce probléme est de ne pas se baser sur la valeur de cettedifférentielle, ne tenir compte que de ses changements de signe d’où l’idée de l’algoritmeRPROP .La règle de mise à jour des poids devient alors :

Avecij∆ (update-value) est la valeur de modification du poids, qui évolue en fonction des

changements de signe des différentielles de ce même poids.Les update-values et les poids ne sont changés qu’après chaque époque (batch learning).Pendant une époque, on additionne les différentielles obtenues après chaque présentation d’unélément de l’ensemble d ’apprentissage.

4.11. Méthodes d’optimisation du second ordre [8]

Les méthodes d’optimisation du second ordre sont des méthodes itératives de descente dugradient qui consistent à remplacer la fonction de coût par son approximation quadratique auvoisinage de point courant (quadratique osculatrice ou fonction elliptique ) [CIA90] :

swGsswgwJsQ kTT

kkk )(21)()()( ++=

J :la fonction de coutsww kk =−+1

avec Jwg wk ∇=)( Gradient

JwG wk2)( ∇= Hessien

Le gradient doit satisfaire aux conditions de Lipchitz dans un voisinage restreint .

ijij

ij wEsignw ∆

∂∂

−=∆ )(

+−

−−−

−−+

<<<

<∂∂

∂∂

>∂∂

∂∂

∆=∆

nn

wE

wEn

wE

wEn

tij

t

ij

t

ij

tij

t

ij

t

ij

tij

tij

10avec

sinon,

0*si,

0*si,

)1(

)()1()1(

)()1()1()(

(4.22)

(4.23)

(4.24)

Page 18: Chapitre 3 RN

Chapitre 4 Les réseaux de neurones

57

Remarque : w designe la matrice de l’ensemble des poids des couches du réseau et la variablek designe la kéme itération .

4.11.1. Définition

On note le pas kkk ps α= où kα est le pas variable et kp est la direction de la descente .Ladirection de descente doit satisfaire 0<k

Tk pg et kα est un scalaire positif .

4.11.2. Algorithme de Newton

La méthode de Newton consiste à calculer 1+kw de manière à minimiser Q(s) de l’équation(4.24) .la formule itérative se déduit telle que :

)()]([ 11 kkkk wgwGww −

+ −= (4.25)le minimum existe ,si le Hessien G est défini positif .La méthode de Newton nécessite lacalcul du vecteur gradient et de l’inverse du Hessien de la fonction de coût.Dans ce cas :

kkk gGp 1−−= et 1=kα (4.26)pour une fonction non linéaire quelconque ,cette méthode ne converge pas nécessairementvers un minimum global .De plus ,si le poids de départ 0w est initié trop loin du minimum , laméthode ne converge pas [CIA90].Pour améliorer les propriétés de convergence de la méthode de Newton, de nombreusesméthodes vont porter sur la reformulation de (4.26) :

kkk sww =−+1 et kkk ps α= (4.27)

4.11.3. Optimisation du pas variable

Les méthodes d’optimisations de kα peuvent être abordées selon deux points de vue :

1. Les méthodes du gradient à pas optimal ou méthode de la continuation du gradientdéfinie par )()( kkkk wjpwJ <+ α (line-search methods).Ces méthodes reviennentà une optimisation unidimensionnelle du pas kα suivant la direction de la descente

kp .On peut citer la règle de NASH ou WOLFE-POWELL [NAS90],DENNIS-SCHNABEL [DEN83],BRENT (interpolation par modèle quadratique et cubique )[BRE83].Les sources algorithmiques sont accessibles dans [BER95] [PRE92].

2. Les méthodes à restriction de voisinage (Model-trust region methodes ou restrictedstep methods[FLE87]).Ces méthodes consistent à restreindre le voisinage kΩ de w telque : kk

k sw α≤=Ω pour chaque itération et à respecter au plus prèsl’approximation quadratique de la fonctionde coût.En pratique, la plupart de cesméthodes contrôlent la restriction de voisinage par le Hessien modifié par la variable

kµ intervenant dans le calcul de la direction de la descente (voir algorihme deNewton) .

0≥kµ

Page 19: Chapitre 3 RN

Chapitre 4 Les réseaux de neurones

58

nkkk IGH µ+= (4.28)avec nI matrice identité de rang n

L’optimisation du pas variable va assurer la convergence de la méthode itérative vers unminimum (local ou global sous certaines conditions [FLE93]).Généralement les méthodes àpas optimal sont plus coûteuses en terme de calcul par itération que les méthodes à restrictionde voisinage.

4.11.4. Méthode Quasi-Newton

Le principe des méthodes quasi-newtoniennes consiste en une généralisation de la méthode deNewton de l’équation (4.26)

kkk gHp 1−−=Le Hessien (ou le gradient) est approximé par une méthode itérative .Les premiers travauxsont dus à BROYDEN (1969) et connus sous le nom de Formule de rang [FLE87].

Formulation directe du Hessien

Plusieurs formulations ont été proposées :

kkk CHH +=+1 (4.29)

Les améliorations successives sur les propriétés de symétrie et de défini positif [FOR96][FLE87] du Hessien ont conduit à l’algorithme de :

DAVIDON-FLETCHER-POWELL (DFP) [FLE87].

+−

+=

kTk

Tkkkk

Tkk

kTk

Tkk

kTk

kkTkDFP

k syysHHsy

syyy

sysHsC 1 (4.30)

BROYDEN-FLETCHER-GOLDFARB-SHANNOA (BFGS) [FLE87].

−=

kkTk

kTkkk

kTk

TkkBFGS

K sHsHssH

syyy

C (4.31)

kkk wws −= +1

avec kkk ggy −= +1

kkk sHy 1+= (Condition quasi-newton)Le Hessien 1+kH sera défini positif si kH est défini positif et 01 >+ kk

Tk sHs .H0 valeur initiale

est généralement égale à la matrice identité In et p0 est initialisé par la méthode du gradientégale à –g0, direction opposée du gradient.Si au cours d’une itération, la matrice 1+kH n’est pas définie positive, elle est réinitialisée à lamatrice identité et la direction de la descente est égale à kg− .Si le minimum n’est pas atteint en M itérations, 1+kH est réinitialisé à la matrice identité et ladirection de la descente est égale à kg− .Une méthode « quasi-newton » est efficace dans le voisinage de la solution minimale pour desproblèmes de grandes dimensions.

Formulation inverse du Hessien

Page 20: Chapitre 3 RN

Chapitre 4 Les réseaux de neurones

59

La formulation de la matrice inverse du Hessien peut s’exprimer directement à partir deséquations précédentes, soit par une lemme d’inversion indirecte [OUS98] [RIV95],soit par lecalcul d’inversion directe des équations (4.30)(4.31).

−+= −

−−−−

+kk

Tk

kTkkk

kTk

Tkk

kDFP

k yHyHyyH

ysss

HH 1

1111

1 (4.32)

+−

++=

−−−−−

+k

Tk

Tkkkk

Tkk

kTk

Tkk

kTk

kkTk

kBFGS

k yssyHHys

ysss

ysyHy

HH111

111 1 (4.33)

Amélioration de la méthode BFGS

Une amélioration importante en terme de coût de calcul a été apportée par [BAT90] à laméthode BFGS. Le calcul du Hessien en terme de coût est passé de O(W2) à O(W).cetteméthode appelée « one-step BFGS Method » calcule par itération la direction de descente àpartir de la méthode BFGS pour IH k = matrice identité ,soit :

++

+−−= +++

++k

Tk

kTkkk

Tkk

kk

Tk

kTk

kTk

kTk

kk ysgysgsys

ysky

ysgsgp 111

11 1 (4.34)

Cette méthode est équivalente au gradient conjugué selon POLAK-RIBIERE [SHE97].

4.11.5. Méthode du gradient conjugué

La méthode du gradient conjugué [TRI88] est une méthode différente des méthodesNewtoniennes. Son coût de calcul est inférieur à O(W2), ce qui la rend attrayante pour desproblèmes de forte dimension. La direction de descente est générée à partir d’un modélequadratique par itération suivant la formule [MØL90] :

kkkk pgp β+−= +1 (4.35)qui doit satisfaire la condition du systéme conjugué suivante jiGpp j

Ti ≠= ,0 (4.36)

kkTk

kkTk

k pGppGg 1+−=β (4.37)

On décline plusieurs reformulations pour kβ qui transforment le Hessien kG à partir de ladérivée kg :Formule de FETCHER-REEVES

kTk

kTk

k gggg 11 ++=β (4.38)

Formule de POLAK-RIBIERE :

kTk

kT

kkk gg

ggg 11 )( ++ −=β (4.39)

4.11.6. Méthode des moindres carrés non-linéaire

Cette technique itérative est principalement utilisée dans le cadre d’interpolation de données[FLE87-Chap.6] et peut être classée dans les méthodes quasi-newtonniennes.Appliquée aux réseaux MLP,la fonction de coût s’écrit :

Page 21: Chapitre 3 RN

Chapitre 4 Les réseaux de neurones

60

NwrwrwJ k

Tk

k 2)()(

)( = (4.40)

où le vecteur résiduel : lilili otr ,,, −= Si ........1= Nl ......1=

SiNlrr ii ....1,...1, ===

vecteur lir , erreur instantanée entre la réponse théorique lt et la réponse calculée lo du iéme

neurone e sortie et léme stimulus.N est le nombre de stimuli .S est le nombre de sorties duréseau.Le gradient et le Hessien se déduisent à partir de la matrice Jacobienne du vecteur résiduel dedimension NSxW (nombre de poids total) ,pour la kème itération

kTkk rJag = avec

j

iji w

rJa∂∂

=, (4.41)

kTkk SJaG +=

et (4.42)

∑=

∇=NS

ikikik rrS

1,

2,

Le second terme du Hessien kS est un calcul relativement coûteux en terme d’exécution.Plusieurs auteurs ont proposé des simplifications.Il peut être, soit négligé

kTkk JaJaG ≈ (4.43)

soit approximé par la méthode de BFGSkk

Tkk AJaJaG +≈ (4.44)

aveck

Tk

kTkkk

kTk

Tkk

kk BssBssB

syyyAA −+=+1 et kk

Tkk AJaJaB += ++ 11

Cette technique est adaptée pour des problèmes de petite dimension .En effet ,la taille de lamatrice jacobienne est une limitation à cette méthode .L’évaluation de la matrice jacobienne peut s’effectuer par la méthode de rétropropagation dugradient [NOR96] [BIS95] avec un calcul différent suivant que le poids appartient à unecouche cachée ou à la couche de sortie .

4.11.7. Méthode de Gauss-Newton

A partir de l’approximation du gradient par la matrice jacobienne dans l’algorithme deNewton, la direction de descente s’écrit :

[ ] kTkk

Tkk rJaJaJap 1−

= (4.45)Une modification de cette méthode à partir du calcul du jacobien est proposée parNORGAARD [NOR96] en utilisant la formulation récursive de la méthode de Gauss-Newtondécrite par LJUNG [LJU87].

4.11.8. Méthode d’apprentissage retenue et développée

Parmi les algorithmes de la famille quasi-Newton, la méthode de LEVENBERG-MARQUARDT [MAR63] est un standard pour l’optimisation de l’erreur quadratique due àses propriétés de convergence rapide et de robustesse. Elle s’appuie sur les techniques desmoindres carrés non-linéaires et de l’algorithme de GAUSS-NEWTON à voisinage restreint.

Page 22: Chapitre 3 RN

Chapitre 4 Les réseaux de neurones

61

La principale motivation du choix de l’algorithme de LEVENBERG-MARQUARDT (LM)repose sur la taille de la matrice du Hessien en fonction de la quantité de données de la based’apprentissage, du coût moindre des calculs et de la garantie rapide de la convergence versun minimum. La méthode de LM se déduit de l’equation (4.44) telle que :

kTknkk

Tkk rJaIJaJap 1][ −+= µ (4.46)

Parmi les méthodes à restriction de voisinage, la méthode de FLETCHER [NOR96] [FLE87]a été retenue et développée.La variable kµ , intervenant dans le Hessien modifié défini positif nkkk IGH µ+= , est

contrôlée par le ratiok

kk Q

JR∆∆

= (4.47)

)()( kkkk swJwJJ +−=∆ dénommé « actual reduction » avec

)()0( kk sQQQ −=∆ dénommé « predicted reduction »

et la fonction elliptique : swHsswgwJsQ kkTT

kkk )(21)()()( ++= .ce ratio tend vers 1 si la

fonction de coût se rapproche de la courbe quadratique osculatrice .

L’apprentissage est arrêté lorsqu’un minimum est atteint ,soit en fonction d’un critère d’arrêtsur la fonction de coût , soit sur la valeur minimale de la norme du gradient .

Algorithme

Initialisation des poids 0w par une distribution uniforme selon la règle de BEALE [SHE97]et 00 >µLa solution est donnée par l’algorithme suivant la kéme itération :

1-déduire de kw et kµ , calculer kg et kH suivant les équations (4.28), (4.41) et (4.43). 2-résoudre kkk sHg =− 3-évaluer de )( kk swJ + et kR

calcul du paramétre kµ 4-si 25.0≤kR alors kk µµ 41 =+

5-si 75.0≥kR alors21

kk

µµ =+ sinon kk µµ =+1

calcul de la correction des poids kw 6-si 0≤kR alors kk ww =+1 sinon kkk sww +=+1

Les constantes pour les valeurs seuils de kR sont empiriques [FLE87].Avantage de la règle LM

La méthode LM est un condensé de deux techniques exposées précédemment. En effet, cetteméthode tend vers la méthode de Newton pour une valeur de kµ petite mais est équivalente à

Page 23: Chapitre 3 RN

Chapitre 4 Les réseaux de neurones

62

la méthode du gradient simple pour un paskµ

η1

= pour une valeur de kµ grande. Le Hessien

est toujours défini positif ce qui assure la convergence vers un minimum de la solution .

4.12. Les méthodes de régularisation [5]

Les méthodes de régularisation ne cherchent pas à limiter la complexité du réseau, mais ellescontrôlent la valeur des poids pendant l'apprentissage. Il devient possible d'utiliser desmodèles avec un nombre élevé de poids et donc un modèle complexe, même si le nombred'exemples d'apprentissage est faible.[Bartlett, 1997] a montré que la valeur des poids était plus importante que leur nombre afind'obtenir de modèles qui ne sont pas surajustés. Il montre, que si un grand réseau est utilisé etque l'algorithme d'apprentissage trouve une erreur quadratique moyenne faible avec des poidsde valeurs absolues faibles, alors les performances en généralisation dépendent de la taille despoids plutôt que de leur nombre.Plusieurs méthodes de régularisation existent dans la littérature, comme l'arrêt prématuré(early stopping) qui consiste à arrêter l'apprentissage avant la convergence ou les méthodes depénalisation. Les méthodes de pénalisation ajoutent un terme supplémentaire à la fonction decoût usuelle afin de favoriser les fonctions régulières :

Ω+= αJJ '

J est une fonction de coût comme celles présentées dans l’équation (4.40), et W est unefonction qui favorise les modèles réguliers. L'apprentissage est réalisé en minimisant lanouvelle fonction J'. Un modèle qui a bien appris la base d'apprentissage correspond à unevaleur faible de J, alors qu'une fonction régulière correspond à une fonction W faible :l'apprentissage doit trouver une solution qui satisfasse ces deux exigences. Parmi lesdifférentes formes possibles pour la fonction W, la méthode du weight decay est souventutilisée, car elle est simple à mettre en oeuvre, et plusieurs études ont montré qu'elleconduisait à de bons résultats (voir par exemple [Hinton, 1987] [Krogh et Hertz, 1992][Gallinari et Cibas, 1999]) .

4.12.1. Arrêt prématuré

Comme nous l'avons vu précédemment, l'apprentissage consiste à minimiser, grâce à unalgorithme itératif, une fonction de coût calculée sur la base d'apprentissage. La méthode del'arrêt prématuré (early stopping) consiste à arrêter les itérations avant la convergence del'algorithme. Si la convergence n'est pas menée à son terme, le modèle ne s'ajuste pas tropfinement aux données d'apprentissage : le surajustement est limité.Pour mettre en oeuvre cette méthode, il faut déterminer le nombre d'itérations à utiliserpendant l'apprentissage. La méthode la plus classique consiste à suivre l'évolution de lafonction de coût sur une base de validation, et à arrêter les itérations lorsque le coût calculésur cette base commence à croître. Cependant, en pratique, cette méthode peut êtreinapplicable, car il est difficile de déterminer avec précision le moment exact où il faut arrêterl'apprentissage puisque les performances sur la base de validation ne se dégradent pasnettement.On préfère donc utiliser les méthodes de régularisation, d'autant que [Sjöberg, 1994] a montréque l'arrêt prématuré était identique à un terme de pénalisation dans la fonction de coût.

4.12.2. Régularisation par modération des poids (Weight Decay)

Page 24: Chapitre 3 RN

Chapitre 4 Les réseaux de neurones

63

Lorsque les poids du réseau sont grands en valeur absolue, les sigmoïdes des neurones cachéssont saturées, si bien que les fonctions modélisées peuvent avoir des variations brusques. Pourobtenir des fonctions régulières, il faut travailler avec la partie linéaire des sigmoïdes, ce quiimplique d'avoir des poids dont la valeur absolue est faible. La méthode de régularisation du weight decay limite la valeur absolue des poids en

utilisant ∑=

=Ωp

iiw

1

2

21 , l’apprentissage s’effectue en minimisant : ∑

=

+=p

iiwJJ

1

2'

Où p est le nombre de poids que comporte le réseau.

Cette méthode est appelée ridge regression dans le cas des modèles linéaires par rapport auxparamètres [Saporta, 1990].α est un hyperparamètre qui détermine l’importance relative des deux termes dans lanouvelle fonction de coût. Si α est trop grand, les poids tendent rapidement vers zéro, lemodèle ne tient plus compte des données. Si α est trop petit, le terme de régularisation perdde son importance et le réseau de neurones peut être surajusté. Dans le cas intermédiaire, lespoids après l’apprentissage ont des valeurs modérées.Cette méthode présente l’avantage d’être très simple à mettre en oeuvre, puisque le gradientde 'J se calcule très simplement à partir du gradient de J et du vecteur des poids du réseauw : wJJ α+∇=∇ '

Il suffit d’ajouter la quantité wα au vecteur J∇ calculé par l’algorithme de rétropropagation .En pratique, pour tenir compte du caractère différent des poids en fonction des couches, il fautconsidérer plusieurs hyperparamètres [MacKay, 1992b] :

∑∑∑∈∈∈

+++=210

232221'

222 Wwi

Wwi

Wwi wwwJJ ααα

W0 représente l’ensemble des poids reliant les biais aux neurones cachés, W1 représentel’ensemble des poids reliant les entrées aux neurones cachés et W3 représente l’ensemble despoids reliés au neurone de sortie (y compris le biais du neurone de sortie). Il convient donc dedéterminer les valeurs des trois hyperparamètres 1α , 2α , 3α .Dans ce but, MacKay[McKay1992]propose une démarche fondée statiquement d’une manière solide, mais qui repose sur denombreuses hypothèses et conduit à des calculs lourds. En pratique, il apparaît que les valeursde ces hyperparamètres ne sont pas critiques :une démarche heuristique, qui consiste àeffectuer plusieurs apprentissages avec des valeurs différentes des paramètres, à tester lesmodèles obtenus sur un ensemble des données de validation, et à choisir le meilleur, estgénéralement suffisante .

4.12.3. L‘algorithme br [6]

Il est désirable de déterminer les paramètres de régularisation optimales automatiquement.unapproche pour réaliser cela est l'algorithme "br" fondé par "David Mackay".Les poids et lesbiais sont assumés d'être des variables aléatoires avec des distributions spécifiques.Lesparamètres de régularisation sont reliés aux variances inconnues associées avec cesdistributions.On peut alors estimer ces paramètres en utilisant des techmiques statistiques.Cetalgorithme assure une mesure du nombre de paramètres (poids et biais) effectivement utiliséspar le réseau.Ce nombre effectif de paramètres doit rester le même quelque soit le nombretotal de paramètres dans le réseau. Pour cela cet algorithme peut nous aider à éliminer lestravaux nécessaires pour obtenir le nombre optimal de neurones dans la couche cachée.

Page 25: Chapitre 3 RN

Chapitre 4 Les réseaux de neurones

64

4.13. Utilisation de la Boîte à outils Matlab Réseaux de Neurones-(NeuralNetwork Toolbox nntool) [6]

Il s’agit d’une structure hiérarchique (certains membres de la structure de base sont eux-mêmes des structures) relativement complexe. Elle peut être visualisée lors de la création duréseaux ou plus tard.

4.13.1. Création d’un réseau

La fonction de création d’un réseau est spécifique au modèle de réseau utilisé (newc, newlvq,etc).Pour les réseaux multicouches, la création du réseau est commandée par la fonction newff :reseau=newff( PR, [S1 S2..................SN1] , TF1 TF2................TFN1, BTF , BLF , PF ) ;Avec :PR : Plage des variations des entrées (affichage par minmax(p)) .Si : nombre des neurones dans la couche i, pour N1 couches.TFi : fonction d’activation dans la couche i, par défaut la fonction d’activation est ‘tansig’,elle peut être :

• Hardlim : Fonctions Heaviside.• hardlims: Fonctions signe.• logsig : Fonction logarithme sigmoïde.• tansig : Fonction tangente sigmoïde.• pureline : fonction linéaire.• satlins : Fonction linéaire a seuil.

BTF : l’algorithme d’apprentissage par paquetsdu réseau, la fonction BTF peut être :• trainlm : apprentissage par l’algorithme de Levenberg-Marquardt• trainbfg : apprentissage par l’algorithme BFGS.• trainoss : apprentissage par l’algorithme « one-step BFGS Method »• trainbr : version de trainlm avec modération automatique des poids.• trainrp : apprentissage par l’algorithme RPROP.• trainscg : apprentissage par scaled conjuguate gradient (SCG)• traincgf : apprentissage par la méthode du gradient conjugué+FLETCHER-REEVES.• traincp : apprentissage par la méthode du gradient conjugué+POLAK-RIBIERE.

BLF : l’algorithme d’apprentissage incrémental du réseau, la fonction BLF peut etre :• Learngd : L’algorithme d’apprentissage sera la descente de gradient à taux

d’apprentissage fixe.• Learngdm : version de learngd avec moment.

PF : fonction du coût.• mae : erreur absolu moyen• mse : erreur quadratique moyen• msereg : version de mse avec modérations des poids• sse : somme des carrés des erreurs

4.13.2. Apprentissage

Il existe 2 types d’apprentissage :• Incrémental : fonction adapt.• Par paquets : fonction train.Apprentissage incrémental (en-ligne, on-line) : les poids sont modifiés à chaque présentationd’une entrée.

Page 26: Chapitre 3 RN

Chapitre 4 Les réseaux de neurones

65

Apprentissage par paquets (hors-ligne, off-line, batch mode) : les poids sont modifiésuniquement après présentation de toutes les entrées.

4.13.3. Simulation (ou activation) d’un réseau

A = sim(net, p) ;où net est le pointeur retourné par une fonction de création de réseau.

4.13.4. gensim

gensim(net,st) simule le reseau de neurone avec un block en simulink ,st=-1 dans le cas où iln’y a pas de delais .

4.14. Conclusion :

Les réseaux de neurones formels, tels que nous les avons définis, possèdent une propriétéremarquable qui est à l'origine de leur intérêt pratique dans des domaines très divers : ce sontdes approximateurs universels parcimonieux.La propriété d'approximation peut être énoncée de la manière suivante : toute fonction bornéesuffisamment régulière peut être approchée avec une précision arbitraire, dans un domainefini de l’espace de ses variables, par un réseau de neurones comportant une couche deneurones cachés en nombre fini, possédant tous la même fonction d’activation, et un neuronede sortie linéaire.Cette propriété de parcimonie est précieuse dans les applications industrielles.L'apprentissage est vraisemblablement la propriété la plus intéressante des réseaux neuronaux,cependant il existe plusieurs algorithmes utilisés pour faire l’apprentissage des réseauxmulticouches, en général, les méthodes du second ordre assure une convérgence plus rapideque celle du premier ordre pour les réseaux dont l’apprentissage est par paquets, pour lesréseaux dont l’apprentissage est incrémental les méthodes du premier ordre assure uneconvérgence plus rapide que celle du second ordre.Pour les réseaux dont l’apprentissage est par paquets :

• L’algorithme de Levenberg-Marquardt est la plus rapide et assure la meilleureconvergence vers un minimum de l’erreur quadratique, pour les problèmesd’approximation des fonctions où le nombre des poids du réseau est inférieur à cents.Quand le nombre de poids augmente l’efficacité de l’algorithme LM diminue, car lataille du Hessien augmente et nécessite une très grande place dans la mémoire, cetalgorithme est pauvre pour les problèmes de classification.

• L’algorithme RPROP est la plus rapide et assure la meilleur convergence vers unminimum de l’erreur quadratique, pour les problèmes de classification, mais cetalgorithme est pauvre pour les problèmes d’approximations des fonctions et ilnécessite une place mémoire très modeste.

• Les algorithmes du gradient conjugué, en particulier SCG, performant sur des variétésdes problèmes, spécifiquement dans le cas où la taille du réseau est grande.L’algorithme SCG est aussi rapide que l’algorithme LM dans les problèmesd’approximation des fonctions (plus rapide pour les réseaux de grandes tailles), et ilest aussi rapide que l’algorithme RPROP pour les problèmes de classification.L’algorithme SCG nécessite relativement une place mémoire très modeste.