Vous êtes sur la page 1sur 27

LES RESEAUX DE NEURONES Benbouchama Ch.

(Mars 2004)

LES RESEAUX DE NEURONES


Cours pour Magister R.A.2I / Contrôle - Commande

E.M.P

Benbouchama Cherrad

1
LES RESEAUX DE NEURONES Benbouchama Ch. (Mars 2004)

Bibliographie

• A. Freeman et M. Skapura : « Neural Networks », Addision-Wesley


publishing company, 1992.

• B. Kosko : « Neural Networks and Fuzzy Systems : a dynamical systems


approach to machine intelligence », Prentice Hall, 1992.

• J. M. Renders : « Algorithmes génétiques et réseaux de neurones »,


Editions HERMES, 1995.

• P. D. Wasserman : « Neural computing : theory and practice », Edition Van


Nostrand Reinhold, New York, 1989.

• J. Godjevac : « Neuro-Fuzzy controllers : Design and Application »,


Presses Polytechniques et Universitaires Romandes, 1997.

• J. F. Jodouin : « Les réseaux neuromimétiques : modèles et applications »,


Editions HERMES, 1994.

• T. Masters : « Advanced Algorithms for Neural Networks : a C++


Sourcebook », John Wiley & Sons, INC. 1998.

2
LES RESEAUX DE NEURONES Benbouchama Ch. (Mars 2004)

Chapitre 1

INTRODUCTION AUX RESEAUX DE NEURONES

1. INTRODUCTION

1 mètre Système nerveux central

10 centimètres Systèmes

1 centimètre Coupe

1 millimètre Circuit

100 microns Neurone

1 micron Synapse

10 Angströms Molécule

3
LES RESEAUX DE NEURONES Benbouchama Ch. (Mars 2004)

L’unité centrale de l’être humain est son cerveau qui est l’organe le plus
complexe. Cet organe lui permet d’analyser et de comprendre les différents
phénomènes qui l’entourent. Cette merveilleuse machine est composée de
361679616 entités élémentaires appelées neurones.
Chaque neurone est relié à d’autres par des synapses (36000 par neurone). C’est
l’interconnexion des neurones qui permet au cerveau de réaliser les différentes
fonctions telles que la réflexion, la vision, l’audition, etc.… On appelle cette
interconnexion " un réseau de neurones ".

Cerveau humain VLSI chips

Neurones 1011 Quelques milliers

Interconnections 1015 Plus de quelques milliers

Temps de réaction 1 à 2 ms 30 MHz

L'efficacité en exécutant 1/10 s Impossible


des tâches complexes

4
LES RESEAUX DE NEURONES Benbouchama Ch. (Mars 2004)

Comparaison entre un pigeon et une station de travail SUN4/110 :

La tâche : Reconnaître le visage d’une personne.

Le pigeon La station de travail SUN4/110

1012 synapses 5 x 108 transistors

Horloge 100Hz Horloge 24 MHz

Temps de reconnaissance : 1 sec. Quelques heures (le meilleur des


algorithmes connus)

Nombre de cycle-synapse : 1014 Nombre de cycle-synapse : > 4 x 1019

Si la station de travail Sun était aussi efficace qu'un pigeon, elle aurait
fini la tâche en 1/100 sec ! !

C’est en essayant de comprendre son fonctionnement que l’homme s’est trouvé en


train de modéliser le cerveau et c’est ce qui a permis aux " réseaux de neurones
artificiels " de voir le jour.

Ces derniers sont des modèles mathématiques et informatiques, des assemblages


d’unités de calculs appelés, aussi, neurones formels, et dont l’inspiration originelle
était un modèle de la cellule nerveuse humaine. Le souci de maintenir une certaine
correspondance avec le système nerveux humain a animé et continue d’animer
une part importante des recherches dans le domaine.

Malgré cet héritage, l’essentiel des travaux d’aujourd’hui ont pour objet le réseau
de neurones formels et non son corrélat neurobiologique. Vus comme des
systèmes de calcul, les réseaux de neurones possèdent plusieurs propriétés qui les
rendent intéressants d’un point de vue théorique, et fort utiles en pratique
(optimisation, reconnaissance, classification, identification, commande, etc…).

Dans ce chapitre, on présentera quelques notions élémentaires du domaine.

5
LES RESEAUX DE NEURONES Benbouchama Ch. (Mars 2004)

2. LES RESEAUX DE NEURONES

2.1 Le neurone

Un neurone η est une fonctionnelle caractérisée par les éléments suivants :


a- Un sommateur pondéré.
b- Un système dynamique linéaire SISO.
c- Une fonction non-linéaire statique (fonction d’activation).

y1 ai1

yj aij

yN aiN
vi Système xI Fonction yi
u1 bi1 + dynamique d’activation
linéaire
uk bik

uM biM

wi

2.1.1 Le sommateur pondéré

Il est décrit par l’équation suivante:

vi(t) = Σ j=1,N
aij.yj(t) + Σ k=1,M
bik.uk(t)
Ou sous la forme matricielle :
V(t) = A.Y(t) + B.U(t) + W
Avec:
V(t) : vecteur colonne (Nx1).
Y(t) : vecteur colonne (Nx1) représentant les N sorties yi .
U(t) : vecteur colonne (Mx1) représentant les M entrées uk .
W : vecteur colonne (Nx1) représentant les N constantes wi .
A : matrice (NxN) dont l’élément ij est aij.
B : matrice (NxM) dont l’élément ik est bik.

2.1.2 Le système dynamique


C’est un système linéaire SISO, possédant vi comme entrée et xi comme
sortie : xi(p) = H(p).vi(p)

6
LES RESEAUX DE NEURONES Benbouchama Ch. (Mars 2004)

2.1.3 La fonction d’activation

Cette fonction est, en général, monotone et non-décroissante. Ainsi,


l’augmentation de l’entrée ne peut que faire augmenter la sortie ou la garder
constante, elle ne peut jamais décroître le signal.
Les fonctions d’activations les plus usuelles, sont :

1 si xk+1 > T
k+1
- g(x ) = g(xk) si xk+1 = T
0 si xk+1 < T

- Tangente hyperbolique : g(x) = tanh(cx) = (ecx-e-cx)/ (ecx+e-cx)


1 si cx ≥ 1

- La fonction linéaire seuillée : g(x) = 0 si cx < 0 = min(1,max(0,cx))


cx ailleurs

- L’exponentielle seuillée : g(x) = min(1,ecx).

- La distribution exponentielle : g(x) = max (0,1-e-cx).

- Une fonction rationnelle : g(x) = max (0,xn/(c+xn)) ; n > 1

2.2 Classification des réseaux de neurones

Nous pouvons classer les réseaux de neurones suivant deux critères :


a- Topologie :
- Statique.
- Dynamique.
b- L’apprentissage :
- Apprentissage supervisé.
- Apprentissage non-supervisé.

2.2.1 Selon la topologie :

2.2.1.1 Les réseaux de neurones statiques

L’interconnexion de plusieurs neurones définit un champ de neurones qui peut


avoir plusieurs architectures. Ceci dépend du choix de la dynamique du neurone
utilisé comme élément de base.
Un réseau de neurones statique est un réseau tel que H(p) = 1, c’est un réseau dont la
topologie de la connexion ne contient pas de boucles synaptiques fermées.

7
LES RESEAUX DE NEURONES Benbouchama Ch. (Mars 2004)

Couche Couches cachées Couche


d’entrée de sortie

2.2.1.2 Les réseaux de neurones dynamiques

L’information circule dans les différentes directions du réseau, et la sortie de


chaque neurone influe sur toutes les sorties de neurones du réseau. On distingue
plusieurs modèles :

Modèle de Hopfield

Modèle d’Elman

8
LES RESEAUX DE NEURONES Benbouchama Ch. (Mars 2004)

2.2.2 Selon l’apprentissage :

L’apprentissage est l’une des propriétés les plus importantes des réseaux de
neurones. C’est un changement des coefficients synaptiques qui se fait de telle
manière que les réseaux remplissent une tâche définie par un ensemble
d’entraînement ou un ensemble d’exemples dit, aussi ensemble d’apprentissage.
Les règles d’apprentissage peuvent être divisées en deux catégories : apprentissage
supervisé et apprentissage non-supervisé (à revoir aprés en détail).

3. APPRENTISSAGE DES RESEAUX DE NEURONES

On appelle apprentissage, l’opération par laquelle le réseau de neurones acquiert la


capacité de faire certaines tâches en modifiant ses paramètres internes en utilisant un
algorithme d’adaptation paramétrique appelé « algorithme d’apprentissage ».
Les deux principaux types d’apprentissage sont :
- L’apprentissage supervisé « supervised learning ».
- L’apprentissage non-supervisé « unsupervised learning ».

3.1. Apprentissage non-supervisé

L’apprentissage non-supervisé représente la capacité du réseau de neurones à


apprendre sans connaître la sortie désirée. Ce type d’apprentissage possède souvent
une moindre complexité dans les calculs en comparaison avec l’apprentissage
supervisé. Il apprend rapidement, parfois un seul passage sur des données bruitées
suffit. Il est particulièrement souhaitable dans les processus rapides où on n’a pas
suffisamment de temps ou d’informations.

3.2. Apprentissage supervisé

Dans l’apprentissage supervisé la sortie désirée est connue, et c’est en minimisant


l’erreur entre la sortie désirée et la sortie du réseau qu’on modifie les paramètres
internes du réseau de neurones. Dans ce cas, on devrais avoir un ensemble de paires
entrées-sorties désirées qu’on appelle exemples.
La figure suivante illustre l’exemple de l’approximation d’une fonction f :

( xi , yi ) Algorithme
d’apprentissage
Exemples de
yi = f(xi)
Implantation neuronale de yi = f(xi)

L’un des algorithmes les plus répandus est celui de la rétropropagation,


‘backpropagation’.

9
LES RESEAUX DE NEURONES Benbouchama Ch. (Mars 2004)

3.3. L’algorithme de la rétropropagation ‘backpropagation’

Couche Couche(s) Couche


d’entrée cachée(s) de sortie
Propagation

des états
Introduction Evaluation
des exemples de l’erreur
Rétropropagation
des erreurs

Cette algorithme change les poids d’un réseau, dont l’architecture est fixée par le
superviseur, à chaque fois qu’une paire ( xi , yi ) est présentée. Ce changement est fait
de telle sorte à minimiser l’erreur entre la sortie désirée yi et la réponse du réseau à
une entrée xi. Ceci est réalisé grâce à la descente du gradient : changement des poids
dans le sens oú la fonction d’erreur diminue (le négatif du gradient).
A chaque itération le signal d’entrée se propage dans le réseau dans le sens entrée-
sortie, une sortie est ainsi obtenue, l’erreur entre cette sortie et la sortie désirée est
calculée puis rétropropagée dans le sens sortie-entrée. Malheureusement, cet
algorithme souffre des problèmes de la méthode de la descente du gradient : les
paramètres du réseau se trouvent souvent bloqués dans un minimum local.

3.3.1. Présentation de l’algorithme de la rétropropagation

Pour l’exemple d’un réseau de neurones à trois couches (la figure suivante),
l’algorithme se présente comme suit :

10
LES RESEAUX DE NEURONES Benbouchama Ch. (Mars 2004)

fks(netpks)

netpks
1 wks M Couche de sortie
bkjs

1 1
1 Poids
constants
fjc(netpjc)
netpjc
1 wjc L Couche cachée
bjic

1 1
1 Poids
Constants

1 i N Couche d’entrée

xp1 xpi xpN

- Etape 1: Initialisation aléatoire des pondérations bij.

- Etape 2: Application du vecteur d’entrée xp = (xp1,xp2,…,xpN)T à la couche d’entrée.

- Etape 3: Calcul des entrées des neurones de la couche cachée :

netpjc = Σ i=1,N
bjic.xpi + wjc

- Etape 4: Calcul des sorties des neurones de la couche cachée :


ipj = fjc(netpjc)

- Etape 5: Passer à la couche de sortie et calculer les entrées de chaque neurone:

netpks = Σ j=1,L
bkjs.ipj + wks

- Etape 6: Calcul des sorties des neurones de la couche de sortie :


opk = fks(netpks)

- Etape 7: Calcul de l’erreur de la couche de sortie :


δpks = (ypk – opk)f’ks(netpks)

11
LES RESEAUX DE NEURONES Benbouchama Ch. (Mars 2004)

- Etape 8: Calcul de l’erreur de la couche cachée :

δpjc = f’jc(netpjc) Σ k
δpks. bkjs

L’erreur de la couche cachée est calculée avant la modification des poids de


la couche de sortie.

- Etape 9: Modification des poids de la couche de sortie:


bkjs(t+1) = bkjs(t) + η δpks ipj

- Etape 10: Modification des poids de la couche cachée:


bjic(t+1) = bjic(t) + η δpjc xI
L’ordre de modification des poids dans une même couche n’est pas
important.

- Etape 11: Calcul de l’erreur :

Ep = ½ Σ k=1,M
δpk2
Continuer l’algorithme jusqu’à l’obtention de Ep ≤ Epseuil

3.3.2. Problèmes posés par l’algorithme de la rétropropagation

Bien que l’algorithme de la rétropropagation soit le plus utilisé pour


l’apprentissage supervisé des réseaux de neurones statiques, son implantation se
heurte à plusieurs difficultés techniques. Les principales sont comme suit :

a- L’architecture du réseau
Il n’existe pas de règle générale pour déterminer la structure du réseau (le nombre
de couches cachées et le nombre de neurones par couche), sachant que le problème
critique pendant l’apprentissage est de trouver un réseau assez large pour apprendre
mais assez petit pour généraliser.

b- Le temps d’apprentissage
Le temps nécessaire à l’apprentissage augmente avec le nombre de couples
d’apprentissage, ce qui diminue la vitesse de convergence.

c- La convergence de l’algorithme
Aucune preuve mathématique sur la convergence de cet algorithme vers un
minimum global n’existe. Du fait que cette méthode utilise la descente du gradient, la
recherche d’un minimum global, sur la surface de l’erreur dans le domaine des poids,
peut présenter un problème si cette surface possède des minimums locaux qui peuvent
emprisonner l’algorithme.

d- Le pas de correction des poids


Si le pas de correction des poids est trés petit l’apprentissage nécessiterait, alors, un
temps trés important. Par contre, si ce même pas est trés grand le réseau devient
oscillatoire, ce qui compromet sa convergence. La solution à ce problème est de
choisir un pas variable, initialisé à une grande valeur comprise entre 0 et 1, et qui sera
diminué jusqu’à une valeur minimale positive fixée au préalable.

12
LES RESEAUX DE NEURONES Benbouchama Ch. (Mars 2004)

e- La saturation du réseau
Si les poids prennent de grandes valeurs, les sorties deviennent grandes et se
rapprochent de la zone de saturation de la fonction. La solution à ce problème est un
compromis à faire entre :
- Le choix d’un pas de correction petit.
- L’initialisation des poids à de trés petites valeurs.

3.3.3. Techniques d’accélération de la rétropropagation

Plusieurs approches ont été proposées pour remédier aux différentes difficultés
techniques rencontrées par la rétropropagation :

3.3.3.1. La descente du gradient avec un pas d’apprentissage variable

Avec la descente du gradient standard, le pas d’apprentissage est maintenu


constant pendant l’entraînement. La performance de l’algorithme est trés sensible au
choix de la valeur du pas d’apprentissage, si celui-ci est mis à une valeur trés élevée,
l’algorithme oscille et devient instable. Si le pas est trés petit l’algorithme risque de
prendre une longue durée pour converger.
La performance de l’algorithme peut être améliorée si on permet au pas de changer
pendant le processus d’entraînement.

3.3.3.2. La rétropropagation résiliante

L’objectif de cet algorithme est d’éliminer les effets indésirables des


amplitudes des dérivées partielles (le gradient), seul le signe de la dérivée est utilisé
pour déterminer la direction du changement de poids. La taille du changement des
poids est fixée par un paramètre indépendant et prédéfini.

3.3.3.3. Algorithmes du gradient conjugué

L’algorithme de la descente du gradient ajuste les poids selon le négatif du


gradient. Malgré que l’erreur diminue rapidement dans ce sens, ceci ne produira pas
nécessairement la convergence la plus rapide.
Dans les algorithmes du gradient conjugué, une recherche est effectuée le long des
directions conjuguées ce qui produit en général une convergence plus rapide.

3.3.3.4. La mise à jour Quasi-Newton

La méthode de newton consiste à calculer le Hessien pour une optimisation


rapide et plus efficace. Généralement, la méthode de newton converge plus
rapidement que les méthodes du gradient conjugué, mais malheureusement le calcul
de la matrice hessienne est complexe et coûteux. Il existe une classe d’algorithmes qui
sont basés sur la méthode de newton, mais n’exigent pas le calcul du hessien. Ces
algorithmes sont appelés les méthodes quasi-newton. Ces méthodes changent le
hessien approximé à chaque itération.

13
LES RESEAUX DE NEURONES Benbouchama Ch. (Mars 2004)

3.3.3.5. La mise à jour de Levenberg-Marquardt

Comme pour les algorithmes quasi-newton, cet algorithme n’exige pas le calcul
du hessien, seulement il l’approxime d’une façon simple.

4. PROPRIETES ET CAPACITES DES RESEAUX DE NEURONES

Un réseau de neurones se comporte convenablement (behaves), réagit (reacts),


abrège (abstracts), s’auto-organise (self-organizing), apprend (learns), généralise
(generalizes) et oublie (forgets) plutôt qu’exécuter les programmes.
Un réseau de neurones est basé sur une logique mathématique, parallélisme, mémoire
associative, tolérance sur les résultats, adaptabilité, intuition et reconnaissance de
formes sur base statistique et historique.
Le réseau de neurones est tolérant sur l’erreur d’un résultat.
Il peut apprendre et décider à partir de données incomplètes ; parce que l’information
est distribuée à travers le système, plutôt que résider dans une mémoire spécifique et
un pourcentage des nœuds peut être inopérant sans changer significativement
l’environnement total du système. Il s’adapte à un défaut d’électronique (hardware)
plus que les ordinateurs conventionnels.

Les caractéristiques qui permettent aux réseaux de neurones d’être attractifs sont les
suivantes :

- Capacité d’apprendre :
C’est la qualité la plus importante et remarquable. Avec des données
d’entrées/sorties cibles qui définissent un système, on peut avoir une idée sur ce
dernier à partir de la relation reliant les entrées aux sorties. Ceci, sans connaître au
départ aucune information sur le système ou sur son fonctionnement. Cette relation
peut être imprécise, approximative ou prend beaucoup de temps pour s’approcher du
résultat désiré.

- Capacité de généraliser :
C’est la capacité d’un réseau de neurone d’être insensible aux variations des
données d’entrée. C’est à dire qu’il s’adapte à un environnement non parfait.

- Capacité d’abréger :
C’est la capacité de produire des sorties non rencontrées avant, à partir
d’entrées non rencontrées aussi.

5. SITUATIONS OU LES RESEAUX DE NEURONES PEUVENT ETRE


UTILISES

Il y a trois situations ou le réseau de neurones peut être utilisé :


1- Situation où il y a peu de décisions à prendre parmi un grand
nombre de données : traitements d’images, synthèse de la parole,
reconnaissance de caractères alphabétiques et écriture à la main…etc.

14
LES RESEAUX DE NEURONES Benbouchama Ch. (Mars 2004)

2- Situation où les correspondances non-linéaires (non-linears


mapping) sont nécessaires : évaluation d’un crédit, commande de
robot…etc.
3- Cas où une situation optimale est nécessaire à trouver : bruit
dans les communications, programmation-réservation dans les agences des
transports aériens…etc.

6. EXEMPLES D’APPLICATION : APPROXIMATION D’UNE FONCTION

L’une des applications les plus intéressantes des réseaux de neurones est
l’approximation des fonctions.
Comme premier exemple, on approximera la fonction :

y = sin(x)

Pour cela, on utilise un réseau de neurones statique appartenant à la classe η1,20,1. Les
fonctions d’activation des neurones de la couche d’entrée ainsi que celle du neurone
de la couche cachée sont de type tangente-sigmoïde. Celles des neurones de la
couche de sortie sont de type linéaire.
Les graphes suivants montrent l’amélioration des performances du réseau de
neurones durant l’apprentissage.

Function Approximation Function Approximation


1 1

0.8 0.8

0.6 0.6

0.4 0.4

+ 0.2 +
t: :t 0.2
e
g e
g
r r
a 0 a 0
T T
-, -,
:t :t
u -0.2 u -0.2
pt pt
u u
O -0.4 O -0.4

-0.6 -0.6

-0.8 -0.8

-1 -1
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
Input Input

30 itérations 200 itérations

Function Approximation Function Approximation


1.5 1.5

1 1

+ 0.5 + 0.5
t: t:
e
g e
g
r r
a a
T T
,- ,-
t: 0 t: 0
u
pt u
pt
u u
O O

-0.5 -0.5

-1 -1
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
Input Input

1000 itérations 10000 itérations

15
LES RESEAUX DE NEURONES Benbouchama Ch. (Mars 2004)

Comme deuxième exemple, on approximera la fonction :

sin( x)
y=
x

Pour cela, on utilise un réseau de neurones statique appartenant à la classe η1,50,1. Les
fonctions d’activation des neurones de la couche d’entrée ainsi que celle du neurone
de la couche cachée sont de type tangente-sigmoïde. Celles des neurones de la
couche de sortie sont de type linéaire.
Les graphes suivants montrent l’amélioration des performances du réseau de
neurones durant l’apprentissage.

Function Approximation Function Approximation


2 1.2

1
1.5
0.8

+ 1 + 0.6
t: :t
e
g e
r g
a r
T a 0.4
T
-, -,
:t
u
pt
0.5 t:
u
pt 0.2
u
O u
O
0
0

10 itérations -0.2
200 itérations
-0.5
0 5 10 15 20 25 30 35 40 45 -0.4
Input 0 5 10 15 20 25 30 35 40 45
Input

Function Approximation Function Approximation


1.2 1

1 0.8

0.8
0.6

+ 0.6 +
:t :t
e e 0.4
g g
r r
a 0.4 a
T T
-, -, 0.2
t: t:
u
p 0.2 u
p
t t
u u
O O
0
0

-0.2
1000 itérations -0.2
10000 itérations
-0.4 -0.4
0 5 10 15 20 25 30 35 40 45 0 5 10 15 20 25 30 35 40 45
Input Input

16
LES RESEAUX DE NEURONES Benbouchama Ch. (Mars 2004)

Chapitre 2

IDENTIFICATION PAR LES RESEAUX DE NEURONES

1. INTRODUCTION

Les réseaux de neurones avec leur capacité d’approximer n’importe quelles


fonctions peuvent être utilisés comme modèles de base des systèmes non-linéaires.

Une importante question dans le contexte de l’identification des systèmes est


l’identifiabilité du système, autrement dit, étant donnée une structure particulière au
modèle, est-ce que le système étudié peut être représenté convenablement par cette
structure ?

Dans l’absence des résultats théoriques concrets pour l’identification par les réseaux
de neurones, nous supposerons que tous les systèmes étudiés dans ce cadre
appartiennent à la classe des systèmes représentables par les réseaux choisis.

Dans le présent chapitre :

Nous allons d’abord parler de l’identification directe, en utilisant les réseaux


de neurones généralisés qui sont une combinaison entre des opérateurs
linéaires et des réseaux de neurones statiques.

On parlera, ensuite, de l’identification inverse.

2. IDENTIFICATION DIRECTE

Une structure permettant l’identification directe des systèmes dynamiques est


schématisée dans la figure suivante :

u(t) Système y(t)

Réseau de neurones ŷ(t)

Modèle du système

17
LES RESEAUX DE NEURONES Benbouchama Ch. (Mars 2004)

On remarque, que le réseau de neurones est placé en parallèle avec le système, et c’est
l’erreur entre la sortie y(t) du système et celle du réseau ŷ(t) (erreur de prédiction) qui
est utilisée pour l’apprentissage du réseau.

Le comportement dynamique des systèmes physiques étudiés pose un problème pour


l’intégration de cette dynamique dans les réseaux de neurones. Une solution à ce
problème consiste à augmenter le nombre d’entrées du réseau en considérant les
sorties et les entrées précédentes.

Dans ce cadre, quatre modèles sont introduit pour la représentation des systèmes non-
linéaires SISO avec la possibilité de généraliser aux systèmes MIMO. Ces modèles ne
sont en fait qu’une extension des modèles utilisés dans les systèmes linéaires aux
systèmes non-linéaires. En tenant compte de ceci, des modèles d’identification vont
être proposés en utilisant des réseaux de neurones qui peuvent être entraînés par
l’algorithme de la rétropropagation.

2.1. Modèle I

y(k+1) = Σ αi.y(k-i) + g[u(k), u(k-1),…, u(k-m+1)]


i=0,n-1

y(k+1) y(k)
-1
u(k) + z
zn(k)

z-1
zn+m-1(k) zn+1(k) z-1
g(.) αT
zn+2(k)
z2(k)
z-1
zn+1(k) z1(k) z-1

Dans ce modèle, la sortie du système non-linéaire inconnu est assumée linéairement


dépendante de ses valeurs précédentes et non linéairement des valeurs passées de
l’entrée. L’avantage de ce modèle est qu’il permet de discuter la stabilité en régime
libre des systèmes non-linéaires.

18
LES RESEAUX DE NEURONES Benbouchama Ch. (Mars 2004)

2.2. Modèle II

y(k+1) = f[y(k), y(k-1),…, y(k-n+1)] + Σ i=0,m-1


βi.u(k-i)

u(k) y(k+1) y(k)


-1
+ z
zn(k)
-1
z
zn+m-1(k) zn-1(k) z-1

βT f(.)
zn+2(k) z2(k)

z-1 zn+1(k) z-1


z1(k)

Dans ce cas, la sortie du système non-linéaire inconnu est assumée linéairement


dépendante de l’entrée u(k) et de ses valeurs passées, et non-linéairement de ses
anciennes valeurs. L’avantage de ce modèle est qu’il est directement applicable dans
la commande par les réseaux de neurones.

2.3. Modèle III

y(k+1) = f[y(k), y(k-1),…, y(k-n+1)] + g[u(k), u(k-1),…, u(k-m+1)]

y(k+1) y(k)
u(k) + z-1
zn(k)

z-1 zn-1(k) z-1


zn+m-1(k)
g(.) f(.)
zn+2(k)
z2(k)
-1
z
zn+1(k) z1(k) z-1

Dans ce cas, la sortie du système non-linéaire inconnu dépend non-linéairement à la


fois de ses valeurs passées et des valeurs passées de l’entrée. Cependant les effets de
l’entrée et de la sortie sont additionnés.

19
LES RESEAUX DE NEURONES Benbouchama Ch. (Mars 2004)

2.4. Modèle IV

y(k+1) = f[y(k), y(k-1),…, y(k-n+1), u(k), u(k-1),…, u(k-m+1)]

zn(k)

z-1
zn-1(k)

z2(k)

z-1
z1(k) y(k+1) y(k)
f(.) z-1
u(k)

z-1 zn+m-1(k)

z-1 zn+m-2(k)

zn+2(k)

z-1
zn+1(k)

Ce modèle est le plus général, puisqu’il englobe les précédents modèles. Le sortie à
n’importe quel instant est une fonction non-linéaire des valeurs passées de l’entrée et
de la sortie à la fois.

2.5. Procédure d’identification

Le modèle d’identification du système est composé de réseaux de neurones


et des lignes de retards.

Dans chaque cas, le réseau de neurones est supposé contenir suffisamment


de paramètres (poids) afin d’être apte à représenter exactement la
caractéristique entrée-sortie du système non-linéaire correspondant. Dans
ce cas, la fonction non-linéaire dans l’équation aux différences décrivant le
système peut être remplacé par un réseau de neurones avec des poids fixes
mais inconnus. En plus, on doit supposer qu’une solution théorique pour le
problème de l’identification existe.

20
LES RESEAUX DE NEURONES Benbouchama Ch. (Mars 2004)

Pour identifier le système, un modèle d’identification est choisit basé sur


des informations à priori concernant le système. Si y(k+1) et ŷ(k+1) sont
respectivement la sortie à l’instant k+1 du système et celle du modèle.
L’erreur e(k+1) = ŷ(k+1) - y(k+1) est utilisée pour ajuster les poids du
réseau de neurones par l’algorithme de la rétropropagation.

3. IDENTIFICATION INVERSE

L’utilisation des réseaux de neurones pour l’identification de la dynamique inverse


des systèmes non-linéaires présente une grande promesse pour la recherche, car les
modèles inverses des systèmes dynamiques ont une utilité immédiate dans la
commande, ceci sera plus détaillé dans le troisième chapitre.
Plusieurs approches existent pour identifier l’inverse des systèmes dynamiques non-
linéaires par les réseaux de neurones. La figure suivante montre le schéma global de
l’identification inverse.

u(t) Système y(t)

Réseau de neurones

Modèle de l’inverse du système

4. EXEMPLE

Le système qu’on veut identifier possède l’équation aux différences suivante :

y (k )
y(k + 1) = + u 3 (k )
1 + y(k ) 2

qui correspond à : y (k + 1) = f [ y (k )] + g[u (k )]

y (k )
avec : f [ y (k )] = et g[u (k )] = u 3 (k )
1 + y (k ) 2

Le modèle qui sera utiliser pour l’identification est le modèle 3 qui est formé de deux
réseaux Nf et Ng qui appartiennent à la classe η, ce système sera donc décrit par
l’équation aux différences :

yˆ (k + 1) = N f [ y (k )] + N g [u (k )]

21
LES RESEAUX DE NEURONES Benbouchama Ch. (Mars 2004)

Les deux réseaux Nf et Ng sont en fait utilisés pour déterminer les estimées fˆ et ĝ
des fonctions f et g.

Les graphes suivants montrent l’amélioration des performances du réseau de neurones


Nf durant l’apprentissage :

Function Approximation Function Approximation


0.5 0.5

0 0
+ +
:t t:
e
g e
g
r r
a a
T T
-, -,
t: t:
u
p u
p
t t
u -0.5 u -0.5
O O

-1 -1
-10 -8 -6 -4 -2 0 2 4 6 8 10 -10 -8 -6 -4 -2 0 2 4 6 8 10
Input Input

60 itérations 100 itérations

Function Approximation Function Approximation


0.6 0.5

0.4

0.2

0
+ 0 +
t: t:
e
g e
g
r r
a -0.2 a
T T
-, -,
t: t:
u
p -0.4 u
p
t t
u u -0.5
O O
-0.6

-0.8

-1 -1
-10 -8 -6 -4 -2 0 2 4 6 8 10 -10 -8 -6 -4 -2 0 2 4 6 8 10
Input Input

300 itérations 2000 itérations

22
LES RESEAUX DE NEURONES Benbouchama Ch. (Mars 2004)

Les graphes suivants montrent l’amélioration des performances du réseau de neurones


Ng durant l’apprentissage :

Function A pproxim ation Func tion A pprox im ation


8 8

6 6

4 4
Output: -, Target: +

Output: -, Target: +
2 2

0 0

-2 -2

-4 -4

-6 -6

-8 -8
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2
Input Input

60 itérations 100 itérations

Func tion A pprox im ation Function Approx im ation


8 8

6 6

4 4
Output: -, Target: +

Output: -, Target: +

2 2

0 0

-2 -2

-4 -4

-6 -6

-8 -8
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2
Input Input

300 itérations 5000 itérations

23
LES RESEAUX DE NEURONES Benbouchama Ch. (Mars 2004)

Chapitre 3

COMMANDE PAR LES RESEAUX DE NEURONES

1. INTRODUCTION

Les avantages de l’application des réseaux de neurones dans la commande des


systèmes sont, en général :
- Le traitement parallèle et distribué des informations servant à la commande.
- Des facultés souples d’adaptation et d’apprentissage.
- L’absence presque totale de restrictions sur les non-linéarités du système.
- La possibilité de débuter la conduite avec un minimum d’information à priori sur le
système.
- La rapidité du traitement grâce à une mise en œuvre parallèle possible.
- La robustesse par rapport au bruit et par rapport aux défaillances internes.
Différentes techniques de commande des systèmes en utilisant les réseaux de
neurones existent.

2. COMMANDE SUPERVISEE

Cette approche appelée aussi ‘copying an existing controller’, est basée sur
l’utilisation d’un régulateur existant (qui pourrait être un opérateur humain) comme
fonction inconnue à approximer par un réseau de neurones. Les sorties désirées du
réseau de neurones pour une entrée donnée sont les valeurs de la commande générés
par le contrôleur existant.

Système

Régulateur

Réseau de neurones

24
LES RESEAUX DE NEURONES Benbouchama Ch. (Mars 2004)

L’utilité de cette méthode consiste en:


- Le régulateur peut être un élément impraticable lors de l’utilisation (l’être humain
par exemple).
- Le réseau de neurones étant un approximateur de fonctions, on peut donc avoir une
forme explicite (forme mathématique) du régulateur qui permettrait une analyse.
- Les réseaux de neurones possédant la capacité de calcul parallèle et distribué
permettront une meilleure implantation du contrôleur existant.

3. COMMANDE INVERSE

La commande inverse est basée sur la détermination du modèle inverse du système


à commander. Ce modèle inverse sera simplement mis en cascade avec le système
afin que le système résultant soit une fonction identité.

yd Inverse du u Système y
système
Sortie désirée Sortie réelle

Le régulateur neuronal doit approximer l’inverse du système, et produira, ainsi, à


partir de la réponse désirée yd le signal de commande u afin que y soit proche de yd.
Pour approximer l’inverse du système plusieurs approches d’entraînement du réseau
de neurones existent.

3.1. Apprentissage indirect

yd Réseau de u y
neurones Système
+

-
Réseau de
neurones

25
LES RESEAUX DE NEURONES Benbouchama Ch. (Mars 2004)

L’avantage de cette méthode est quelle permet d’entraîner le réseau uniquement dans
le domaine de fonctionnement désiré puisqu’on commence par la sortie désirée yd à
partir de laquelle sont générés tous les autres signaux.

3.2. Apprentissage généralisé

u y
Système
+

-
Réseau de
neurones

Une entrée du système est sélectionnée et appliquée au système pour obtenir la valeur
de y correspondante. Le réseau de neurones est entraîné pour reproduire u à sa sortie à
partir de y. Ainsi entraîné, il doit, par la suite, être capable de produire les valeurs
appropriées de u pour un signal de référence yd donné. Cette méthode ne sera efficace
que si la référence yd est suffisamment proche de l’un des signaux d’entraînement (i.e.
des y utilisées).

3.3. Apprentissage spécialisé

yd Réseau de u y
neurones Système

+
-

Cette méthode présente une architecture pour entraîner un réseau de neurones pour
opérer proprement dans le domaine de fonctionnement seulement.

26
LES RESEAUX DE NEURONES Benbouchama Ch. (Mars 2004)

L’erreur entre la sortie du système y et la sortie désirée yd doit être rétropropagée à


travers le système afin d’avoir l’erreur à la sortie du réseau de neurones, utilisée dans
l’entraînement.

4. COMMANDE ADAPTATIVE AVEC MODELE DE REFERENCE

L’idée de base de la commande adaptative avec modèle de référence est de faire


suivre le système, un certain modèle de référence.
L’approche neuronale est schématisée dans la figure suivante:

r Modèle de ym
référence

r Réseau de u Système y + e
neurones -

5. COMMANDE OPTIMALE

Cet approche diffère des autres par le fait qu’elle assume que le système est
inconnu, l’erreur utilisée par l’algorithme d’apprentissage est fournie uniquement à
travers une fonction critique.

Système

Fonction critique

Signal d’évaluation

Réseau de neurones

27

Vous aimerez peut-être aussi