optimisation des réseaux de neurones par pso
TRANSCRIPT
REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINSTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA
RECHERCHE SCIENTIFIQUE
Université Larbi Ben M’hidi Oum El Bouaghi
Faculté Des Sciences et sciences appliquées Département : Génie Electrique
Spécialité : Informatique Industrielle Mémoire De Fin D’étude En Vue De L’obtention Du Diplôme
De Master En « Informatique Industrielle »
Thème
Réalisé par : Proposé et dirigé par :
• Djaaoui Sabrine Mr Djebabla. A
Promotion 2014/2015
Optimisation des réseaux de neurones par PSO
Dédicaces
i
Dédicaces Je dédie ce mémoire
A ma petite famille pour tous les sacrifices consentis,
pour leur soutient durant toute mes années d’études.
A mes très chers parents.
A mon frère Md.Amine et ma sœur Maroua.
A mes amies, Hibat Allah, Rachida, Nora, Ahlème,
Ikrame, Walid, Youcef, Zakaria et le reste son exception
A tous les enseignants et les collaborateurs de la
spécialité informatique industrielle.
Remerciements
ii
Remerciements A l’issue du cycle de ma formation je tiens à
remercier dieu le tout puissant. Mes remerciements les plus sincères vont à :
Monsieur A. Djebabla pour son suivi avec
efficacité et ses conseils précieux.
Mes vifs remerciements vont aux membres de
jury d’avoir accepté d’évaluer ce travail.
En fin à toute personne qui a participé de près
ou de loin à l’accomplissement de ce mémoire
Aux enseignants qui ont participé à ma
formation, soient sincèrement remerciés.
Table des matières
Table des matières
Listes des figures et des tableaux .................................................................................... vi
Liste des abréviations ...................................................................................................... ix
Introduction générale ................................................................................................ 1
Chapitre I
Aperçu sur les réseaux de neurones
I.1. Introduction ................................................................................................................ 3
I.2. Modélisation d’un neurone formel...................................................................... 3
I.2.1. Modèle biologique .................................................................................... 3
I.2.2. Neurone formel ......................................................................................... 4
I.2.3. Fonctions d’activation d’un réseau de neurones ...................................... 5
I.3. Architecture des Réseaux de neurones ............................................................... 7
I.3.1. Réseaux de neurones multicouche : MLP ................................................ 7
I.3.2. Réseaux de neurones à fonction de base radiale : RBF ............................ 8
a. Placement des centres dans un réseau de neurones RBF ................ 9
b. Algorithme des k-means .................................................................. 9
I.4. Entrainement d’un Réseau de neurones ............................................................ 12
I.4.1. Réseau de neurones émulateur : NNE .................................................... 12
I.4.2. Réseau de neurones contrôleur : NNC ................................................... 12
a. Définition ...................................................................................... 12
b. Réseau de neurones contrôleur (NNC)......................................... 13
c. Structure de contrôle direct par réseaux de neurones ................... 13
I.5.Conclusion ................................................................................................................. 14
iii
Table des matières
Chapitre II
Optimisation d’entrainement des réseaux de neurones par PSO II.1. Introduction ............................................................................................................. 15
II.2. Métaheuristiques pour l’optimisation des problèmes ............................................. 16
II.2.1 Problème d'optimisation ................................................................................ 16
II.3. Algorithmes d'optimisation approchée ................................................................... 16
II.3.1. Heuristiques…... ........................................................................................... 16
II.3.2 Métaheuristiques ........................................................................................... 17
II.4. Optimisation par essaim de particules .................................................................... 17
II.4.1. Fondement de la méthode ............................................................................. 17
II.4.2. Formalisation de la méthode PSO ................................................................ 18
a. Algorithme de base (sans voisinage) ....................................................... 18
b. Configuration de la méthode ................................................................... 19
c. Algorithme simplifié avec voisinage ....................................................... 23
II.5. Optimisation d’entrainement des réseaux de neurones par PSO ............................ 23
II.5.1. Adaptation de la métaheuristique PSO aux réseaux de neurones ....... 23
II.5.2.Algorithme d’optimisation des réseaux de neurones MPL par PSO .... 25
II.6. Conclusion .............................................................................................................. 26
Chapitre III
Simulation
III.1. Présentation du travail à réaliser ............................................................................ 27
III.2. Emulation du procédé Box & Jenkins ................................................................... 28
III.2.1. Présentation du procédé Box & Jenkins ................................................. 28
III.2. 2. Emulation par réseau MLP utilisant la rétropropagation....................... 29
III.2.3. Emulation par réseau RBF utilisant la rétropropagation et le k-means ..31
iv
Table des matières
III.2.4. Emulation par trois réseaux MLP utilisant la rétropropagation ....... 32
III. 2. 5. Emulation par un réseau MLP utilisant la PSO ............................... 34
III.3. Contrôle de température d’un bain d’eau par réseaux MLP optimisés par PSO ... 36
III.3.1. Présentation du procédé à contrôler ................................................... 36
III.3.2. Résultat de simulation du contrôle .................................................... 37
III.4. Conclusion ............................................................................................................. 39
Conclusion générale ................................................................................................ 40
v
Liste des figures et des tableaux
vi
Liste des figures
Chapitre I
Figure (I.1) : Schéma d’un neurone biologique ............................................................. 4
Figure (I.2) : Modèle d’un neurone artificiel ................................................................. 5
Figure (I.3) : Exemple de réseau de neurones MLP avec deux couches cachées .......... 8
Figure (I.4) : Exemple de Réseau de neurones RBF à quatre entrées. ........................... 9
Figure (I.5) : Structure d’entrainement d’un réseau de neurones émulateur ................ 12
Figure (I.6) : Structure d’entrainement du contrôle neuronal direct ............................ 14
Chapitre II
Figure (II.1) : Topologies de voisinage dans un essaim de particules
(a-anneau (avec n=2), b- rayon, c-étoile) ...................................................................... 20
Chapitre III Figure (III.1) : Signal d’entrée du systéme Box & Jenkins ......................................... 28
Figure (III.2) : Signal de sotie du systéme Box & Jenkins .......................................... 29
Figure (III.3) : signal de sortie émulée et signal de référence ..................................... 29
Figure (III4) : signal d’erreur d’émulation .................................................................. 30
Figure (III.5) : signal de sortie émulée et signal de référence ..................................... 31
Figure (III.6) : signal d’erreur d’émulation ................................................................. 31
Figure (III.7) : signal de sortie émulé et signal de référence ....................................... 33
Figure (III.8) : signal d’erreur global d’émulation ...................................................... 33
Figure (III.9) : signal de sortie émulé et signal de référence ....................................... 34
Figure (III.10) : signal d’erreur d’émulation ............................................................... 35
Liste des figures et des tableaux
vii
Figure (III.11) : Signal de la fonction objectif ............................................................. 35
Figure (III.12) : Signal de sortie contrôlée et sortie de référence .............................. 37
Figure (III.13) : Signal d’erreur de sotie ...................................................................... 38
Figure (III.14) : Signal de la fonction objectif ............................................................. 38
Liste des tableaux
Chapitre I Table (I.1) : Exemples de fonctions d’activation .......................................................... 6
Table (I.2) : Analogie entre neurone biologique et neurone artificiel ........................... 6
Table (I.3) : Comparaison entre les réseaux MLP et RBF .......................................... 11
Liste des abréviations
ix
Liste des abréviations
MLP: Multi Layer Perceptrons
RBF: Radial Basis Function
NNE: Neural Network Emulator
NNC: Neural Network Controller
PSO: Particle Swarm Optimization
Introduction générale
Introduction générale
L’optimisation est une branche des mathématiques qui permet de résoudre des
problèmes en déterminant le meilleur élément d’un ensemble selon certains critères
prédéfinis. De ce fait, l’optimisation est omniprésente dans tous les domaines et évolue
sans cesse depuis longtemps.
De nombreux problèmes réels d’optimisation sont complexes. Par conséquent,
ils ne pourront pas être résolus de manière exacte dans un temps raisonnable, puisque la
capacité de calcul des machines évolue linéairement alors que le temps nécessaire à la
résolution de ces problèmes évolue exponentiellement.
Les méthodes d’optimisation recherchent une solution, ou un ensemble de
solutions, dans l’espace de recherche, qui satisfont l’ensemble des contraintes et qui
minimisent, ou maximisent, la fonction objective.
Parmi ces méthodes, les métaheuristiques sont des algorithmes génériques
d’optimisation : leur but est de permettre la résolution d’une large gamme de problèmes
différents, sans nécessiter de changements profonds dans l’algorithme. Elles forment
une famille d’algorithmes visant à résoudre des problèmes d’optimisation difficile, pour
lesquels on ne connaît pas de méthode classique plus efficace.
Depuis quelques décennies ces métaheuristiques ont été inspirées à partir des
systèmes naturels, qu’ils soient pris en physique (cas du recuit simulé), en biologie de
l’évolution (cas des algorithmes génétiques), ou encore en éthologie (cas des
algorithmes de colonie de fourmis ou de l’optimisation par essaim de particules).
L’optimisation par essaim particulaire (PSO), qui dérive de la descente
stochastique, entre dans cette famille d'algorithmes. Elle s’inspire fortement des
relations grégaires des oiseaux migrateurs qui doivent parcourir des longues distances et
qui doivent donc optimiser leurs déplacements en termes d’énergie dépensée, comme
1
Introduction générale par exemple la formation en V.
L’approche de réseaux de neurones artificiels est étroitement liée au domaine de
l’intelligence artificielle. Celle-ci s’inspire du traitement de l’information effectué par le
cerveau humain, qualifié d’intelligent, dont le comportement est soutenu par un
ensemble de mécanismes mentaux, basés sur des processus neurophysiologiques.
Cette approche peut tenir en compte des non linéarités et des incertitudes des
systèmes réels. Elle est basée sur les capacités d’apprentissage et d’optimisation de ces
derniers.
La rétro propagation (back propagation) est la méthode d’optimisation la plus
utilisée pour l’entrainement des réseaux de neurones. Elle permet de calculer le gradient
de l'erreur pour chaque neurone, de la dernière couche vers la première. Cependant elle
nécessite la connaissance de la commande et exige certaines caractéristiques sur la
fonction objectif (cout). Ce qui nous a motivés d’essayer la métaheuristique PSO pour
l’optimisation d’entrainement des réseaux de neurones pour le contrôle des systèmes
nonlinéaires complexes.
Même si notre étude se limite à essayer la PSO sur deux cas d’exemples et à
révéler l’adaptation de celle-ci aux réseaux de neurones, et aux problèmes
d’optimisation. L’intérêt de Cette association PSO-RN, si elle s’articule
convenablement va nous permettre d’espérer quelle résout de nombreux problèmes
d’optimisation et de contrôle dans la littérature, vu l’importance et les spécifications de
chacun de ces deux éléments.
L’étude a été organisée comme suit :
Dans le premier chapitre, nous avons présenté quelques généralités sur les
réseaux de neurones, les différentes structures et les méthodes d’entrainements en tant
que réseau émulateur et réseau contrôleur direct.
Le deuxième chapitre, a été consacré à l’étude de la métaheuristique PSO, et à
l’adaptation de celle-ci aux réseaux de neurones pour aboutir à un algorithme
d’optimisation.
Le troisième chapitre présente un test de comparaison avec des méthodes
classiques pour l’émulation d’un système dit ‘Box and Jenkins’, puis un second test de
contrôle d’un système non linéaire.
Enfin le mémoire est clôturé par une conclusion qui synthétise l’étude.
2
Chapitre I Aperçu sur les réseaux de neurones
3
CHAPITRE I
Aperçu sur les réseaux de
neurones
I.1. Introduction
Les réseaux de neurones, à base de structures cellulaires artificiels, constituent
une approche permettant d’aborder sous des angles nouveaux les problèmes de
perception, de mémoire, d’apprentissage et de raisonnement. Ils se révèlent aussi des
alternatives très prometteuses pour contourner certaines limitations de performances,
des méthodes classiques. Grâce à leur traitement parallèle de l’information et à leur
mécanismes inspirés des cellules nerveuses, ils infèrent des propriétés émergentes
permettant de solutionner des problèmes jadis qualifiés de complexes.
Ce premier chapitre est une base théorique portant sur les principales structures
des réseaux de neurones, et leurs méthodes d’entrainement en tant qu’émulateur et
contrôleur.
I.2. Modélisation d’un neurone formel
I.2.1. Modèle biologique [1] Le cerveau humain contient environ 100 milliards de neurones biologiques. Un
neurone biologique Figure (I.1) est une cellule vivante spécialisée dans le traitement
des signaux électriques. Un neurone typique a plusieurs composants. Les dendrites, le
corps cellulaire et l'axone.
Chapitre I Aperçu sur les réseaux de neurones
4
Les dendrites servent à recevoir les signaux en provenance des autres neurones.
Les dendrites sont de fines extensions tubulaires qui se ramifient autour du neurone et
forment une sorte de vaste arborescence. Les signaux envoyés au neurone sont captés
par les dendrites. Contrairement aux dendrites qui se ramifient autour du neurone,
l'axone est plus long et se ramifie à son extrémité où il se connecte aux dendrites des
autres neurones.
Figure (I.1) : Schéma d’un neurone biologique
I.2.2. Neurone formel Le neurone artificiel est une modélisation simplifiée du neurone biologique,
c’est un processeur élémentaire qui reçoit un nombre d’entrées en provenance des autres
neurones ou de l’extérieure. A chacune de ses entrées est associé un poids représentant
la force de connexion [2] [3].
Celui-ci permet de calculer une somme pondérée, en utilisant une fonction de
transfert généralement non linéaire (échelon, sigmoïde, gaussienne, ...).
Quand des signaux d'entrée x1, x2, …, xn arrivent au neurone par des liens de
raccordement avec les poids associés w1, w2, …, wn, l'entrée résultante du neurone,
appelée ‘entrée nette’, est la somme pondérée.
Chapitre I Aperçu sur les réseaux de neurones
5
𝑺 = �𝒘𝒊 𝒙𝒊 (𝐈.𝟏) 𝒏
𝒊=𝟏
Si le seuil de polarisation est b (Biais) et la fonction d'activation est 𝒇, alors la sortie de
ce neurone est exprimée par:
𝒚 = 𝒇��𝒘𝒊 𝒙𝒊 − 𝒃)𝒏
𝒊=𝟏
� (𝐈.𝟐)
Figure (I.2) : Modèle d’un neurone artificiel
I.2.3. Fonctions d’activation d’un réseau de neurones La fonction d’activation (fonction de seuillage) sert à introduire une nonlinéarité
dans le fonctionnement du neurone. Les fonctions de seuillage présentent généralement
trois intervalles :
• au-dessous du seuil, le neurone est inactif (souvent dans ce cas, sa sortie vaut 0).
• aux alentours du seuil, il existe une phase de transition.
• au-dessus du seuil, le neurone est actif (souvent dans ce cas, sa sortie vaut 1).
Dans sa première version, le neurone formel était implémenté avec une fonction à
seuil, puis de nombreuses versions ont été proposées. Le neurone de McCulloch et Pitts
a été généralisé avec plusieurs variantes, en fonction de différentes fonctions
d'activations, comme énumérées au tableau (I.1). Les trois fonctions les plus utilisées
sont les fonctions seuil, linéaires et sigmoïdes [4].
Chapitre I Aperçu sur les réseaux de neurones
6
Table (I.1) : Exemples de fonctions d’activation
Le tableau (I.2) résume l’analogie entre le neurone biologique et le neurone artificiel.
Neurone biologique Neurone artificiel
Synapses Poids de connections
Axones Signal de sortie
Dendrites Signal d’entrée
Somma Fonction d’activation
Table (I.2) : Analogie entre neurone biologique et neurone artificiel
Chapitre I Aperçu sur les réseaux de neurones
7
I.3. Architecture des Réseau de neurones Dans un réseau, chaque sous-groupe fait un traitement indépendant des autres et
transmet le résultat de son analyse au sous-groupe suivant. L’information fournie au
réseau va donc se propager couche par couche, de la couche d’entrée vers la couche de
sortie, en passant par une ou plusieurs couches intermédiaires. Chaque neurone dans
une couche est connecté à tous les neurones de la couche suivante et de la couche
précédente. Selon la structure de connexions des neurones et le type de la fonction
d’activation, on peut distinguer principalement les structures de réseaux de neurones
suivantes : I.3.1. Réseaux de neurones multicouches : MLP
Un réseau de neurones multicouches est une extension du célèbre Perceptron,
avec une ou plusieurs couches intermédiaires [5] appelées "couche cachées". Ce sont les
réseaux de neurone les plus connus.
Un tel réseau est présenté par un ensemble de neurones interconnectés entre eux de telle
sorte que l’information circule des entrées vers les sorties [6].
La valeur de la sortie s’obtient en propageant les calculs de gauche vers la droite, avec
éventuellement des connexions directes.
L’expression de la sortie d’un réseau de neurones MLP à une seule cachée est de la
forme :
𝑭(𝒙) = �𝒘𝒊 ∗ 𝒇(𝒙𝒊) (𝒇𝟏 = 𝟏 ) (𝐈.𝟑)𝑵
𝒊=𝟏
wi : ième poids entre la couche cachée et la couche de sortie
xi : entrée i pondérée par le poids entre la couche d’entrée et la couche cachée
f : la fonction d’activation au niveau des nœuds de la couche cachée
f1 : la fonction d’activation au niveau des nœuds de la couche de sortie
Chapitre I Aperçu sur les réseaux de neurones
8
Figure (I.3) : Exemple de réseau de neurones MLP avec deux couches
cachées.
I.3.2. Réseaux de neurones à fonction de base radiale : RBF Un réseau RBF comporte trois couches de neurones, une couche d'entrée, une
couche cachée directement liée à la couche d'entrée par des connexions non pondérées,
et une couche de sortie liée à la couche cachée par des connexions pondérées.
Soit un réseau de n entrées et une sortie; si nc est le nombre de nœuds de la couche
cachée:
Soit ‖𝑿 − 𝑪𝒊‖P
2 = La distance euclidienne.
𝝋 : Fonction de base.
Ci : Centre des fonctions Ci ∈ Rnc et 1 < i < nc.
wi : Poids des connexions entre la couche cachée et la couche de sortie.
La fonction de sortie du réseau RBF peut être exprimée par :
f : Rn →R
𝒙 → 𝑭(𝒙) = �𝒘𝒊𝝋(𝑿 − 𝑪𝒊) (𝐈.𝟒)𝑵
𝒊=𝟏
Pour des fonctions radiales gaussiennes l’expression devient:
𝒈(𝒙,𝒘) = ��𝒘𝒏𝒄+𝟏,𝒊 𝒆𝒙𝒑�−∑ (𝒙𝒋 − 𝒘𝒊𝒋)²𝒏𝒋=𝟏
𝟐𝒘²𝒊 �� (𝐈.𝟓)
𝑵
𝒊=𝟏
Chapitre I Aperçu sur les réseaux de neurones
9
Figure (I.4) : Exemple de Réseau de neurones RBF à quatre entrées.
a. Placement des centres dans un réseau de neurones RBF La plupart des algorithmes d’apprentissage des réseaux RBF procèdent à une
sélection aléatoire d’un certain nombre d’échantillons de l’espace d’entrée comme étant
les centres des fonctions de base, ensuite une méthode d’optimisation linéaire est
utilisée pour déterminer les poids des connexions.
Cependant, dans la plupart des cas, il est évident qu’une sélection aléatoire des
centres n’est pas satisfaisante. Pour remédier à cet inconvénient, certains algorithmes
ont été utilisés, dont la procédure d’apprentissage est divisée en deux étapes : un
apprentissage non supervisé pour l’ajustement des centres des fonctions de base dans la
couche cachée, suivi par un apprentissage supervisé pour l’ajustement des poids des
connexions entre la couche de sortie et la couche cachée.
L’algorithme des k-means est souvent utilisé pour l’ajustement des centres des
fonctions de base d’un réseau RBF.
b. Algorithme des k-means L’algorithme des k-means est une méthode d’apprentissage non supervisé qui sert à
la classification des données. Elle consiste à diviser l’espace d’entrée en k classes selon
les étapes suivantes:
Chapitre I Aperçu sur les réseaux de neurones
10
1. Choisir un nombre de classes (fonctions de base) k.
2. Initialiser les centres des classes, c1, c2,…….ck : On sélectionne k vecteurs (on
parle de vecteur parce que la dimension de chaque centre égale à la dimension du
vecteur d’entrée) à partir de l’ensemble d’entraînement comme des centres initiaux.
3. Calculer les distances euclidiennes entre les centres et le vecteur d’entrée avec
𝒅𝒊𝒔𝒕(𝒊) = ‖𝒙 − 𝒄𝒊‖𝟐 avec i=1: k. (𝐈.𝟔)
Ensuite ajuster le centre correspondant à la distance minimale :
𝒅𝒊𝒔𝒕(𝒋) = 𝒎𝒊𝒏‖𝒙 − 𝒄𝒊‖𝟐 (𝐈.𝟕)
Utilisant la loi d’adaptation suivante :
𝒄𝒋(𝒕) = 𝒄𝒋(𝒕 − 𝟏) + 𝜶(𝒕). �𝒙(𝒕) − 𝒄𝒋(𝒕 − 𝟏)� (𝐈.𝟖)
Avec j est l’indice du centre qui correspond à la distance minimale et 𝜶(t) est un gain
qui appartient à l’intervalle [0 1], et qui tend vers zéro ou diminue avec le temps
(nombre d’échantillons). Une loi qui permet l’adaptation de ce dernier est la suivante :
𝜶(𝒕) =𝜶(𝒕 − 𝟏)
(𝟏 + 𝒊𝒏𝒕𝒆(𝒕 𝒌� ) (𝐈.𝟗)
Avec t est l’indice de l’échantillon, k est le nombre de classes (fonctions de
base) et inte est la partie entière du rapport 𝒕 𝒌� .
Chapitre I Aperçu sur les réseaux de neurones
11
Réseau
MLP
RBF
« Poids » Poids pi
Centre 𝜔Ri
Couche(s)
Cachée(s)
Fonction
combinaison
Produit scalaire ∑i pixi
Distance euclidienne ∑i
(xi-𝜔Ri)²
Fonction
transfert
Logistique f(X) =
1/(1 + exp(−X))
Gaussienne Γ(X) =
exp (−X² 2σ²)⁄
Nombre de
couches
cachées
≥ 1 = 1
Couche
de sortie
Fonction
combinaison
Produit scalaire ∑k pk xk
Combinaison linéaire de
Fonctions gaussiennes
∑k λk𝛤𝛤k
Fonction
transfert
Fonction sigmoïde
𝐟(𝐱) = 𝟏/(𝟏 + 𝐞𝐱𝐩(−𝐗))
ou linéaire f(x) =a*x
Fonction linéaire
f(x) =a*x
Rapidité Plus rapide en mode
« application du
modèle »
Plus rapide en mode
« apprentissage du
modèle »
Avantage Meilleure généralisation
Moins de risque de
convergence non optimale
Table (I.3) : Comparaison entre les réseaux MLP et RBF
Chapitre I Aperçu sur les réseaux de neurones
12
I.4. Entrainement d’un Réseau de neurones
I.4.1. Réseau de neurones émulateur : NNE Un émulateur neuronal d’un système est décrit par la fonction 𝝋 exprimant la
sortie du réseau émulateur NNE en fonction des entrées u(t) qui lui sont fournies. Cette
relation mathématique 𝝋 doit être similaire à la fonction f du système à émuler Figure
(1.5).
Après entrainement, l’émulateur doit être en mesure de reproduire les mêmes
sorties que le système, pour des entrées identiques u(k). L’entrainement est réalisé pour
minimiser l’erreur entre la sortie du modèle de référence et la sortie du réseau émulateur
(NNE). La figure (I.5) représente la structure d’entrainement de l’émulateur (NNE).
Figure (I.5) : Structure d’entrainement d’un réseau de neurones émulateur
On peut réaliser l’entrainement en ligne, ou bien hors ligne si on dispose de
suffisamment de données. Le but de l’entrainement est de trouver les poids; 𝑾𝒊 qui
rendent l’erreur aussi petite que possible. Une fois la convergence est obtenue, le réseau
de neurones émulateur (NNE) peut servir à exprimer le système [7].
I.4.2. Réseau de neurones contrôleur : NNC
a. Définition Le contrôle par réseau de neurones est l’étude des systèmes de commande à base
de réseau de neurones. Un réseau de neurones contrôleur est un réseau dont la sortie est
Y (k+1)
Chapitre I Aperçu sur les réseaux de neurones
13
le signal de commande u(k) : fonction du temps. L’intérêt de ce type de contrôleurs est
dû à la capacité d’apprentissage des réseaux de neurones.
b. Réseaux de neurones contrôleur (NNC) Dans ce qui suit, nous considérons un système décrit par une équation récurrente
non linéaire de la forme :
𝒚(𝒌 + 𝟏) = 𝒇�𝒚(𝒌),𝒚(𝒌 + 𝟏), … ,𝒚(𝒌 − 𝒑 + 𝟏),𝒖(𝒌), … ,𝒖(𝒌 − 𝒒)� (𝐈.𝟏𝟎)
Où 𝒇 est une fonction non linéaire.
p et q : peuvent être connus ou bien estimés par �̂� et 𝑞�.
Généralement on suppose que �̂� et 𝑞� sont connus, et 𝒇 inconnue. Le but du contrôleur
neuronal est de construire un réseau qui permet au système de suivre une référence fixe
ou variable.
c. Structure de Contrôle direct par réseaux de neurones Le contrôle direct par réseau de neurones consiste en un apprentissage en ligne
du réseau selon la configuration représentée par la figure 1.7 [7] :
Les performances en boucle fermée désirées du système sont spécifiées par un modèle
de référence, défini par ses couples d’entrées/sorties (u(k), y(k)), obtenus par des
mesures réels ou par la résolution d’un modèle mathématique exprimant le système à
contrôler.
La fonction cout à minimiser est généralement de la forme :
𝑬𝐩 = 𝟏/𝟐�𝒚𝒓(𝒌) − 𝒚(𝒌)�𝟐 (𝐈.𝟏𝟏)
Dans le cas d’un contrôle classique utilisant la méthode de rétro-propagation,
Cette structure nécessite la connaissance du Jacobien du système (la dérivée de la
fonction d’erreur Ep), souvent pas facile à calculer et qui n’est disponible, que si on a le
modèle mathématique du système, ainsi que le signal de commande à reproduire.
Chapitre I Aperçu sur les réseaux de neurones
14
Figure (I.6) : Structure d’entrainement du contrôle neuronal direct
I.5. Conclusion Dans ce chapitre nous avons essayé d’introduire le minimum de notions sur les
réseaux de neurones telles que, les structures MLP et RBF et leurs méthodes
d’entrainement pour l’émulation et le contrôle direct des systèmes, afin de pouvoir les
exploiter pour le reste de l’étude.
Chapitre II Optimisation d’entrainement des réseaux de neurones par PSO
CHAPITRE II
Optimisation d’entrainement des
réseaux de neurones par PSO
II.1. Introduction L'optimisation est un sujet central en recherche scientifique, un grand nombre de
problèmes d'aide à la décision peuvent en effet être décrits sous forme de problèmes
d'optimisation. Les problèmes d'identification, l'apprentissage supervisé de réseaux de
neurones ou encore la recherche du plus court chemin sont, des problèmes
d'optimisation.
Ce chapitre décrit le cadre de l'optimisation de problèmes et des
métaheuristiques dans lequel nous nous plaçons dans ce travail, puis présente
minutieusement les métaheuristiques dites ‘essaim de particules’ ou ‘essaim
particulaire’.
Les algorithmes d’optimisation par essaim de particules forment une classe des
métaheuristiques récemment proposée pour les problèmes d'optimisation. Ces
algorithmes s'inspirent des comportements collectifs d’essaim d’oiseaux et de poissons
dans leurs déplacements particulièrement ordonnés.
15
Chapitre II Optimisation d’entrainement des réseaux de neurones par PSO II.2. Métaheuristiques pour l'optimisation des problèmes [8]
II.2.1 Problème d'optimisation Un problème d'optimisation au sens général est défini par un ensemble de
solutions possibles S, dont la qualité peut être décrite par une fonction objectif𝑓. On
cherche alors à trouver la solution 𝑠∗ possédant la meilleure qualité 𝑓(𝑠∗) par la suite,
on peut chercher à minimiser ou à maximiser𝑓(𝑠). Un problème d'optimisation peut
présenter des contraintes d'égalité (ou d'inégalité) sur 𝑠 , il peut être dynamique si 𝑓(𝑠)
change avec le temps ou encore multi-objectifs si plusieurs fonctions objectifs doivent
être optimisées.
Il existe des méthodes déterministes dites "exactes" permettant de résoudre
certains problèmes en un temps fini. Cependant ces méthodes nécessitent un certain
nombre de caractéristiques de la fonction objectif, comme la stricte convexité, la
continuité ou encore la dérivabilité. On peut citer comme exemple de méthode de la
programmation linéaire, la méthode du gradient, la méthode de Newton, etc.
Certains problèmes d'optimisation demeurent cependant hors de portée des
méthodes exactes. Un certain nombre de caractéristiques peuvent en effet être
problématiques, comme l'absence de convexité stricte (multimodalité), l'existence de
discontinuités, une fonction non dérivable, présence de bruit, etc.
Dans de tels cas, le problème d'optimisation est dit ‘difficile’, car aucune
méthode exacte n'est capable de le résoudre exactement en un temps" raisonnable", on
devra alors faire appel à des heuristiques permettant une optimisation approchée.
L'optimisation difficile peut se découper en deux types de problèmes :
II.3. Algorithmes d'optimisation approchée
II.3.1. Heuristiques Une heuristique d'optimisation est une méthode approchée se voulant simple,
rapide et adaptée à un problème donné. Sa capacité à optimiser un problème avec un
minimum d'informations est contrebalancée par le fait qu'elle n'offre aucune garantie
quant à l'optimalité de la meilleure solution trouvée.
De point de vue de la recherche opérationnelle, ce défaut n'est pas toujours un
problème, tout spécialement quand seule une approximation de la solution optimale est
recherchée.
16
Chapitre II Optimisation d’entrainement des réseaux de neurones par PSO II.3.2 Métaheuristiques
Parmi les heuristiques, certaines sont adaptables à un grand nombre de
problèmes sans changements majeurs dans l'algorithme, on parle alors de méta-
heuristiques. La plupart des heuristiques et des métaheuristiques utilisent des processus
aléatoires comme moyen de récolte de l’information. En plus, les métaheuristiques sont
généralement itératives, c'est-à-dire qu'un même schéma de recherche est appliqué
plusieurs fois au cours de l'optimisation, c'est à dire qu'elles n'utilisent pas l'information
du gradient de la fonction objectif. Elles tirent leur intérêt de leur capacité à éviter les
optimums locaux, soit en acceptant une dégradation de la fonction objectif au cours de
leur progression, soit en utilisant une population de points comme méthode de recherche
(se démarquant ainsi des heuristiques de descente locale).
Souvent inspirées d'analogies avec la réalité (physique, biologie, éthologie, . . .),
elles sont généralement conçues au départ pour des problèmes discrets, mais peuvent
faire l'objet d'adaptations pour des problèmes continus.
II.4. Optimisation par essaim de particules [9] L’optimisation par essaim de particules (Patricle Swarm Optimisation PSO) dans
la langue de SHAKES-PEARE) est une méthode d’optimisation stochastique, pour les
fonctions non-linéaires, basée sur la reproduction d’un comportement social et
développée par le Dr. EBERHART et le Dr. KENNEDY en 1995.
II.4.1. Fondement de la méthode L’origine de cette méthode vient des observations faites lors des simulations
informatiques de vols groupés d’oiseaux et de bancs de poissons de REYNOLD,
HEPPNER et GRENANDER. Ces simulations ont mis en valeur la capacité des
individus d’un groupe en mouvement à conserver une distance optimale entre eux et à
suivre un mouvement global par rapport aux mouvements locaux de leur voisinage.
D’autre par ces simulations ont également révélé l’importance de mimétisme
dans la compétition qui oppose les individus à la recherche de la nourriture. En effet, les
individus sont à la recherche de sources de nourriture qui sont dispersés de façon
aléatoire dans un espace de recherche, et dès lors qu’un individu localise une source de
nourriture les autres individus vont alors chercher à le reproduire.
Ce comportement social basé sur l’analyse de l’environnement et du voisinage
17
Chapitre II Optimisation d’entrainement des réseaux de neurones par PSO constitue alors une méthode de recherche d’optimum par l’observation des tendances
des individus voisins. Chaque individu cherche à optimiser ses chances en suivant une
tendance qu’il modère par ses propres vécus.
Les essaims de particules sont essentiellement utilisés afin de trouver l’optimum
des fonctions non-linaires. Pour cette raison, cette méthode est utile pour optimiser
l’entraînement des réseaux de neurones.
II.4.2. Formalisation de la méthode PSO
a. Algorithme de base (sans voisinage) L’optimisation par essaim de particules repose sur un ensemble d’individus
originellement disposés de façon aléatoire et homogène, que nous appellerons dès lors
des particules, qui se déplacent dans l’hyper-espace de recherche et constituent,
chacune, une solution potentielle.
Chaque particule dispose d’une mémoire concernant sa meilleure solution visitée
ainsi que la capacité de communiquer avec les particules constituant son entourage. À
partir de ces informations, la particule va suivre une tendance faite, d’une part, de sa
volonté à retourner vers sa solution optimale, et d’autre part, de son mimétisme par
rapport aux solutions trouvées dans son voisinage.
À partir d’optimums locaux et empiriques, l’ensemble des particules va,
normalement, converger vers la solution optimale globale du problème traité.
Un essaim de particule est caractérisé par :
• Le nombre de particules de l’essaim, noté nb.
• La vitesse maximale d’une particule, notée maxv .
• La topologie et la taille du voisinage d’une particule qui définissent son réseau
social.
• L’inertie d’une particule, notée Ѱ.
• Les coefficients de confiance, notés ρ1 et ρ1, qui pondèrent le comportement
conservateur (la tendance à retourner vers la meilleure solution visitée) et le
panurgisme (la tendance à suivre le voisinage)
Une particule est caractérisée, à l’instant t, par :
- ( )ix t : à position dans l’espace de recherche.
- ( )iv t : sa vitesse.
18
Chapitre II Optimisation d’entrainement des réseaux de neurones par PSO
- ipbestx : la position de la meilleure solution par laquelle elle est passée.
- ivbestx : la position de la meilleure solution connue de son voisinage.
- ipbest : la valeur de fitness de sa meilleure solution.
- ivbest : la valeur de fitness de la meilleure solution connue du voisinage.
Algorithme 1 version simpliste (sans voisinage)
ENTRÉES: 0 < ρ < 1
répéter
pour i = 1 jusqu’à nb faire
si ( )i iF x pbest> alors
( )i ipbest F x=
ipbest ix x=
fin si
( )ii i pbest iv v x xρ= + −
i i ix x v= +
fin pour
jusqu’à (un des critères de convergence est atteint)
b. Configuration de la méthode
• Nombre de particules La quantité de particules allouées à la résolution du problème dépend
essentiellement de deux paramètres :
La taille de l’espace de recherche et le rapport entre les capacités de calcul de la
machine et le temps maximum de recherche. Il n’y a pas de règle pour déterminer ce
paramètre, faire de nombreux essais permet de se doter de l’expérience nécessaire à
l’appréhension de ce paramètre.
• Topologie du voisinage La topologie du voisinage défini avec qui chacune des particules va pouvoir
communiquer. Il existe de nombreuses combinaisons dont les suivantes sont les plus
19
Chapitre II Optimisation d’entrainement des réseaux de neurones par PSO utilisées:
- topologie en étoile : chaque particule est reliée à toutes les autres. L’optimum du
voisinage est l’optimum global.
- topologie en anneau : chaque particule est reliée à n particules (en général, n = 3),
c’est la topologie la plus utilisée.
- topologie en rayon : les particules ne communiquent qu’avec une seule particule
centrale.
Figure (II.1) : -topologies de voisinage dans un essaim de particules
(a-anneau (avec n=2), b- rayon, c-étoile)
Le voisinage géographique auquel nous sommes amenés à penser en premier
lieu n’est pas nécessairement pertinent car, d’une part, il s’agirait d’un voisinage trop
local, et d’autre part global car la sociabilisassions des particules tend à rendre tout
voisinage social en voisinage géographique.
Enfin, c’est un voisinage très lourd en terme de calculs car nécessitant de recalculer le
voisinage de chaque particule à chaque itération.
• Coefficients de confiance Les variables de confiance pondèrent les tendances de la particule à vouloir
suivre son instinct de conservation ou son panurgisme. Les variables aléatoires ρ1et ρ2
peuvent être définies de la façon suivante :
�𝝆𝟏 = 𝒓𝟏𝒄𝟏𝝆𝟐 = 𝒓𝟐𝒄𝟐 (𝐈𝐈.𝟏)
Où 𝒓𝟏 et 𝒓𝟐 suivent une loi uniforme sur [0..1] et c1 et c2 sont des constantes positives
déterminées de façon empirique et suivant la relation :
20
Chapitre II Optimisation d’entrainement des réseaux de neurones par PSO 𝒄𝟏 + 𝒄𝟐 ≤ 𝟒 (𝐈𝐈.𝟐)
• Vitesse maximale et coefficient de constriction Afin d’éviter que les particules ne se déplacent trop rapidement dans l’espace de
recherche, passant éventuellement à côté de l’optimum, il peut être nécessaire de fixer
une vitesse maximale (notée maxv ) pour améliorer la convergence de l’algorithme.
Cependant, on peut s’en passer si on utilise un coefficient de constriction ҡ
introduit par Maurice CLERC, et qui permet de resserrer l’hyper-espace de recherche.
L’équation de la vitesse devient alors :
ҡ=1 − 𝟏𝝆
+��𝝆𝟐−𝟒𝝆�
𝟐 (𝐈𝐈.𝟑)
1 2( ) .( ( 1) .( ( )) .( ( )))i ii i pbest i vbest iv t v t x x t x x tκ ρ ρ= − + − + −
(𝐈𝐈.𝟒)
Les études de SHI et EBERHART indiquent que l’utilisation d’un coefficient
de constriction donne généralement un meilleur taux de convergence sans avoir à fixer
de vitesse maximale. Cependant, dans certains cas, le coefficient de constriction seul ne
permet pas la convergence vers la solution optimale pour un nombre d’itérations donné.
Pour résoudre ce problème, il peut être intéressant de fixer max maxv x= en plus du
coefficient de constriction, ce qui, selon les études de SHI et EBERHART, permet
d’améliorer les performances globales de l’algorithme.
• Facteur d’inertie Le facteur d’inertie ψ introduit par SHI et EBERHART permet de définir la
capacité d’exploration de chaque particule en vue d’améliorer la converge de la
méthode. Une grande valeur de ( 1)ψ > est synonyme d’une grande amplitude de
mouvement et donc, d’exploration globale. A contraire, une faible valeur de ( 1)ψ < est
synonyme de faible amplitude de mouvement et donc, d’exploration locale. Fixer ce
facteur, revient donc à trouver un compromis entre l’exploration locale et l’exploration
globale.
Le calcul de la vitesse est alors défini par :
1 2( ) . ( 1) .( ( )) .( ( )))i ii i pbest i vbest iv t v t x x t x x tψ ρ ρ= − + − + −
(𝐈𝐈.𝟔)
21
Chapitre II Optimisation d’entrainement des réseaux de neurones par PSO
La taille du facteur d’inertie influence directement la taille de l’hyper-espace
exploré et aucune valeur de Y ne peut garantir la convergence vers la solution optimale.
Les études menées par SHI et EBERHART indiquent une meilleure convergence pour
[ ]0.8,1.2ψ ∈ . Au-delà de 1.2, l’algorithme tend à avoir certaines difficultés à
converger.
Enfin, il est également possible de faire diminuer le facteur d’inertie au cours du
temps, De bons résultats ont été trouvés pour une valeur décroissant linéairement de 0.9
à 0.4.
• Initialisation de l’essaim La position des particules ainsi que leur vitesse initiale doivent être initialisés
aléatoirement selon une loi uniforme sur [0..1]. Cependant, en ce qui concerne la
position des particules, il est préférable d’utiliser un générateur de séquence de SOBOL
qui est plus pertinent dans la disposition homogène des particules dans un espace de
dimension n.
• Critères d’arrêt Comme indiqué précédemment, la convergence vers la solution optimale globale
n’est pas garantie dans tous les cas de figure même si les expériences dénotent la grande
performance de la méthode. De ce fait, il est fortement conseillé de doter l’algorithme
d’une porte de sortie en définissant un nombre maximum d’itérations.
L’algorithme doit alors s’exécuter tant que l’un des critères de convergence
suivant n’a pas été atteint :
– nbItermax a été atteint.
– la variation de la vitesse est proche de 0.
– le fitness de la solution est suffisant.
22
Chapitre II Optimisation d’entrainement des réseaux de neurones par PSO c. Algorithme simplifié avec voisinage
Algorithme 2 version simpliste (avec voisinage)
répéter
pour i = 1 jusqu’à nb faire
si ( )i iF x pbest> alors
( )i ipbest F x=
ipbest ix x=
fin si
si ( )i iF x vbest> alors
( )i ivbest F x=
ivbest ix x=
fin si
fin pour
pour i = 1 to nb faire
1 2( ) .( .( ( )) .( ( ))i ii i pbest i vbest iv t v x x t x x tκ ρ ρ= + − + −
i i ix x v= +
fin pour
jusqu’ à (un des critères de convergence est atteint)
II.5. Optimisation d’entrainement des réseaux de neurones par PSO
II.5.1. Adaptation de la métaheuristique PSO aux réseaux de neurones
Rappelons qu’au cours de cette étude nous allons utiliser les réseaux de neurones
pour l’émulation et le contrôle de processus. L’objet de ce travail est l’optimisation des
réseaux émulateur et contrôleur pendant leurs entrainements par la métaheuristique dite
‘PSO’. Cet objet consiste principalement à l’adaptation de la méthode vis-à-vis les
spécifications d’un réseau de neurones, concernant sa structure, ses variables
d’entrainement et leurs influences sur la variation de sortie de celui-ci, qui constitue la
commande du système, puis comparer son efficacité (performances) par rapport aux
méthodes déjà utilisées, particulièrement la méthode du gradient descendant.
23
Chapitre II Optimisation d’entrainement des réseaux de neurones par PSO Soit un réseau de neurones mono-entrée mono-sortie, avec une seule couche cachée
contenant nc nœuds.
Ce réseau est caractérisé par :
- Une entrée x et une sortie y ;
- Deux vecteurs poids : W1 = (w11, w12, w13,………., w1nc) et
W2 = (w21, w22, w23,………., w2nc) ;
w1i : poids entre l’entrée et la couche intermédiaire
w2i : poids entre la couche intermédiaire et la sortie
- Une fonction sigmoïde f aux nœuds de la couche cachée ;
- Une fonction linéaire g au nœud de la couche de sortie ; (pente = 1)
Nous nous plaçons dans le cadre de modèles à temps discret des processus, cadre qui se
prête bien à la commande numérique d’une part, et à l’utilisation de réseaux de
neurones formels d’autre part.
L’expression de la sortie y(k) de ce réseau MLP s’exprime :
𝒀(𝒌) = �𝒘𝟐𝒊
𝒏𝒄
𝒊=𝟏
∗ 𝒇(𝒙(𝒌) ∗ 𝒘𝟏𝒊) (𝐈𝐈.𝟔)
Pour adapter la méthode à un réseau de neurones MLP, il faut procéder à l’analogie
suivante :
- Une particule est représentée par un réseau de neurones MLP
- La position x(k) de la particule est remplacée par un vecteur poids :
W= (W1 ;W2)t de dimension (2*nc) ;
- La vitesse ou l’orientation de la particule est remplacée par un vecteur poids
Wv=(wv1,wv2,wv3,………..,wvnd) ; nd = 2*nc
- La fonction fitness à maximiser :
h(k)= 𝟏𝟏+𝒆(𝒌)
(𝐈𝐈.7)
Avec :
e(k) = │yr(k) – y(k) │ (II.8)
- F(xi) = F(x(k)) dans le cas discret, qui représente la position de la particule k,
mesurée par la fonction fitness F, est représentée par h(W) : valeur de la
fonction fitness en fonction du vecteur poids représentant le réseau MLP
exprimant la particule.
24
Chapitre II Optimisation d’entrainement des réseaux de neurones par PSO
- xpbesti : la meilleure position par laquelle est passée la particule i. Elle est
remplacée par Wpbest(k) le vecteur poids de la particule k qui a permis la
meilleure fitness (valeur maximale de h(k)).
- vpbesti : la meilleure vitesse (orientation) qui a eu la particule i. Elle est
remplacée par Wvbest(k) le vecteur poids de la particule k qui a permis la
meilleure fitness h(k) (valeur maximale).
II.5.2. Algorithme d’optimisation des réseaux de neurones MLP par
PSO
Algorithme 3 PSO / MLP (avec voisinage)
répéter
pour k = 1 jusqu’à nb faire
si h(k) > Ppbest(k) alors
Ppbest(k) = h(k)
Wpbest(k) = W(k)
fin si
si h(k) > Ppbest(k alors
Vpbest(k) = h(k)
Wvpbest(k) = W(k)
fin si
fin pour
pour k = 1 to nb faire
Wvpbest(k) = k (Wvpbest(k) + ρ1(Wpbest(k) - W(k)) + ρ2(Wvpbest(k) - W(k)))
W(k) = W(k) + Wvpbest(k)
fin pour
jusqu’ à (un des critères de convergence est atteint)
25
Chapitre II Optimisation d’entrainement des réseaux de neurones par PSO II.6.Conclusion
La méthode d’optimisation par essaim de particules (OEP/PSO) a été bien
adaptée aux réseaux de neurone, particulièrement à la structure MLP.
Au contraire des méthodes exactes, l’utilisation de la PSO, comme toute autre
métaheuristique, ne nécessite pas d’informations sur le signal de commande, et n’exige
pas que la fonction objectif à optimiser soit dérivable ou continue.
Cependant, il est toujours préférable d’utiliser des structures simples : à une
seule couche cachée, avec un nombre réduit de nœuds et de connexions, afin de
minimiser l’effort de traitement, puis chercher le compromis entre le nombre de
particules (réseaux de neurones) et les performances de l’algorithme.
26
Chapitre III Simulation
CHAPITRE III
Simulation
III. 1. Présentation du travail à réaliser Afin d’évaluer les performances de l’algorithme proposé à la fin du chapitre 2,
utilisant la méthode PSO pour l’optimisation d’entrainement d’un réseau de neurones,
nous avons procédé comme suit :
- Emuler un système dit ‘Box and Jenkins’, utilisé souvent pour tester des
structures et des méthodes de contrôle et d’émulation, par quatre méthodes
différentes.
- Contrôler un procédé non linéaire, par la méthode représentée par
l’algorithme final proposé.
Suite aux remarques issues de l’étude théorique, nous avons choisi des structures
simples (MLP, RBF) : avec une seule couche cachée et un nombre réduit de nœuds (3
nœuds) et de connexions, afin de faciliter l’adaptation de la méthode et l’élaboration du
programme exprimant l’algorithme proposé.
Cette structure commune simplifiée permet une comparaison entre les quatre
méthodes utilisées en émulation, elle permet également de mettre en épreuve sévère la
PSO pour le contrôle d’un système non linéaire.
27
Chapitre III Simulation III.2. Emulation du procédé Box & Jenkins
Le but visé par ce premier test est de comparer la méthode d’optimisation
proposée (PSO) à d’autres méthodes connues, utilisant la même structure de contrôle
(ou émulation).
III.2.1. Présentation du procédé Box & Jenkins Le système de Box & Jenkins est un processus dynamique non linéaire. C’est un
four à gaz, où l’air et le méthane sont combinés pour constituer un mélange de gaz
contenant du CO2. L’entrée du four x correspond au débit du méthane, tandis que la
sortie y correspond à la concentration en pourcentage de CO2. Le jeu des données
d’entrée/sortie du four est constitué de 296 points Figures (III.1) et (III.2).
Les entrées du réseau de neurones émulateur sont x(t-4) et y(t-1)
respectivement, et la sortie du réseau est y(t). La fonction d’évaluation est choisie
comme la valeur absolue de l’erreur :
Figure (III.1) : Signal d’entrée du système Box & Jenkins
0 50 100 150 200 250 300-3
-2
-1
0
1
2
3
itérations (ms)
eEnt
rées
du
syst
ème
box
and
jenk
ins
signal d entrée du système box and jenkins
28
Chapitre III Simulation
Figure (III.2) : Signal de sortie du système Box & Jenkins
III.2. 2. Emulation par un réseau MLP utilisant la rétropropagation
Figure (III.3) : Signal de sortie émulée et signal de référence
0 50 100 150 200 250 30044
46
48
50
52
54
56
58
60
62
itérations (ms)
sorti
es d
u sy
stèm
e bo
x an
d je
nkin
s
signal de sortie du système box and jenkins
0 50 100 150 200 250 30045
50
55
60
65
70
75Emulation par un RN MLP
Itérations (ms)
Sorti
e ém
ulée
(y) e
t sor
tie d
ésiré
e (y
r)
yyr
29
Chapitre III Simulation
Figure (III.4) : Signal d’erreur d’émulation
• . Configuration et interprétation des résultats
caractéristique valeur
Structure d’émulateur MLP 2 – 3 -1
Méthode d’entrainement BP
Nombre d’itérations 300
Erreur de sortie Varie de -1.5 à 1.5
0 50 100 150 200 250 300-5
0
5
10
15
20
25Erreur de la sortie y par rapport au sortie yr
Itérations (ms)
Varia
tion
d"er
reur
de
sorti
e(e)
30
Chapitre III Simulation III.2. 3. Emulation par un réseau RBF utilisant la rétropropagation et
le k-means
Figure (III.5) : Signal de sortie émulée et signal de référence
Figure (III.6) : Signal d’erreur d’émulation
0 50 100 150 200 250 3000
10
20
30
40
50
60
70Emulation par un RN RBF
Itérations (ms)
Sor
tie é
mul
ée (y
) et s
ortie
dés
irée
(yr)
yyr
0 50 100 150 200 250 300-30
-25
-20
-15
-10
-5
0
5
itératins (ms)
varia
tion
de l
erre
ur d
e so
rtie
Emulation RBF
31
Chapitre III Simulation
• Configuration et interprétation des résultats
caractéristique valeur
Structure d’émulateur RBF
Méthode d’entrainement BP + k-means
Nombre d’itérations 300
Erreur de sortie Varie de -1.5 à 1.5
III.2.4. Emulation par trois réseaux MLP utilisant la rétropropagation L’idée d’associer trois réseaux de neurones MLP qui collaborent pour émuler un
système est inspirée de la collaboration entre voisins de particules d’essaim à la
recherche d’optimum. Cette collaboration qui s’étend et se généralise pour tout le
groupe par récurrence, permettant de couvrir l’espace de recherche si le nombre de
particules est suffisant.
La différence entre cette méthode improvisée et la PSO réside dans l’adaptation
de poids qui suit encore la loi de chainage du gradient descendant, ce qui rend les
particules (réseaux MLP) complètement indépendantes et leur collaboration se limite à
la comparaison entre leurs performances vis-à-vis le critère de l’erreur (valeur absolue,
erreur quadratique) à chaque itération, pout tenir de celui qui la sortie est plus proche
de la référence.
32
Chapitre III Simulation
Figure (III.7) : Signal de sortie émulé et signal de référence
Figure (III.8) : Signal d’erreur global d’émulation
0 50 100 150 200 250 30044
46
48
50
52
54
56
58
60
62Emulation par trois RN MLP
Itérations (ms)
Sorti
e ém
ulée
(y) e
t sor
tie d
ésiré
e (y
r)
yyr
0 50 100 150 200 250 300-3
-2
-1
0
1
2
3
4
5
6
7
itérations (ms)
varia
tions
d err
urs e,
e1,e2
,e3
emulation avec 3RN MLP
erreur globl eerreurs e1,e2,e3
33
Chapitre III Simulation
• Configuration et interprétation des résultats
caractéristique valeur
Structure d’émulateur 3*MLP
Méthode d’entrainement BP
Nombre d’itérations 300
Erreur de sortie Varie entre -1 et 1
L’association de trois réseaux de neurones MLP (particules) a nettement
amélioré les performances, en réduisant l’erreur de sortie figure (III. 8). Ce qui
représente un indice de succès et augmente les chances d’adaptation de la PSO à la
structure et l’algorithme proposé pour le reste de l’application.
III. 2. 5. Emulation par un réseau MLP utilisant la PSO
Figure (III.9) : Signal de sortie émulé et signal de référence
0 50 100 150 200 250 30044
46
48
50
52
54
56
58
60
62Emulation par PSO avec trois RN MLP
Itérations (ms)
Sorti
e ém
ulée
(y) e
t sor
tie d
ésiré
e (y
r)
yyr
34
Chapitre III Simulation
Figure (III.10) : Signal d’erreur d’émulation
Figure (III.11) : Signal de la fonction objectif
0 50 100 150 200 250 3000
0.5
1
1.5
2
2.5
3
3.5
itérarions(ms)
varia
tion
d er
reur
de
sorti
e e
erreur d emulation de box and jenkins
0 50 100 150 200 250 3000.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
itérarions(ms)
varia
tion
de la
fonc
tion
objec
tif f
Fonction objectif d emulation de box and jenkins
35
Chapitre III Simulation
• Configuration et interprétation des résultats
caractéristique valeur
Structure d’émulateur MLP
Méthode d’entrainement PSO
Nombre d’itérations 300
Erreur de sortie statique 10-4
Fonction objectif 1
Les résultats de l’émulation du système Box and Jenkins par PSO – MLP sont
extrêmement performants. Le signal émulé suit parfaitement la référence et l’erreur de
sortie est très faible (de l’ordre de 10-4) figure (III. 9) et figure (III. 10).
Le signal de la fonction objectif est nettement signifiant, il converge rapidement
vers la valeur maximale 1 et se stabilise.
III.3. Contrôle de température d’un bain d’eau par réseaux MLP optimisés par PSO
III.3.1. Présentation du procédé à contrôler
Le but de cette section est de commander la température d’un bain d'eau. Le
modèle récurrent du système est donné par l’expression suivante :
𝐲(𝐤 + 𝟏) = 𝐞—𝛂𝐓𝐬 𝐲(𝐤) +
𝜷𝜶(𝟏 − 𝒆−𝜶𝑻𝒔)𝟏 + 𝐞𝟎.𝟓𝐲(𝐤)−𝟒𝟎 ∗ 𝒖(𝒌) + ( 𝟏 − 𝐞—𝛂𝐓𝐬 )𝒚𝟎 (𝐈𝐈𝐈.𝟏)
Où y(k) est la température du système en °C, u(k) est le signal de commande à
appliquer.
Y0 est la température ambiante.
Ts est la période d’échantillonnage.
α et β sont des valeurs constantes décrivant le système.
Les paramètres du système sont ceux d’un modèle réel ; ils sont donnés par le tableau :
36
Chapitre III Simulation
Coefficient Valeur α 1.0015.10-4
β 8.6793.10-3
Ts [ ms ] 30
Y0 [ °c ] 25
III.3.2. Résultat de simulation du contrôle
Figure (III.12) : Signal de sortie contrôlée et sortie de référence
0 500 1000 1500 2000 25000
2
4
6
8
10
12
14
16
18
20controle de température d eau par PSO MLP
itérations (ms)
varia
tions
des
sor
ties
y et
yr
yyr
37
Chapitre III Simulation
Figure (III.13) : Signal d’erreur de sotie
Figure (III.14). Signal de la fonction objectif
0 500 1000 1500 2000 25000
1
2
3
4
5
6
7
8
9
10erreur de sortie en controle de température d eau par PSO MLP
itérations (ms)
varia
tions
d e
rreur
de
sorti
e e
0 500 1000 1500 2000 25000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1fonction objectif f en controle de température d eau par PSO MLP
itérations (ms)
fonc
tion
obje
ctif
f
38
Chapitre III Simulation
• Configuration et interprétation des résultats
caractéristique valeur
Structure du contrôleur MLP
Méthode d’entrainement PSO
Nombre d’itérations 2500
Erreur de sortie Varie de 0.12 à 0.18
Fonction objectif Varie de 0.88 à 0.92
Les résultats de simulation du contrôle de température du bain d’eau sont
relativement acceptables vu le nombre de particules réduit (nombre =3).
Nous avons constaté qu’à chaque changement de point de fonctionnement
(palier) les performances se dégradent légèrement : l’erreur statique augmente (0.12,
0.15, 0.18), et la valeur de la fonction objectif diminue (0.92, 0.9, 0.88) cependant elle
demeure stable à chaque palier de température (point de fonctionnement).
III.4. Conclusion Après application de la PSO pour optimiser l’entrainement des réseaux de
neurone pour émuler et contrôler des systèmes non linéaires, les résultats de simulation
ont été performants en émulation, et acceptables en contrôle.
Ce que nous constatons après l’étude complète que les remarques tirées de
l’étude théorique sont confirmées, concernant l’utilisation des structures simples, sauf
qu’il faut souligner que pour améliorer les performances de la méthode pour le contrôle
des systèmes complexes nous serons amenés à augmenter le nombre de particules, en
recommandant 5 à 10 particules.
39
Conclusion générale
Conclusion générale
Le travail consistait à adapter la métaheuristique PSO pour l’optimisation
des réseaux de neurones.
L’émulation du système Box and Jenkins a permis de comparer la
méthode proposée principalement à la rétropropagation. Les résultats étaient très
performants.
Pour le contrôle de température du bain d’eau, les performances de la
méthode s’avèrent limitées.
La PSO a pu être facilement adaptée aux réseaux de neurones MLP. Il est
cependant recommandé d’utiliser des structures simples et réduites et un nombre
suffisant de particules (réseaux de neurones MLP) relatif à la taille de l’espace de
recherche et à la complexité du problème à optimiser (5 à10 particules).
40
Références bibliographies
Références bibliographies
[1] http://www-igm.univ-mlv.fr/
[2] Haykin, S. (1998). Neural Networks: A Comprehensive Foundation, 2end , New
York Macmillan College Publishing.
[3] Dreyfus, G. (2002). Réseaux de neurones : Méthodologie et application, Paris :
Eyrolles.
[4] Tebib, H et TITI, Z (2009). Modélisation par les réseaux de neurones optimisés par
les algorithmes génétiques, mémoire de fin d’études de master en Informatique
Industrielle, Université Oum El Bouaghi.
[5] Touzet, C. (1992). Les réseaux de neurones artificiels introduction au
connexionnisme.
[6] Hafid, A. (2006). Contrôle adaptatif d’un système non linéaire par réseaux de
neurones mode glissant, Projet d’ingénieur d’état en électronique, Centre universitaire
Oum El Bouaghi.
[7] Balouli, A et bouteraa, S. (2004). Contrôle en ligne d’un CSTR par réseaux de
neurones, mémoire de fin d’études d’ingénieur d’état en électronique option contrôle,
Centre universitaire Oum El Bouaghi.
[8] Johann,Dréo. (2006) Adaptation de la méthode des colonies de fourmis pour
l'optimisation en variables continues. Application en génie biomédical. Thèse de
doctorat.
[9] Guillaume, C. (2009), Optimisation par essaim de particules. EPITA, France.
[10] Talbi, N. (2014).Conception des systèmes d’inférence floue par des
Approches Hybrides : Application pour la commande et la modélisation des systèmes
non linéaires. Thèse de doctorat en Electronique option Contrôle des systèmes,
Université de Constantine 1.
Résumé
Résumé
Les algorithmes d’optimisation par essaim de particules forment une classe des
métaheuristiques récemment proposée pour les problèmes d'optimisation. Elles
s’inspirent des comportements collectifs d’essaim d’oiseaux et de poissons dans leurs
déplacements particulièrement ordonnés.
Les réseaux de neurones considérés source d’intelligence artificielle. Associer
entre ces deux éléments importants consiste à optimiser les réseaux de neurones par
PSO pour minimiser l’effort de traitement de ces derniers, afin de leur permettre une
large variété de problèmes complexes dans la littérature.
Pour cela nous proposons un algorithme d’adaptation de la PSO aux réseaux de
neurones MLP.
Abstract
Abstract
The optimization particle swarm algorithms are a class of recently proposed
metaheuristics for optimization problems. They are inspired by the collective behavior
of swarms of birds and fish in their particular orderly movements.
Neural networks considered source of artificial intelligence. Linking these two
important elements is to optimize neural networks by PSO to minimize the processing
of these efforts, to allow them a wide variety of complex problems in the literature.
For this we propose an adaptive algorithm of PSO with MLP neural networks.