intitulé: apprentissage des réseaux de neurones mlp par une

68
Université Larbi Ben M’hidi Oum-El-Bouaghi Faculté des Sciences et Sciences Appliquées Département de Génie Electrique Filière : Génie Electrique Option : ELCTRONIQUE DES SYSTEMES EMBARQUEES Présenté par:Melki Rima Encadreur : Ourzifi O Soutenu le: 06 octobre 2019 Année universitaire : 2018 / 2019 République Algérienne Démocratique et Populaire وزارةتعـلـيــم اللعــالــــي ا و البحــــثعلـمـــــــي الMinistère de l’Enseignement Supérieur et de la Recherche Scientifique Intitulé: Apprentissage des réseaux de neurones MLP par une méthode hybride à base d’une métaheuristique

Upload: others

Post on 19-Jun-2022

4 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Intitulé: Apprentissage des réseaux de neurones MLP par une

Université Larbi Ben M’hidi Oum-El-Bouaghi

Faculté des Sciences et Sciences Appliquées

Département de Génie Electrique

Filière : Génie Electrique

Option : ELCTRONIQUE DES

SYSTEMES EMBARQUEES

Présenté par:Melki Rima

Encadreur : Ourzifi O

Soutenu le: 06 octobre 2019

Année universitaire : 2018 / 2019

République Algérienne Démocratique et Populaire

العلـمـــــــي البحــــث و العــالــــي التعـلـيــم وزارة

Ministère de l’Enseignement Supérieur et de la

Recherche Scientifique

Intitulé:

Apprentissage des réseaux de neurones MLP par une

méthode hybride à base d’une métaheuristique

Page 2: Intitulé: Apprentissage des réseaux de neurones MLP par une
Page 3: Intitulé: Apprentissage des réseaux de neurones MLP par une

Remerciements

i

Remerciement Je remercie «ALLAH» de m’avoir donné le courage ainsi que la force pour pouvoir

achever ce modeste travail.

J'exprime toute mes remerciements à mon encadreur MdOurzifi.O pour ses conseils pertinents,

Leurs soutient morale et scientifique et les facilités qu’elle m’a accordées.

Un merci bien particulier adressé également à Mr DJEBABLA

pour son aide, ses remarques et ses directives.

Je tiens à remercier également le président et les membres de jury de ma soutenance

qui n’ont pas hésités pour examiner le contenu de cet ouvrage. Qu’ils trouvent ici

le témoignage de mes profonds respects.

Je tiens à remercier chaleureusement tous mes amies, toute la famille du département

d’électronique de l’université Larbi ben M'hidi d’Oum El Bouaghi , qu’ils trouvent

ici l’expression de ma profonde sympathie.

Que tout enseignant nous ayant fait bénéficier de son savoir, trouve ici

l’expression de notre profonde gratitude.

Je remercie mes parents pour m’avoir transmit des valeurs

telles que la ténacité, grâce auxquelles j’ai pu mener ce

travail à son aboutissement.

J’ai une pensée spéciale pour mon mari « Soufiane », qui s’est montré compréhensive,

patient etmême intéressée.

Je tien a remercie ma sœur Mounira pour son

encouragement continu et l’aide quelle m’a apportés.

Enfin que tous ceux, d’une manière ou d’une autre, ont contribué

à la réalisation de ce travail trouvent ici, l’expression

sincères de ma reconnaissance et ma gratitude.

Page 4: Intitulé: Apprentissage des réseaux de neurones MLP par une

Dédicaces

ii

Dédicaces

Je dédie ce modeste travail à:

Mes parents qui m’ont permettent d’être ce que je suis.

Mon mari avec amour et gratitude.

Mes sœurs et mon frère.

Toute la promotion.

Tous mes amis.

Toute la famille.

A tous ceux qui

me sont chers.

Page 5: Intitulé: Apprentissage des réseaux de neurones MLP par une

Table des matières

vi

Table des matières

Remerciement i

Dédicace ii

Liste des tableaux xii

Liste des figures xiii

Liste des acronymes xv

Introduction Générale 1

Chapitre 1 :Réseaux de Neurones Artificiels

1.1 Introduction 6

1.2 Neurone biologique et Neurone Formel 6

1.3 Fonctions d’activation 7

1.4 Réseaux de neurones 8

1.4.1 Définition 8

1.4.2 Propriétés 9

1.4.3 Topologie 10

1.4.3.1 Réseaux directs 10

a Perceptron simple 11

b Perceptron multicouche 12

c Réseaux de neurone à fonction de base radiale 13

1.4.3.2 Réseaux récurrents 13

1.5 Apprentissage 14

1.5.1 Définition 14

1.5.2 Types d’apprentissage 14

a Apprentissage supervisé 14

b Apprentissage semi supervisé 15

c Apprentissage non supervisé 15

1.5.3 Règles d’apprentissage 15

1.6 Avantage et limites des RNAs 16

1.7 Application des RNAs 17

1.8 Conclusion 18

Page 6: Intitulé: Apprentissage des réseaux de neurones MLP par une

Table des matières

vii

Chapitre 2 : Optimisation par lesmétaheuristiques

2.1 Introduction 20

2.2 Algorithmes d’optimisation 20

2.2.1 Définition 21

2.2.2 Les grandes familles de technique d’optimisation 21

a Méthodes exactes 22

b Méthodes heuristiques 22

c Méthodes métaheuristiques 22

2.3 Métaheuristique 23

2.3.1 Définition 23

2.3.2 Principale caractéristique 23

2.4 Les algorithmes génétiques 24

2.4.1 Présentation

2.4.2 Structure de l’algorithme génétique

2.4.2.1 Codage des donnés 26

a Codage binaire 26

b Codage réel 27

2.4.2.2 Génération de la population initiale 27

2.4.2.3 Evaluation « fitness » 27

2.4.2.4 Mécanismes d’un AG 28

a Sélection 28

b Croisement 29

c Mutation 32

e Sélection des individus de la nouvelle génération 33

d Critère d’arrêt 34

2.5 Hybridation des métaheuristiques 34

2.6 Conclusion 35

Chapitre 3 : Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA

3.1 Introduction 37

3.2 Optimisation du réseau MLP par l’algorithme GA-MGA 37

3.2.1 Adaptation de l’algorithme génétique aux réseaux de neurones 37

3.2.2 Structure d’optimisation 38

3.2.3 Plateforme de l’algorithme GA et de l’algorithme MGA 39

3.2.4 Algorithme hybride GA -MGA 40

3.3 Simulation 42

3.3.1 Optimisation de la fonction de Rosenbrock 42

a Optimisation par l’algorithme GA 42

b Algorithme hybride GA-MGA 44

3.3.2 Optimisation du réseau de neurones : 45

3.3.1.1 Présentation du système de Box & Jenkins 45

3.3.1.2 Structure du réseau de neurones émulateur 46

Page 7: Intitulé: Apprentissage des réseaux de neurones MLP par une

Table des matières

viii

a Emulation par un réseau MLP utilisant l’algorithme BP 47

b Emulation par un réseau MLP utilisant l’algorithme GA 48

c Emulation par un réseau MLP utilisant l’algorithme Hybride GA-MGA

50

3.4 Conclusion 52

Conclusion générale 54

Bibliographie 55

Page 8: Intitulé: Apprentissage des réseaux de neurones MLP par une

Liste des tableaux

xii

Liste des tableaux

Tableau 1.1 Exemples de fonctions d'activations. 8

Tableau 1.2 Correspondance type de RNA-Domaine d'application- 18

Tableau 3.1 Paramètres de l’algorithme GA-MGA 40

Tableau 3.2 Paramètres de l’algorithme AG 42

Tableau 3.3 Paramètres des deux algorithmes GA et MGA 44

Tableau 3.4 Paramètres de l’algorithme GA 48

Tableau 3.5 Paramètres de l’algorithme GA-MGA

50

Tableau 3.6 Comparaison de différent algorithme pour l’émulation du système de

Box et Jenkins

52

Page 9: Intitulé: Apprentissage des réseaux de neurones MLP par une

Liste des figures

xii

Liste des figures

Chapitre1

Fig 1.1 : le cerveau humain……………………………………………………………….6

Fig 1.2 : Neurone biologique………………………………………………………….......6

Fig 1.3 : Neurone formel……………………………………………………………….....7

Fig 1.4 : Topologies des réseaux de neurones artificiels…………………………….......10

Fig 1.5 : Perceptron monocouche……………………………………………………......11

Fig 1.6 : Réseau multicouche………………………………………………………........12

Fig 1.7 : Réseau RBF……………………………………………………………………13

Chapitre2

Fig2.1 : Eléments d’une population……………………………………………………....23

Fig2.2 : Organigramme générale d’un algorithme génétique…………………………….25

Fig2.3 : Structure d’un chromosome……………………………………………………...26

Fig2.4 : Chromosome codé en binaire…………………………………………………....26

Fig2.5 : Chromosome codé réel……………………………………………………….....27

Fig2.6 : Mécanismes de l’algorithme génétique………………………………………....28

Fig2.7 : Exemple d’une roulette de la fortune…………………………………………...29

Fig 2.8 : Croisement en un point……………………………………………………..…..31

Fig2.9 : Croisement en deux points……………………………………………………...31

Fig 2. 10 : Croisement uniforme………………………………………………………….31

Fig 2. 11 : Mutation binaire………………………………………………………………32

Page 10: Intitulé: Apprentissage des réseaux de neurones MLP par une

xiv

Liste des figures

Chapitre3

Fig3.1 : Structure du chromosome……………………………………………………... 37

Fig 3.2 : Structure d’optimisation et de contrôle…………………………………...........38

Fig3. 3 : Evolution de la minimisation de la fonction de Rosenbrock……………..……43

Fig3.4 : Evolution de la fonction Fitness………………………………………….........43

Fig3. 5 : Evolution de la minimisation de la fonction de Rosenbrock……………….….44

Fig 3.6 : Evolution de la fonction Fitness……………………………………………… 45

Fig 3.7 : Signal d’entrée du système Box et Jenkins………………………………….....46

Fig 3.8 : Signal de sortie du système Box et Jenkins………………………………....... 46

Fig 3.9 : Evolution de la fonction d’évaluation………………………………………....47

Fig3.10 : Signal de sortie émulée et sortie désirée…………………………………….. 47

Fig 3.11 : Signal d’erreur d’émulation……………………………………………...… ..48

Fig 3.12 : Evolution de la fonction d’évaluation………………………………………...49

Fig 3.13 : Signal de sortie émulée et sortie désirée……………………………………. .49

Fig 3.14 : Signal d’erreur d’émulation………………………………………………… .50

Fig 3.15 : Evolution de la fonction d’évaluation………………………………………. .51

Fig 3.16 : Signal de sortie émulée et sortie désirée……………………………………. .51

Fig 3.17 : Signal d’erreur d’émulation………………………………………………… .52

Page 11: Intitulé: Apprentissage des réseaux de neurones MLP par une

Liste des acronymes

xv

Liste des acronymes

Ce mémoire contient un certain nombre d’acronymes, d’usage courant,

employés le long de ce travail. Ces abréviations sont, explicitement, définies ci-

dessous. Afin de faciliter la tâche du lecteur, le repérage de ces acronymes est établi

par ordre alphabétique.

AG Algorithme Génétique

AG-MGA L’algorithme génétique et Microgénétique

BP Back propagation

EQM Erreur Quadratique Moyenne

MLP Perceptron multicouches

MGA Microgénétique

RBF Les réseaux de neurone à fonction de base radiale

RNAs Réseaux de Neurones Artifiticiel

Page 12: Intitulé: Apprentissage des réseaux de neurones MLP par une

Introduction Générale

Page 1

Introduction Générale

Page 13: Intitulé: Apprentissage des réseaux de neurones MLP par une

Introduction Générale

Page 2

.

Introduction générale

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. Les réseaux de neurones sont considérés comme des

approches très intéressantes dans le domaine de l’intelligence artificielle et ils sont connus par

leur puissance d’apprentissage et de généralisation [4].

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 et grâce aux résultats théoriques et pratiques obtenus au

cours des dernières décennies, ils sont devenus un outil très utilisé dans divers domaines; ils

ont prouvé leur efficacité dans la reconnaissance de formes, l'identification des paramètres, la

commande des procédés et le traitement de signal…. Les réseaux de neurones 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 [8].

L’identification des paramètres du réseau de neurones, appelés poids de

connexion, est souvent obtenue par l’utilisation de l’algorithme de rétropropagation, back

propagation algorithm BP, basé sur la méthode de la descente du gradient, dont l’objectif est

la minimisation de l’erreur d’apprentissage. Cependant, la surface de l’erreur est souvent

complexe et présente des caractéristiques peu satisfaisantes pour réaliser une descente du

gradient ce qui crée des inconvénients, tels que: la lenteur de la convergence, la sensibilité aux

minima locaux et la difficulté à régler les paramètres d’apprentissage [32].

Plusieurs approches ont été proposées pour améliorer la méthode de

rétropropagation : la modification du pas d’apprentissage, la décentralisation du pas

d’apprentissage [5], l’utilisation des algorithmes du type quasi Newton [5]…

Page 14: Intitulé: Apprentissage des réseaux de neurones MLP par une

Introduction Générale

Page 3

D’un autre côté, certains auteurs ont proposé l’utilisation d’approches qui ne

dépendent pas du calcul des dérivés, tel que l’algorithme du simplex ou les métaheuristiques

comme les algorithmes génétiques et le recuit simulé [1].

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é [3].

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 [2].

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. Notre objectif est d’appliquer un algorithme hybride basé sur l’association d’un

Algorithme Génétique (GA) et d’un opérateur grimpeur nommé MGA(Micro Genetic

Algorithm)pour l’optimisation des réseaux de neurones émulateurs [34]. L’Algorithme

Génétique réalise unerecherche globale tandis que la Micro Génétique réalise une recherche

locale autour du meilleur poids du réseau de neurones obtenu par l’Algorithme Génétique.

Le travail présenté dans ce mémoire a pour objectif de montrer les capacités de

l’algorithme hybride GA-MGA dans l’optimisation de l’erreur d’apprentissage du réseau de

neurones MLP pour l’émulation du système de Box et Jenkins.

Page 15: Intitulé: Apprentissage des réseaux de neurones MLP par une

Introduction Générale

Page 4

Ce mémoire est organisé comme suit :

Le premier chapitre rappelle les principales notions théoriques des réseaux de

neurones artificiels. Il commence par une présentation de la structure du neurone biologique et

du neurone formel, puis il accède aux architectures et à l’apprentissage des réseaux de

neurones et il s’achève avec les avantages et les limites des réseaux de neurones.

Le deuxième chapitre décrit les techniques d’optimisation et un état de l’art sur

les métaheuristiques. Il présente le mécanisme de fonctionnement de l’algorithme génétique,

de l’algorithme micro génétique et de l’algorithme hybride génétique-micro génétique.

Le dernier chapitre, expose la structure et le fonctionnement de l’algorithme

hybride génétique-microgénétique (GA-MGA), des exemples tests sont utilisés pour justifier

la validation de notre approche et les résultats de simulation issus de l’application de

l’algorithme GA-MGA pour l’entraînement du réseau de neurones MLP sont présentés et

commentés.

Finalement, et pour clôturer ce mémoire, on a une conclusion générale qui

récapitule les travaux de l’ensemble des chapitres et propositions envisagées pour poursuivre

cette recherche sont présentées.

Page 16: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 5

Chapitre 1 Réseaux de Neurones Artificiels

Chapitre 1:

Réseaux de

Neurones Artificiels

1.1 Introduction

1.2 Neurone biologique et Neurone formel

1.3 Fonctions d’activations

1.4 Réseaux de neurones

1.5 Apprentissage

1.6 Avantages et limites des RNAs

1.7 Applications des RNAs

1.8 Conclusion

Page 17: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 6

Chapitre 1 Réseaux de Neurones Artificiels

1.1. Introduction:

Les réseaux de neurones sont des modèles mathématiques et informatiques, des

assemblages d’unités de calculs appelés neurones formels, et dont l’inspiration originale

était un modèle de la cellule nerveuse humaine. Cet héritage de la neurobiologie forme une

composante importante de la matière, et le souci de maintenir une certaine correspondance

avec le système nerveux humain a animé une part importante des recherches dans le

domaine. Malgré cet héritage, l’essentiel des travaux d’aujourd’hui ont pour objet le réseau

de neurones formels et non son corrélat neurobiologique. Vu comme des systèmes de calcul,

les réseaux de neurones possèdent plusieurs propriétés qui les rendent intéressants d’un

point de vue théorique, et fort utiles en pratiques [11].

Dans ce chapitre, nous présentons dans un premier temps des généralités sur les

réseaux de neurones, des concepts de base et nous abordons ensuite le processus

d’apprentissage.

1.2. Neurone biologique et neurone formel :

Le cerveau humain contient près de 86 milliards de neurones, et il existe environ 200

types de neurones (figure 1.1). Le neurone est une cellule composée d’un corps cellulaire et d’un

noyau. Ce corps cellulaire se ramifie pour former ce que l’on nomme les dendrites, celles-ci sont

parfois assez nombreuses que l’on parle alors de chevelure dendritique ou d’arborisation

dendritique. C’est par les dendrites que l’information est acheminée de l’extérieur vers le soma

(corps du neurone). L’information traitée par le neurone est propagée ensuite le long de l’axone

(unique) pour être transmise aux autresneurones. La jonction entre deux neurones est appelée la

synapse (figure 1.2).[12].

Fig 1.1 : Cerveau humain Fig 1.2 : Neurone biologique

Page 18: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 7

Chapitre 1 Réseaux de Neurones Artificiels

D’une manière très réductrice, un neurone biologique est une cellule qui se caractérise

par :

Des synapses, les points de connexions avec les autres neurones, fibres nerveuses.

Les dendrites, les entrées du neurone.

L’axone, la sortie du neurone vers d’autres neurones ou fibres musculaires.

Le noyau qui active la sortie en fonction du stimulus en entrée.

Par analogie, le neurone formel (voir figure 1.3) est une fonction non linéaire, paramétrée,

à valeurs bornées, il se caractérise par un état interne∈ 𝑦𝑗, des signaux d’entrée 𝑥1, … , 𝑥𝑁et une

fonction de transition d’état 𝑓 comme suit :

𝑦𝑗 = 𝑓(𝑤0 + ∑ 𝑤𝑖𝑗𝑥𝑖) … … … … … … … … … . . (1.1)

𝑁

𝑖=1

La fonction de transition est une transformation d’une combinaison des signaux

d’entrée. Cette combinaison est déterminée par un vecteur de poids ( 𝑤1𝑗, . . . , 𝑤𝑁𝑗) associé à

chaque neurone et dont les valeurs sont estimées dans la phase d’apprentissage, 𝑤0 étant appelé

le biais du neurone, il constitue la mémoire ou la connaissance répartie du réseau [13].

Fig 1.3 : Neurone formel

1.3. Fonctions d’activations:

La fonction d’activation est une transformation linéaire ou non linéaire, elle permet la

liaison entre la sortie et son entrée. Vu la variété des modèles de Réseaux de Neurones

Artificiels, différentes fonctions ont été proposées, parmi lesquelles on peut citer [23]:

jy

Fonction

d’activation

Sortie

fVecteur d’entrée

Unité de

Sommation

Poids Synaptiques

0w

0x

1 jw

njw

2 jw

3 jw

1x

2x

3x

nx

Page 19: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 8

Chapitre 1 Réseaux de Neurones Artificiels

Les modèles linéaires et sigmoïdaux : ces modèles sont très adaptés aux algorithmes

d’apprentissage comme celui de rétropropagation du gradient car leur fonction de transition est

différentiable.

Le modèle à seuil : ce modèle est très proche et conforme à la réalité biologique mais il

pose des problèmes d’apprentissage.

Le modèle stochastique: ce type de modèle est utilisé pour les problèmes d’optimisation

globale des fonctions perturbées ou encore pour les analogies avec les systèmes de particules.

Le tableau 1.1 illustre quelques importantes fonctions d’activation [36] [31] [16].

Nom de la fonction Relation entrée/sortie Icône

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 saturée

symétrique

𝑦 = −1 𝑠𝑖 𝑠 < −1 𝑦 = 𝑠 𝑠𝑖 − 1 ≤ 𝑠 ≤ 1

𝑦 = 1 𝑠𝑖 𝑠 > 1

Linéaire positive

𝑦 = 0 𝑠𝑖 𝑠 < 0

𝑦 = 𝑠 𝑠𝑖 𝑠 ≥ 0

Sigmoïde

𝑦 =1

1 + 𝑒𝑥𝑝(−s)

Tableau 1.1 : Exemples de fonctions d'activations.

1.4. Réseaux de neurones :

1.4.1. Définitions :

Dès leur apparition, les Réseaux de Neurones Artificiels (RANs) ont été appliqués à

plusieurs domaines et quelques soit le domaine adopté, les Réseaux de Neurones Artificiels

peuvent être définis comme suit :

Page 20: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 9

Chapitre 1 Réseaux de Neurones Artificiels

Définition 1 : Les Réseaux de Neurones Artificiels sont des réseaux fortement connectés

de processeurs élémentaires, fonctionnant en parallèle. Chaque processeur calcule une sortie

unique sur la base des informations qu’il reçoit, toute structure hiérarchique de réseaux est

évidemment un réseau [31].

Définition2:Les Réseaux de Neurones Artificiels sont des modèles statistiques adaptatifs,

basés sur une analogie avec le cerveau humain. Leur adaptabilité revient du fait qu’ils peuvent

apprendre à estimer les paramètres d’un ensemble de données en utilisant un nombre

d’exemples. Dans sa structure de base, un Réseau de Neurones Artificiels est constitué d’un

ensemble d’unités simples qui sont les neurones. Ces dernières sont interconnectées à l’aide

d’un ensemble de connexions pondérées [14].

Les Réseaux de Neurones Artificiels sont généralement organisés en couches. La

première couche est la couche d’entrée. Elle est responsable de la transmission de

l’information à analyser vers le réseau. La dernière couche est la couche de sortie. Elle reçoit le

résultat final qui est la réponse du réseau. Les couches intermédiaires sont les couches cachées,

le nombre de ces couches est défini selon le type du problème à résoudre. Elles relient les deux

couches d’entrée et de sortie [11-22].

1.4.2. Propriétés :

Les Réseaux de Neurones Artificiels sont considérés comme des simulateurs du

système biologique. Ils doivent prendre en considération les points suivants :

Le parallélisme : Les Réseaux de Neurones Artificiels sont constitués à base de neurones

simples fortement interconnectés, dont le but est la réalisation d’une fonction de type bien

défini ce qui rend le traitement de l’information massivement parallèle [14].

Les poids synaptiques : La pondération des liaisons synaptiques entre les neurones influe

sur l’efficacité et la fiabilité du réseau du point de vue rapidité et exactitude des résultats

fournis[23].

L’apprentissage : L’apprentissage est vraisemblablement la propriété la plus intéressante

des Réseaux de Neurones Artificiels, elle ne concerne cependant pas tous les modèles mais les

plus utilisés, son principal problème est d’arriver à trouver un ensemble de valeurs d’entrée

des connexions afin d’atteindre les résultats voulus [16].

Page 21: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 10

Chapitre 1 Réseaux de Neurones Artificiels

1.4.3. Topologies :

On appelle topologie des réseaux, la façon dont les neurones sont connectés entre eux

à travers les différentes couches. En général on peut distinguer deux grandes classes de

Réseaux de Neurones Artificiels selon leurs topologies : les réseaux à couches qui sont des

réseaux de neurones dans lesquels l'information se propage couche par couche sans retour en

arrière possible et les réseaux récurrents qui sont des réseaux de neurones dans lesquels il y a

une liaison vers l'arrière. Les connexions de ces réseaux forment des boucles. Ainsi la

fonction d'activation peut circuler le long de ces boucles et affecter le réseau pendant une

période arbitrairement longue. Pour cette raison les comportements des réseaux récurrents

sont potentiellement plus complexes que ceux des réseaux à couches [23]. La figure 1.4 [12]

présente les différentes topologies d’un Réseau de Neurones Artificiels.

Fig 1.4: Topologies des réseaux de neurones artificiels.

1.4.3.1. Réseaux directs « Non Bouclés ou Statiques » (Feedforward) :

Les réseaux à couches peuvent se diviser en réseaux sans couches cachées et les

réseaux avec une ou plusieurs couches cachées. Les réseaux sans couches cachées sont les

réseaux les plus simples. Ils sont utilisables pour des problèmes de classification ou

d'approximation. Ils ont un avantage majeur, leur apprentissage converge vers une solution

optimale. Cela est dû au fait que c'est un système linéaire. Leur inconvénient est qu’ils

peuvent seulement classifier ou approximer les problèmes linéaires et ne peuvent résoudre

un problème non linéaire [23].

Page 22: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 11

Chapitre 1 Réseaux de Neurones Artificiels

a) Perceptron simple (mono couche):

L'exemple classique pour ce type de réseau est le perceptron monocouche, inventé par

Rosenblatt. C'est un modèle très simple, basé sur l'orientation physico-physiologique. Il ne

dispose que de deux couches:

Une couche d'entrée qui s'appelle la rétine et qui est une aire sensorielle;

Une couche de sortie qui donne la réponse correspondante à la simulation présentée à

l'entrée[37].

Le fonctionnement du réseau est comme suit : une donnée est présentée au réseau en

activant la rétine. L'activation se propage vers la couche de sortie où on peut noter la réponse

du système. Cette réponse suit la formule suivante:

𝑦 = 𝜑 (∑ 𝑤𝑖 𝑥𝑖

2

𝑖=1

+ 𝑤0 ) … … … (1. 2)

𝜑 ∶ La fonction d’activation utilisée.

𝑤𝑖 : Les poids du neurone.

𝑥𝑖 : Les entées.

𝑤0 ∶Le seuil du neurone.

La figure 1.5 montre la structure du Perceptron monocouche, avec une sortie y et

plusieurs entrées x1 et ….. xp qui forme la rétine du réseau.[9].

𝜑 (∑ 𝑤𝑖 𝑥𝑖

𝑝

𝑖=1

+ 𝜔0)

Fig 1.5 : Perceptron monocouche.

w1 W2

SORTIE

ENTREE

Poids de connexion

X0=1 X1 X2 Xp

W0 wp

BIAIS

Page 23: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 12

Chapitre 1 Réseaux de Neurones Artificiels

Ces réseaux suivent un apprentissage supervisé selon la règle d'apprentissage delta ou la

règle de correction d'erreurs. Les deux règles ajustent les poids et les seuils de la même

manière. Pour chaque poids la nouvelle valeur est calculée par l'addition d'une correction de

valeur ancienne :

𝑤𝑖 (𝑛𝑜𝑢𝑣𝑒𝑎𝑢) = 𝑤𝑗(𝑎𝑛𝑐𝑖𝑒𝑛) + ∆𝑤𝑗

𝑤0 (𝑛𝑜𝑢𝑣𝑒𝑎𝑢) = 𝑤0 (𝑎𝑛𝑐𝑖𝑒𝑛) + ∆𝑤0 … … … (1. 3)

b) Le perceptron multicouche MLP (Multi LayerPerceptron) :

Un réseau monocouche ne permet pas de résoudre des problèmes non linéaires. Les

réseaux multicouches qui sont des systèmes non linéaires ont été inventés pour remédier ce

problème. Le MLP ou PMC (perceptron multicouches) est un réseau orienté de neurones

artificiels en couches, où l’information circule dans un seul sens, de la couche d’entrée vers

la couche de sortie. La figure 1.6 donne un exemple d’un réseau 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.[20]

Fig 1.6 : Réseau multicouche.

Le Perceptron multicouches est un modèle possédant une grande capacité de calcul. Sa

structure est composée d'une couche d'entrée, une couche de sortie, interprétée comme étant

la réponse du réseau et d'une ou plusieurs couches intermédiaires dites « couches cachées ».

Un neurone d'une couche inférieure ne peut être relié qu'à des neurones des couches

suivantes. Il suit un apprentissage supervisé et utilise la règle d'apprentissage de rétro

propagation. En général, les neurones du Perceptron multicouches sont animés par une

fonction d'activation non linéaire (au moins dans une des couches)[25]. Les choix classiques

pour cette fonction sont :

La fonction tangente hyperbolique 𝜑(𝑥) = tanh(𝑥) (c’est le choix standard).

La fonction sigmoïde: 𝜑 (𝑥) =1

1+𝑒−𝑥

1 ère

Couche cachée

2 éme

Couche cachée

Page 24: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 13

Chapitre 1 Réseaux de Neurones Artificiels

c) Le Réseau de neurones à Fonction de base Radiale :

Le réseau à fonction radiale (RBF) a la même structure que le Perceptron multicouches.

A l’exception de sa fonction d'activation qui est une fonction de type Gaussienne. Ce réseau,

à cause de son architecture, utilise le plus souvent la règle d'apprentissage de correction

d'erreur et la règle par apprentissage compétitif. Il peut avoir un apprentissage qui combine en

même temps l'apprentissage supervisé et l'apprentissage non supervisé. Il est caractérisé par

un apprentissage plus rapide et plus simple (figure 1.7).[13][14]

La fonction radiale 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 :

𝑔(𝑥) = 𝑒𝑥𝑝 (−(𝑥 − 𝑐)2

𝑟2) … … … … … … (1. 4)

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 multi-quadratique croît la distance par

rapport au centre augmente. Elle a la forme suivante :

g(x) =√r2 + (x − c)2

r2… … … … … . .. (1. 5)

Fig 1.7 : Réseau RBF.

1.4.3.2. Réseauxrécurrents

Les réseaux récurrents, Recurrent Neural Networks (RNNs), sont des réseaux de

neurones dans lesquels l’information peut se propager dans deux sens, y compris des

couches profondes aux premières couches. En cela, ils sont plus proches du vrai

fonctionnement du système nerveux. Ces réseaux possèdent des connexions récurrentes au

f (x - C1)

Y= f(x)= g(x,w)

W4

W1

W2

W3

Couche de sortie

x3

Couche d’entrée

x2

x1

f (x - Cnc)

E

S

Page 25: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 14

Chapitre 1 Réseaux de Neurones Artificiels

sens où elles conservent des informations en mémoire : ils peuvent prendre en compte à

un instant d’un certain nombre d’états passés. Pour cette raison, les RNNs sont

particulièrement adaptés aux applications faisant intervenir le contexte, et plus

particulièrement au traitement des séquences temporelles comme l’apprentissage et la

génération de signaux, c’est à dire quand les données forment une suite et ne sont pas

indépendantes les unes des autres. Troisclasses importantes de ce type des réseaux sont les

plus utilisées : réseaux de Jordan et d’Elmane et de Kohenn[35].

1.5. Apprentissage :

La notion d’apprentissage est claire et intuitive pour les humains ou les animaux : c’est

une procédure cognitive qui doit faire en sorte que l’individu réalise de manière autonome

une tâche donnée, typiquement à partir d’exemples.

1.5.1. Définitions :[14]

L’apprentissage est une phase de développement d’un réseau de neurones durant

laquelle une modification du comportement du réseau se fait jusqu’à l’obtention d’un

comportement désiré. L’apprentissage neuronal fait appel à des exemples de comportement.

Durant cette phase les poids synaptiques seront modifiés, donc d’une manière plus

simple, on peut dire que l’apprentissage est une action de mise à jour des poids des

connexions dans le but d’atteindre la sortie du réseau pour les exemples présentés en entrée

1.5.2. Type d’apprentissage :

Au niveau des algorithmes d’apprentissage, il existe trois types selon l’intervention

ou non d’un superviseur [23] :

a) Apprentissage supervisé : Ce mode est le plus courant, l’utilisateur dispose d’un

comportement de références précis qu’il désire faire apprendre au réseau. Schématiquement, il

consiste à évaluer les poids synaptiques minimisant l’erreur sur une base d’apprentissage, cette

base comprend un ensemble d’observations pour lesquelles on connaît à la fois les entrées et

les sorties souhaitées. 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.

Page 26: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 15

Chapitre 1 Réseaux de Neurones Artificiels

b) Apprentissage semi- supervisé : Cet apprentissage est identique au précédent dans la

mesure où il se base sur la présence d’un concepteur, cependant la valeur exacte de la sortie

n’est pas disponible, en général la seule information disponible est un signal d’échec ou de

succès.

c) Apprentissage non supervisé : Ce mode d’apprentissage est moins intuitif, il correspond

au cas où l’on ne dispose pas de bases d’apprentissage, par exemple lorsqu’on ne sait pas à

priori déterminer ponctuellement si une sortie est ou non valable. L’apprentissage repose alors

sur un «critère interne » de conformité du comportement du réseau par rapport à des

spécifications générales et non sur des observations. 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[33].

1.5.3. Règles d’apprentissage :

L’apprentissage d’un Réseau de Neurones Artificiels se base sur des règles

d’apprentissage. Nous citons ci-après les règles les plus répandues [19,18,23,24]:

La règle de Hebb, vue dans le livre « Organisation of Behavior» en 1949. Elle permet de

modifier la valeur des poids synaptiques en fonction de l'activité des unités qui les relient. Le

but principal est le suivant : si deux unités s'activent en même temps la connexion qui les lie

est renforcée (c'est une connexion excitatrice) sinon elle est affaiblie (c'est une connexion

inhibitrice).

La règle delta qui calcule la différence entre la valeur de la sortie et la valeur désirée pour

ajuster les poids synaptiques. Elle emploie une fonction d'erreur, nommée « la moindre carré

moyen », basée sur les différences utilisées pour l'ajustement des poids.

La règle d'apprentissage compétitif qui ne concerne qu'un seul neurone. Son principe est

de regrouper les données en catégorie. Les neurones similaires vont donc être rangés dans

une même classe en se basant sur des corrélations des données et seront représentés par un

seul neurone. L'architecture d'un tel réseau possède une couche d'entrée et une couche de

compétition. Une forme est présentée à l'entrée du réseau. Elle est projetée ensuite, sur

chacun des neurones de la couche compétitive. Le neurone gagnant est celui qui possède un

vecteur de poids le plus proche de la forme présentée en entrée. Chaque neurone de sortie est

connecté aux neurones de la couche d'entrée et aux autres cellules de sortie (c'est une

connexion inhibitrice) ou à elle-même (c'est une connexion excitatrice). La sortie dépend

alors de la compétition entre les connexions inhibitrices et excitatrices.

Page 27: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 16

Chapitre 1 Réseaux de Neurones Artificiels

La règle de corrélation en cascade, qui est une technique d'apprentissage, ajoute

progressivement des neurones cachés au réseau jusqu'à ce que l'effet bénéfique de ces

nouveaux neurones ne soit plus perceptible. Cette règle suit les deux étapes suivantes:

1. On entraîne le système par un apprentissage classique qui s'effectue premièrement dans

un petit réseau sans couche cachée.

2. On entraîne par la suite un petit groupe des neurones supplémentaires qui doit diminuer

l'erreur résiduelle du réseau. La règle d'apprentissage utilisée modifie les poids de ces

neurones. Le neurone qui réussit le mieux est retenu, et intégré au réseau. L'étape 1 est

relancée encore une fois, pour permettre au réseau de s'adapter à la nouvelle ressource.

La règle de correction d'erreurs qui est caractérisée par les étapes suivantes:

1. On commence avec des valeurs des poids de connexions qui sont pris auhasard.

2. On introduit un vecteur d'entrée de l'ensemble des échantillons pour l'apprentissage.

3. Si la sortie ou la réponse n'est pas correcte, on modifie toutes les connexions pour

atteindre la bonne réponse

La règle de rétro-propagation inventée par Rumelhart, Hinton et Williams en 1986. Elle

s'utilise pour ajuster les poids de la couche d'entrée à la couche cachée. Cette règle peut aussi

être considérée comme une généralisation de la règle delta pour des fonctions d'activation

non linéaire et pour des réseaux multicouches. Les poids dans le réseau de neurones sont au

préalable initialisés avec des valeurs aléatoires. On considère ensuite un ensemble de

données qui vont servir comme un échantillon d'apprentissage. Chaque échantillon possède

ses valeurs cibles qui sont celles que le réseau de neurones doit atteindre lorsqu’on lui

présente le même échantillon.

1.6. Avantage et limites des RNAs :

Les Réseaux de Neurones Artificiels ont plusieurs avantages dont on peut citer [12,

24,23] :

Réutilisabilité: Un réseau de neurones n’est pas programmé pour une application mais

pour uneclasse de problèmes : après une phase d’apprentissage adéquate, il peut traiter de

nombreuses tâches.

Robustesse: Les couches cachées du réseau de neurone forment une représentation

abstraite des données (concepts), qui permettent de savoir catégoriser des données non

traitées lors de l’apprentissage (non prévues).

Page 28: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 17

Chapitre 1 Réseaux de Neurones Artificiels

Parallélisme: L’architecture des réseaux permet théoriquement à un grand nombre

d’éléments de calcul simples de travailler d’une façon concurrente, ce qui facilite l’obtention

des résultats très rapides et aide à l’implantation des applications ayant notamment des

contraintestemps-réel.

Logique floue: Les réseaux de neurone se sont inspirés du fonctionnement du cerveau

humain, ils savent utiliser des notions imprécises, modélisent des systèmes dynamiques et

non linéaires, le réseau établit lui-même ses connaissances, à partir d'exemples.

Bien que les réseaux de neurones soient capables d’effectuer beaucoup de tâches, ils

souffrent néanmoins de certaines limites dont on peut citer [27,33] :

Choix des attributs : Pour permettre de travailler avec les réseaux de neurones, il est

nécessaire de choisir soigneusement la représentation des données. Les attributs ne peuvent

être que numériques.

Processus d’apprentissage : Lorsque la durée d’apprentissage est très longue, la

possibilité de perdre la capacité de généralisation par le RN augmente c.-à-d. apprentissage

au détriment de la généralisation (Le problème du sur-apprentissage).

Architecture du réseau : Le nombre de nœuds dans les couches d’entrée et de sortie

sont généralement fixés par l’application, mais comment optimiser le nombre de niveaux

cachés et le nombre de nœuds dans ces niveaux ? Il n’existe pas des règles claires dans ce

sens.

Exploitabilité : Il existe une grande difficulté pour expliquer les résultats obtenus

par le réseau de neurones, car ce dernier fonctionne comme une boite noire et peut découvrir

des règles et l’exploitent pour résoudre des problèmes, mais il ne permet pas la possibilité

d’extraire des lois ou des formules depuis ces règles.

1.7. Application des RNAs:

Depuis leur apparition, les réseaux de neurones ont été largement utilisés dans

plusieurs domaines. On peut citer [21,22] :

Industrie: contrôle de qualité, diagnostic de panne, analyse de signature ou d'écriture

manuscrite, contrôle de procédés industriels...

Finance: prévision et modélisation du marché (cours de monnaies...), sélection

d'investissements, attribution de crédits...

Page 29: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 18

Chapitre 1 Réseaux de Neurones Artificiels

Télécommunications et informatique : analyse du signal, élimination du bruit,

reconnaissance de formes (bruits, images, paroles), compression de données...

Environnement: évaluation des risques, analyse chimique, prévisions et modélisation

météorologiques, gestion desressources...

Médical: Diagnostique automatisé des maladies, et traitement automatique des

informations issues des imageries médicales…

Militaire: Guidage des missiles, Drones et avions sans pilotes, …

Le tableau 1.2, représente la correspondance entre chaque domaine d’application et le

type de Réseau de Neurones Artificiels le plus approprié.

Domaine d’application Type de RNA

Optimisation Hopefield, ART

Approximation de fonctions MLP, RBF

Traitement d’images Hopefield

Classification MLP, Kohonen, RBF, ART

Tableau1.2 : Correspondance type de RNA-Domaine d'application-.

1.8. Conclusion :

Les RNAs constituent une technique de traitement de données bien comprise et bien

maitrisée. Ils sont connus par leur puissance d’apprentissage et généralisation. En effet, elles

réalisent des fonctionnalités d’identification, de contrôle ou de filtrage, et prolonge les

techniques classiques de l’automatique non linéaire pour aboutir à des solutions plus efficaces et

robustes. Dans ce chapitre, un aperçu général est donné sur la notion des Réseaux de

Neurones Artificiels, en passant par la définition, la structure et le fonctionnement et les

types d’apprentissage. Les différents types de réseaux sont présentés aussi avec le domaine

d’applications.

Page 30: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 19

Chapitre 2 Optimisation par les métaheuristiques

Chapitre2:

Optimisation par

les métaheuristiques.

2.1 Introduction

2.2 Algorithmes d’optimisation

2.3 Métaheuristiques

2.4 Algorithmes génétiques

2.5 Méthode hybrides

2.6 Conclusion

Page 31: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 20

Chapitre 2 Optimisation par les métaheuristiques

2.1 Introduction:

Dans divers domaines, le besoin croissant d'efficacité et de rentabilité a conduit les

décisionnaires à solutionner leurs problèmes quelle que soit la difficulté en introduisant des

méthodes d’optimisation. Cependant, la compétition entre les méthodes de recherche pour

arriver aux meilleurs résultats en termes de qualité et de temps de traitement a conduit à

distinguer un type de problèmes classés difficiles. Lorsque le problème à résoudre est

difficile, l’utilisation d’une méthode exacte qui garantit l’obtention de la meilleure solution

nécessite un temps de calcul très long qui croit de façon exponentielle avec la taille du

problème traité. Dans ce cas, l’utilisation de méthodes qui offrent une solution de

bonne qualité, quasi optimale, mais en un temps raisonnable s’avère intéressante.Ces

méthodes sont les métaheuristiques.[30]

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[17].

Dans ce chapitre nous allons aborder les techniques d’optimisation de manière

générale, ensuite nous présentons l’algorithme génétique comme l'une des techniques

d’optimisation choisi d’être utilisée dans notre projet conjointement avec le réseau de

neurones multicouches (MLP) pour ajuster les poids de ce dernier afin d’obtenir un meilleur

réseau émulateur.

2.2 Algorithmes d’optimisations :

L’optimisation est un ensemble de techniques permettant de trouver les valeurs des

variables qui rendent optimale une fonction de réponse, appelée aussi fonction objectif. Sur

le plan mathématique, cela correspond à la recherche des extrémums de fonctions à

plusieurs variables. Dans le domaine des sciences appliquées, il s’agit en général de

trouver l’optimum de la réponse d’opérations industrielles ou d’expériences de laboratoire

ou d’une solution à un problème précis[29].

Page 32: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 21

Chapitre 2 Optimisation par les métaheuristiques

2.2.1 Définitions :

Un algorithme d’optimisation est une procédure mathématique qui permet de

maximiser ou de minimiser une fonction réelle f, que l’on appelle fonction objectif.

L’algorithme est un processus itératifs qui génère une séquence de valeurs à partir d’un point

de départ. On dit qu’un algorithme est convergent quand pour n’importe quel point de

départ, la séquence arrive à la solution (maximum ou minimum). Le non convergence d’un

algorithme n’implique pas le non existence de solution, il faut essayer avec un autre point de

départ ou bien utiliser un autre type d’algorithme (Algorithmes méta heuristiques), qui

représente l’une des familles de techniques d’optimisation. [29]

2.2.2 Les grandes familles de techniques d’optimisation :

Les techniques d'optimisation peuvent être classées en trois grandes familles [30]:

a) Méthodes exactes: Ces méthodes s’appliquent aux problèmes qui peuvent êtrerésolus

de façon optimale et rapide. Elles sont basées soit sur une résolution algorithmique,

analytique ou sur une énumération exhaustive de toutes les solutions possibles, dans le but

de trouver des solutions exactes à des problèmes difficiles, (exemples: méthode de branche

and bound, algorithme de simplexe, etc.).

b) Méthodes heuristiques: Une heuristique est un algorithme approché qui permet

d’identifier au moins une solution réalisable rapide, utilisé pour calculer une solution

spécifique approchée d’un problème bien déterminé et ainsi accélérer le processus de

résolution exacte. Généralement une heuristique est conçue pour un problème particulier,

sans offrir aucune garantie sur la qualité de la solution calculée.

c) Métaheuristiques: Sont des méthodes approchées qui peuvent résoudre différents

problèmes, elles sont souvent inspirées par des systèmes naturels, qu’ils soient pris en

physique (cas du recuit simulé), en éthologie (cas des algorithmes de colonies de fourmis

ou de l’optimisation par essaims particulaires) ou encore en biologie de l’évolution (cas

des algorithmes génétiques).

Le principal avantage des métaheuristiques est qu’elles peuvent s’appliquer à

n’importe quelle classe de problèmes faciles ou très difficiles, bien ou mal formulés, avec ou

sans contrainte, en particulier elles ne nécessitent pas une modélisation mathématique du

problème. Elles semblent être tout à fait adaptées à l’optimisation de l’entrainement du

réseau de neurones MLP pour l’émulation du système de Box et Jenkins. [29]

Page 33: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 22

Chapitre 2 Optimisation par les métaheuristiques

2.3 Métaheuristiques:

2.3.1Définitions :

Le terme métaheuristique vient des mots grecs méta (au-delà) et heuriskein (trouver).

Il n’y a pas clairement de consensus sur la définition exacte des heuristiques et des

métaheuristiques [30]. Nous allons adopter celles-ci :

Une heuristique est une technique de résolution spécialisée à un problème et elle ne

garantit pas la qualité du point obtenu.

Une métaheuristique est une heuristique générique qu’il faut adapter à chaque

problème.

Une métaheuristique est un algorithme d’optimisation visant à résoudre des

problèmes d’optimisation difficile (souvent issus des domaines de la recherche

opérationnelle, de l’ingénierie ou de l’intelligence artificielle) pour lesquels on ne connait

pas de méthode classique plus efficace. Les métaheuristiques sont généralement des

algorithmes stochastiques itératifs, qui progressent vers un optimum global, c’est à dire

l’extremum global d’une fonction objectif. Elles se comportent comme des algorithmes de

recherche, tentant d’apprendre les caractéristiques d’un problème afin d’en trouver une

approximation de la meilleure solution (d’une manière proche des algorithmes

d’approximation).

2.3.2 Principales caractéristiques :[30]

Les métaheuristiques sont des stratégies qui permettent de guider la recherche

d’une solution.

Le but visé par les métaheuristiques est d’explorer l’espace de recherche

efficacement afin de déterminer des points (presque) optimaux.

Les techniques qui constituent des algorithmes de type métaheuristique vont de la

simple procédure de recherche locale à des processus d’apprentissage complexes.

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

Page 34: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 23

Chapitre 2 Optimisation par les métaheuristiques

la spécificité du problème traité.

Les métaheuristiques peuvent faire usage de l’expérience accumulée durant la

recherche de l’optimum, pour mieux guider la suite du processus de recherche.

2.4 Algorithmes Génétiques:

Les Algorithmes Génétiques (AGs) sont des algorithmes d’optimisation s’appuyant

sur des techniques dérivées de la génétique et de l´évolution naturelle. Ils appartiennent à

la famille des algorithmes évolutionnistes : un sous-ensemble des métaheuristiques. Fondés

sur les mécanismes de la sélection naturelle et de la génétique, ils ont été initialement

développés et adaptés à l’optimisation par John Holland en 1975. Leurs champs

d’application sont très vastes ; l’économie, l’optimisation de fonctions, finance, en théorie

du contrôle optimal, théorie des jeux répétés et différentiels, etc...[6].

2.4.1 Présentation:

Un Algorithme Génétique est défini par les caractéristiques suivantes (figure2.1):

Séquence/Chromosome/Individu (Codage binaire) : « Nous appelons une

séquence (chromosome, individu) A de longueur L(A) une suite A = {a1,a2,...,aL} avec

∀i ∈[1,L], ai∈V = {0,1 }».[6]

Un chromosome est donc une suite de bits en codage binaire, appelé aussi chaîne

binaire. Dans le cas d’un codage non binaire, tel que le codage réel, la suite A ne contient

qu’un point réel, nous avons A = {a} avec a ∈ℜ.

Population : Un ensemble de chromosomes ou de points de l’espace de recherche.

Gène : C’est une partie d'une solution au problème, donc d'un individu.

Environnement : C’est l’espace de recherche.

Fonction de fitness :C’est la fonction - positive - que nous cherchons à maximiser.

Fig 2.1 : Eléments d’une population.

Bits

Génes

Chromosomes

Individus

Population

Page 35: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 24

Chapitre 2 Optimisation par les métaheuristiques

2.4.2 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 [28, 6,17] :

Un principe de codage de l'élément de population : 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.

Un mécanisme de 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.

Une 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 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 : Taillent de la population, nombre total de

générations, probabilités d'application des opérateurs de croisement et de mutation.

Page 36: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 25

Chapitre 2 Optimisation par les métaheuristiques

Début

Codage de paramètres

Génération aléatoire de la

première population

Calcul de la fonction d’évaluation

Critères

d’arrêt

satisfait ? Oui

Non

Sélection des parents

Croisement

Solution optimale

Mutation

Sélection finale

L’organigramme fonctionnel de la figure 2.2 illustre la structure de l’Algorithme

Génétique. Les diverses phases et les mécanismes associés à chacune d’entre elles seront

présentés dans les sections suivantes :

Fig 2.2 : Organigramme générale d’un algorithme génétique.

Page 37: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 26

Chapitre 2 Optimisation par les métaheuristiques

Chromosome

Gène

Allèle

Chromosome

1110101 1

Gène 1

10010011

Gène 2

00011010

Gène 3

2.4.2.1. Codage des données :

Chaque paramètre d'une solution est assimilé à un gène, toutes les valeurs qu'il peut

prendre sont les allèles de ce gène. Un chromosome est une suite de gènes, on peut choisir

de regrouper les paramètres similaires dans un même chromosome et chaque gène sera

repérable par sa position. Chaque individu est représenté par un ensemble de chromosomes,

figure 2.3.[38]

Fig 2.3 : Structure d’un chromosome.

Il existe principalement deux types de codage : le codage binaire, le codage réel :

a) Codage binaire :

Chaque gène dispose du même alphabet binaire {0, 1}(figure 2.4). Chaque paramètre 𝑥𝑖

situé dans un intervalle[𝑥𝑚𝑖𝑛, 𝑥𝑚𝑎𝑥], est associé à une chaîne binaire{ 𝑏0, … , 𝑏𝑙𝑥𝑖−1} définie

sur 𝑙𝑥𝑖bits. A cette chaîne correspond un entier naturel 𝑦𝑖[ 38]:

𝑦𝑖 = ∑ 𝑏𝑗2𝑙𝑥𝑖−𝑗−1

𝑙𝑥𝑖−1

𝑗=0

… … … . (2. 1)

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 𝑥𝑖de l’espace de recherche relatif à 𝑦𝑖 est obtenu par

interpolation linéaire: [10]

𝑥𝑖 = 𝑥𝑖𝑚𝑖𝑛 +(𝑥𝑖𝑚𝑎𝑥−𝑥𝑖𝑚𝑖𝑛)

2𝑙𝑥𝑖 −1

𝑦𝑖 … … … . (2. 2)

Fig 2.4 : Chromosome codé en binaire.

Page 38: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 27

Chapitre 2 Optimisation par les métaheuristiques

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 𝑓(𝑥1, 𝑥2, … , 𝑥𝑛−1, 𝑥𝑛),

on peut utiliser tout simplement un chromosome contenant les 𝑛 variables, figure 2.5[28].

Fig 2.5 : 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.2.2 Génération de la population initiale :

Le choix de la population initiale d’individus 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 des individus en faisant des tirages

uniformes dans chacun des domaines associés aux composantes de l’espace d’état en veillant

à ce que les individus produits respectent les contraintes. 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.[38]

2.4.2.3 Evaluation (Fitness) :

L’évaluation de la Fitness est généralement l’étape où on mesure la performance de

chaque individu pour pouvoir juger sa qualité et ainsi la comparée aux autres, il faut établir

une mesure commune d’évaluation. Aucune règle n’existe pour définir cette fonction, son

calcul peut ainsi être quelconque, que ce soit une simple équation ou une fonction affine. La

manière la plus simple est de poser la fonction d’adaptation comme la formalisation du

critère d’optimisation. 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 naturellement

formulé en terme de maximisation. [28]

Chromosome

𝒙𝟏 𝒙𝟐 …. 𝒙𝒏−𝟏 𝒙𝒏

Page 39: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 28

Chapitre 2 Optimisation par les métaheuristiques

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

Dans beaucoup de problèmes, l’objectif est exprimé sous forme de minimisation

d’une fonction coût ℎ :

𝑚𝑖𝑛𝑥∈𝑆 ℎ(𝑥) … … (2.4)

Le passage du problème de minimisation à un problème de maximisation est obtenu

par transformation de la fonction ℎ selon la relation suivante :

𝑓(𝑥) =1

(1 + ℎ(𝑥))… … … … . . (2. 5)

2.4.2.4 Mécanismes d’un AG :

A partir d’une première population d’individus créée aléatoirement, les AGs

génèrent de nouveaux individus plus performants que leurs prédécesseurs en effectuant des

opérations génétiques. Les AGs utilisent des outils tels que la reproduction, le croisement et

la mutation. Ces outils sont basés sur des processus aléatoires. [15]

La reproduction est une version artificielle de la sélection naturelle, c’est un

processus dans lequel chaque individu est copié en fonction des valeurs de la fonction

d’évaluation. Le croisement est l’opérateur le plus dominant dans un AG, il permet à deux

chaînes d’échanger des portions de leurs structures produisant ainsi de nouvelles chaînes. La

mutation est un opérateur local qui est appliqué avec une très faible probabilité, figure 2.6.

Fig 2.6 : Mécanismes de l’algorithme génétique.

Page 40: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 29

Chapitre 2 Optimisation par les métaheuristiques

a) Sélection :

Permet d’identifier statistiquement les meilleurs individus d’une population et

d’éliminer les mauvais pendant le passage d’une génération à une autre, ce processus est

basé sur la performance (l’évaluation) de l’individu. Il y’ a plusieurs méthodes de sélection,

citons quelques-unes [7, 6,28] :

Sélection uniforme:La sélection se fait aléatoirement, et sans intervention de la valeur

d'adaptation. Chaque individu a donc une probabilité 1

𝑝 d'être sélectionné, où 𝑝 est la taille de

population.

Sélection par rang : Cette technique de sélection choisit toujours les individus

possédant les meilleurs scores d'adaptation, le hasard n'entre donc pas dans ce mode de

sélection, la sélection appliquée consiste à conserver les meilleurs individus (au sens de la

fonction d'évaluation).

Roue de la fortune (roulette wheel) :Selon cette méthode, chaque chromosome sera

dupliqué dans une nouvelle population proportionnellement à sa valeur d’adaptation. Nous

effectuons, en quelque sorte, autant de tirages avec remises qu’il y a d’éléments dans la

population, la fitness d’un chromosome particulier étant(𝑑(𝑐𝑖)), la probabilité avec laquelle

il sera réintroduit dans une nouvelle population de taille 𝑁 est :

𝑓(𝑑(𝑐𝑖))

∑ 𝑓(𝑑(𝑐𝑗))𝑁𝑗=1

… … … … (2. 6)

Les individus ayant une grande fitness ont donc plus de chance d’être sélectionnés. On

parle alors de section proportionnelle, figure 2.7.

Fig 2.7 : Exemple d’une roulette de la fortune.

Roulette de casino : C’est la sélection naturelle la plus employée pour l’AG binaire.

Chaque chromosome occupe un secteur de roulette dont l’angle est proportionnel à son

indice de qualité. Un chromosome est considéré comme bon aura un indice de qualité élevé,

un large secteur de roulette et alors il aura plus de chance d’être sélectionné.

0,4/10 Roulette

1,2/10 6,2/10

2,2/10

Individu1

Individu2

Individu3

Individu4

Page 41: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 30

Chapitre 2 Optimisation par les métaheuristiques

Sélection par tournoi : Choisir aléatoirement deux individus et on compare leur

fonction d’adaptation (combattre) et on accepte la plus adapte pour accéder à la génération

intermédiaire, et on répète cette opération jusqu'à remplir la génération intermédiaire

( 𝑁

2 composants). Les individus qui gagnent à chaque fois on peut les copier plusieurs fois ce

qui favorisera la pérennité de leurs gènes.

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 des 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 𝑘 donnée, le meilleur individu de la génération précédente 𝑘 − 1 est réintroduit

dans la population siaucun des individus de la génération 𝑘 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.

b) Croisement (Crossover):

Le phénomène de croisement est une propriété naturelle de l’ADN, et c’est

analogiquement qu’on fait les opérations de croisement dans les AGs. L’opérateur de

croisement favorise l’exploration de l’espace de recherche et enrichit la diversité de la

population en manipulant la structure des chromosomes, selon une probabilité 𝑃𝑐 le

croisement est appliqué à un couple de parents arbitrairement choisis dans la population

pour produire deux enfants. La valeur de cette probabilité est choisie généralement entre

0.5 et 0.9. Il existe plusieurs méthodes de croisementet ils différent selon le type de codage

adapté.[7, 15,28]

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 :

On choisit au hasard un point de croisement, pour chaque couplede chromosomes

parents(𝑐ℎ𝑟1 𝑒𝑡 𝑐ℎ𝑟2), ensuite on échange les deux sous chaînes terminales de chacun des

chromosomes, ce qui produit deux enfants 𝑐ℎ𝑟1′ 𝑒𝑡 𝑐ℎ𝑟2

′ comme indiqué sur la figure 2.8.

Notons que le croisement s’effectue directement au niveau binaire (bit), et non pas au

niveau des gènes (figure 2.8).

Page 42: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 31

Chapitre 2 Optimisation par les métaheuristiques

Fig 2.8 : 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.9).

Fig2.9 : 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.10.

Fig 2. 10 : Croisement uniforme.

Parant2

1

1 1 0 0 0

0 1 1 1 0

Enfant 1

Enfant 2

Parant1

0 0 0

1 1 1 0

0 1

Masque de croisement

1

1 0 0

0

𝒄𝒉𝒓𝟏

𝒄𝒉𝒓𝟐

𝒄𝒉𝒓𝟏′

𝒄𝒉𝒓𝟐′

1 1 1 0

0 1

1 1 1 0 0

0 1 0

0

1 0 1 0 0

0

𝒄𝒉𝒓𝟏

𝒄𝒉𝒓𝟐

𝒄𝒉𝒓𝟏′

𝒄𝒉𝒓𝟐′

1 1 1 0

0 1

1 1 1 0 0

0 1 0 1 0 1 0 0

0

2 parents 2 enfant

Site de croisement

2 parents 2 enfants

Page 43: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 32

Chapitre 2 Optimisation par les métaheuristiques

Croisement réel :

Le croisement réel ne se différencie du croisement binaire que par la nature des

éléments qu'il altère : ce ne sont plus des bits qui sont échangés à droite du point de

croisement, mais des variables réelles. Il y a plusieurs méthodes de croisement parmi

lesquels on trouve le croisement barycentre:

Croisement barycentre :

Deux gènes 𝑐ℎ𝑟1 (𝑖) 𝑒𝑡 𝑐ℎ𝑟2(𝑖) sont sélectionnés dans chacun des parents à la

même position 𝑖. Ils définissent deux nouveaux gènes 𝑐ℎ𝑟1′(𝑖) 𝑒𝑡 𝑐ℎ𝑟2

′(𝑖) par combinaison

linéaire.

𝑐ℎ𝑟1′(𝑖) = 𝑟 ∗ 𝑐ℎ𝑟1(𝑖) + (1 − 𝑟) ∗ 𝑐ℎ𝑟2(𝑖) … (2.7)

𝑐ℎ𝑟2′(𝑖) = (1 − 𝑟) ∗ 𝑐ℎ𝑟1(𝑖) + r ∗ 𝑐ℎ𝑟2(𝑖) … (2.8)

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

c) Mutation:

La mutation est également identique à la mutation biologique, elle vise à modifier

légèrement un gène à une position aléatoire dans le chromosome.Les individus de la

population issue du croisement vont subir un processus de mutation avec une probabilité𝑝𝑚,

cette probabilité est généralement de faible valeur.[9]

L’operateur de mutation permet de modifier aléatoirement la valeur d’un paramètre du

dispositif. Il joue le rôle de bruit et empêche l’évolution de se figer en assurant une

recherche aussi bien globale que locale.[6, 15,38]

Il existe plusieurs méthodes de mutation parmi lesquels on trouve :

Mutation binaire :

La mutation binaire s'applique à un seul chromosome. Un bit du chromosome est tiré

au hasard. Sa valeur est alors inversée, le bit est donc remplacé par son complément. Il

existe une variante où plusieurs bits peuvent muter au sein d'un même chromosome.

Fig 2. 11 : Mutation binaire.

0 1 0 1 0

𝑪𝒉𝒓𝒊 𝑪𝒉𝒓𝒊′

1 0 0 1 1

Bit muté

Page 44: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 33

Chapitre 2 Optimisation par les métaheuristiques

Mutation réelle :

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 [17].

Mutation uniforme :

C’est une simple extension de la mutation binaire, en supposant fixée la probabilité

de mutationpm, 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’intervalle[𝑐ℎ𝑟(𝑖)𝑚𝑖𝑛, 𝑐ℎ𝑟(𝑖)𝑚𝑎𝑥].

Mutation 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ération 𝑘, 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 :

𝐜𝐡𝐫(𝐢) = {𝐜𝐡𝐫(𝐢) = ∆(𝐤, 𝐜𝐡𝐫(𝐢)𝐦𝐚𝐱 − 𝐜𝐡𝐫(𝐢)) 𝐬𝐢 𝐫 = 𝟎

𝐜𝐡𝐫(𝐢) = ∆(𝐤, 𝐜𝐡𝐫(𝐢) − 𝐜𝐡𝐫(𝐢)𝐦𝐢𝐧) 𝐬𝐢 𝐫 = 𝟏… … 𝟐. 𝟗

Où ∆(𝑘, 𝑦) est une fonction qui définit l’écart entre la nouvelle valeur et la valeur

initiale à la génération 𝑘 et 𝑟 est nombre aléatoire qui prend les valeurs 0 ou 1.

d) Sélectiondes individus de la 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 [15]:

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 45: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 34

Chapitre 2 Optimisation par les métaheuristiques

Sélection élitiste (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.

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.

e) Critère d’arrêt :

Le cycle de génération (application des opérateurs génétique) 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[28]:

2.5 Hybridation des métaheuristiques:

On parle d’hybridation quand la métaheuristique considérée est composée de plusieurs

méthodes se répartissant les tâches de recherche. Une des techniques les plus populaires

d'hybridation concerne l'utilisation des 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[30].

La méthode d’optimisation hybride que nous avons utilisée, dans notre travail, fait

partie de ce type de méthodes hybrides. Cette méthode est basée sur l’association de

l’algorithme génétique et de l’algorithme micro génétique ; l’algorithme génétique réalise

une recherche globale tandis que la micro génétique exécute une recherche locale autour du

meilleur poids du réseau de neurones, obtenu par l’algorithme génétique au cours de

chaque génération[2].

Page 46: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 35

Chapitre 2 Optimisation par les métaheuristiques

2.6 . Conclusion :

Dans ce chapitre, nous avons abordé dans sa première partie le principe et les

techniques d’optimisation. Aussi, on a présenté dans la deuxième partie les

métaheuristiques, et les algorithmes génétiques qui présentent un intérêt considérable dans

l’optimisation.

Page 47: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 36

Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA

Chapitre3:

Optimisation Du

Réseau Emulateur MLP

Par l’Algorithme Hybride GA-MGA

3.1 Introduction

3.2 Optimisation du réseau MLP par

l’algorithme GA-MGA

3.3 Simulation

3.4 Conclusion

Page 48: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 37

Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA

3.1. Introduction :

Les algorithmes d’optimisation ont fait leur apparition afin d’avoir des solutions

réalisables de bonne qualité pour des problèmes difficiles issus des domaines de la recherche

opérationnelle ou de l’ingénierie. Les métaheuristiques, particulièrement les algorithmes

évolutionnaires tels que les algorithmes génétiques ont été largement utilisés pour

l’optimisation.

Dans ce chapitre nous allons présenter les résultats de simulation de l’optimisation

d’entrainement du réseau de neurones MLP par les trois méthodes qui suivent :

La méthode classique utilisant la rétropropagation du gradient (BP).

La méthode dite algorithme génétique (GA).

La méthode dite hybride algorithme génétique- microgénétique (GA-MGA).

3.2. Optimisation du réseau MLP par l’algorithme GA-MGA:

3.2.1. Adaptation de l’algorithme génétique aux réseaux de neurones :

Pour appliquer les Algorithmes Génétiques 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.1:

Fig3.1 : 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.

Chromosome

𝒘𝒔𝟏𝟏

Chr

omo

som

e𝒙𝟏

𝒘𝒔𝟏𝟐 𝒘𝒔𝟏𝟑 𝒘𝒄𝟏𝟏 𝒘𝒄𝟏𝟐 𝒘𝒄𝟐𝟏 𝒘𝒄𝟐𝟐 𝒘𝒄𝟑𝟏 𝒘𝒄𝟑𝟐

Page 49: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 38

Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA

Système

À émuler Yd

+ e Fonction

Objectif

Réseau

Emulateur

-

yR

Algorithme

d’optimisation

3.2.2. Structure d’optimisation :

Le diagramme de l’optimisation d’entrainement du réseau de neurones MLP est

schématisé par la figure 3.2 et il est consisté de quatre blocs:

Réseau émulateur.

Système a émulé.

Algorithme d’optimisation.

Fonction objectif (Fitness)

Fig 3.2 : Structure d’optimisation et de contrôle

L’interaction mutuelle entre les différents blocs de la structure de la figure 3.2 est

illustrée par la procédure suivante :

1. Génération d’une population initiale des chromosomes caractérisant les poids du

réseau

2. Pour tous les chromosomes :

Evaluer la fonction objectif.

Classifier les chromosomes selon leur aptitude.

Construction d’une nouvelle population par application des opérateurs génétiques.

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.

Page 50: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 39

Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA

3.2.3.Plateforme de l’algorithme GA et de l’algorithme MGA :

Un algorithme microgénétique (MGA) est un simple algorithme génétique dont la

taille de la population est petite,le nombre de génération est réduit et l’espace de recherche

est petit. Dans notre travaille, nous avons choisi la même plateforme pour les deux

algorithmes (GA et MGA)[28,34].

Afin de construire un algorithme d’optimisation à base des AGs, il faut bien

préparer la plateforme qui suit :

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

Adapter les opérateurs génétiques au mode de codage choisi.

L’algorithme génétique utilisé dans ce mémoire a les caractéristiques fondamentales

suivantes :

Le codage utilisé pour le chromosome est le codage réel, puisque la résolution

du problème d’optimisation sera plus efficace avec les AGs à codage réel.

La population initiale est générée aléatoirement pour couvrir tous l’espace de

recherche.

La sélection par tournoie est choisie pour sélectionner les parents reproducteur.

Le croisement barycentre est utilisé.

La mutation uniforme est choisie car elle est la plus simple et la plus adaptée au

codage réel.

La sélection finale pour la nouvelle génération sera par compétition, pour que

les meilleurs individus (enfants et parents) participent dans la nouvelle génération.

L’objectif de l’optimisation est de réduire au minimum l’erreur à chaque instant 𝑘

entre la réponse réelle du système et la réponse du réseau neuronal. Il existe plusieurs

indices de performance permettant de mesurer la qualité d’entrainement, celui utilisés dans

ce mémoire est le critère de l’erreur quadratique moyenne :

𝐹𝑖𝑡 = EQM =1

𝑛𝑇∑ 𝑒(𝑘)2

𝑛

𝑘=1

… … … … … … … … … … … … . . (3.1)

Page 51: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 40

Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA

𝑛 : 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 est calculée comme suit :

𝑓𝑐 =1

1 + 𝐹𝑖𝑡… … … … … … … … … … … … … … … … . . (3.2)

3.2.4.Algorithme hybride GA -MGA :

L’association de l’algorithme GA et de l’algorithme MGA mène à un arrangement

génétique hybride GA-MGA [28], dont la qualité de recherche est plus élevée.

L’algorithme génétique se charge de la recherche globale et l’opérateur MGA s’occupe de

la recherche locale.

Afin d’améliorer la convergence de l’algorithme génétique, l’algorithme MGA est

appliqué après l’obtention de la meilleure solution de chaque génération, de l’algorithme

GA, pour explorer le voisinage autour de cette meilleure solution. Ce voisinage est obtenu

par la création de la population initiale de l’algorithme MGA (puisque l’espace de

recherche de la microgénétique est plus petit que celui de la génétique).

Le tableau 3.1 définie les acronymes utilisés dans nos algorithmes.

Paramètre Signification

𝑴𝒂𝒙𝒈𝒆𝒏 Nombre maximum de générations GA

𝑵 Taille de la population GA

𝑷𝒄 Probabilité de croisement GA

𝑷𝒎 Probabilité de mutation GA

𝒔𝒐𝒑𝒕 Solution optimal

𝑩𝒆𝒔𝒕𝑮𝑨 Meilleure solution de chaque génération GA

𝑴𝒂𝒙𝒎𝒈𝒆𝒏 Nombre maximum de générations MGA

𝑵𝒗 Taille de la population MGA

𝑷𝒎𝒄 Probabilité de croisement MGA

𝑷𝒎𝒑 Probabilité de mutation MGA

𝑩𝒆𝒔𝒕𝑴𝑮𝑨 Meilleure solution obtenue par l’algorithme MGA

Tableau 3.1 : Paramètres de l’algorithme GA-MGA

Page 52: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 41

Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA

Le pseudo-code de la procédure GA-MGA est le suivant :

Début Algorithme GA

Définir 𝑀𝑎𝑥𝑔𝑒𝑛, 𝑃𝑐 , 𝑃𝑚, 𝑁

Générer la population initiale

Pour 𝑖 = 1jusqu’à 𝑀𝑎𝑥𝑔𝑒𝑛faire

Evaluer chaque individu de la population par l’équation. (3.2)

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 𝐵𝑒𝑠𝑡𝐺𝐴

Début Algorithme MGA

Définir 𝑀𝑎𝑥𝑚𝑔𝑒𝑛, 𝑃𝑚𝑐 , 𝑃𝑚𝑝, 𝑁𝑣

Générer la population initiale

Pour 𝑗 = 1 𝑗𝑢𝑠𝑞𝑢′à 𝑀𝑎𝑥𝑚𝑔𝑒𝑛faire

Evaluer (chaque individu de la population + l’individu 𝐵𝑒𝑠𝑡𝐺𝐴)par

l’équation. (3.2)

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.

𝑗 = 𝑗 + 1

Fin pour

Fin

Enregistrer le meilleur individu de dernière génération comme 𝐵𝑒𝑠𝑡𝑀𝐺𝐴

Si𝐹𝑖𝑡𝑛𝑒𝑠𝑠(𝐵𝑒𝑠𝑡𝑀𝐺𝐴) > 𝐹𝑖𝑡𝑛𝑒𝑠𝑠(𝐵𝑒𝑠𝑡𝐺𝐴)faire

Remplacer 𝐵𝑒𝑠𝑡𝐺𝐴 par 𝐵𝑒𝑠𝑡𝑀𝐺𝐴

𝑖 = 𝑖 + 1

Fin pour que

Retourner la meilleure solution 𝑠𝑜𝑝𝑡

Fin

Page 53: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 42

Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA

3.3 . Simulations :

Dans le but de tester et d’évaluer les performances de l’algorithme GA-MGA. Nous

l’appliquons à la minimisation de la fonction de Rosenbrock à dix variables. Une fois cette

efficacité est testée nous l’employons dans l’entraînement du réseau de neurones MLP.

3.3.1. Optimisation de la fonction de Rosenbrock :

Le problème de l’optimisation de la fonction de Rosenbrock est décrit comme suit :

Minimiser la fonction : 𝐹𝑅(𝑥) = ∑ (1 − 𝑥𝑖)2𝑛−1𝑖=1 + 100(𝑥𝑖+1 − 𝑥𝑖

2)2 … … … … . 3. 3

Avec :−5.12 ≤ 𝑥𝑖 ≤ 5.12 , 𝑒𝑡 𝑖 = 1 … 𝑛

Dans notre cas :𝑛 = 10. L'optimum de cette fonction 𝑥𝑏𝑒𝑠𝑡 = [1, 1, … , 1, 1] et la valeur de

la fonction à ce point est nulle𝐹𝑅(𝑥𝑏𝑒𝑠𝑡) = 0 .

Pour résoudre ce problème d’optimisation, nous avons appliqué ces deux algorithmes :

L’algorithme GA.

L’algorithme hybride GA-MGA.

a) Optimisation par l’algorithme GA :

Les paramètres utilisés dans l’algorithme sont au tableau 3.2. La figure 3.4 montre

l’évolution de l’indice de performance durant l’exécution de l’algorithme GA:

Taille de la population 50

Nombre de générations 1000

Nombre des Individus 10

Probabilité de croisement Pc 0.82

Probabilité de mutation Pm 0.05

Type de codage Réel

Type de croisement Barycentre

Type de mutation Uniforme

Méthode de sélection Par tournoie

Sélection finale Par compétition

Espace de recherche [I_min, I_max] [-5.12, 5.12]

Tableau 3.2 : Paramètres de l’algorithme AG

Page 54: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 43

Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA

Fig3. 3: Evolution de la minimisation de la fonction de Rosenbrock

Fig3.4: Evolution de la fonction Fitness

La solution optimale :

𝑥𝑏𝑒𝑠𝑡 = [0.9996 0.9994 0.9996 0.9997 0.9996 0.9997 1.0001 1.0937 1.1978 1.1985]

0 100 200 300 400 500 600 700 800 900 10000

2000

4000

6000

8000

10000

12000

14000X: 1

Y: 1.218e+004

min ( fonction Rosenbrock ) = 0.882543

Générations

Vale

ure

Min

imale

de la F

onction d

e R

osenbro

ck

X: 100

Y: 89.58X: 400

Y: 3.968

X: 700

Y: 0.8927

X: 1000

Y: 0.8825

0 100 200 300 400 500 600 700 800 900 10000

0.2

0.4

0.6

0.8

1

1.2

1.4

X: 1

Y: 8.207e-005

max ( Fitness ) = 1.13309

Générations

Meill

eur

Fiteness

X: 200

Y: 0.01533

X: 400

Y: 0.252

X: 700

Y: 1.12

Page 55: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 44

Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA

b) Algorithme hybride GA-MGA :

Les paramètres utilisés dans l’algorithme GA-MGA sont au tableau 3.3. La figure 3.6

montre l’évolution de l’indice de performance durant l’exécution de l’algorithme MGA :

ALGORITHME GA

ALGORITHME MGA

Taille de la population 50 8

Nombre de générations 1000 10

Probabilité de croisement Pc 0.86 0.86

Probabilité de mutation Pm 0.1 0.1

Type de codage Réel Réel

Type de croisement Barycentre Barycentre

Type de mutation Uniforme Uniforme

Méthode de sélection Par tournoie Par tournoie

Sélection finale par competition par competition

Espace de recherche 5.12 0.0054

Tableau 3.3 : Paramètres des deux algorithmesGA et MGA

Les résultats donnés par l’algorithme hybride sont :

Fig3. 5: Evolution de la minimisation de la fonction de Rosenbrock

0 100 200 300 400 500 600 700 800 900 10000

0.5

1

1.5

2

2.5x 10

4

X: 1

Y: 2.229e+004

min ( fonction Rosenbrock ) = 4.79567e-005

Générations

Vale

ure

Min

imale

de la F

onction d

e R

osenbro

ck

X: 100

Y: 59.42

X: 300

Y: 0.0002009

X: 1000

Y: 4.796e-005

X: 700

Y: 4.798e-005

Page 56: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 45

Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA

Fig 3.6: Evolution de la fonction Fitness

La solution optimale :

𝑥𝑏𝑒𝑠𝑡 = [1.0000 1.0000 1.0000 1.0000 1.0001 1.0002 1.0004 1.0005 1.0015 1.0026 ]

On remarque que le meilleur résultat est obtenu par l’application de l’algorithme

hybride GA-MGA.

La solution trouvée est très proche de la solution optimale (𝑥𝑏𝑒𝑠𝑡 ≈ 1)et la valeur de la

fonction de Rosenbrock en cette solution est presque nulle :

𝐹𝑅(𝑥𝑏𝑒𝑠𝑡) = 7.7506797319 𝐸 − 04.

3.3.2. Optimisationdu réseau de neurones :

Dans cette application, nous considérons l’optimisation de l’entrainement du réseau

de neurones MLP pour la modélisation du système de Box et Jenkins.

3.3.2.1. Présentation du système de Box & Jenkins :

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 𝐶𝑂2. L’entrée du four 𝑥 correspond au débit du méthane, tandis que la sortie

𝑦𝑑 correspond à la concentration en pourcentage deCO2. Le jeu des données d’entrée/sortie

du four est constitué de 296 points, figures3.7 et figure 3.8. Ce jeu de données sera utilisé

comme vecteur d’entraînement pour le réseau de neurones[10,28].

0 100 200 300 400 500 600 700 800 900 10000

0.5

1

1.5

2

2.5x 10

4

X: 300

Y: 4978

max ( Fitness ) = 20852.1

Générations

Meill

eur

Fiteness

X: 1

Y: 4.487e-005

X: 1000

Y: 2.085e+004

X: 700

Y: 2.084e+004

Page 57: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 46

Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA

Fig 3.7 : Signal d’entrée du système Box et Jenkins

Fig 3.8 : Signal de sortie du système Box et Jenkins.

3.3.2.2. Structure du réseau de neurones émulateur :

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 (𝑥(𝑘 − 4)𝑒𝑡 𝑦𝑑(𝑘 − 1)),

ensuite la différence entre la sortie du réseau (𝑦𝑅) et celle prédite pour l’exemple (𝑦𝑑(𝑘)),

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)

eEnt

rées

du

syst

ème

box

and

jenk

ins

signal d entrée du système box and jenkins

0 50 100 150 200 250 30044

46

48

50

52

54

56

58

60

62

itérations (ms)

sort

ies

du s

ystè

me b

ox

and je

nki

ns

signal de sortie du système box and jenkins

Page 58: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 47

Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA

L’objectif de l’optimisation de l’entraînement du réseau de neurones émulateur est

de minimiser l’erreur quadratique moyenne (appelé aussi indice de performance):

𝐸𝑄𝑀 =∑ 0.5 ∗ (𝑦𝑑(𝑘) − (𝑦𝑅(𝑘))2296

5

290… … . 3. 4

a) Emulation par un réseau MLP utilisant l’algorithmeBP :

La valeur du pas de l’algorithme BP est égale à 0.25 et elle est choisie empiriquement.

La figure 3.9 montre l’évolution de l’indice de performance durant l’exécution de

l’algorithme BP :

Fig 3.9: Evolution de la fonction d’évaluation

Fig 3.10 : Signal de sortie émulée et sortie désirée

0 5 10 15 20 25 30 35 40 45 500

2

4

6

8

10

12

X: 1

Y: 10.81

Générations

EQ

M

Min ( EQM ) = 0.9322

X: 10

Y: 0.9322

X: 50

Y: 0.9322

0 50 100 150 200 250 30044

46

48

50

52

54

56

58

60

62

Itérations

Concentr

ation C

O2

Sortie Réseau

Sortie Désirée

Page 59: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 48

Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA

Fig 3.11: Signal d’erreur d’émulation

b) Emulation par un réseau MLP utilisant l’algorithme GA :

Les valeurs spécifiques de l’algorithme sont données par le tableau 3.4. La figure 3.12

montre l’évolution de l’indice de performance durant l’exécution de l’algorithme GA :

Taille de la population 40

Nombre de génération 50

Probabilité de croisement Pc 0.86

Probabilité de mutation Pm 0.15

Espace de recherché [-1 ,1]

Nombre des gènes 9

Tableau 3.4 : Paramètres de l’algorithme GA

0 50 100 150 200 250 300-4

-3

-2

-1

0

1

2

3

4

Itérations

Err

eur

Page 60: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 49

Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA

Fig 3.12: Evolution de la fonction d’évaluation

Fig 3.13 : Signal de sortie émulée et sortie désirée

0 5 10 15 20 25 30 35 40 45 500

20

40

60

80

100

120

140

160

180

X: 1

Y: 162.8

Générations

EQ

M

Min ( EQM ) = 0.489266

X: 10

Y: 0.4902

X: 50

Y: 0.4893

Parcours Fitness

0 50 100 150 200 250 30044

46

48

50

52

54

56

58

60

62

Itérations

Concentr

ation C

O2

Sortie Réseau

Sortie Désirée

Page 61: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 50

Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA

Fig 3.14 : Signal d’erreur d’émulation

c) Emulation par un réseau MLP utilisant l’algorithme Hybride GA-MGA :

Les valeurs spécifiques de l’algorithme sont données par le tableau 3.5. La figure 3.15

montre l’évolution de l’indice de performance durant l’exécution de l’algorithme GA-

MGA:

Algorithme GA MGA

Taille de la population 40 8

Nombre de génération 50 8

Probabilité de croisement Pc 0.82 0.82

Probabilité de mutation Pm 0.2 0.2

Espace de recherche [-1 ,1] [-0.0025, 0.0025]

Nombre des gènes 9 9

Tableau 3.5 : Paramètres de l’algorithme GA-MGA

0 50 100 150 200 250 300-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

2.5

Itérations

Err

eur

Page 62: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 51

Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA

Fig 3.15: Evolution de la fonction d’évaluation

Fig 3.16 : Signal de sortie émulée et sortie désirée

0 5 10 15 20 25 30 35 40 45 500

0.5

1

1.5

2

2.5

3

3.5

Générations

EQ

M

Min ( EQM ) = 0.222617

X: 1

Y: 3.291

X: 10

Y: 0.272X: 50

Y: 0.2226

Parcours Fitness

0 50 100 150 200 250 30044

46

48

50

52

54

56

58

60

62

Itérations

Concentr

ation C

O2

Sortie Désirée

Sortie Réseau

Page 63: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 52

Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA

Fig 3.17 : Signal d’erreur d’émulation

Le tableau 3.6, résume les résultats de différents algorithmes appliqués à l’entrainement

du réseau de neurone MLP pour l’émulation du système de Box et Jenkins. Les résultats

obtenus par l’algorithme GA-MGA, sont extrêmement performants, le signal émulé suit

bien fidèlement la référence et l’EQM est très faible, voire figure (3. 15) et figure (3. 16).

Algorithme EQM

BP 0.9322

GA 0.489266

GA-MGA 0.222617

Tableau 3.6 : Comparaison de différent algorithme pour l’émulation

du système de Box et Jenkins

3.4. Conclusion :

Après application de la l’algorithme hybride AG-MGA pour optimiser l’entrainement du

réseau de neurone pour émuler le système non linéaire de Box et Jenkins, les résultats de

simulation ont été performants très satisfaisants.

0 50 100 150 200 250 300-1.5

-1

-0.5

0

0.5

1

1.5

2

Itérations

Err

eur

Page 64: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 53

Conclusion Générale

Conclusion Générale

Page 65: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 54

Conclusion Générale

Conclusion générale

Dans cette dernière décennie, les chercheurs visent à résoudre de nombreux

problèmes difficiles rencontrés dans différents domaines en utilisant des métaheuristiques.

Ces méthodes qui sont devenues très populaires grâce à leur simplicité d'implémentation, sont

en constante évolution, d'où l'apparition de leur hybridation, soit entre elles, soit avec

d'autres méthodes d'optimisation. L’hybridationpermet de tirer profit des avantages cumulés

de différentes métaheuristiques. Actuellement, les métaheuristiques hybrides sont devenues

plus populaires car les meilleurs résultats trouvés pour plusieurs problèmes d’optimisation ont

étés obtenus avec des algorithmes hybrides.

Le travail présenté dans ce mémoire concerne l’émulation d’un système non

linéaire par un réseau de neurones MLP, en utilisant un algorithme hybride basé sur

l’association d’un Algorithme Génétique un autre Algorithme dit Microgénétique. Notre

objectif est d’exploiter les avantages de chacun d’entre eux pour aboutir à un algorithme

d’optimisation permettant un bon entrainement du réseau de neurone MLP pour l’émulation

du système de Box et Jenkins. Les résultats issus de la 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 66: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 55

Bibliographie

Bibliographie

[1] B.Sareni, “Algorithmes Génétiques Standards,” Rapport interne Cegely, Septembre

1997.

[2] 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,

2004, pp. 997–1006.

[3] C.L. Bridges and D.E Goldberg, “An analysis of multipoint crossover”, In

Proceedings of the Foundation OfGenetic Algorithms, FOGA,1991.

[4] C. Touzet, Les Réseaux de Neurones Artificiels,1992.

[5] D.E. Rumelhart “Learning Representation By Back-Propagation Errors”, The MIT

Press, VOL.1, Cambridge. 1986.

[6] D.E. Goldberg, “Genetic Algorithms in Search”, Optimization and Machine

Learning, Addison-Wesley,1989.

[7] D. E. Goldberg, “Algorithmes Génétiques,” Editions Addison-Wesley France, S. A.,

Juin 1994.

[8] D.S.NeelakantaetD. Degroff, Neural Network Modeling: Statical Mechanics and

Cybernetic Perspectives, CRC Press, CRC Press LLC, 1994.

[9] F.Rosenblatt, The Perceptron: probabilistic model for information storage and organization

in the brain. Psychological Review 65, pp 386-408,1958.

[10] G. Box and G. Jenkins, “Time series analysis: forecasting and control,” Holden-Day,

San Francisco, 1976.

[11] G.Dreyfus, J-M. Martinez, M. Samuelideset M.B.Gordon, Réseaux de Neurones

Méthodologies et Application, S. Thiria, L Herault (Eds.), Groupe Eyrolles,2004.

[12] H. Abdi et D. Valentin, Modèles Neuronaux Connexionnistes et Numériques pour la

Mémoire des Visages, It Psychologie Française 39(4), pp 357-392,1994.

[13] H. Abdi, Neural Network, M. Lewis-Beck, A. Brymanet T. Futing (Eds.), Encyclopedia

of Social Sciences Research Methods, Thousand Oaks (CA ): Sage ,2003.

[14] H. Abdi, Précis de Connexionnisme, Intelligence Artificielle et Intelligence Naturelle,

Paris : Presse Universitaires de France in J. P Rossi, J. F Le Ny, J. F (Eds.),1993.

[15] I. Kuscu, C. Thornton, “Design of artificial neural networks using genetic algorithms:

review and prospect,” Cognitive and computing Sciences, University of Sussex, 1994.

Page 67: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 56

Bibliographie

[16] J.A.Freemanet D.M. Shapriua, Neural Networks: algorithms, Application and

Programming Techniques, Book, Addison Wesley Publishing Company, INC,1991.

[17] J.H. Holland, “Adaptation in Natural and Artificial Sytems”, 2nd edition, MIT

Press,1992.

[18] J. M. Zurada, “Introduction to artificial neural systems,” West Publishing, 1992.

[19] J. Tanomaru, S. Omatu, “process control by on-line trained Neural controllers”,

IEEEtrans., Industrial Electronics, vol. 39, N° 6, 1992, pp.511-521.

[20] K. Hornik, M. Stinchcombe and H. White, “Multilayered feed forward networks are

universal approximators,” Neural networks, vol. 2, pp. 359-366, 1989.

[21] 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.

[22] L.Fausett, fundamentals of Neural Networks Architectures, Algorithms and Applications,

Addison Wesley, Publishing Company, Inc,1991.

[23] L.P.J. Veelenturf, Analysis and Applications of Artificial Neural Networks, Book

PrnticeHall,Edition,1995.

[24] Marc Parizeau “Reseau de Neurones”, Automne 2004, presse de l’université de

LAVAI. 2004

[25] M. Dornier, B. Heyd, M. Danzart, “Evaluation of the simple method for training

simple multiplayer neural networks,” Neural Comput and Applic, vol. 7, pp. 107-114,

1998.

[26] M. Minoux, “Mathematical Programming: Theory and Algorithms,” Wiley and Sons,

1984.

[27] M.T. Khadir, Les Réseaux de Neurones Artificiels,2005.

[28] 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 Non linéaires,” Thèse

Doctorat en électronique, Université de Constantine, 2014.

[29] N. Zerrouki, R. Chenouf, “Optimisation Des Paramètre D’un Modèle

D’identification,” mémoire d’ingénieur, OEB, 2004.

[30] 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.

[31] P. Dayan et L.F0 Abbott, Theoretical Neuroscience,2000.

[32] P.J. Werbos, “Backpropagation through time: What it does and how to do it?,” Proc.

IEEE, vol. 78, pp. 1550-1560, 1990.

Page 68: Intitulé: Apprentissage des réseaux de neurones MLP par une

Page 57

Bibliographie

[33] R. A. Jacobs. “Increased rates of convergence through learning rates adaptation,”

Neural Networks, vol. 1, pp. 295-350, 1988.

[34] S. A. Kazarlis, S. E. Papadakis, J. B. Theocharis, “Microgenetic Algorithms as

Generalized [21] Hill-Climbing Operator For GA Optimization,” IEEE

Trans.Evolutionary, Computation, vol. 5, pp. 204-216, Juin 2001.

[35] W.S. Sarle,Neural Network sand Statical Models, Proceedings of The Nineteenth Annual

SAS Users Group International conference, April1994.

[36] Y.H. Hu et J.N. Hwang, Introduction to neural Networksfor Signal Processing,

Handbook of Neural Network Signal Processing, CRC Press LLC,2002.

[37] Z. Szlávik, T. Szirányi, Face Identification with CNN-UM, 2003

[38] Z. Michalewicz, “Genetic Algorithms + Data Structures = Evolution Programs”,

Springer-Verlag, 1992.