Upload
others
View
31
Download
0
Embed Size (px)
Citation preview
UNIVERSITE LARBI BEN M’HIDI D’OUM EL BOUAGHI
FACULTE DES SCIENCES ET SCIENCES APPLIQUÉS
DEPARTEMENT DE GENIE ELECTRIQUE
MEMOIRE DE FIN D’ETUDE
En vue d’obtention du
DIPLOME DE MASTER
Filière : GENIE ELECTRIQUE
Spécialité : Informatique Industrielle
Titre du mémoire :
Optimisation des réseaux de neurones MLP par
l’algorithme hybride AG-RT pour le contrôle d’un
système non linéaire
Mémoire de fin d’études soutenu publiquement à Ain Beida
Le : 09/06/2015
Présenté par :
Merabti Youcef
Dirigé par :
MmeOurzifi Ouafa
Devant le jury de soutenance :
Mgr Mendaci khaled
MmeBatat Farida
Année Universitaire : 2014-2015
1
RésuméRésuméRésuméRésumé
Les travaux présentés dans cette mémoire s’articulent, essentiellement, autour des
principaux axes de la modélisation et de la commande par Reseau de neurone du type MLP pour
des systèmes nonlinéaires ,et de montrer les capacités de la combinaison des métaheuristiques
pour l’optimisation des réseaux de neurones.
Le premier chapitre est consacré à la description des réseaux de neurones, les différentes
architectures de réseaux et les méthodes d’apprentissages les plus utilisées.
Le deuxième chapitre rappelle les principales notions théoriques des méthodes
d’optimisation utilisées dans ce mémoire. Après avoir introduit les concepts de base concernant
l’optimisation par les métaheuristiques, la méthode de recherche locale « la recherche Tabou »,
les algorithmes génétiques y sont décrits en détails.
Dans le troisième chapitre, “ Résultats De Simulation ”, les résultats de simulation de
l’algorithmes d’entraînement développés,et l’algorithme BP, appliqués sur un exemple de la
littérature sont présentés, comparés et commentés.
Sommaire
Introduction générale…………………………………………………………….………………. 1
Chapitre 1 :Reseaux de Neurones Artificiels……………………………………………………. 3
1.1 Introduction : ……………………………………………………………………………….3
1.2 Neurones biologiques et neurones formels :………………...………………………………3
1.2.1 Neurones biologiques : …………………………………………………………...3
1.2.2 Neurones artificiel (formel): ………………………………………………….5
1.3 Reseaux de neurones artificiels :……………………………………..……………………8
1.3.1 Definition : ………………………………………………………………………8
1.3.2 Architecture de reseaux de neurones :……………………………………8
1.4 Mecanisme et types d’apprentissage :…………………………………………………..…11
1.4.1 Apprentissage supervise:……………………………………………………...….11
1.4.2 Apprentissage non supervise: …………………..………….…………………….12
1.4.3 Apprentissage par renforcement :…………….…………………………………12
1.5 Apprentissage des reseaux de neurones MLP :……………………..…………………….12
1.5.1. Fonction cout :………………………………………………………………….12
1.5.2. Algorithmes d’apprentissages :…………………………………………………13
1.6 Utilisation des reseaux de neurones :…………….……………….…….……………...14
1.6.1 Reseau de neurones emulateur (nne : neuronal network emulator) :……………...14
1.6.2 Réseau de neurones contrôleur (NNC : Neuronal Network Controller) :……...….14
1.7 Conclusion :…………………………………………………………………………...…16
Chapitre 2 :Optimisation par metaheuristiques …………………………………………………17
2.1. Introduction : …………………………………………….……………….……………17
2.2. Categories des metaheuristiques: ………………………………..……………….………17
2.3. Caracteristiques des metaheuristiques : ……………….……………………………..…17
2.4. Optimisation: ……………….……………….………….………….……………….……18
2.4.1. Les algorithmes genetiques : ………….……………….………………...18
2.4.1.1 Introduction :.…………………….……………….…………………..18
2.4.1.2 Optimisation par algorithme genetique : ……………….………………19
2.4.1.3 Structure de l’algorithme genetique : ……………………………..……19
Sommaire
2.4.1.4 Codage : ……………….……………….………………………………21
2.4.1.5 Generation de la population initiale : ……………….………….…..…22
2.4.1.6 Fonction d’adaptation (fitness) : ……………….………………….….22
2.4.1.7 Reproduction (selection des parents) ……………….…………………23
2.4.1.8 Perateurs de recombinaison genetique (croisement et mutation): ….....24
2.4.1.9 Selection des individus d’une nouvelle generation (selection finale) : …27
2.4.1.10 Critere d’arret : ……………….……………….……………………….28
2.4.2. Recherche tabou (RT) : …..…………………….…………………………....28
2.4.2.1 Introduction : ……...…………………….……………….……………28
2.4.2.2 Principe de fonctionnement : ……………….……………….………..28
2.4.2.3 Elements de la recherche tabou : …………….……….……………….29
2.5. Hybridation des metaheuristiques : ……………….……………….……30
2.6. Conclusion : ……….………….……………….……………….……………….…...…...31
Chapitre 3 : optimisation du reseau controleur mlp par l’approche hybride GA-RT ………...….32
3.1 Introduction : ..……………………………………………………………………………32
3.2 Optimisation d’entrainement des reseaux de neurones par ag-rt…………………………33
3.2.1. adaptation de l’algorithme genetique aux reseaux de neurones ..…….33
3.2.2. structure d’optimisation : ……………………………………………………...33
3.2.3. plateforme de l’algorithme genetique : ………………………………….34
3.2.4. plateforme de la recherche tabou : ………………………………………35
3.3 Algorithme hybride AG-RT : ……………………………………………………….36
3.4 Simulations : ……………………………………………………………………………37
3.4.1. Emulation du systeme box & jenkins : ………………………………………37
3.4.1.1 Presentation du procede box et jenkins : . ………………………………37
3.4.1.2 Structure du reseau de neurones : ……………………………………..…38
3.4.1.4 Emulation par un reseau mlp utilisant l’algorithme AG:………40
3.4.1.5 Emulation par un reseau mlp utilisant l’algorithme AG-RT:…..42
3.4.2. Controle de temperature d’un bain d’eau :………………………………44
3.4.2.1 Presentation du procede a controler :………………………………….44
3.4.2.2 Controle par reseau mlp optimise par l’algorithme AG: ………….45
3.4.2.2 CONTROLE par reseau mlp optimise par l’algorithme AG-RT :…….…47
3.5. Conclusion : ……………………………………………………………………………...49
Conclusion générale …………………..…………………………………………………………50
1
Introduction Générale
Les techniques avancées de l’automatique issues de l’intelligence artificielle deviennent
de plus en plus familières dans divers domaines d’application ces dernières années.
L’intelligence artificielle est une discipline scientifique relative au traitement des connaissances
et au raisonnement, dans le but de permettre à une machine d’exécuter des fonctions associées à
l’intelligence humaine telles que la perception, l’apprentissage, et le raisonnement.
Les outils intelligents sont récemment utilisés dans la conception, la modélisation et la
commande de systèmes complexes. On entend par outils intelligents les techniques du soft
computing à savoir : les réseaux de neurones, la logique floue et les métaheuristiques.
Les réseaux de neurones sont apparus dans les années cinquante mais n’ont reçu
cependant un intérêt considérable qu’à partir des années quatre-vingt avec l’apparition de
l’algorithme de rétropropagation. Le développement des réseaux de neurones artificiels est issu
d’une volonté des chercheurs de comprendre et d’imiter les capacités du cerveau, mémoire,
apprentissage, et traitement parallèle pour la synthèse de systèmes artificiels capables de
remplacer l’homme dans la réalisation de tâches complexes.
Grâce aux résultats théoriques et pratiques obtenus au cours des dernières décennies, les
réseaux de neurones sont devenus un outil très utilisé dans divers domaines. Ils ont prouvé leur
efficacité dans la commande des procédés, l'identification des paramètres, la reconnaissance de
formes et le traitement de signal…. Ils demeurent toutefois un sujet d’un grand intérêt pour les
chercheurs qui désirent améliorer leurs performances et étendre leur champ d’applications.
Les métaheuristiques, souvent inspirées à partir des systèmes naturels, sont apparues dans
les années quatre-vingt et forment une famille d’algorithmes d'optimisation visant à résoudre des
problèmes d'optimisation complexes, pour lesquels on ne connaît pas de méthode classique
efficace. Parmi les métaheuristiques les plus connues, en y trouve : les algorithmes génétiques,
les colonies de fourmis, l’essaim de particules, la recherche taboue et le recuit simulé.
Introduction Générale
2
Au cours de ces dernières années, ces techniques intelligentes font leur entrée dans les
sciences de l’ingénieur. La combinaison de ces techniques a attiré l’attention de beaucoup de
chercheurs. Plusieurs hybridations ont été alors proposées dont les plus rencontrées sont:
Algorithme génétique-Logique flou, Réseau de neurones-Logique flou et Algorithme génétique-
Réseau de neurones.
Dans ce mémoire on s’intéresse aux Réseaux de Neurones Multicouches MLP, qui sont
souvent utilisés, et ceci est dû à leurs simplicités et leurs propriétés d’approximation universelle.
L’objectif de notre travail est d’appliquer les métaheuristiques pour l’optimisation des réseaux de
neurones contrôleurs. L’utilisation de l’algorithme hybride basé sur la combinaison d’un
algorithme de recherche globale, l’Algorithme Génétiques, et d’un algorithme de recherche
locale, la recherche tabou pour l’ajustement des poids du réseau de neurones MLP dans le but de
contrôler des systèmes dynamiques, complexes et fortement non linéaires….
L’hybriation consiste à combiner les caractéristiques de ces méthodes (Algorithme
génétique-Recherche tabou) pour tirer des avantages permettant d’aboutir à une bonne solution
en un temps de calcul réduit, tous en garantissant la stabilité, la précision et la robustesse de ces
systèmes.
Les travaux présentés dans ce mémoire ont pour objectifs de montrer les capacités de la
combinaison des métaheuristiques pour l’optimisation des réseaux de neurones.
Ce mémoire est organisé comme suit :
Le premier chapitre est consacré à la description des réseaux de neurones, les différentes
architectures de réseaux et les méthodes d’apprentissages les plus utilisées.
Le deuxième chapitre décrit le principe de l’optimisation basée sur les métaheuristiques,
le mécanisme de fonctionnement des Algorithmes Génétique, de la recherche tabou et de des
méthodes hybrides.
Le troisième chapitre décrit le principe de fonctionnement de l’algorithme hybride
Algorithme Génétique- Recherche Tabou (AG-TB), des exemples tests sont utilisés pour justifier
la validité de notre approche et les résultats de simulation issus de l’application de l’algorithme
AG-RT à la commande d’un système non linéaire (bain d’eau) sont présentés.
La conclusion générale est donnée à la fin de ce mémoire.
3
Chapitre 1 :
Réseaux de Neurones Artificiels 1.1 Introduction :
Nous débutons ce chapitre par quelles que définitions de base relatives aux réseaux de
neurones, nous présenterons les différents types de réseaux et les méthodes d’apprentissage les
plus utilisées.
Le terme de réseaux de neurones formels (ou artificiels) fait rêver certains, et fait peur à
d’autres. Les réseaux de neurones sont une technique de traitement de données qui fera bientôt
partie de la boite à outils de tout ingénieur préoccupé de tirer le maximum d’informations
pertinentes des données qu’il possède: élaborer des modèles, reconnaître des formes ou des
signaux, commander des systèmes, faire des prévisions, etc.
1.2 Neurones Biologiques Et Neurones Formels :
Le cerveau humain est considéré comme le siège de l'intelligence, de la créativité, de
l'émotivité, de la conscience et de la mémoire. Très tôt l'homme s'est intéressé à cet objet complexe
déjà en Egypte, au temps des pharaons, les médecins prêtaient une attention particulière à cet
organe. Depuis, de nombreux chercheurs ont essayé de percer le secret de son mode de
fonctionnement.
1.2.1 Neurones Biologiques : (POIRIER, 2000) (Rachid, 2002) (IZEOS, 2011)
Le cerveau humain possède deux hémisphères latérales reliées par le corps calleux et
d'autres ponts axonaux, il pèse moins de deux kilogrammes et contient mille milliards de cellules,
dont 100 milliards sont des neurones constitués en réseaux.
a) Le Système Nerveux :
Le système nerveux est spécialisé dans la conduction, la transmission et le traitement des
informations. Présent dans toutes les régions du corps, il représente un des plus importants moyens
de communication de l'organisme.
Chapitre 1 Réseaux de Neurones Artificiels
4
b) Le Neurone:
Le neurone ou cellule nerveuse, est la plus petite partie vivante du système nerveux. Les
neurones hautement différenciées et spécialisées dans la communication intercellulaire reçoivent,
traitent et transmettent des informations codées sous la forme de signaux ou influx nerveux.
On peut décomposer le neurone en trois régions principales : - Le corps cellulaire: Il contient le noyau du neurone ainsi que la machine biochimique nécessaire
à la synthèse des enzymes. Ce corps cellulaire de forme sphérique ou pyramidale contient aussi
les autres molécules essentielles à la vie de la cellule. Sa taille est de quelques microns de diamètre.
- Les dendrites : Ce 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. Leur taille est de quelques dizaines de microns de longueur.
- L’axone: C'est le long de l'axone que les signaux partent du neurone. Contrairement aux dendrites
qui se ramifient autour du neurone, l'axone est plus long et se ramifie à son extrémité ou il se
connecte aux dendrites des autres neurones. Sa taille peut varier entre quelques millimètres à
plusieurs mètres.
Figure 1.01 : Neurone Biologique
La fonction du système nerveux implique que les neurones communiquent entre eux,
réalisant ainsi des réseaux nerveux extraordinairement compliqués, la transmission de l'influx
nerveux se fait dans une seule direction par l'intermédiaire de neurotransmetteurs ou de médiateurs
chimiques. Alors le neurone est une entité polarisée, « l'information ne se transmet que dans un seul
sens : des dendrites vers l'axone ».
Chapitre 1 Réseaux de Neurones Artificiels
5
Figure 1.02 : Transmission de l'influx nerveux entre deux neurones biologique
1.2.2 Neurones Artificiel (Formel): (Gerstner, 2006) (IZEOS, 2011)
Le premier neurone formel est apparu en 1943, on le doit à Mac Culloch et Pitts, c’est une
modélisation mathématique qui reprend les principes du fonctionnement du neurone biologique,
en particulier la sommation des entrées.
Le neurone formel est un processeur élémentaire, qui reçoit un nombre variable d'entrées
en provenance de neurones appartenant à un niveau situé en amont. À chacune des entrées est
associé un poids w repesant la force de la connexion. Chaque neurone est doté d'une sortie unique,
qui se ramifie ensuite pour alimenter un nombre variable de neurones appartenant à un niveau situé
en aval.
La Figure 1.04 représente le modèle mathématique d’un neurone formel.
Figure 1.03 : Modèle d’un neurone formel.
Le neurone formel est un opérateur de sommation, le calcul de sa sortie se fait en deux étapes:
• Une combinaison linéaire des entrées :
�� ����� ���� …�1.01��
��
vi
∑
1 jw
njw
2 jw
3 jw
1x
2x
3x
nx
jyVecteur d’entrée
Fonction d’activation
Unité de Sommation
Sortie
Poids Synaptiques
f
0w
0x
Chapitre 1 Réseaux de Neurones Artificiels
6
Les �� sont appelés poids synaptiques ou simplement poids, ��est appelé biais.
�� est appelé potentiel du neurone.
• Application d’une fonction d’activation à la somme pondérée des entrées :
� � ���� � �������
��…�1.02�
La fonction f est la fonction d'activation du neurone.
a) Fonctions d’Activations :
La fonction d’activation (ou fonction de seuillage, ou encore fonction de transfert) sert à
introduire une non linéarité dans le fonctionnement du neurone.
Les fonctions de seuillage présentent généralement trois intervalles :
• En dessous du seuil, le neurone est non actif.
• Aux alentours du seuil, une phase de transition.
• Au-dessus du seuil, le neurone est actif.
Dans sa première version, le neurone formel était donc implémenté avec une fonction à
seuil, mais il existe de nombreuses formes possibles pour la fonction d’activation, les plus
courantes sont regroupés dans le « Tableau 1.01 ».
Chapitre 1 Réseaux de Neurones Artificiels
7
Nome de fonction Relation
Seuil
� � 0��� < 0 � � 1��� ≥ 0
Seuil symétrique
� � −1��� < 0 � � 1��� ≥ 0
Linéaire
� � �
Linéaire saturée
� � 0��� < 0� � ���0 ≤ � ≤ 1� � 1��� > 1
Linéaire positive
� � 0��� < 0� � ���� ≥ 0
Sigmoïde
� � 11 � ����−��
Tangente hyperbolique
� � ������ − ����−�������� � ����−��
Tab 1.01 : Différents types de fonctions d’activation
1
0
1
-1
0
0
1
1
-1
-1
0
1
1
0
1
1
Chapitre 1 Réseaux de Neurones Artificiels
8
1.3 Réseaux de Neurones Artificiels :
1.3.1 Définition :
Un réseau de neurones est un maillage de plusieurs neurones formels qui sont
interconnectés entre eux. Malgré la simplicité de fonctionnement d’un neurone, c’est
l’interconnexion d’un certain nombre d’entre eux qui rend l’ensemble très complexe.
1.3.2 Architecture de Réseaux de Neurones :
Selon la topologie de connexion des neurones, on peut classer les réseaux en deux grandes
catégories: réseaux non bouclés (statique ou feedforward) et réseaux bouclés (dynamique,
feedback ou récurrent).
1.3.2.1 Réseaux Non Bouclés ou Statiques (Feedforward) :
Un réseau de neurones non bouclé est représenté comme un graphe dont les noeuds sont les
neurones. L'information circule des entrées vers les sorties sans retour en arrière. Ce type de
réseaux est utilisé pour effectuer des taches d'approximation de fonction non linéaire, de la
classification ou de la modélisation de processus statiques non linéaires. On trouves :( Marc, 2004)
a) Perceptron Monocouche :
C'est historiquement le premier réseau de neurones, proposé par Rosenblatt en 1958. C'est
un réseau simple, puisque il ne se compose que d'une couche d'entrée et d'une couche de sortie. Il
est calqué, à la base, sur le système visuel et de ce fait, il a été conçu dans un but premier à la
reconnaissance de formes. (Lamine, 2008)
b) Perceptron MultiCouche PMC (MLP en anglais : Multi Layer
Perceptron) :
C'est une extension du précédent, développé par (M.Minsky et S.Papert en 1969, le réseau
à couches est un réseau dont les neurones sont organisés en couches. Tous les signaux d'entrées
sont propagés des nœuds d'entrée vers les neurones de la couche de sortie.
Chaque neurone dans une couche est connecté à tous les neurones de la couche précédente
et de la couche suivante (excepté pour les couches d'entrée et de sortie) et il n'y a pas de connexions
entre les cellules d'une même couche. Il peut résoudre des problèmes non linéairement séparables
et des problèmes logiques plus compliqués, et notamment le problème du XOR.
La Figure 1.04 représente un schéma simplifié d’un réseau MLP contenant une couche
d’entrée, deux couches cachées et une couche de sortie. La couche d’entrée présente toujours une
couche virtuelle associée aux entrées du système. Dans cet exemple, il y a trois neurones d’entrée,
Chapitre 1 Réseaux de Neurones Artificiels
9
quatre neurones sur la première couche cachée, trois neurones sur la deuxième couche cachée et
deux neurones sur la couche de sortie (M.Zerrouki et all,2004)
Figure 1.04 : Exemple d’un réseau de neurones à couches
c) Réseau de neurones à Fonction de base Radiale :
Nommé aussi RBF ("Radial Basis Functions"), son architecture est la même que pour le
Perceptron Multicouche cependant, les fonctions de base utilisées ici sont des fonctions
Gaussiennes. Les RBF seront donc employés dans les mêmes types de problèmes que les MLP à
savoir, en classification et en approximation de fonctions.
La fonction radialale est une classe de fonctions spéciales, leur réponse croit où décroît de
façon monotone par rapport à la distance d'un point central. Le centre, la distance, et la forme de
la fonction à base radiale sont les paramètres du modèle qui est linéaire si ils sont fixent.
Une fonction à base radiale typique est de la forme : (TOUZET, 1992)
��� � ��� !− �� − "�#$# %… �1.03�
ces paramètres sont le centre c et le rayon r.
Une fonction à base radiale Gaussienne décroît quand la distance par rapport au centre
augmente. A l'opposé, une fonction à base radiale multiquadratique croît la distance par rapport au
centre augmente. Elle a la forme suivante : (TOUZET, 1992)
��� � '$# � �� − "�#$# …�1.04�
Va
leurs de
Couche d’entrée
Couche de sortie
Couches cachées
Va
leur
s d’
ent
rées
Chapitre 1 Réseaux de Neurones Artificiels
10
Figure 1.05 : Exemple du réseau RBF
1.3.2.2 Réseaux Bouclés ou Récurrents (Feedback) :
Comme leur nom l’indique, ces réseaux contiennent des rebouclages partiels ou totaux
entre neurones, ils représentent donc une évolution dépendante du temps. Ce sont des réseaux dans
lesquels il y à retour en arrière de l'information, la sortie d'un neurone peut être connectée avec
l'entrée du même neurone ou avec celles des autres neurones. (M.Chemachem, 2007)
L'importance de ces réseaux est qu'ils permettent d'apprendre la dynamique de systèmes, c'est-à-
dire qu'ils peuvent imiter le comportement temporel en insérant des délais dans les boucles.
La figure 1.06 illustre un réseau de neurones bouclé) deux entrées, les chiffres dans les carrés
indiquent le retard attaché à chaque connexion, exprimé en multiple de l’unité de temps (ou période
d’échantillonnage T). Ce réseau contient un cycle, qui part du neurone 3 et revient à celui-ci en
passant par le neurone 4 ; la connexion de 4 vers 3 ayant un retard de 1 unité de temps. (Lamine,
2008)
Figure 1.06 : Exemple d’un réseau de neurones bouclé
y1
y2
x1
x2
x3
Chapitre 1 Réseaux de Neurones Artificiels
11
1.4 Mécanisme Et Types d’Apprentissage :
L’apprentissage est la phase de développement d’un réseau de neurones durant laquelle
son comportement est modifié jusqu’à l’obtention du comportement désiré. L'entraînement du
réseau consiste à présenter, de façon répétitive, un ensemble de données et on lui demandant de
modifier ses poids de telle sorte que l’on retrouve la sortie correspondante.
Le type d'apprentissage est déterminé par la manière dont les paramètres (poids) du réseau sont
adaptés, et il existe plusieurs méthodes et algorithmes pour adapter ces paramètres :
1.4.1 Apprentissage Supervisé: (Lamine, 2008) (O.Ourzifi, 2002)
Un superviseur, ou professeur, fournit au réseau des couples d’entrées-sorties. Il fait
apprendre au réseau l’ensemble de ces couples, le réseau s'adapte et se modifie en agissant sur les
poids des liens entre ses neurones jusqu'à ce qu'il trouve la bonne sortie, c'est-à-dire celle attendue
en fonction de l’entrée donnée.
L’apprentissage est dit supervisé, car il est nécessaire de connaître la sortie attendue pour
chaque jeu d’entrées, le réseau de neurones va ajuster ses paramètres afin de minimiser l’erreur
entre la sortie désirée et sa sortie réelle.
Figure 1.07 : Apprentissage supervisé
1.4.2 Apprentissage Non Supervisé: (O.Ourzifi, 2002)
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 des réponses à des valeurs d’entrée
similaires. Cet apprentissage consiste donc, à détecter automatiquement des régularités qui
figurent dans les exemples présentés et à modifier les poids des connexions pour que les exemples
ayant les mêmes caractéristiques de régularité provoquent la même sortie.
EN
TR
EE
S Superviseur
Réseau
Sortie désirée
Sortie obtenue
Erreur
Modification des poids
Chapitre 1 Réseaux de Neurones Artificiels
12
Figure 1.08 : Apprentissage non supervisé
1.4.3 Apprentissage Par Renforcement :
Dans ce mode d’apprentissage le réseau va maximiser un indice de performance qui lui est
fourni, appelé signal de renforcement. Le système étant capable ici, de savoir si la réponse qu'il
fournit est correcte ou non, mais ne connaissant pas la bonne réponse, contrairement à
l’apprentissage supervisé.
1.5 Apprentissage des Réseaux de Neurones MLP :
Dans les réseaux de neurones MLP le type d'apprentissage utilisé est supervisé.
L’apprentissage est défini comme un problème d’optimisation qui consiste à trouver les
coefficients du réseau minimisant une fonction de coût (fonction d’erreur).
La procédure d'apprentissage des réseaux de neurones nécessite :
• Un ensemble d'exemples d'apprentissage : En effet, les réseaux de neurones sont des
fonctions paramétrées (poids), utilisées généralement pour extraire des modèles à partir
d'exemples, leurs paramètres sont calculés à partir de ces exemples ou couples (entrée,
sortie désirée).
• La définition d'une fonction de coût qui mesure l'écart entre les sorties du réseau de
neurones et les sorties désirées.
• Un algorithme de minimisation de la fonction de coût par rapport aux paramètres.
1.5.1 Fonction coût :
La définition de la fonction de coût est primordiale, car celle-ci sert à mesurer l’écart entre
les sorties désirées présentées dans le vecteur d’entrainement (yd) et les sorties du réseau réelles
(ys). La fonction la plus couramment utilisée, et dont nous nous somme servi lors de notre travail,
est la fonction dite fonction d’erreur quadratique sur la base d'apprentissage, dont la définition est,
EN
TR
EE
S
Réseau Sortie obtenue
Modification des poids
Chapitre 1 Réseaux de Neurones Artificiels
13
pour chaque exemple n (n∈N, N est la taille du vecteur) présenté au réseau la fonction d’erreur
quadratique, sera :
����� � 12 ��)���� − �*�����#… �1.05�
Pour tout l’ensemble d’apprentissage N on peut définir la fonction de coût (appelée aussi l’erreur
quadratique moyenne EQM) :( Marc,2004)
,��� � 1-�����
.
���… �1.06�
La fonction de coût dépendant du vecteur de paramètres du réseau w et des exemples de l'ensemble
d'apprentissage.
1.5.2 Algorithmes d’apprentissages :
Après avoir défini la fonction de coût, il faut maintenant choisir l'algorithme d'optimisation
qui permet d'estimer le vecteur des paramètres du réseau pour lequel la fonction de coût est
minimale.
1.5.2.1 Principe des algorithmes d’optimisation :
Soit E(w) la fonction de coût, les algorithmes d’optimisation utilisés nécessitent que E(w)
soit dérivable par rapport aux poids. Le principe de ces méthodes est de se placer en un point
initial, de trouver une direction de descente du coût dans l’espace des paramètres w, puis de se
déplacer d’un pas dans cette direction. On atteint un nouveau point et l’on itère la procédure
jusqu’à satisfaction d’un critère d’arrêt. (M. Chemachema, 2007)
Ainsi, à l'itération k, on calcule :
��0� � ��0 − 1� � 1�0 − 1� − 2�0 − 1�… �1.07� )1( −kα est le pas de la descente et )1( −kd est la direction de descente: Plusieurs algorithmes
d'optimisation existent et qui se distinguent par le choix de ces deux quantités.
Dans les réseaux de neurones MLP, l’algorithme d’apprentissage le plus utilisé est la
rétropropagation du gradient de l’erreur (Back Propagation BP) où le processus d’entraînement
vise à minimiser la différence entre la sortie désirée et la sortie réelle issu du réseau de neurones
(voir l’annexe où nous avons décrit le principe la rétropropagation de gradient).
Chapitre 1 Réseaux de Neurones Artificiels
14
1.6 Utilisation des Réseaux de neurones :
Les réseaux de neurones peuvent être utilisés pour émulation et contrôle des systèmes :
1.6.1 Réseau de neurones Emulateur (NNE : Neuronal Network Emulator) :
Un émulateur neuronal d’un système est décrit par une fonction exprimant la sortie du
réseau émulateur NNE en fonction des entrées ��0� qui lui sont fournies. Cette relation
mathématique doit être similaire à la fonction du système à émuler.
Après entrainement, l’émulateur doit être en mesure de reproduire les mêmes sorties que
le système. 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 1.09 représente la structure d’entrainement de l’émulateur (NNE) :
Figure 1.09 : Structure d’entrainement d’un réseau de neurones émulateur
1.6.2 Réseau de neurones contrôleur (NNC : Neuronal Network Controller) :
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 le signal de
commande u(k). L’intérêt de ce type de contrôleurs est dû à la capacité d’apprentissage des réseaux
de neurones.
Dans ce qui suit, nous considérons un système décrit par une équation récurrente non
linéaire de la forme : (BENAHMED, 2002)
��0 � 1� � �4��0�, ��0 − 1�, … , ��0 − � � 1�, 6�0�,… , 6�0 − 7�8… �1.08�
Ys(k+1)
e(k+1)
Chapitre 1 Réseaux de Neurones Artificiels
15
Où �est une fonction non linéaire, p et q : peuvent être connus ou bien estimés par �̂ et 7;. Généralement on suppose que �̂ et 7; 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.
Dans le contrôle des systèmes, les réseaux de neurones peuvent être de deux manières,
directe ou indirecte. Dans la première, le réseau de neurones est introduit dans le schéma de
contrôle pour minimiser un critère représentant en quelque sorte la qualité de la commande.
Le contrôle direct par réseau de neurones consiste en un apprentissage en ligne du réseau selon la
configuration suivante :
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�6�0�, ��0��), obtenus par des mesures réelles 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 :
, � 12 4$�0� − ��0�8#…�1.09�
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. (BENAHMED, 2002)
Figure 1.10 : Structure d’entrainement du contrôle neuronal direct
Chapitre 1 Réseaux de Neurones Artificiels
16
1.7 Conclusion :
Ce chapitre nous a permis d’avoir un aperçu général sur les réseaux de neurones. Notre
étude s’est intéressée principalement aux réseaux de neurones de type MLP, nous avons décrit le
principe de l’apprentissage des réseaux, l’utisation des réseaux pour le contrôle et l’émulation des
systèmes, afin de pouvoir les exploiter pour le reste de l’étude.
17
Chapitre 2 :
Optimisation Par Métaheuristiques
2.1. Introduction :
Le terme métaheuristique provient de la concaténation des mots méta ("au-delà" en grec) et
heuristique ("trouver" en grec). L'interprétation de ces mots peut signifier que l'on effectue des
recherches à un très haut niveau. En effet, les métaheuristiques sont très génériques, et
permettent de s'adapter à une grande classe de problèmes concrets sans nécessité de
connaissances particulières sur le problème d’optimisation à résoudre
Les métaheuristiques sont apparues dans les années 1980 et forment une famille
d’algorithmes d'optimisation, dont le but est de minimiser (ou de maximiser) une (ou plusieurs)
fonction(s) objectif. L'évolution des métaheuristiques se fait de manière itérative. Ceci a
l'avantage de permettre l'arrêt de l'algorithme quand on le souhaite, et de récupérer la meilleure
solution trouvée jusqu’à présent.
2.2. Catégories des métaheuristiques:
Le fonctionnement des métaheuristiques est généralement inspiré à partir des systèmes
physiques comme le recuit simulé, de systèmes biologiques comme les Algorithmes Génétiques,
de systèmes ethnologiques comme les algorithmes de colonies de fourmis ou de l’optimisation
par essaims particulaires etc. Ainsi les métaheuristiques peuvent être réparties en deux catégories
à savoir, les métaheuristiques à base de voisinage correspondant à la recherche locale et les
méthodes à base de population correspondant à la recherche globale. (Nesrine, 2014)
2.3. Caractéristiques des métaheuristiques :
Les propriétés fondamentales des métaheuristiques sont résumées dans les points suivants :
� les métaheuristiques sont des stratégies qui permettent de guider la recherche
d’une solution optimale.
� Le but visé par les métaheuristiques est d’explorer l’espace de recherche
efficacement afin de déterminer des solutions (presque) optimales.
Chapitre 2 Optimisation Par Métaheuristiques
18
� Les métaheuristiques sont en général non-déterministes et ne donnent aucune
garantie d’optimalité.
� Les métaheuristiques peuvent contenir des mécanismes qui permettent d’éviter
d’être bloqué dans des régions de l’espace de recherche.
� Les concepts de base des métaheuristiques peuvent être décrits de manière
abstraite, sans faire appel à un problème spécifique.
� Les métaheuristiques peuvent faire appel à des heuristiques qui tiennent compte
de la spécificité du problème traité, mais ces heuristiques sont contrôlées par une
stratégie de niveau supérieur.
2.4. Optimisation:
En mathématique, l’optimisation recouvre toutes les méthodes qui permettent de
déterminer l’optimum d’une fonction avec ou sans contraintes. Le problème d'optimisation se
définit comme la recherche du minimum ou du maximum d'une fonction donnée.
Résoudre un problème d’optimisation���, ��revient à déterminer une solution � ∈ �
minimisant ou maximisant la fonction � avec�, 1'ensemble des solutions, ou 1'espace de
recherche, et �est une application, ou une fonction d'évaluation qui à chaque configuration �
associe une valeur����. (ALI, 2014)
Dans le cas d’un problème de minimisation, on cherche à déterminer une solution qui
minimise la fonction objectif. Un minimum est une solution qui fait partie des solutions
admissible, dans le domaine d’optimisation on distingue deux types de minimums :
Minimum Local : une solution est minimum local par apport à une structure de voisinage � si ∀� ∈ ����, ���� ≤ ���′� … �2.01�
Minimum Global : une solution est minimum global si ∀� ∈ �, ���� ≤ ��� �. . . �2.02� Le voisinage est une fonction notée � qui associe un sous ensemble de� à toute solution�, les
voisins de � sont �′ ∈ ����
Les métaheuristiques, représentent une classe d'algorithmes heuristiques génériques, qui
peuvent être appliqués à tout problème d'optimisation; la seule condition nécessaire est de définir
une représentation des configurations, ainsi qu'une fonction objectif. Dans ce qui suit, nous
décrivons les métaheuristiques que nous avons utilisées. (ALI, 2014)
2.4.1. Les Algorithmes Génétiques :
2.4.1.1. Introduction :
Les Algorithmes Génétiques développés par J. Holland présentent des qualités
intéressantes pour la résolution de problèmes d’optimisation complexes. Ils tentent de simuler le
processus d’évolution des espèces dans leur milieu naturel: soit une transposition artificielle de
concepts basiques de la génétique et des lois de survie énoncés par Charles Darwin.
Chapitre 2 Optimisation Par Métaheuristiques
19
2.4.1.2. Optimisation par Algorithme Génétique :
Un Algorithme Génétique est un algorithme itératif de recherche d'optimum, il manipule
une population de taille constante. Cette population est formée de points appelés chromosomes,
chaque chromosome représente le codage d'une solution potentielle au problème à résoudre et il
est constitué d'un ensemble d'éléments appelés gènes (bits). (Juang, 2004)
Figure 2.01 : Eléments d’une population
A chaque itération, appelée génération, est créée une nouvelle population avec le même
nombre de chromosomes. Cette génération consiste en des chromosomes mieux "adaptés" à leur
environnement tel qu'il est représenté par la fonction d’évaluation (fonction coût ou fitness).
Au fur et à mesure des générations, les chromosomes vont tendre vers l'optimum de la
fonction. La création d'une nouvelle population à partir de la précédente se fait par application
des opérateurs génétiques : la sélection, le croisement et la mutation.
2.4.1.3. Structure de l’Algorithme Génétique :
L'implémentation d'un AG est spécifique au problème à résoudre. Pour l’utiliser, il faut
disposer des cinq éléments suivants:
� Le codage de l’individu : La qualité du codage des données conditionne le succès
des algorithmes génétiques. Les codages binaires ont été très utilisés à l'origine.
Les codages réels sont désormais largement utilisés, notamment dans les
domaines applicatifs pour l'optimisation de problèmes à variables réelles.
� La génération de la population initiale : Ce mécanisme doit être capable de
produire une population d'individus non homogène qui servira de base pour les
générations futures.
� La fonction à optimiser : Celle-ci retourne une valeur appelée fitness ou fonction
d'évaluation de l'individu.
� Des opérateurs permettant de diversifier la population au cours des générations et
d'explorer l'espace d'état. L'opérateur de croisement recompose les gènes
Chapitre 2 Optimisation Par Métaheuristiques
20
d'individus existant dans la population ainsi que l'opérateur de mutation a pour but
de garantir l'exploration de l'espace d'états.
� Des paramètres de dimensionnement: la taille de la population, nombre total de
générations, probabilités d'application des opérateurs de croisement et de
mutation.
L’organigramme fonctionnel de la figure 2.02 illustre la structure de l’Algorithme Génétique.
Nous détaillons dans la suite les diverses phases qui le constituent. (Goldberg,2002)
Figure 2.02 : Organigramme général de l’Algorithme Génétique
Début
Calcul de la fonction d’évaluation
Critères d’arrêt
satisfait ?
Sélection des parents
Croisement
Mutation
Sélection finale
Solution optimale
Fin
Oui
Non
Codage de paramètres
Génération aléatoire de la première population
Chapitre 2 Optimisation Par Métaheuristiques
21
Après constitution d’une population initiale par tirage aléatoire, les étapes constituées
par l’évaluation, la sélection et la recombinaison sont appliquées de manière itérative sur la
population jusqu’à satisfaction de la condition de convergence.
2.4.1.4. Codage : (ALI, 2014) (BENAHMED, 2002)
Le codage des variables est une étape importante dans l’Algorithme Génétique, il faut
représenter les différents états possibles de la variable dont on cherche la valeur optimale sous
forme utilisable pour un AG. Le codage permet d’établir une connexion entre la valeur de la
variable et les individus de la population. Il existe principalement deux types de codage : le
codage binaire, le codage réel. (ALI, 2014)
a) Codage Binaire :
C’est la représentation la plus fréquente, les Gènes sont codés sous forme d’une chaîne de n
bits {1 ou 0}, figure 2.03.
Figure 2.03 : Chromosome codé en binaire
Pour chaque paramètre xi situé dans l’intervalle [ximin, ximax], on associe une chaîne binaire
b0 b1 … blxi-1, définie sur lxi bits. A cette chaîne correspond un entier naturel yi [ ]:
)03.2...(21
0
1∑
−
=
−−=lxi
j
jlxiji by
Cette chaîne doit être décodée pour pouvoir calculer la valeur de la fonction d’évaluation
qui lui est associée. Le paramètre réel xi de l’espace de recherche relatif à yi est obtenu par
interpolation linéaire : )04.2...(.
12
)( minmaxmin ilxi
iiii y
xxxx
−−
+=
b) Codage Réel :
Le codage réel est plus simple que le codage binaire, chaque chromosome est en fait un
vecteur dont les composantes sont les paramètres du processus d’optimisation. Par exemple, si
on recherche l’optimum d’une fonction de � variables����, ��, … , ����, ���, on peut utiliser tout
simplement un chromosome contenant les � variables.
Gène 1 Gène 2 Gène 3
Chromosome
00011010 10010011 11101011
Chapitre 2 Optimisation Par Métaheuristiques
22
Figure 2.04 : Chromosome codé réel
Avec ce type de codage, la procédure d’évaluation des chromosomes est plus rapide vu l’absence
de l’étape de transcodage (du binaire vers le réel).
2.4.1.5. Génération De La Population Initiale :
Le choix de la population initiale conditionne fortement la rapidité de convergence de
l’algorithme. Si la position de l’optimum dans l’espace d’état est totalement inconnue, il est
naturel de générer aléatoirement les individus de la population en faisant des tirages au hasard
selon une distribution uniforme. Si des informations a priori sur le problème sont disponibles, il
est naturel de générer les individus dans un sous domaine particulier afin d’accélérer la
convergence. (JOURDAN, 2010)
La taille de la population doit être choisie de façon à réaliser un bon compromis entre temps
de calcul et qualité du résultat En effet une taille de population trop grande augmente le temps de
calcul et nécessite un espace mémoire considérable, alors qu’une taille de population trop petite
conduit à l’obtention d’un optimum local.
2.4.1.6. Fonction d’Adaptation (Fitness) :
En raison de l’analogie avec la théorie de l’évolution (survie des individus les mieux adaptés
à leur environnement), l’Algorithme Génétique est formulé en terme de maximisation. Etant
donné une fonction � réelle à une ou plusieurs variables, le problème d’optimisation sur l’espace
de recherche � s’écrit de la manière suivante :
����∈����� … … �2.05�
Dans beaucoup de problèmes d’optimisation, l’objectif est exprimé sous forme de
minimisation d’une fonction coût � :
� ��∈����� … … �2.06�
Le passage du problème de minimisation à un problème de maximisation est obtenu par
transformation de la fonction � selon la relation suivante :
���� " 11 # ���� … … �2.07�
Chromosome
%& %' …. %(�& %(
Chapitre 2 Optimisation Par Métaheuristiques
23
2.4.1.7. Reproduction (Sélection Des Parents) : (ALI, 2014) (Nesrine, 2014)
La sélection est un mécanisme qui fixe à partir de la génération Précédente, quels
individus pourront se reproduire pour former la génération suivante. Lors de cette phase, les
individus les plus forts sont généralement dupliqués et forment les parents de la génération en
cours.
On trouve essentiellement quatre types de méthodes de sélection :
� Sélection par la roue de loterie biaisée.
� Sélection élitiste.
� Sélection par tournois.
� Sélection par rang.
a. Sélection Par La Roue De Loterie Biaisée (Roulette Wheel) De
Goldberg :
Avec cette méthode chaque individu a une chance d'être sélectionné proportionnellement à sa
performance ‘fitness’. Plus la performance d’un individu est élevée par rapport à celle des autres,
plus il a une chance d’être reproduit dans la population. Ainsi, dans le cas d’un codage binaire, la
fonction d’évaluation d’un chromosome particulier )*+, étant��)*+,�, la probabilité avec
laquelle il sera réintroduit dans la nouvelle population de taille N est :
-. " ��)*+,�∑ ��)*+0�102�…… �2.08�
Figure 2. 05 : Sélection par roulette
b. Sélection Elitiste :
La stratégie élitiste consiste à conserver le meilleur individu à chaque génération. Ainsi
l’élitisme empêche l’individu le plus performant de disparaître au cours de la sélection ou que
ses bonnes combinaisons soient affectées par les opérateurs de croisement et de mutation. Après
chaque évaluation de la performance des individus à une génération 4 donnée, le meilleur
individu de la génération précédente 4 5 1 est réintroduit dans la population si aucun des
Chapitre 2 Optimisation Par Métaheuristiques
24
individus de la génération 4 n’est meilleur que lui. Par cette approche, la performance du
meilleur individu de la population courante est monotone de génération en génération.
c. Sélection Par Tournois :
On effectue un tirage avec remise de deux individus de la population courante, et on le fait
"combattre", celui qui a la fitness la plus élevée l'emporte On répète ce processus � fois de
manière à obtenir les N individus de la nouvelle population qui serviront de parents.
d. Sélection Par Rang :
La sélection par rang trie d'abord la population par fitness. Chaque individu se voit associé
un rang en fonction de sa position. La valeur du rang est calculée selon le total des adaptations
des individus divisé par la taille de la population.
+��� " ∑ �� �1,2�� … … �2.09� Le plus mauvais individu aura le premier rang, le suivant le deuxième rang, ainsi de suite. La
sélection par rang d'un individu est la même que par roulette, mais les proportions sont en
relation avec le rang plutôt qu'avec la valeur de l'évaluation.
2.4.1.8. pérateurs De Recombinaison Génétique (Croisement Et Mutation):
Les opérateurs de recombinaison génétique garantissent la diversification des individus
dans la population, en assurant le brassage des matériels génétiques au cours des générations.
Les principaux opérateurs de recombinaison génétique sont le croisement et la mutation.
a) Croisement :( Juang,2004) (AMARA, 2012)
La naissance d’un nouvel individu, nécessite la prise aléatoire d’une partie des gènes de
chacun des deux parents. Ce phénomène, issu de la nature est appelé croisement (crossover).
Selon une probabilité 78 le croisement est appliqué à un couple de parents arbitrairement choisis
dans la population pour produire deux enfants. La valeur de la probabilité de croisement est
choisie généralement entre 0.5 et 0.9, plus elle est élevée plus la population subit de
changements importants. La littérature définit plusieurs opérateurs de croisement, ils différent
selon le type de codage adapté.
Croisement Binaire :
Le croisement binaire est l’échange d’un certain nombre de bits entre deux chromosomes
représentant deux individus de la population. Il existe différents types de croisements :
Croisement En Un Point :
C’est le croisement le plus simple et le plus connu. Il consiste à choisir au hasard un point de
croisement pour chaque couple de chromosomes parents �)*+�9:)*+�� constitués de ; gènes,
Chapitre 2 Optimisation Par Métaheuristiques
25
ensuite on échange les deux sous chaînes terminales de chacun des chromosomes, ce qui produit
deux enfants)*+� 9:)*+� comme indiqué sur la figure 2.06.
Figure 2.06 : Croisement en un point
Croisement En Deux Points :
Deux points de coupure sont choisis au hasard et le contenu entre ces points est
interchangé pour former les enfants.
Figure 2.07 : Croisement en deux points
Croisement Uniforme :
Un masque de croisement est généré aléatoirement pour chaque couple d'individus, les
valeurs de ce masque sont binaires et sa taille est identique à celle du chromosome. Si la valeur
du bit du masque est égale à 1 alors la valeur du gène du parent1 est copiée chez l'enfant1 et si la
valeur du bit du masque est égale à 0 alors la valeur du gène du parent2 est transmise à l'enfant1.
Les valeurs des gènes de l'enfant2 sont les valeurs des gènes du parents1 lorsque la valeur du bit
du masque est égale à 0 et les valeurs des gènes du parents2 lorsque la valeur du bit du masque
est égale à 1. Le fonctionnement croisement uniforme est illustré par la figure 2.07.
1 1 1 0
0 1
1 1 1 0 0
0 1 1 1 0
8<=&
8<='
8<=&
8<=' 1 0 0
0
1 1 1 0
0 1
1 1 1 0 0
0 1 1 1 0
8<=&
8<='
8<=&
8<=' 1 0 0
0
2 parents 2 enfants
Site de croisement
2 parents 2 enfants
Chapitre 2 Optimisation Par Métaheuristiques
26
Figure 2. 08 : Croisement uniforme
Croisement Réel :
Le codage réel requiert des opérateurs génétiques spécifiques pour la manipulation des
chromosomes, ils y a plusieurs méthodes parmi lesquels on trouve le croisement barycentre:
Croisement Barycentre :
Deux gènes )*+�� �9:)*+�� � sont sélectionnés dans chacun des parents à la même
position . Ils définissent deux nouveaux gènes )*+� � �9:)*+� � � par combinaison linéaire.
)*+� � � " + ∗ )*+�� � # �1 5 +� ∗ )*+�� � … �2.10� )*+� � � " �1 5 +� ∗ )*+�� � # r ∗ )*+�� � … �2.11�
Où + est un coefficient de pondération aléatoire adapté au domaine d’extension des gènes qui
prend généralement ses valeurs dans l’intervalle [−0.5, 1.5].
b) Mutation :(Goldberg, 1994)( Juang,2004)
La mutation est une modification qui intervient de manière aléatoire sur un chromosome,
les individus de la population issue du croisement vont subir un processus de mutation avec une
probabilitépA . La valeur de cette probabilité est faible, généralement fixée entre 0,001 et 0,01.
L’operateur de mutation permet de maintenir une certaine diversité dans la population. Il
existe plusieurs méthodes de mutation parmi lesquels on trouve :
� Mutation Binaire :
Une mutation en codage binaire consiste simplement en l'inversion d'un bit se trouvant en un
locus bien particulier, bit est donc remplacé par son complément. La position du bit qui doit
subir la mutation est déterminée aléatoirement.
Figure 2. 09 : Mutation binaire
0 0 0
1 1 1 0
0 1
1 1 0 0 0
0 1 1 1 0
Masque de croisement
Parant 1
Parant 2
Enfant 1
Enfant 2
1 1
1 0 0
0
0 1 0 1 0
B<=C B<=C 1 0 0 1 1
Bit muté
Chapitre 2 Optimisation Par Métaheuristiques
27
� Mutation Réel :
La mutation réelle ne se différencie de la mutation binaire que par la nature de l'élément
qu'elle altère, ce n'est plus un bit qui est inversé mais une variable réelle qui est de nouveau tirée
au hasard sur son intervalle de définition. Dans le cas d’un codage réel, on utilise principalement
deux opérateurs de mutation: la mutation uniforme et la mutation non uniforme [39].
� Mutation Uniforme :
C’est une simple extension de la mutation binaire, en supposant fixée la probabilité de
mutationpA, un tirage au sort pour chaque gène )*+� � d’un chromosome permet de décider si
ce gène doit être ou non modifié. Le gène sélectionné est remplacé par une valeur quelconque
)*+ � � tirée aléatoirement dans l’intervalleD)*+� �E,�, )*+� �EF�G. � Mutation Non Uniforme :
Le calcul de la nouvelle valeur d’un gène est un peu plus complexe. Le gène )*+� � subit
des modifications importantes durant les premières générations, puis graduellement
décroissantes au fur et à mesure que l’on progresse dans le processus d’optimisation. Pour une
génération4, on tire au sort une valeur binaire qui décidera si le changement doit être positif ou
négatif. La nouvelle valeur )*+ � � du gène )*+� � est donnée par :
)*+� � " H)*+� � " ∆J4, )*+� �EF� 5 )*+� �K + " 0)*+� � " ∆�4, )*+� � 5 )*+� �E,�� + " 1 … … 2.12
Où ∆�4, L� est une fonction qui définit l’écart entre la nouvelle valeur et la valeur initiale à la
génération 4 et + est nombre aléatoire qui prend les valeurs 0 ou 1.
2.4.1.9. Sélection Des Individus D’Une Nouvelle Génération (Sélection
Finale) :
A la suite de l'application des opérateurs de recombinaison génétique, la population
comporte 2N individus (N enfants et N parents). Pour construire la nouvelle génération, il faut
donc éliminer N individus et garder seulement les solutions les plus intéressantes. Plusieurs
stratégies sont possibles pour effectuer une telle sélection :
a) Sélection Par Compétition :
Une compétition a lieu entre parents et enfants pour déterminer les survivants de la nouvelle
génération. Ainsi, les enfants peuvent être insérés dans la population si et seulement si leur
performance est supérieure à celle de leur parents à rang équivalent.
Chapitre 2 Optimisation Par Métaheuristiques
28
b) Sélection Elitiste (Steady State Sélection) :
Ici, la population de la prochaine génération est choisie à partir de la population des enfants
et de la population des parents ensemble. Une compétition entre les parents et les enfants est
effectuée pour garder les deux meilleurs individus parmi les quatre.
c) Sélection Par Descendance :
Il n'y a aucune compétition entre parents et enfants. La population de la nouvelle génération
est obtenue par descendance, les enfants remplaçant automatiquement leurs parents quelle que
soit leur adaptation. L'inconvénient de ce type de sélection est que l'on risque de voir disparaître
les caractéristiques génétiques des parents les mieux adaptés si elles n'ont pas été totalement
transmis lors de la recombinaison génétique.
2.4.1.10. Critère D’Arrêt :
Le cycle de génération et de sélection de population est répété jusqu’à ce qu’un critère
d’arrêt soit satisfait; ce critère peut être notamment un nombre maximum de générations, un
temps maximal de calcul, une valeur de fitness, ou une convergence vers une solution
satisfaisante.
2.4.2. Recherche Tabou (RT) : (ALI, 2014) (Nesrine, 2014)
2.4.2.1. Introduction :
La recherche tabou est une métaheuristique de recherche locale, elle a été proposée par
Fred Glover en 1986. Depuis cette date, elle est devenue très populaire, grâce aux succès qu’elle
a remportés pour résoudre de nombreux problèmes d’optimisation.
2.4.2.2. Principe De Fonctionnement :
La recherche Tabou est une procédure itérative qui, partant d’une solution initiale, tente
de converger vers la solution optimale en exécutant, à chaque pas, un mouvement dans l’espace
de recherche. Chaque pas consiste d’abord à engendrer un ensemble de solutions voisines de la
solution courante pour ensuite en choisir la meilleure. Pour pallier l’inconvénient majeur des
méthodes de recherche locale, la recherche tabou a pour but d’améliorer à chaque étape, la valeur
de la fonction objectif, en utilisant une mémoire afin de conserver les informations sur les
solutions déjà visitées. Cette mémoire constitue la liste Tabou qui va servir à interdire l’accès
aux dernières solutions visitées. Lorsqu’un optimum local est atteint, il y a interdiction de revenir
sur le même chemin. Un critère d’aspiration, est également utilisé pour lever l’interdiction d’un
mouvement si ce dernier conduit à une meilleure solution.
Chapitre 2 Optimisation Par Métaheuristiques
29
2.4.2.3. Eléments De La Recherche Tabou :
Les éléments de base de la RT sont définis comme suit :
� Solution actuelle: il s'agit d'un ensemble de valeurs de paramètres optimisé à
chaque itération.
� Mouvements: ils caractérisent le processus de génération de solutions d'essais qui
sont liés à la solution actuelle.
� Ensemble de mouvements: c'est l'ensemble de tous les mouvements possibles ou
des solutions d'essais dans le voisinage de la solution actuelle.
� Les restrictions taboues: sont certaines conditions imposées sur les mouvements
interdits. Ces derniers sont enregistrés dans une liste d’une certaine taille appelée
liste tabou .En général, la taille de la liste tabou devrait croître avec la taille du
problème donné.
� Critère d’aspiration: permet d’éliminer le statut tabou d’une solution. Nous
considérons que si une solution taboue est la meilleure solution rencontrée depuis
le début de la recherche, alors cette solution deviendra la solution initiale
suivante dans le processus itératif de recherche. L'importance d'utilisation du
critère d'aspiration est d'ajouter une certaine souplesse à l’algorithme en
l'orientant vers les mouvements attractifs.
� Critères d'arrêt: ce sont les conditions dans lesquelles le processus de recherche se
termine. La recherche prendra fin si l'un des critères suivants est satisfait: le
nombre d'itérations depuis le dernier changement de la meilleure solution est
supérieur à un nombre prédéterminé, ou le nombre d'itérations atteint le nombre
maximum admissible.
L'organigramme général de l’algorithme de la recherche tabou standard est représenté dans la
figure 2.10.
Chapitre 2 Optimisation Par Métaheuristiques
30
Figure 2.10 : Organigramme général de l’algorithme de la recherche tabou standard.
2.5. Hybridation Des Métaheuristiques :
L'hybridation est une tendance observée dans de nombreux travaux réalisés sur les
métaheuristiques ces dix dernières années. Elle exploite la puissance de plusieurs algorithmes, et
les combine en un seul méta-algorithme. Il existe plusieurs manières pour faire cette hybridation.
Une des techniques les plus populaires d'hybridation concerne l'utilisation de
métaheuristiques à base d'une solution unique avec des métaheuristiques à population. La plupart
des applications réussies des métaheuristiques à population sont complétées par une phase de
recherche locale. Afin d'augmenter leurs capacités d'intensification. Les individus d’une
population tentent d'explorer l'espace de solutions afin de trouver les zones prometteuses,
lesquelles sont ensuite explorées plus en détail par des méthodes de recherche locale.
Solution Initiale
Evaluer chaque solution voisine
Choisir la meilleure solution voisine
Mise à jour de la liste tabou
Générer un ensemble de solutions voisines
Choisir la meilleure solution voisine admissible
Critères d’arrêt satisfaits ?
Solution Finale
Oui
Non
Début
Chapitre 2 Optimisation Par Métaheuristiques
31
La méthode d’optimisation que nous avons utilisée, dans notre travail, fait partie de ce
type de méthodes hybrides. Dans le chapitre qui suit, nous essayons de décrire cette méthode qui
est basée sur un Algorithme Génétique et une recherche tabou dans le but d’optimiser un réseau
de neurones MLP, destiné à la commande des systèmes non linéaires.
2.6. Conclusion :
Dans ce chapitre, nous avons décrit le principe de l’optimisation basées sur les
métaheuristiques Nous avons présenté en détail le mécanisme de fonctionnement des
Algorithmes Génétique et de la recherche tabou qui font partie de cette famille de
méthaheuristique.
32
Chapitre 3 :
Optimisation Du Réseau Contrôleur
MLP
Par l’Approche Hybride GA -RT 3.1 Introduction :
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 � , être dynamique si �(�) change avec le temps ou encore multi-
objectif 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éthodes la méthode du gradient, la méthode de
Newton.
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, 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, on devra alors faire appel à des heuristiques permettant
une optimisation approchée.
Chapitre 3 : Optimisation Du Réseau Contrôleur MLP Par l’Approche Hybride GA-RT
33
3.2 Optimisation D’Entrainement Des Réseaux De Neurones Par AG-RT :
3.2.1 Adaptation De L’Algorithme Génétique 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 l’Algorithme hybride AG-RT.
Pour appliquer les AG directement, ou couplée avec d'autres métaheuristiques, aux
réseaux de neurones, le problème de la représentation du chromosome est posé. La première
décision que le concepteur doit faire est de savoir comment représenter une solution dans une
structure chromosomique. Le chromosome de l’Algorithme Génétique va représenter les poids
du réseau de neurones. Ainsi, pour un réseau de neurones MLP à une seule couche cachée, avec
deux neurones sur la couche d’entrée, trois neurones sur la couche cachée et un seul neurone sur
la couche de sortie, la structure du chromosome est donnée par la figure 3.01:
Figure 3.01 : Structure du Chromosome
�� est le poid entre le neurone de la couche de sorite et le neurone j de la couche cachée.
���est le poid entre le neurone jde la couche cachée et le neurone i de la couche d’entrée.
3.2.2 Structure D’Optimisation :
Le diagramme de la commande en boucle fermée est schématisé par la figure 3.02. Il
consiste en quatre blocs principaux:
• Controlleur neurenal.
• Procédé à commander.
• Algorithme d’optimisational.
• Foction objectif (Indice de performance)
Chromosome
�� �� ��� �� �� �� �� ��� ���
Chapitre 3 : Optimisation Du Réseau Contrôleur MLP Par l’Approche Hybride GA-RT
34
Figure 3.02 : Structure d’optimisation et de contrôle
L’interaction mutuelle entre les différents blocs de la structure de la figure 3.02 est
illustrée par la procédure suivante :
1. Génération d’une population initiale des chromosomes caractérisant les paramètres du
contrôleur
2. Pour tous les chromosomes :
Evaluer la fonction objective. Classifier les chromosomes selon leur aptitude.
Construction d’une nouvelle population par application des opérateurs génétiques adaptés
au codage des chromosomes.
L’étape 2 est répétée jusqu'à ce qu'un nombre maximum de générations soit effectué. Après le
processus d'évolution, la génération finale de l’algorithme se compose des individus bien adaptés
et qui fournissent des solutions ‘optimales’ ou proches.
3.2.3 Plateforme De l’Algorithme Génétique :
Afin de construire un algorithme d’optimisation à base des AG, il faut bien préparer la
plateforme suivante :
• Définir la configuration initiale (taille de la population, critère d’arrêt, probabilités de
croisement et de mutation, …etc.).
• Mode du codage approprié (binaire, réel, …etc.).
• Méthode de génération de la population initiale.
• Définir la fonction objective.
• Adapter les opérateurs génétiques au mode de codage choisi.
Consigne Sortie
- +
Contrôleur
Neuronal Système
Algorithme
D’optimisation
Fonction
Objectif
e u
Chapitre 3 : Optimisation Du Réseau Contrôleur MLP Par l’Approche Hybride GA-RT
35
Les AG utilisés dans ce mémoire ont les caractéristiques fondamentales suivantes :
• Le codage utilisé est le codage réel.
• La population initiale sera générée aléatoirement pour couvrir tous l’espace de recherche.
• La méthode de la "loterie biaisée" est choisie pour la sélection des parents.
• Le croisement uniforme.
• La mutation uniforme.
• La sélection finale pour la nouvelle génération sera par compétition.
L’objectif global du système de commande est de réduire au minimum l’erreur à chaque
instant � entre la réponse réelle du système et la consigne. Il existe plusieurs indices de
performance permettant de mesurer la qualité d’un réglage donné, celui utilisés dans ce mémoire
est le critère de l’erreur quadratique moyenne :
��� = EQM = 1����(�)��
�� ……(3.01)
Où �, est le nombre total d’échantillons.
Les algorithmes génétiques permettent de déterminer le maximum d’une fonction, alors
la fonction coût de l’AG est calculée comme suit :
�% = 11 + ���…… (3.02) 3.2.4 Plateforme De La Recherche Tabou :
Avant de construire un algorithme d’optimisation de la recherche tabou, il faut d’abord
définir:
• la configuration initiale (taille de la liste Tabou, nombre de solutions voisines, critère
d’arrêt).
• la fonction objective.
• La méthode de génération de la solution initiale et son voisinage.
Les caractéristiques fondamentales de l’algorithme de la RT utilisé pour la construction de
l’algorithme hybride sont :
• Génération d’une solution initiale et solutions voisines aléatoires
• La liste tabou est une mémoire FIFO (First Input First Output), sa taille est souvent
proportionnel au nombre d’itérations.
• La fonction objectif (fitness function) da la recherche Tabou va automatiquement suivre
le choix du critère de performance des AG calculé par la formule (3.01).
3.3 Algorithme Hybride AG-RT :
Chapitre 3 : Optimisation Du Réseau Contrôleur MLP Par l’Approche Hybride GA-RT
36
Afin d’améliorer la convergence des Algorithmes Génétiques, la Recherche Tabou est
intégrée après la sélection finale de la nouvelle génération.
Le tableau 2.1 définie les acronymes utilisés dans les 4 algorithmes.
Paramètre Signification ()* + ,�� Nombre maximum de générations de l’AG - Taille de la population .% Probabilité de croisement ./ Probabilité de mutation 012 Chromosome �345 Solution optimale 67�� Solution élitiste 67��89:5 Meilleure solution élitiste �;�5 Solution initiale de la RT � Nombre maximum d’itérations de la RT -< Nombre de solutions voisines � Taille de la liste tabou
Tableau 3.01 : Paramètres de l’algorithme AG-RT
Le meilleur individu de la nouvelle génération, Elit, est introduit dans l’algorithme de la
Recherche Tabou pour améliorer sa qualité en cherchant dans son voisinage une autre meilleure
solution 67��89:5 adaptée.
L'élitisme est un mécanisme introduit pour conserver les bonnes solutions lors du passage
de la génération courante à la prochaine génération. Conserver ces solutions pour les générations
futures permet d'améliorer les performances des algorithmes sur certains problèmes.
Le pseudo-code de la procédure AG-RT est le suivant :
Début Algorithme Génétique
Définir ()* + ,��, .% , ./, -
Générer la population initiale
Pour � = 1 à ()* + ,�� faire
Evaluer chaque individu de la population par l’équation. (3.02)
Sélectionner les parents de la population
Produire les enfants des parents sélectionnés par l’opération de croisement
Muter les individus de la population résultante
Sélectionner les enfants et les parents les plus adapté pour la nouvelle génération
et enregistrer le meilleur individu comme 67�� Début Recherche Tabou
Définir �, -<, �, Initialiser la liste tabou� = ∅, i= 0
Chapitre 3 : Optimisation Du Réseau Contrôleur MLP Par l’Approche Hybride GA-RT
37
�;�5 = 67�� Tant que �< �
Générer -< solutions voisines de �;�;5 Evaluer chaque solution voisine
Prendre la solution voisine la plus adaptée comme 67��89:5 Mettre à jour la liste Tabou
� = � + 1
Fin Tant que
Fin
Enregistrer le meilleur individu comme 67��89:5 et insérer le dans la nouvelle
génération
Fin Pour
Retourner la meilleure solution �345 Fin
3.4 Simulations :
Dans le but de tester et évaluer les performances de l’algorithme hybride AG-RT 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.
- Contrôler un procédé non linéaire.
3.4.1 Emulation du système Box & Jenkins :
Le but visé par ce premier test est de comparer la méthode d’optimisation proposée (AG-
RT) à d’autres méthodes connues, utilisant la même structure de contrôle (ou émulation).
3.4.1.1 Présentation du procédé Box et Jenkins : (Box et Jenkins 1976)
Le système de Box et 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 3.03 et 3.04.
Chapitre 3 : Optimisation Du Réseau Contrôleur MLP Par l’Approche Hybride GA-RT
38
Figure 3.03: Signal d’entrée du système Box et Jenkins
Figure 3.04 : Signal de sortie du système Box et Jenkins
3.4.1.2 Structure du Réseau de Neurones :
Le réseau de neurones utilisé est un réseau MLP à une seule couche cachée, avec deux
neurones sur la couche d’entrée, trois neurones sur la couche cachée et un seul neurone sur la
couche de sortie. Pour fonction de transfert, elle est sigmoïde à la couche cachée et linéaire à la
couche sortie est linaire
A chaque itération, deux entrées sont appliquées au réseau (x(k-4) et yd(k-1)), ensuite la
différence entre la sortie du réseau (yr) et celle prédite pour l’exemple (yd(k)), est utilisée pour
ajuster les poids de connexion du réseau de neurones.
0 50 100 150 200 250 300-3
-2
-1
0
1
2
3
itérations (ms)
0 50 100 150 200 250 30044
46
48
50
52
54
56
58
60
62
Chapitre 3 : Optimisation Du Réseau Contrôleur MLP Par l’Approche Hybride GA-RT
39
3.4.1.3 Emulation par un réseau MLP utilisant la rétropropagation (BP) :
Figure 3. 05 : Signal de sortie émulée et sortie désirée
Figure 3.06 : Signal d’erreur d’émulation
0 50 100 150 200 250 3000
10
20
30
40
50
60
70
Itérations
Sor
tie
Sortie Réseau
Sortie Désirée
0 50 100 150 200 250 300-10
0
10
20
30
40
50
60
X: 198Y: 3.016
Itérations
Err
eur
Chapitre 3 : Optimisation Du Réseau Contrôleur MLP Par l’Approche Hybride GA-RT
40
3.4.1.4 Emulation par un réseau MLP utilisant l’algorithme AG:
Les valeurs spécifiques de l’algorithme sont données par le tableau 3.02. La
figure 3.09 montre l’évolution de l’indice de performance durant l’exécution de
l’algorithme AG :
Taille de la population 40
Nombre de génération 100
Probabilité de croisement Pc 0.8
Probabilité de mutation Pm 0.2
Espace de recherche [-1 , 1]
Nombre des gènes 9
Tableau 3.02 : Paramètres de l’algorithme AG
Figure 3.07 : Signal de sortie émulée et sortie désirée
0 50 100 150 200 250 30044
46
48
50
52
54
56
58
60
62
Itérations
Sor
tie
Sortie Réseau
Sortie Désirée
Chapitre 3 : Optimisation Du Réseau Contrôleur MLP Par l’Approche Hybride GA-RT
41
Figure 3.08 : Signal d’erreur d’émulation
Figure 3.09 : Evolution de la fonction d’évaluation
3.4.1.5 Emulation par un réseau MLP utilisant l’algorithme AG-RT:
0 50 100 150 200 250 300-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5X: 198Y: 1.979
Itérations
Err
eur
0 10 20 30 40 50 60 70 80 90 1000
1
2
3
4
5
6
7
Générations
EQ
M
0.489266
Parcours Fitness
Chapitre 3 : Optimisation Du Réseau Contrôleur MLP Par l’Approche Hybride GA-RT
42
Les valeurs spécifiques de l’algorithme sont données par le tableau 3.03. La
figure 3.12 montre l’évolution de l’indice de performance durant l’exécution de
l’Algorithme AG-RT:
Taille de la population 40
Nombre de génération 100
Probabilité de croisement Pc 0.8
Probabilité de mutation Pm 0.2
Espace de recherche [-1 , 1]
Nombre des gènes 9
Taille de liste tabou 7
Nombre de solutions voisines 8
Nombre d’itérations de la RT 5
Tableau 3.03 : Paramètres de l’algorithme AG-RT
Figure 3.10 : Signal de sortie émulée et sortie désirée
0 50 100 150 200 250 30044
46
48
50
52
54
56
58
60
62
Itérations
Sor
tie
Sortie Désirée
Réseau
Chapitre 3 : Optimisation Du Réseau Contrôleur MLP Par l’Approche Hybride GA-RT
43
Figure 3.11 : Signal d’erreur d’émulation
Figure 3.12 : Evolution de la fonction d’évaluation
Les résultats de l’émulation du système Box et Jenkins par le réseau MLP, entrainé par
l’algorithme AG-RT, sont extrêmement performants. Le signal émulé suit bien fidèlement la
référence et l’EQM est très faible figure (3. 10) et figure (3. 11).
0 50 100 150 200 250 300-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
Itérations
Err
eur
X: 265Y: 2.036
0 10 20 30 40 50 60 70 80 90 1000
1
2
3
4
5
6
70.196235
Générations
EQ
M
Chapitre 3 : Optimisation Du Réseau Contrôleur MLP Par l’Approche Hybride GA-RT
44
Le tableau 3.04, montre les résultats de différents algorithmes utilisés pour l’émulation du
système de Box et Jenkins :
Algorithme EQM
BP 10.4473
AG 0.48266
AG-RT 0.196235
Tableau 3.04 : Comparaison de différent algorithme
pour l’émulation su système de Box et Jenkins
3.4.2 Contrôle de température d’un bain d’eau :
3.4.2.1 Présentation du procédé à contrôler (Cheng-jian, 2004) :
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:
?(� + 1) = �@∝BC?(�) +DE (1 + �@FBC)1 + �G.HI(�)@JG K(�) + (1 + �@∝BC)LG……(3.03)
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 :
Coefficient Valeur α 1.0015.10-4
β 8.6793.10-3
Ts 30
Y0 25
Tableau 3.05 : Paramètres du système
L’algorithme hybride AG-RT est appliqué à l’optimisation du réseau MLP pour
commander la température du bain d’eau. L’objectif donc, est de générer une séquence d’actions
0M ≤ K(�) ≤ 5M permettant au système de suivre la trajectoire de référence donnée par :
Chapitre 3 : Optimisation Du Réseau Contrôleur MLP Par l’Approche Hybride GA-RT
45
?P = Q 35°S��� ≤ 16055°S��160 < � ≤ 32075°S��320 < � ≤ 480… . . (3.04) 3.4.2.2 Contrôle par réseau MLP optimisé par l’algorithme AG:
Les valeurs spécifiques de l’algorithme sont données par le tableau 3.06. La figure 3.14
montre l’évolution de l’indice de performance durant l’exécution de l’Algorithme Génétique :
Taille de la population 30
Nombre de génération 100
Probabilité de croisement Pc 0.8
Probabilité de mutation Pm 0.2
Espace de recherche [-1 , 1]
Nombre des gènes 9
Tableau 3.06 : Paramètres de l’algorithme AG
Figure 3.13 : Signal de sortie contrôlée et sortie de référence
0 50 100 150 200 250 300 350 400 450 5000
10
20
30
40
50
60
70
80
Itérations
Tem
péra
ture
Référence
Réponse du système
Signal de Commande
Chapitre 3 : Optimisation Du Réseau Contrôleur MLP Par l’Approche Hybride GA-RT
46
Figure 3.14 : Signal d’erreur de sortie
Figure 3.15 : Evolution de la fonction d’évaluation
0 50 100 150 200 250 300 350 400 450 500-5
0
5
10
15
20
Itérations
Err
eur
0 10 20 30 40 50 60 70 80 90 1000
1
2
3
4
5
6
70.740625
Générations
EQ
M
Chapitre 3 : Optimisation Du Réseau Contrôleur MLP Par l’Approche Hybride GA-RT
47
3.4.2.2 Contrôle par réseau MLP optimisé par l’algorithme AG-RT:
Les valeurs spécifiques de l’algorithme sont données par le tableau 3.07. La figure 3.18
montre l’évolution de l’indice de performance durant l’exécution de l’Algorithme AG-RT:
Taille de la population 30
Nombre de génération 100
Probabilité de croisement Pc 0.8
Probabilité de mutation Pm 0.2
Espace de recherche [-1 , 1]
Nombre des gènes 9
Taille de liste tabou 7
Nombre de solutions voisines 8
Nombre d’itérations de la RT 5
Tableau 3.07 : Paramètres de l’algorithme AG-RT
Figure 3.16 : Signal de sortie contrôlée et sortie de référence
0 50 100 150 200 250 300 350 400 450 5000
10
20
30
40
50
60
70
80
Itérations
Tem
péra
ture
Référence
Sortie du Système
Signal de Commande
Chapitre 3 : Optimisation Du Réseau Contrôleur MLP Par l’Approche Hybride GA-RT
48
Figure 3.17 : Signal d’erreur de sortie
Figure 3.18 : Evolution de la fonction d’évaluation
Le tableau 3.08, montre les résultats de différents algorithmes utilisés pour l’optimisation
du réseau contrôleur MLP :
0 50 100 150 200 250 300 350 400 450 500-5
0
5
10
15
20
Itérations
Err
eur
0 10 20 30 40 50 60 70 80 90 1000.5
1
1.5
2
2.5
3
3.5
4
4.50.532415
Générations
EQ
M
Chapitre 3 : Optimisation Du Réseau Contrôleur MLP Par l’Approche Hybride GA-RT
49
Algorithme EQM
AG 0.740625
AG-RT 0.532415
Tableau 3.08 : Comparaison de différent algorithme d’optimisation
Les résultats de simulation du contrôle de température du bain par l’algorithme hybride
AG-RT sont meilleurs que celles de l’algorithme GA. Le signal de commande est complétement
stable, et ne présente aucune oscillation figure (3. 17).
3.5. Conclusion :
Après application de la l’algorithme hybride AG-RT 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 très satisfaisants en émulation, et en contrôle.
50
Conclusion Générale
La commande de processus au moyen des réseaux de neurones, a connu un très grand
essor ces dernières années. La vision de la biologie a pris, dans le domaine de la théorie des
systèmes dynamiques, une tournure particulièrement intéressante. Elle a ouvert des
perspectives de compréhension à la fois plus larges et plus méfiantes. Dans le but d’élargir
son champ d’application, la théorie de contrôle ressent actuellement un besoin d’intégrer de
nouveaux concepts regroupés sous le terme de commande intelligente.
Le travail présenté dans ce mémoire concerne la commande et l’émulation des
systèmes nonlinéaires en utilisant les techniques avancées de l’automatique telles que les
réseaux de neurones et les évolutionnaire. L’approche proposée repose sur l’hybridation d’un
Algorithme Génétique un autre algorithme dit de recherche locale, recherche tabou. Notre
objectif est d’exploiter les avantages de chacun d’entre eux pour aboutir à un algorithme de
recherche globale qui ne tombe jamais dans les optimums locaux. La simplicité
d’implantation de la recherche tabou, son efficacité à cause de sa mémoire qui stocke toutes
solutions visitées, la qualifie d’être la meilleure méthode de recherche locale pour
l’hybridation avec les Algorithmes Génétique.
L’approche a été appliquée pour l’entrainement du réseau de neurone MLP pour
l’émulation du système de Box et Jenkins, et le contrôle de la température du bain d’eau. Les
résultats de simulation étaient très performants.
Dans le cadre de développement futur de ce travail, il est intéressant d’élaborer une
approche basée sur l’hybridation avec d’autres techniques d’optimisation (essaim
particulaire, colonies de fourmis, colonies d’abeilles, etc.
Liste des figures
Figure 1.01 : Neurone Biologique………………………………………………………………...4
Figure 1.02 : Transmission de l'influx nerveux entre deux neurones biologique…………………5
Figure 1.03 : Modèle d’un neurone formel. ………………………………………………………5
Figure 1.04 : Exemple d’un réseau de neurones à couches……………………………………….9
Figure 1.05 : Exemple du réseau RBF…………………………………………………………...10
Figure 1.06 : Exemple d’un réseau de neurones bouclé…………………………………………10
Figure 1.07 : Apprentissage supervisé…………………………………………………………..11
Figure 1.08 : Apprentissage non supervisé……………………………………………………...12
Figure 1.09 : Structure d’entrainement d’un réseau de neurones émulateur…………………….14
Figure 1.10 : Structure d’entrainement du contrôle neuronal direct……………………………..15
Figure 2.01 : Eléments d’une population………………………………………………………19
Figure 2.02 : Organigramme général de l’Algorithme Génétique………………………….……20
Figure 2.03 : Chromosome codé en binaire…………………….………………………………...21
Figure 2.04 : Chromosome codé réel………………………………………………….…………22
Figure 2. 05 : Sélection par roulette………………………………………………………………23
Figure 2.06 : Croisement en un point…………………………………………………………….25
Figure 2.07 : Croisement en deux points………………………………………………………….25
Figure 2. 08 : Croisement uniforme………………………………………………………………26
Figure 2. 09 : Mutation binaire……………………………………………..…………………….26
Figure 2.10 : Organigramme général de l’algorithme de la recherche tabou standard. …………30
Figure 3.01 : Structure du Chromosome………………………………………………………….33
Figure 3.02 : Structure d’optimisation et de contrôle……………….……………………………34
Figure 3.03: Signal d’entrée du système Box et Jenkins…………………………………………38
Figure 3.04 : Signal de sortie du système Box et Jenkins………………………………………..38
Figure 3. 05 : Signal de sortie émulée et sortie désirée…………………………………………..39
Figure 3.06 : Signal d’erreur d’émulation………………………………………………………...39
Figure 3.07 : Signal de sortie émulée et sortie désirée……………………………………………40
Figure 3.08 : Signal d’erreur d’émulation………………………………………………………...41
Figure 3.09 : Evolution de la fonction d’évaluation………………………………………………41
Figure 3.10 : Signal de sortie émulée et sortie désirée…………………………………………….42
Figure 3.11 : Signal d’erreur d’émulation………………………………………………………..43
Figure 3.12 : Evolution de la fonction d’évaluation………………………………………………43
Figure 3.13 : Signal de sortie contrôlée et sortie de référence……………………………….……45
Figure 3.14 : Signal d’erreur de sortie……………………………………………………………46
Figure 3.15 : Evolution de la fonction d’évaluation………………………………………………46
Figure 3.16 : Signal de sortie contrôlée et sortie de référence……………………………………47
Figure 3.17 : Signal d’erreur de sortie……………………………………………………………48
Figure 3.18 : Evolution de la fonction d’évaluation………………………………………………48
Bibliographies
N. Talbi, “ conception des systèmes d’inférence floue par des approches hybrides : application
pour la commande et la modélisation des systèmes nonlinéaires,” thèse doctorat en
électronique, université de constantine, 2014.
G. Box and g. Jenkins, “time series analysis: forecasting and control,” holden-day, san
francisco, 1976.
Cheng-jian lin, ‘‘a ga-based neural fuzzy system for temperature control’’, fuzzy sets and
systems, vol. 143, pp. 311-333, 2004.
C. F. Juang, “a hybrid of genetic algorithm and particle swarm optimization for recurrent
network design,” ieee trans. Syst., man, cybern. B,cybern., vol. 34, no. 2, pp. 997–
1006, 2004.
D.e. Rumelhart “learning representation by back-propagation errors”, the mit press, vol.1,
cambridge. 1986.
Marc parizeau “reseau de neurones”, automne 2004, presse de l’université de lavai.
2004
K. Kara, “application des réseaux de neurones à l’identification des systèmes non linéaires,”
thèse de magistère en électronique, université de constantine, 1995.
G. Debbache, “identification paramétrique d’un système dynamique linéaire en utilisant les
réseaux de neurones,” thèse de magistère en électronique, université de constantine,
2000.
O. Ourzifi, “quelques méthodes d’optimisation hybrides basées sur les algorithme génétiques
pour l’apprentissage des réseaux de neurones,” thèse de magistère en électronique,
université de constantine, 2002.
M. Chemachema, “contribution à la commande adaptative neuronale floue des systèmes non
linéaires, ” thèse de doctorat en électronique, université de constantine, 2007.
D. E. Goldberg, “algorithmes génétiques,” editions addison-wesley france, s. A., juin 1994.
M. Minoux, “mathematical programming: theory and algorithms,” wiley and sons, 1984.
B. Sareni, “algorithmes génétiques standards,” rapport interne cegely, septembre 1997.
S. A. Kazarlis, s. E. Papadakis, j. B. Theocharis, “microgenetic algorithms as generalized hill-
climbing operator for ga optimization,” ieee trans. Evolutionary, computation, vol. 5,
pp. 204-216, juin 2001.
A. Merrad, n. Sari, “application des algorithmes génétiques pour l’apprentissage des réseaux
de neurones statiques,” mémoire d’ingénieur, oeb, 2004.
N. Zerrouki, r. Chenouf, “optimisation des paramètre d’un modèle d’identification,” mémoire
d’ingénieur, oeb, 2004.
Ali, d. L. Introduction aux métaheuristiques. Jijel: faculté des sciences exactes et
informatique,université de jijel,2014.
Alliot, j.-m. (s.d.). La recherche. (enac) consulté le 5 19, 2015, sur enac:
http://www.recherche.enac.fr/opti/papers/thesis/habit/main002.html
Amara, b. Application des algorithmes génétiques au dispatching économique et
environnemental. Biskra: université mohamed khider biskra.2012.
Benahmed, n. Optimisation de réseaux de neurones pour la reconnaissance de chiffres
manuscrits isolés: sélection et pondération des primitives par algorithmes génétiques.
Montréal, école de technologie supérieure université du québec, montréal: école de
technologie supérieure université du québec. 2002.
Gerstner, w.. Reseaux de neurones artificiels une introduction `a l’apprentissage automatique
(vol. 4e ´edition). Laboratory of computational neuroscience (lcn) school of computer
and communication sciences. 2006.
Izeos. (2011, 03 05). Consulté le 05 16, 2015, sur infirmiers.com: http://www.infirmiers.com/
Jourdan, l.. Métaheuristiques coopératives :du déterministe au stochastique. Lille: habilitation
à diriger les recherches de l'université lille i. 2010.
Lakhdar, m. (s.d.). Contrôle et identification des systèmes non linéaires par les techniques
neuronales. Université el-hadj lakhdar- batna.
Lamine, t. Identification de systèmes dynamiques non linèaires par réseaux de neurones et
multimodèles. Val de marne, automatique, france: université paris xii. 2008.
Mrabti, f., & seridi, h.. Comparaison de méthodes de classification réseau rbf, mlp et rvfln.
Damascus: damascus university. 2009.
Pierre borne, m. B. Les réseaux de neurones: présentation et applications. Paris: technip.
2007.
Poirier, p. J.). Le système nerveux,central et périphérique :formation, fonction et rôle. Arsep.
2000
Rachid, l.. Ingénieur 2000. (université paris-est marne-la-vallée) consulté le 05 14, 2015, sur
l'institut d'électronique et d'informatique gaspard-monge: http://www-igm.univ-
mlv.fr/~dr/xpose2002/neurones/index.php?Rubrique=neuronebiologique.2002.
Touzet, c.. Les reseaux de neurones artificiels introduction au connexionnisme cours,
exercices et travaux pratiques. Paris. 1992.
Annexe : 1.1 Principe de l’Algorithme de Rétro propagation du Gradient (Algorithme
BP):
Le principe de la rétro propagation consiste à présenter au réseau un vecteur d'entrées, de
procéder au calcul de la sortie par propagation à travers les couches, de la couche d'entrée
vers la couche de sortie en passant par les couches cachées. Cette sortie obtenue est comparée
à la sortie désirée, une erreur est alors obtenue. A partir de cette erreur, est calculé le gradient
de l'erreur qui est à son tour propagé de la couche de sortie vers la couche d'entrée, d'où le
terme de rétro-propagation. Cela permet la modification des poids du réseau et donc
l'apprentissage. L'opération est réitérée pour chaque vecteur d'entrée et cela jusqu'à ce que le
critère d'arrêt soit vérifié.
On considère un réseau de neurones statique à trois couches : une couche d’entrée, une
couche de sortie et une seule couche cachée (figure a.01). Supposant qu’on a un ensemble de
P vecteurs pairs (xp1, ydp1), (x2p, ydp2),…, (xpn, ydpn) qui sont des exemples d’entraînements du
réseau, avec x∈ℜn et y∈ℜm. lorsque le vecteur d’entrée �� = (���, … , ��) et appliqué à la
couche d’entrée du réseau, les neurones d’entrée distribuent ces valeurs aux neurones de la
couche cachée.
�� � (�)
���� (�) ��� ����(�)� �� ����(�)�
��
�
Figure a.01 : Exemple d’un réseau MLP à une seule couche caché
La sortie du jème neurone de la couche cachée est:
��� =��������… (�. 01)
Avec
��� =����� ����� !��"
�#�…(1.09)(�. 02)
Et pour la 1ér couche cachée
��� =��� � � !��"
#�… (�. 03)
Où
�'(� est le poids de connexion entre le neurone « t » de la couche d’entrée et le neurone « j » de
la couche cachée,
! est le biais,
h spécifie la couche cachée.
Pour la couche de sortie, la sortie du neurone k est:
Valeurs d’entrées
Valeurs de sortie
Couche d’entrée Couche de sortie
Couche cachée
��� = ��(���)… (�. 04)
Avec
��� =����� ��� !��"
�#�…(�. 05)
Où « 0 » spécifie la couche de sortie.
A l’itération k, l’erreur entre la sortie désirée �+�(�) et la sortie �,�(�) produite par le neurone
de sortie i s’exprime par :
-�(�) = �+�(�) −�,�(�)… (�. 06)
L’algorithme consiste à ajuster les poids de connexion en minimisant la fonction coût
suivant :
0(�) = �0�(�)1
�#�…(�. 07)
Où
P est le nombre de vecteurs d’entraînements
0� l’erreur quadratique moyenne du réseau est :
0(�) = 12�-�(�)…(�. 08)4
�#�
2.1 L’Ajustement des poids
L’algorithme de rétro propagation du gradient est un algorithme itératif permettant de
modifier les paramètres, afin de minimiser l’erreur quadratique moyenne du réseau sur
l’ensemble des données d’apprentissage, suivant une technique de descente du gradient.
Le changement des poids du réseau est donné par :
���� (� 1) = ���� (�) − 560(�)6���� (�)
… (�. 09)
���� le poids de connexion entre deux neurones i et j.
• Calcul du gradient d’erreur pour un neurone de la couche de sortie :
Pour un neurone i de la couche de sortie, le gradient de l’erreur est calculé comme suit :
606����
= 606-�
6-�6���
6���6���
6���6����
… (�. 10)
Où �,�� le poids de connexion entre le neurone i de la couche de sortie et le neurone j de la
couche cachée.
A partir d’équation (�. 08)on a :
606-�
= -� … (�. 11)
A partir d’équation (�. 06)on a :
6-�6���
= −1…(�. 12)
A partir d’équation (�. 04)on a :
6���6���
= ���7(���)… (�. 13)
A partir d’équation (a.03) on a :
6���6����
= ���…(�. 14)
A partir des équations (a.11), jusqu’à (a.14) le gradient de l’erreur devient égal à :
606����
= −-����7(���)���… (�. 15)
On pose :
606����
= 8�����… (�. 16)
Où 8��(�) est le gradient local d´efini par :
8�� = −-����7(���)… (�. 17)
• Calcul du gradient d’erreur pour un neurone de la couche cachée :
Le gradient de l’erreur du neurone j de la couche cachée se calcule par :
606�� �
= 606-�
6-�6���
6���6���
6���6���
6���6���
6���6�� �
…(�. 18)
Où �9� le poids de connexion entre le neurone j de la couche cachée et le neurone t de la
couche d’entrée.
A partir de l’équation (�. 08):
606-�
= -� … (�. 19)
A partir de l’équation (�. 09)on a :
6-�6���
= −1…(�. 20)
A partir de l’équation (�. 04) on a :
6���6���
= ���7(���)… (�. 21)
A partir de l’équation (�. 02) on a :
6���6���
= ���� … (�. 22)
A partir de l’équation (�. 01)on a :
6���6���
= ���7�����… (�. 23)
A partir d’equation (�. 03) en a :
6���6�� �
= � …(�. 24)
A partir des équations (�. 18) jusqu’à ((�. 24) l´évaluation du gradient de l’erreur donne
alors:
606�� (�) = −-���
�:(���)���� ���7������ … (�. 25)
Soit :
606�� = 8�
�� …(�. 26)
Par conséquent, le gradient local d’un neurone caché d’indice j s’exprime par :
8�� = −-����:(���)���� ���7�����… (�. 27)
A partir d’équation (1.24) et (1.34) on a :
8�(�) = 8������ ��7���(�)�… (�. 28)
3.1 Implémentation de l’algorithme BP:
Après initialisation des poids et des biais:
1) Appliquer le vecteur d’entrée ( )xxX pnpp,...,
1=
aux neurones d’entrée.
2) Calculer les valeurs de v pour les neurones de la couche cachée à par de l’équation (�. 03)
3) Calculer les sorties pour la couche cachée à par de l’équation (�. 01) 4) Calculer les valeurs de v pour la couche de sortie à par de l’équation (�. 05) 5) Calculer les sorties à par de l’équation (�. 04) 6) Calculer les termes d’erreur pour les neurones de sortie à par de l’équation (�. 15) 7) Calculer les termes d’erreur pour les neurones cachés à par de l’équation (�. 25) Notant que les termes d’erreur des neurones cachés sont calculés avant que les poids de
connexion aux neurones de la couche de sortie doivent être ajustés.
8) Ajuster les poids de la couche de sortie à par de l’équation (�. 09) 9) Ajuster les poids de la couche cachée à par de l’équation (�. 09) 10) Calculer les termes d’erreur à par de l’équation (�. 08) A chaque fois, on présente au réseau un vecteur d’entraînement d’entrée et on refait les étapes
de 2 jusqu’à 10.
11) Après chaque présentation de l’ensemble des vecteurs d’entrées, calculer la fonction coût
à par de l’équation (�. 07) 12) On refait le calcul jusqu’à ce que la fonction coût E soit plus petite que possible.