MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

66
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 : M me Ourzifi Ouafa Devant le jury de soutenance : M gr Mendaci khaled M me Batat Farida Année Universitaire : 2014-2015

Transcript of MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

Page 1: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 2: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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.

Page 3: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 4: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 5: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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é.

Page 6: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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.

Page 7: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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.

Page 8: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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 ».

Page 9: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 10: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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 ».

Page 11: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 12: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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,

Page 13: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 14: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 15: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 16: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 17: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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).

Page 18: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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)

Page 19: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 20: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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.

Page 21: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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.

Page 22: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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.

Page 23: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 24: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 25: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 26: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

%& %' …. %(�& %(

Page 27: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 28: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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,

Page 29: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 30: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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é

Page 31: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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.

Page 32: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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.

Page 33: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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.

Page 34: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 35: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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.

Page 36: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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.

Page 37: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

�� �� ��� �� �� �� �� ��� ���

Page 38: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 39: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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 :

Page 40: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 41: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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.

Page 42: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 43: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 44: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 45: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 46: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 47: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 48: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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 :

Page 49: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 50: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 51: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 52: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 53: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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.

Page 54: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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.

Page 55: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 56: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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

Page 57: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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.

Page 58: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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.

Page 59: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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.

Page 60: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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.

Page 61: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

�� � (�)

���� (�) ��� ����(�)� �� ����(�)�

��

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)

�'(� 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

Page 62: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

��� = ��(���)… (�. 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)

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)

Page 63: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

���� 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)

Page 64: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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 :

Page 65: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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)

Page 66: MEMOIRE DE FIN D’ETUDE - bib.univ-oeb.dz:8080

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.