Vous êtes sur la page 1sur 20

Chapitre 2 : Réseaux de neurones artificiels 0

Chapitre 2

RÉSEAUX
DE NEURONES
ARTIFICIELS

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 2 : Réseaux de neurones artificiels 1

INTRODUCTION :

Les réseaux de neurones artificiels sont à l’origine d’une tentative de modélisation


mathématique du cerveau humain. Cette modélisation consiste à mettre en œuvre un système
de réseaux neuronaux sous un aspect non pas biologique mais artificiel. Cela suppose que,
d’après le principe biologique, on aura une correspondance pour chaque élément composant le
neurone biologique, donc une modélisation pour chacun d’entre eux.

HISTORIQUE :

Les réseaux de neurones artificiels ont été évoqués pour la première fois en 1943, dans un
article resté historique publié par MC CULLOCH & PITTS. Ils avaient réussi à créer le neurone
formel (artificiel) qui est la modélisation du neurone biologique.

Peu de temps après, en 1949, D.O. HEBB, dans un ouvrage de référence, a défini la notion de
plasticité synaptique ou autrement dit d’apprentissage. Depuis, des travaux sur les neurones
formels ont été élaborés et plusieurs articles furent publiés vers la fin des années 50. En 1958,
F. ROSENBLAT a proposé pour la première fois le perceptron. En 1960, le modèle ADALINE
(ADAptative LINear Element) a été introduit par M. HOFF & WINDROW.

Entre 1970 et 1980, peu d’articles furent publiés en raison de la faible quantité de chercheurs
intéressés.

Au début des années 80, les chercheurs dans ce domaine ont repris surtout après la
publication du travail de J.J. HOPFIELD en 1982.

Depuis et à nos jours, les réseaux de neurones artificiels sont de plus en plus introduits dans
différentes disciplines, à savoir : la reconnaissance des formes statiques, la détection
d’anomalies, le traitement dépendant du temps (la prédiction), l’identification et la commande
des processus. Ils sont également utilisés dans certaines applications militaires, bancaires et
financières, dans le domaine du traitement de la parole et des images, dans la robotique et
même dans certaines industries de consommation.

1- Le neurone biologique :

Le neurone est l’élément de base du système nerveux. Il permet :

 de recevoir des signaux en provenance des autres neurones,


 de les intégrer,
 d’engendrer un influx nerveux,
 de le conduire,
 et de le transmettre.

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 2 : Réseaux de neurones artificiels 2

Le neurone biologique (figure 01) comprend :

 Les dendrites : qui sont les récepteurs principaux du neurone, captant les signaux qui lui
parviennent.

 Le corps cellulaire (somma) : qui fait la somme des influx qui lui parviennent. Ci cette somme
dépasse un certain seuil, il envoie lui-même un influx par l’intermédiaire de l’axone.

 L’axone : qui permet de transmettre les signaux émis par le corps cellulaire aux autres
neurones.

 Les synapses : qui permettent aux neurones de communiquer avec les autres via les axones et
les dendrites
Synapses

Axone

Dendrites
Corps cellulaire

Figure 01- Le neurone biologique

2- Le neurone artificiel :

C’est un opérateur mathématique très simple qui modélise le fonctionnement d’un neurone
biologique (Figure 02). Il possède une sortie et plusieurs entrées pouvant être les sorties d’autres
neurones, ou des entrées de signaux extérieurs.

x1 w1
x2 w2
x3 w3
x4 w4 x1 w1
s
 x2

f(s) y w2

xn-3  x3 w3
wn-3 x4
xn-2 Sortie w4
wn-2
xn-1

wn-1 f y

Fonction xn-3 
xn wn w0 d’activation wn-3
xn-2
wn-2
Entrées Poids xn-1 wn-1
x0 xn wn w0
Biais x0

Figure 02- Le neurone artificiel

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 2 : Réseaux de neurones artificiels 3

2.1- La nature des entrées :

Elles peuvent être binaires ou réelles. À chacune des entrées est associé un coefficient de
pondération wi appelé poids synaptique (en anglais weight). Ce dernier représente la force de la
connexion.

Si wi est positif, l’entrée xi est excitatrice alors que si wi est négatif, l’entrée xi est inhibitrice.

Le vecteur d’entrée de chaque neurone possède une entrée spéciale appelée le biais (en
anglais bias). Sa valeur est généralement égale à l’unité. Elle permet de déplacer la fonction
d’activation sur l’axe (s). Ce déplacement ne dépend que du poids attribué à cette entrée.

2.2- La fonction d’entrée totale :

Elle définit le pré-traitement des entrées. Elle réalise une sommation pondérée des signaux
d’entrée :

n
s   wi x i
i0

2.3- La fonction d’activation :

C’est une fonction qui définit l’état interne du neurone en fonction de son entrée totale. Elle
peut être une fonction binaire à seuil, linéaire à seuil ou multi-seuil, sigmoïde, stochastique ou
une autre fonction généralement choisie croissante et impaire (tableau 02).

2.4- La nature de la sortie :

Elle peut être binaire ou réelle.

2.5- Analogie entre le neurone biologique et le neurone artificiel :

Le tableau 01 donne une analogie entre les composants du neurone biologique et celles du
neurone artificiel.

Neurone biologique Neurone artificiel


Synapses Poids de connexions
Axones Signal de sortie
Dendrite Signal d’entrée
Corps cellulaire (Somma) Fonction d’entrée totale + Fonction d’activation

Tableau 01- Analogie entre le neurone biologique et le neurone artificiel

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 2 : Réseaux de neurones artificiels 4

Nom
Catégorie Type Équation Allure sous
Matlab
 f(s)
Binaire 0 si s  0 1
(Tout ou rien) f ( s)   hardlim
(Fonction de Heaviside) 1 si s  0 0
s

Seuil
f(s)
Signe 1 si s  0
(Plus au moins) f ( s)   1
hardlims
  1 si s  0 s
-1

f(s)

Identité f(s) = s purelin


s

f(s)
0 si s  0
f ( s)  
Linéaire positif  s si s  0 poslin
s
Linéaire
f(s)
0 si s  0

Saturé positif f ( s )  1 si s  1 1
satlin
 s sin on s
 0 1

f(s)
Saturé   1 si s  1
 1
symétrique f ( s )  1 si s  1 -1 satlins
s
 s sin on 1
 -1

f(s)
Logistique 1
f ( s)  1
(sigmoïde) 1  es logsig
s
0
Non
f(s)
linéaire
Tan-sigmoïde e e
s s

(Tangente hyperbolique) f ( s)  1
tansig
e s  e s s

-1

Tableau 02- Quelques fonctions d’activation

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 2 : Réseaux de neurones artificiels 5

2.6- Exemple du fonctionnement d’un neurone artificiel :

Afin de comprendre le principe de fonctionnement d’un neurone artificiel, on va présenter


l’exemple classique de la fonction logique OU :

x1 w1=0,5 x1 w1=0,5
 f(s)
x2 w2=0,5
w0=-0,25
 f(s) y 1
x2 w2=0,5
w0=-0,25
 y
s
x0 = 1 0 x0 = 1

Figure 03- La fonction logique OU et le neurone correspondant

Le poids attribué aux entrées x1 et x2 est 0,5 et le biais possède un poids de -0,25. Cette forme
nous donne :

Si x1 = 0 et x2 = 0 donc s = w1x1 + w2x2 + w0x0 = - 0,25 et y = f(s) = 0


Si x1 = 0 et x2 = 1 donc s = w1x1 + w2x2 + w0x0 = 0,25 et y = f(s) = 1
Si x1 = 1 et x2 = 0 donc s = w1x1 + w2x2 + w0x0 = 0,25 et y = f(s) = 1
Si x1 = 1 et x2 = 1 donc s = w1x1 + w2x2 + w0x0 = 0,75 et y = f(s) = 1

Ce fonctionnement traduit parfaitement la fonction logique OU.

3- Les réseaux de neurones artificiels :

Le réseau de neurones artificiels est un ensemble de neurones formels connectés suivant une
architecture bien définie afin de réaliser des taches différentes. Ces réseaux sont introduits en
s’inspirant du réseau biologique que constitue le cerveau humain.

4- Topologie des réseaux de neurones artificiels :

La topologie d’un réseau de neurone est définie par son architecture (ou structure) et la
nature de ses connexions.

4.1- Réseaux à couches :

La plupart des réseaux de neurones ont une architecture définie sous forme de couches
(réseau monocouche ou multicouche). L’architecture du réseau peut alors être décrite par le
nombre de couches et le nombre de neurones dans chaque couche.

Dans un réseau à couches, on distingue trois types de couches :

 Couche d’entrée : constituée de neurones d’entrée, aussi appelés cellules perceptives du fait de
leur propriété à acquérir des données dont la provenance est en dehors du réseau.

 Couche de sortie : constituée de neurones de sortie, qui définissent la sortie du réseau.

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 2 : Réseaux de neurones artificiels 6

 Couche cachée : constituée de neurones cachés, qui n’ont aucune relation avec le monde
extérieur au réseau, juste avec les autres neurones du réseau.

Figure 04- Réseau de neurones monocouche Figure 05- Réseau de neurones multicouche

Dans un réseau multicouche, les différentes couches sont généralement ordonnées et


indexées dans le sens croissant de la couche d’entrée vers la couche de sortie.

Le modèle de connexion définit la manière dont sont interconnectés les neurones du réseau.
On distingue différents types de connexions (Figure 06) :

 Connexions intercouches : interconnexion entre neurones de couches voisine.

 Connexions supracouches : lorsque les couches ne sont pas adjacentes.

 Connexions intracouches : connexions entre neurones d’une même couche.

 Autoconnexion : un neurone avec lui-même.

Figure 06- modèle de connexion entre les couches

Le sens de transfert de l’information dans un réseau à coches est défini par la nature des
connexions :

 Connexions directes : lorsqu’elles sont dirigées d’une couche d’indice inférieur vers une
couche d’indice supérieur (Figure 07).

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 2 : Réseaux de neurones artificiels 7

 Connexions récurrentes : lorsque les sorties de neurones d’une couche sont connectées aux
entrées d’une couche d’indice inférieur (Figure 08).

Figure 07- Connexions directes Figure 08- Connexions récurrentes

Par ailleurs, entre deux couches, les connexions peuvent être partielles (Figure 09) ou totales
(Figure 10).

Figure 09- Connexions partielles Figure 10- Connexions totales

4.2- Réseaux statiques (ou acycliques, ou non bouclés) :

Dans un tel réseau (Figure 11), le flux d’information circule des entrées vers les sorties sans
retour en arrière.

Figure 11- Réseau de neurones statique (ou acyclique, ou non bouclé)

Si l’on représente le réseau comme un graphe dont les « nœuds » sont les « neurones » et les
« arêtes » sont les « connexions » entre ceux-ci, le graphe d’un réseau non bouclé est acyclique.

4.3- Les réseaux de neurones dynamiques (ou récurrents, ou bouclés) :

L’architecture la plus générale pour un réseau de neurones est le « réseau bouclé », dont le
graphe des connexions est cyclique : lorsqu’on se déplace dans le réseau en suivant le sens des
connexions, il est possible de trouver au moins un chemin qui revient à son point de départ
(Figure 12), un tel chemin est désigné sous le terme de « cycle ». La sortie d’un neurone du
réseau peut donc être fonction d’elle même; cela n’est évidemment concevable que si la notion
de temps est explicitement prise en considération.

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 2 : Réseaux de neurones artificiels 8

Figure 12- Réseau de neurones dynamique


(ou récurrent, ou bouclé)

Figure 13-

Ainsi, à chaque connexion d’un réseau de neurones bouclé (ou à chaque arête de son graphe)
est attaché, outre un poids comme pour les réseaux non bouclés, un retard, multiple entier
(éventuellement nul) de l’unité de temps choisie. Une grandeur, à un instant donné, ne pouvant
pas être fonction de sa propre valeur au même instant, tout cycle du graphe du réseau doit
avoir un retard non nul.

Les connexions récurrentes ramènent l'information en arrière par rapport au sens de


propagation défini dans un réseau multicouche. Ces connexions sont le plus souvent locales.
Pour éliminer le problème de la détermination de l’état du réseau par bouclage, on introduit sur
chaque connexion « en retour » un retard qui permet de conserver le mode de fonctionnement
séquentiel du réseau (Figure 13).

Le graphe des connexions de réseaux récurrents est cyclique. Ces réseaux sont décrits par un
système d’équations aux différences.

5- L’apprentissage des réseaux de neurones :

Une fois la structure est fixée, il faut passer au processus d’apprentissage qui est la propriété
la plus intéressante des réseaux de neurones.

L'apprentissage est une phase du développement d'un réseau de neurones durant laquelle le
comportement du réseau est modifié jusqu'à l'obtention du comportement désiré : le réseau
adapte sa structure (le plus souvent, les poids des connexions) afin de fournir sur ses neurones
de sortie les valeurs désirées.

L’algorithme d’apprentissage est la méthode mathématique qui va modifier les poids de


connexions afin de converger vers une solution qui permettra au réseau d’accomplir la tâche
désirée. Deux grandes classes d’algorithmes d'apprentissage ont été défini selon que
l'apprentissage est dit supervisé ou non supervisé.

5.1- Apprentissage supervisé :

L'apprentissage est dit supervisé lorsque l’on dispose des exemples d’apprentissage (patrons)
qui sont constitués de couples de valeurs du type : (valeur d'entrée, valeur de sortie désirée).

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 2 : Réseaux de neurones artificiels 9

Tout le problème de l'apprentissage supervisé consiste à déterminer le vecteur des poids w du


réseau de neurones capable de mettre ces informations en correspondance.

Après initialisation des poids du réseau (en général des valeurs aléatoires), il y a présentation
des patrons au réseau et calcul des sorties correspondantes. Une valeur d'erreur est calculée et
une correction des poids est appliquée.

5.2- Apprentissage non supervisé :

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

Remarquons cependant que les modèles à apprentissage non supervisé nécessitent avant la
phase d'utilisation une étape de labélisation effectuée par l'opérateur, qui n'est pas autre chose
qu'une part de supervision.

6- Modèles des réseaux de neurones :

6.1- Perceptron :

6.1.1- Perceptron simple :

Conçu par ROSENBLATT en 1958, le perceptron peut être vu comme le type de réseau de
neurones le plus simple. Il est constitué d’un seul neurone auquel toutes les entrées sont
connectées et n'a qu'une seule sortie (figure 14). La fonction d’activation étant binaire (Fonction
de Heaviside) ou Signe (Plus au moins).

x1 w1
x2 w2
x3 w3
  y
. . .
. . .

xn w n
w0
x0

Figure 14- Le perceptron simple

Le perceptron est un classifieur linéaire, il est utilisé pour la classification de données en


deux classes.

- Règle d'apprentissage du perceptron (loi de Windrow-Hoff) :

C’est une méthode d’apprentissage supervisée qui consiste à présenter successivement tous
les couples d’apprentissage et à ajuster à chaque étape les poids de connexions selon
l’algorithme suivant :

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 2 : Réseaux de neurones artificiels 10

wi  wi   ( d  y ) x i

où : d : la sortie désirée
y : la sortie observée
 : le taux d'apprentissage (0   1)
xi : l'entrée du poids i pour la sortie désirée d

6.1.2- Perceptron monocouche :

Le perceptron monocouche (figure 15) comporte :

 Une couche d’entrée constituée de n neurones dont la fonction d’activation est linéaire.

 Une couche de sortie constituée d’un ou de plusieurs neurones dont la fonction d’activation
est binaire (Fonction de Heaviside) ou Signe (Plus au moins).

w11
x1
w21
 y1
w12
w1n b1
1
w22
x2
 y2
w2n
. b2 .
. 1 .
. . .
. wm1 . .
. wm2 . .

wmn
xm  yn

bn
1

Couche d’entrée Couche de sortie

Figure 15- Le perceptron monocouche

L’apprentissage dans ce cas est réalisé selon l’algorithme suivant :

wij  wij   ( d j  y j ) x i

6.1.3- Perceptron multicouche (MLP : Multi-Layer Perceptron) :

Dans le cas d’un perceptron multicouche (MLP : Multi-Layer Perceptron), le réseau


comporte au moins trois couches (figure 16) :

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 2 : Réseaux de neurones artificiels 11

 Une couche d’entrée.

 Une ou plusieurs couche(s) cachée(s).

 Une couche de sortie.

L’information circule de l’entrée vers la sortie à travers la (les) couche(s) cachée(s).

w11 v11 u11


x1
w21
 v21
 u21
 y1
w12 v12 u12
w1n b1 v1p b1 u1q b1
1 1 1
w22 v22 u22
x2
   y2
w2n v2p u2q
. b2 b2 b2 .
. 1 1 1 .
. . . . .
. wm1 . vn1 . up1 . .
. wm2 . vn2 . up2 . .

wmn vnp upq


xm    yq

bn bp bq
1 1 1

Couche d’entrée 1ère couche cachée 2ème couche cachée Couche de sortie

Figure 16- Le perceptron multicouche

6.2- ADALINE et MADALINE :

L’ADALINE (ADAptive LInear NEuron) de WIDROW & HOFF diffère du perceptron par la
fonction d’activation utilisée qui est linéaire (figure 17).

Dans le cas de plusieurs sorties (figure 18), il est alors appelé MADALINE (Multiple
ADAptive LInear NEurone).

x1 w1
x2 w2
x3 w3
  y
. . .
. . .

xn w n
w0
x0

Figure 17- ADALINE (ADAptive LInear NEuron)

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 2 : Réseaux de neurones artificiels 12

w11
x1
w21
 y1
w12
w1n b1
1
w22
x2  y2
w2n
. b2 .
. 1 .
. . .
. wm1 . .
. wm2 . .

wmn
xm  yn

bn
1

Couche d’entrée Couche de sortie

Figure 18- MADALINE (Multiple ADAptive LInear NEuron)

6.3- Réseaux de neurones multicouche à propagation avant :

6.3.1- Structure :

Le réseau de neurones multicouche à propagation avant (MLFFNN : Multi-Layer Feed-


Forward Neural Network) comporte :

 Une couche d’entrée constituée de plusieurs neurones de fonction d’activation linéaire.

 Une ou plusieurs couche(s) cachée(s) constituée(s) de plusieurs neurones cachés.

 Une couche de sortie constituée d’un ou de plusieurs neurones de sortie.

L’information circule de l’entrée vers la sortie à travers la (les) couche(s) cachée(s).

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 2 : Réseaux de neurones artificiels 13

u11 v11 w11


x1
w21
 f
v21
 f
w21
 f y1
u12 v12 w12
u1n b1 v1p b1 w1q b1
1 1 1
u22 v22 w22
x2
 f  f  f y2
u2n v2p w2q
. b2 b2 b2 .
. 1 1 1 .
. . . . .
. um1 . vn1 . wp1 . .
. um2 . vn2 . wp2 . .

umn vnp wpq


xm  f  f  f yq

bn bp bq
1 1 1

Couche d’entrée 1ère couche cachée 2ème couche cachée Couche de sortie

Figure 19- Réseaux de neurones à propagation avant

6.3.2- Algorithmes d’apprentissage :

Plusieurs algorithmes itératifs peuvent être mis en œuvre, parmi lesquels on note :
l’algorithme de rétropropagation, la Méthode Quasi-Newton, Algorithme de BFGS etc.

- Algorithme de rétropropagation :

L’algorithme de rétropropagation ou de propagation arrière (backpropagation algorithm) est


l’exemple d’apprentissage supervisé le plus utilisé. Cette méthode repose sur le calcul du
gradient de l'erreur pour chaque neurone du réseau, de la dernière couche vers la première.

Soit le couple (X(k) , D(k)) désignant la kème donnée d’apprentissage du réseau correspondant
respectivement aux m entrées et q sorties désirées du système :

 X ( k )   x 1 ( k ) , ... , x m ( k ) 
 D( k )   d ( k ) , ... , d ( k ) 
 1 q

L’algorithme de la rétropropagation consiste alors à mesurer l’erreur entre les sorties


désirées, et les sorties observées Y(k) :

Y ( k )   y1 ( i ) , ... , y q ( i ) 

résultat de la propagation vers l’avant des entrées X(k), et à rétropropager cette erreur à travers
les couches du réseau en allant des sorties vers les entrées.

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 2 : Réseaux de neurones artificiels 14

L’algorithme de rétropropagation procède à l’adaptation des poids neurone par neurone en


commençant par la couche de sortie.

Soit l’erreur observée ej(k) pour le neurone de sortie j et la donnée d’apprentissage k :

ej (k) = dj (k) - yj(k)

L’objectif de l’algorithme est d’adapter les poids des connexions du réseau de manière à
minimiser la somme des erreurs sur tous les neurones de sortie.

Soit E(k) la somme des erreurs quadratiques observées sur l’ensemble des neurones de
sorties :

q
1
E( k )   e 2j ( k )
2 j1

Pour corriger l’erreur observée, il faut modifier le poids wij(k) dans le sens opposé au
E ( k )
gradient de l’erreur (figure 20).
wij ( k )

E(k)

E ( k )
wij ( k )

wij(k)

Figure 20- Gradient de l’erreur totale

Cette dérivée partielle représente un facteur de sensibilité :

 Si on change un peu wij(k), E(k) change beaucoup, alors on change beaucoup wij(k) dans le
sens inverse de cette dérivée car cela devrait nous rapprocher beaucoup du minimum local.

 Sinon, on doit changer seulement un peu wij(k) pour corriger l’erreur car on est tout près de
ce minimum.

Considérons le cas des neurones sur la couche de sortie :

Par la règle de chaînage des dérivées partielles on obtient :

E ( k ) E ( k ) e j ( k ) y j ( k ) s j ( k )

wij ( k ) e j ( k ) y j ( k ) s j ( k ) wij ( k )

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 2 : Réseaux de neurones artificiels 15

q
1
avec : E( k )   e 2j ( k )
2 j1
ej (k) = dj (k) - yj(k)
y j (k )  f ( sj )
p
s j ( k )  b j   wij ( k ) hi ( k )
i1

où : f : fonction d’activation des neurones de sortie.


wij : poids de connexion entre le neurone i de la couche précédente et le neurone j de la
couche de sortie.
hi : sortie du neurone i de la dernière couche cachée.
p : nombre de neurones de la couche précédente.
q : nombre de neurones de la couche de sortie.

On exprime la variation des poids Δwij(k) sous la forme :

E ( k )
wij ( k )  
wij ( k )

avec : 0    1 représente un taux d’apprentissage ou gain de l’algorithme. Le choix de  est


empirique :

 Si  est trop petit, le nombre d'itérations peut être très élevé.


 Si  est trop grand, les valeurs de la suite risquent d'osciller autour du minimum sans
converger.

La mise à jour des poids s’effectue comme suit :

E ( k )
wij ( k )  wij ( k )  wij ( k )  wij ( k )  
wij ( k )

Considérons maintenant le cas des neurones sur la dernière couche caché :

Reprenons l’expression de la dérivée partielle de l’erreur totale E(k), mais par rapport à vij et
non pas par rapport à uij :

E ( k ) E( k ) e j ( k ) y j ( k ) s j ( k ) hi ( k ) si ( k )



vli ( k ) e j ( k ) y j ( k ) s j ( k ) hi ( k ) si ( k ) vli ( k )

q
1
avec : E( k )   e 2j ( k )
2 j1
ej (k) = dj (k) - yj(k)

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 2 : Réseaux de neurones artificiels 16

y j (k )  f ( sj )
p
s j ( k )  b j   wij ( k ) hi ( k )
i1
hi ( k )  h ( si )
n
si ( k )  bi   vli ( k ) hl ( k )
l1

où : f : fonction d’activation des neurones de sortie.


h : fonction d’activation des neurones de la dernière couche cachée.
wij : poids de connexion entre le neurone i de la dernière couche cachée et le neurone j de
la couche de sortie.
vli : poids de connexion entre le neurone i de la dernière couche cachée et le neurone l de
la couche précédente.
hi : sortie du neurone i de la dernière couche cachée.
hl : sortie du neurone l de la couche précédente.
q : nombre de neurones de la couche de sortie.
p : nombre de neurones de la dernière couche cachée.
n : nombre de neurones de la couche précédente.

Par rapport aux résultats obtenus pour la couche de sortie, les trois premiers termes de cette
équation restent inchangés, seul les trois derniers termes seront évalués.

La mise à jour des poids s’effectue comme précédemment :

E ( k )
vli ( k )  vli ( k )  vli ( k )  vli ( k )  
vli ( k )

Pour le cas des neurones sur le reste des couches cachés :

On procède de la même manière pour la mise à jour des poids de tous les neurones, en
partant de la couche de sortie et arrivant à la couche d’entrée.

Mise en œuvre de l’algorithme :

On peut résumer la mise en œuvre de l’algorithme de rétropropagation comme suit :

Phase 1 : Initialisation de tous les poids à de petites valeurs aléatoires dans l’intervalle [-0.5,0.5].

Phase 2 : pour chaque donnée d’entraînement :

a) Calculer des sorties observées en propageant les entrées vers l’avant.

b) Calculer les erreurs entre les sorties désirées et les sorties observées.

c) Calculer l’erreur quadratique moyenne.

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 2 : Réseaux de neurones artificiels 17

d) ajuster les poids en rétropropageant l’erreur observée vers l’arrière.

phase 3 : Répéter les phases 1 et 2 jusqu’à un nombre maximum d’itération ou jusqu’à ce que
la valeur de l’erreur quadratique moyenne soit inférieur à un certain seuil.

En effet, le but d’atteindre l’erreur quadratique moyenne inférieur à un seuil n’est pas sûre,
alors pour éviter le problème de la boucle ouverte, on fixe un nombre d’itérations maximum,
généralement de l’ordre des centaines. Dans ce cas là, l’algorithme cherche à minimiser l’erreur
quadratique moyenne en N itérations successives tel que : N est inférieur au nombre d’itérations
maximum.

6.4- Réseaux de neurones à fonctions de base radiales :

6.4.1- Structure :

Les réseaux de neurones à fonctions de base radiales (RBFNN : Radial Basis Function Neural
Network) sont usuellement des réseaux à trois couches :

 Une couche d’entrée : dont les neurones sont à fonctions d’activation linéaires.
 Une couche cachée : dont les neurones sont à fonctions d’activation de base radiales.
 Une couche de sortie : dont les neurones sont, généralement, à fonctions d’activation
linéaires.

Ce type de réseau est principalement utilisé dans les problèmes de classification et


d’approximation de fonctions.

1 w11
x1  y1
w12 w21
w1p b1
1
2
w22
x2  y2
w2p
. . b2 .
. . 1 .
. . . .
. . wn1 . .
. . wn2 . .

wnp
xm
n  yp

bp
1

Figure 21- Architecture d’un réseau de neurones à fonctions de base radiales

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 2 : Réseaux de neurones artificiels 18

Il existe plusieurs types de fonctions de base radiales dont la fonction gaussienne est la plus
utilisée. Cette fonction a pour expression :

( x )2 

j (x)  e 2 2

où :

 : Centre de la fonction gaussienne.


 : Dispersion.
x

Figure 22- Fonction gaussienne

6.4.2- Apprentissage :

L’entraînement d’un réseau RBF comprend deux étapes :

1) l’apprentissage de la couche cachée : sélection des centres et des dispersions.

2) l’apprentissage de la couche de sortie : détermination des poids synaptiques de cette couche.

Dans le cas idéal, un centre doit être placé pour chaque exemple d’entraînement. Ainsi, pour
la détermination des valeurs de ces centres, on aura une matrice carrée constituant autant
d’équations que d’inconnues. Dans le cas réel, avec un nombre important d’exemples, ceci est
impossible. Les centres doivent donc être choisis de sorte à effectuer un échantillonnage
représentatif de l’espace des exemples d’entraînement.

Quant aux poids synaptiques, leur détermination est obtenue par n’importe quel algorithme
d’optimisation linéaire, du fait que la sortie est linéaire.

Dans ces méthodes d’entraînement, il existe trois approches différentes qui peuvent être
utilisées :

 apprentissage supervisé utilisant les algorithmes d’entraînement basé sur l’optimisation ;


 apprentissage non supervisé basé sur un algorithme de regroupement ;
 apprentissage supervisé de regroupement linéaire.

Exemple 1 : XOR avec 2 neurones cachés

1 = ( 0 , 0 ) w1 = w2 = - 2,5018  1
x1
2 = ( 1 , 1 ) b = 2,8404 w1

1  2 
1  y
( x j ) 2  2 w2
2  2 x2 b
2
j ( x)  e j

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 2 : Réseaux de neurones artificiels 19

Exemple 2 : XOR avec 4 neurones cachés

1 = ( 0 , 0 )  1
2 = ( 0 , 1 )
w1
3 = ( 1 , 0 )
4 = ( 1 , 1 )  2
x1 w2

1 = 2 = 3 = 4 = 1  y
 3
x2 w3
w1 = w4 = - 1
w2 = w3 = 1
 4 w4
( x  j )2

2  j2
j ( x)  e

Exemple 3 : Apprentissage

1 = ( 0 , 0 , 0 , 0 )  1
x1
2 = ( 1 , 1 , 1 , 1 ) w1
3 = ( 2 , 2 , 2 , 2 ) x2
 2
w2
1 = 2 , 2 = 3 , 3 = 4  y
x3

w1 = 0,2 , w2 = 0,4 , w3 = 0,5  3 w3


x4

 = 0,2
( x  j )2

x1 x2 x3 x4 d 2  j2
1,5 2 1,7 2,5 0,14
j ( x)  e

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique

Vous aimerez peut-être aussi