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 :
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 :
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
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
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
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
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.
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
i0
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).
Le tableau 01 donne une analogie entre les composants du neurone biologique et celles du
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)
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 es 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
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
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
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 :
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.
La topologie d’un réseau de neurone est définie par son architecture (ou structure) et la
nature de ses connexions.
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.
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.
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
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) :
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).
Par ailleurs, entre deux couches, les connexions peuvent être partielles (Figure 09) ou totales
(Figure 10).
Dans un tel réseau (Figure 11), le flux d’information circule des entrées vers les sorties sans
retour en arrière.
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.
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 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.
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.
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'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
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.
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.1- Perceptron :
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
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
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
wij wij ( d j y j ) x i
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
bn bp bq
1 1 1
Couche d’entrée 1ère couche cachée 2ème couche cachée Couche de sortie
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
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
6.3.1- Structure :
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
bn bp bq
1 1 1
Couche d’entrée 1ère couche cachée 2ème couche cachée Couche de sortie
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 :
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
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’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 j1
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)
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.
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 j1
ej (k) = dj (k) - yj(k)
y j (k ) f ( sj )
p
s j ( k ) b j wij ( k ) hi ( k )
i1
E ( k )
wij ( k )
wij ( k )
E ( k )
wij ( k ) wij ( k ) wij ( k ) wij ( k )
wij ( k )
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 :
q
1
avec : E( k ) e 2j ( k )
2 j1
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 )
i1
hi ( k ) h ( si )
n
si ( k ) bi vli ( k ) hl ( k )
l1
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.
E ( k )
vli ( k ) vli ( k ) vli ( k ) vli ( k )
vli ( k )
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.
Phase 1 : Initialisation de tous les poids à de petites valeurs aléatoires dans l’intervalle [-0.5,0.5].
b) Calculer les erreurs entre les sorties désirées et les sorties observé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 17
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.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.
1 w11
x1 y1
w12 w21
w1p b1
1
2
w22
x2 y2
w2p
. . b2 .
. . 1 .
. . . .
. . wn1 . .
. . wn2 . .
wnp
xm
n yp
bp
1
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ù :
6.4.2- Apprentissage :
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 :
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
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
= 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