52
REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINSTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE Université Larbi Ben M’hidi Oum El Bouaghi Faculté Des Sciences et sciences appliquées Département : Génie Electrique Spécialité : Informatique Industrielle Mémoire De Fin D’étude En Vue De L’obtention Du Diplôme De Master En « Informatique Industrielle » Thème Réalisé par : Proposé et dirigé par : Djaaoui Sabrine Mr Djebabla. A Promotion 2014/2015 Optimisation des réseaux de neurones par PSO

Optimisation des réseaux de neurones par PSO

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Optimisation des réseaux de neurones par PSO

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINSTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA

RECHERCHE SCIENTIFIQUE

Université Larbi Ben M’hidi Oum El Bouaghi

Faculté Des Sciences et sciences appliquées Département : Génie Electrique

Spécialité : Informatique Industrielle Mémoire De Fin D’étude En Vue De L’obtention Du Diplôme

De Master En « Informatique Industrielle »

Thème

Réalisé par : Proposé et dirigé par :

• Djaaoui Sabrine Mr Djebabla. A

Promotion 2014/2015

Optimisation des réseaux de neurones par PSO

Page 2: Optimisation des réseaux de neurones par PSO

Dédicaces

i

Dédicaces Je dédie ce mémoire

A ma petite famille pour tous les sacrifices consentis,

pour leur soutient durant toute mes années d’études.

A mes très chers parents.

A mon frère Md.Amine et ma sœur Maroua.

A mes amies, Hibat Allah, Rachida, Nora, Ahlème,

Ikrame, Walid, Youcef, Zakaria et le reste son exception

A tous les enseignants et les collaborateurs de la

spécialité informatique industrielle.

Page 3: Optimisation des réseaux de neurones par PSO

Remerciements

ii

Remerciements A l’issue du cycle de ma formation je tiens à

remercier dieu le tout puissant. Mes remerciements les plus sincères vont à :

Monsieur A. Djebabla pour son suivi avec

efficacité et ses conseils précieux.

Mes vifs remerciements vont aux membres de

jury d’avoir accepté d’évaluer ce travail.

En fin à toute personne qui a participé de près

ou de loin à l’accomplissement de ce mémoire

Aux enseignants qui ont participé à ma

formation, soient sincèrement remerciés.

Page 4: Optimisation des réseaux de neurones par PSO

Table des matières

Table des matières

Listes des figures et des tableaux .................................................................................... vi

Liste des abréviations ...................................................................................................... ix

Introduction générale ................................................................................................ 1

Chapitre I

Aperçu sur les réseaux de neurones

I.1. Introduction ................................................................................................................ 3

I.2. Modélisation d’un neurone formel...................................................................... 3

I.2.1. Modèle biologique .................................................................................... 3

I.2.2. Neurone formel ......................................................................................... 4

I.2.3. Fonctions d’activation d’un réseau de neurones ...................................... 5

I.3. Architecture des Réseaux de neurones ............................................................... 7

I.3.1. Réseaux de neurones multicouche : MLP ................................................ 7

I.3.2. Réseaux de neurones à fonction de base radiale : RBF ............................ 8

a. Placement des centres dans un réseau de neurones RBF ................ 9

b. Algorithme des k-means .................................................................. 9

I.4. Entrainement d’un Réseau de neurones ............................................................ 12

I.4.1. Réseau de neurones émulateur : NNE .................................................... 12

I.4.2. Réseau de neurones contrôleur : NNC ................................................... 12

a. Définition ...................................................................................... 12

b. Réseau de neurones contrôleur (NNC)......................................... 13

c. Structure de contrôle direct par réseaux de neurones ................... 13

I.5.Conclusion ................................................................................................................. 14

iii

Page 5: Optimisation des réseaux de neurones par PSO

Table des matières

Chapitre II

Optimisation d’entrainement des réseaux de neurones par PSO II.1. Introduction ............................................................................................................. 15

II.2. Métaheuristiques pour l’optimisation des problèmes ............................................. 16

II.2.1 Problème d'optimisation ................................................................................ 16

II.3. Algorithmes d'optimisation approchée ................................................................... 16

II.3.1. Heuristiques…... ........................................................................................... 16

II.3.2 Métaheuristiques ........................................................................................... 17

II.4. Optimisation par essaim de particules .................................................................... 17

II.4.1. Fondement de la méthode ............................................................................. 17

II.4.2. Formalisation de la méthode PSO ................................................................ 18

a. Algorithme de base (sans voisinage) ....................................................... 18

b. Configuration de la méthode ................................................................... 19

c. Algorithme simplifié avec voisinage ....................................................... 23

II.5. Optimisation d’entrainement des réseaux de neurones par PSO ............................ 23

II.5.1. Adaptation de la métaheuristique PSO aux réseaux de neurones ....... 23

II.5.2.Algorithme d’optimisation des réseaux de neurones MPL par PSO .... 25

II.6. Conclusion .............................................................................................................. 26

Chapitre III

Simulation

III.1. Présentation du travail à réaliser ............................................................................ 27

III.2. Emulation du procédé Box & Jenkins ................................................................... 28

III.2.1. Présentation du procédé Box & Jenkins ................................................. 28

III.2. 2. Emulation par réseau MLP utilisant la rétropropagation....................... 29

III.2.3. Emulation par réseau RBF utilisant la rétropropagation et le k-means ..31

iv

Page 6: Optimisation des réseaux de neurones par PSO

Table des matières

III.2.4. Emulation par trois réseaux MLP utilisant la rétropropagation ....... 32

III. 2. 5. Emulation par un réseau MLP utilisant la PSO ............................... 34

III.3. Contrôle de température d’un bain d’eau par réseaux MLP optimisés par PSO ... 36

III.3.1. Présentation du procédé à contrôler ................................................... 36

III.3.2. Résultat de simulation du contrôle .................................................... 37

III.4. Conclusion ............................................................................................................. 39

Conclusion générale ................................................................................................ 40

v

Page 7: Optimisation des réseaux de neurones par PSO

Liste des figures et des tableaux

vi

Liste des figures

Chapitre I

Figure (I.1) : Schéma d’un neurone biologique ............................................................. 4

Figure (I.2) : Modèle d’un neurone artificiel ................................................................. 5

Figure (I.3) : Exemple de réseau de neurones MLP avec deux couches cachées .......... 8

Figure (I.4) : Exemple de Réseau de neurones RBF à quatre entrées. ........................... 9

Figure (I.5) : Structure d’entrainement d’un réseau de neurones émulateur ................ 12

Figure (I.6) : Structure d’entrainement du contrôle neuronal direct ............................ 14

Chapitre II

Figure (II.1) : Topologies de voisinage dans un essaim de particules

(a-anneau (avec n=2), b- rayon, c-étoile) ...................................................................... 20

Chapitre III Figure (III.1) : Signal d’entrée du systéme Box & Jenkins ......................................... 28

Figure (III.2) : Signal de sotie du systéme Box & Jenkins .......................................... 29

Figure (III.3) : signal de sortie émulée et signal de référence ..................................... 29

Figure (III4) : signal d’erreur d’émulation .................................................................. 30

Figure (III.5) : signal de sortie émulée et signal de référence ..................................... 31

Figure (III.6) : signal d’erreur d’émulation ................................................................. 31

Figure (III.7) : signal de sortie émulé et signal de référence ....................................... 33

Figure (III.8) : signal d’erreur global d’émulation ...................................................... 33

Figure (III.9) : signal de sortie émulé et signal de référence ....................................... 34

Figure (III.10) : signal d’erreur d’émulation ............................................................... 35

Page 8: Optimisation des réseaux de neurones par PSO

Liste des figures et des tableaux

vii

Figure (III.11) : Signal de la fonction objectif ............................................................. 35

Figure (III.12) : Signal de sortie contrôlée et sortie de référence .............................. 37

Figure (III.13) : Signal d’erreur de sotie ...................................................................... 38

Figure (III.14) : Signal de la fonction objectif ............................................................. 38

Liste des tableaux

Chapitre I Table (I.1) : Exemples de fonctions d’activation .......................................................... 6

Table (I.2) : Analogie entre neurone biologique et neurone artificiel ........................... 6

Table (I.3) : Comparaison entre les réseaux MLP et RBF .......................................... 11

Page 9: Optimisation des réseaux de neurones par PSO

Liste des abréviations

ix

Liste des abréviations

MLP: Multi Layer Perceptrons

RBF: Radial Basis Function

NNE: Neural Network Emulator

NNC: Neural Network Controller

PSO: Particle Swarm Optimization

Page 10: Optimisation des réseaux de neurones par PSO

Introduction générale

Introduction générale

L’optimisation est une branche des mathématiques qui permet de résoudre des

problèmes en déterminant le meilleur élément d’un ensemble selon certains critères

prédéfinis. De ce fait, l’optimisation est omniprésente dans tous les domaines et évolue

sans cesse depuis longtemps.

De nombreux problèmes réels d’optimisation sont complexes. Par conséquent,

ils ne pourront pas être résolus de manière exacte dans un temps raisonnable, puisque la

capacité de calcul des machines évolue linéairement alors que le temps nécessaire à la

résolution de ces problèmes évolue exponentiellement.

Les méthodes d’optimisation recherchent une solution, ou un ensemble de

solutions, dans l’espace de recherche, qui satisfont l’ensemble des contraintes et qui

minimisent, ou maximisent, la fonction objective.

Parmi ces méthodes, les métaheuristiques sont des algorithmes génériques

d’optimisation : leur but est de permettre la résolution d’une large gamme de problèmes

différents, sans nécessiter de changements profonds dans l’algorithme. Elles forment

une famille d’algorithmes visant à résoudre des problèmes d’optimisation difficile, pour

lesquels on ne connaît pas de méthode classique plus efficace.

Depuis quelques décennies ces métaheuristiques ont été inspirées à partir des

systèmes naturels, qu’ils soient pris en physique (cas du recuit simulé), en biologie de

l’évolution (cas des algorithmes génétiques), ou encore en éthologie (cas des

algorithmes de colonie de fourmis ou de l’optimisation par essaim de particules).

L’optimisation par essaim particulaire (PSO), qui dérive de la descente

stochastique, entre dans cette famille d'algorithmes. Elle s’inspire fortement des

relations grégaires des oiseaux migrateurs qui doivent parcourir des longues distances et

qui doivent donc optimiser leurs déplacements en termes d’énergie dépensée, comme

1

Page 11: Optimisation des réseaux de neurones par PSO

Introduction générale par exemple la formation en V.

L’approche de réseaux de neurones artificiels est étroitement liée au domaine de

l’intelligence artificielle. Celle-ci s’inspire du traitement de l’information effectué par le

cerveau humain, qualifié d’intelligent, dont le comportement est soutenu par un

ensemble de mécanismes mentaux, basés sur des processus neurophysiologiques.

Cette approche peut tenir en compte des non linéarités et des incertitudes des

systèmes réels. Elle est basée sur les capacités d’apprentissage et d’optimisation de ces

derniers.

La rétro propagation (back propagation) est la méthode d’optimisation la plus

utilisée pour l’entrainement des réseaux de neurones. Elle permet de calculer le gradient

de l'erreur pour chaque neurone, de la dernière couche vers la première. Cependant elle

nécessite la connaissance de la commande et exige certaines caractéristiques sur la

fonction objectif (cout). Ce qui nous a motivés d’essayer la métaheuristique PSO pour

l’optimisation d’entrainement des réseaux de neurones pour le contrôle des systèmes

nonlinéaires complexes.

Même si notre étude se limite à essayer la PSO sur deux cas d’exemples et à

révéler l’adaptation de celle-ci aux réseaux de neurones, et aux problèmes

d’optimisation. L’intérêt de Cette association PSO-RN, si elle s’articule

convenablement va nous permettre d’espérer quelle résout de nombreux problèmes

d’optimisation et de contrôle dans la littérature, vu l’importance et les spécifications de

chacun de ces deux éléments.

L’étude a été organisée comme suit :

Dans le premier chapitre, nous avons présenté quelques généralités sur les

réseaux de neurones, les différentes structures et les méthodes d’entrainements en tant

que réseau émulateur et réseau contrôleur direct.

Le deuxième chapitre, a été consacré à l’étude de la métaheuristique PSO, et à

l’adaptation de celle-ci aux réseaux de neurones pour aboutir à un algorithme

d’optimisation.

Le troisième chapitre présente un test de comparaison avec des méthodes

classiques pour l’émulation d’un système dit ‘Box and Jenkins’, puis un second test de

contrôle d’un système non linéaire.

Enfin le mémoire est clôturé par une conclusion qui synthétise l’étude.

2

Page 12: Optimisation des réseaux de neurones par PSO

Chapitre I Aperçu sur les réseaux de neurones

3

CHAPITRE I

Aperçu sur les réseaux de

neurones

I.1. Introduction

Les réseaux de neurones, à base de structures cellulaires artificiels, constituent

une approche permettant d’aborder sous des angles nouveaux les problèmes de

perception, de mémoire, d’apprentissage et de raisonnement. Ils se révèlent aussi des

alternatives très prometteuses pour contourner certaines limitations de performances,

des méthodes classiques. Grâce à leur traitement parallèle de l’information et à leur

mécanismes inspirés des cellules nerveuses, ils infèrent des propriétés émergentes

permettant de solutionner des problèmes jadis qualifiés de complexes.

Ce premier chapitre est une base théorique portant sur les principales structures

des réseaux de neurones, et leurs méthodes d’entrainement en tant qu’émulateur et

contrôleur.

I.2. Modélisation d’un neurone formel

I.2.1. Modèle biologique [1] Le cerveau humain contient environ 100 milliards de neurones biologiques. Un

neurone biologique Figure (I.1) est une cellule vivante spécialisée dans le traitement

des signaux électriques. Un neurone typique a plusieurs composants. Les dendrites, le

corps cellulaire et l'axone.

Page 13: Optimisation des réseaux de neurones par PSO

Chapitre I Aperçu sur les réseaux de neurones

4

Les dendrites servent à recevoir les signaux en provenance des autres neurones.

Les dendrites sont de fines extensions tubulaires qui se ramifient autour du neurone et

forment une sorte de vaste arborescence. Les signaux envoyés au neurone sont captés

par les dendrites. Contrairement aux dendrites qui se ramifient autour du neurone,

l'axone est plus long et se ramifie à son extrémité où il se connecte aux dendrites des

autres neurones.

Figure (I.1) : Schéma d’un neurone biologique

I.2.2. Neurone formel Le neurone artificiel est une modélisation simplifiée du neurone biologique,

c’est un processeur élémentaire qui reçoit un nombre d’entrées en provenance des autres

neurones ou de l’extérieure. A chacune de ses entrées est associé un poids représentant

la force de connexion [2] [3].

Celui-ci permet de calculer une somme pondérée, en utilisant une fonction de

transfert généralement non linéaire (échelon, sigmoïde, gaussienne, ...).

Quand des signaux d'entrée x1, x2, …, xn arrivent au neurone par des liens de

raccordement avec les poids associés w1, w2, …, wn, l'entrée résultante du neurone,

appelée ‘entrée nette’, est la somme pondérée.

Page 14: Optimisation des réseaux de neurones par PSO

Chapitre I Aperçu sur les réseaux de neurones

5

𝑺 = �𝒘𝒊 𝒙𝒊 (𝐈.𝟏) 𝒏

𝒊=𝟏

Si le seuil de polarisation est b (Biais) et la fonction d'activation est 𝒇, alors la sortie de

ce neurone est exprimée par:

𝒚 = 𝒇��𝒘𝒊 𝒙𝒊 − 𝒃)𝒏

𝒊=𝟏

� (𝐈.𝟐)

Figure (I.2) : Modèle d’un neurone artificiel

I.2.3. Fonctions d’activation d’un réseau de neurones La fonction d’activation (fonction de seuillage) sert à introduire une nonlinéarité

dans le fonctionnement du neurone. Les fonctions de seuillage présentent généralement

trois intervalles :

• au-dessous du seuil, le neurone est inactif (souvent dans ce cas, sa sortie vaut 0).

• aux alentours du seuil, il existe une phase de transition.

• au-dessus du seuil, le neurone est actif (souvent dans ce cas, sa sortie vaut 1).

Dans sa première version, le neurone formel était implémenté avec une fonction à

seuil, puis de nombreuses versions ont été proposées. Le neurone de McCulloch et Pitts

a été généralisé avec plusieurs variantes, en fonction de différentes fonctions

d'activations, comme énumérées au tableau (I.1). Les trois fonctions les plus utilisées

sont les fonctions seuil, linéaires et sigmoïdes [4].

Page 15: Optimisation des réseaux de neurones par PSO

Chapitre I Aperçu sur les réseaux de neurones

6

Table (I.1) : Exemples de fonctions d’activation

Le tableau (I.2) résume l’analogie entre le neurone biologique et le neurone artificiel.

Neurone biologique Neurone artificiel

Synapses Poids de connections

Axones Signal de sortie

Dendrites Signal d’entrée

Somma Fonction d’activation

Table (I.2) : Analogie entre neurone biologique et neurone artificiel

Page 16: Optimisation des réseaux de neurones par PSO

Chapitre I Aperçu sur les réseaux de neurones

7

I.3. Architecture des Réseau de neurones Dans un réseau, chaque sous-groupe fait un traitement indépendant des autres et

transmet le résultat de son analyse au sous-groupe suivant. L’information fournie au

réseau va donc se propager couche par couche, de la couche d’entrée vers la couche de

sortie, en passant par une ou plusieurs couches intermédiaires. Chaque neurone dans

une couche est connecté à tous les neurones de la couche suivante et de la couche

précédente. Selon la structure de connexions des neurones et le type de la fonction

d’activation, on peut distinguer principalement les structures de réseaux de neurones

suivantes : I.3.1. Réseaux de neurones multicouches : MLP

Un réseau de neurones multicouches est une extension du célèbre Perceptron,

avec une ou plusieurs couches intermédiaires [5] appelées "couche cachées". Ce sont les

réseaux de neurone les plus connus.

Un tel réseau est présenté par un ensemble de neurones interconnectés entre eux de telle

sorte que l’information circule des entrées vers les sorties [6].

La valeur de la sortie s’obtient en propageant les calculs de gauche vers la droite, avec

éventuellement des connexions directes.

L’expression de la sortie d’un réseau de neurones MLP à une seule cachée est de la

forme :

𝑭(𝒙) = �𝒘𝒊 ∗ 𝒇(𝒙𝒊) (𝒇𝟏 = 𝟏 ) (𝐈.𝟑)𝑵

𝒊=𝟏

wi : ième poids entre la couche cachée et la couche de sortie

xi : entrée i pondérée par le poids entre la couche d’entrée et la couche cachée

f : la fonction d’activation au niveau des nœuds de la couche cachée

f1 : la fonction d’activation au niveau des nœuds de la couche de sortie

Page 17: Optimisation des réseaux de neurones par PSO

Chapitre I Aperçu sur les réseaux de neurones

8

Figure (I.3) : Exemple de réseau de neurones MLP avec deux couches

cachées.

I.3.2. Réseaux de neurones à fonction de base radiale : RBF Un réseau RBF comporte trois couches de neurones, une couche d'entrée, une

couche cachée directement liée à la couche d'entrée par des connexions non pondérées,

et une couche de sortie liée à la couche cachée par des connexions pondérées.

Soit un réseau de n entrées et une sortie; si nc est le nombre de nœuds de la couche

cachée:

Soit ‖𝑿 − 𝑪𝒊‖P

2 = La distance euclidienne.

𝝋 : Fonction de base.

Ci : Centre des fonctions Ci ∈ Rnc et 1 < i < nc.

wi : Poids des connexions entre la couche cachée et la couche de sortie.

La fonction de sortie du réseau RBF peut être exprimée par :

f : Rn →R

𝒙 → 𝑭(𝒙) = �𝒘𝒊𝝋(𝑿 − 𝑪𝒊) (𝐈.𝟒)𝑵

𝒊=𝟏

Pour des fonctions radiales gaussiennes l’expression devient:

𝒈(𝒙,𝒘) = ��𝒘𝒏𝒄+𝟏,𝒊 𝒆𝒙𝒑�−∑ (𝒙𝒋 − 𝒘𝒊𝒋)²𝒏𝒋=𝟏

𝟐𝒘²𝒊 �� (𝐈.𝟓)

𝑵

𝒊=𝟏

Page 18: Optimisation des réseaux de neurones par PSO

Chapitre I Aperçu sur les réseaux de neurones

9

Figure (I.4) : Exemple de Réseau de neurones RBF à quatre entrées.

a. Placement des centres dans un réseau de neurones RBF La plupart des algorithmes d’apprentissage des réseaux RBF procèdent à une

sélection aléatoire d’un certain nombre d’échantillons de l’espace d’entrée comme étant

les centres des fonctions de base, ensuite une méthode d’optimisation linéaire est

utilisée pour déterminer les poids des connexions.

Cependant, dans la plupart des cas, il est évident qu’une sélection aléatoire des

centres n’est pas satisfaisante. Pour remédier à cet inconvénient, certains algorithmes

ont été utilisés, dont la procédure d’apprentissage est divisée en deux étapes : un

apprentissage non supervisé pour l’ajustement des centres des fonctions de base dans la

couche cachée, suivi par un apprentissage supervisé pour l’ajustement des poids des

connexions entre la couche de sortie et la couche cachée.

L’algorithme des k-means est souvent utilisé pour l’ajustement des centres des

fonctions de base d’un réseau RBF.

b. Algorithme des k-means L’algorithme des k-means est une méthode d’apprentissage non supervisé qui sert à

la classification des données. Elle consiste à diviser l’espace d’entrée en k classes selon

les étapes suivantes:

Page 19: Optimisation des réseaux de neurones par PSO

Chapitre I Aperçu sur les réseaux de neurones

10

1. Choisir un nombre de classes (fonctions de base) k.

2. Initialiser les centres des classes, c1, c2,…….ck : On sélectionne k vecteurs (on

parle de vecteur parce que la dimension de chaque centre égale à la dimension du

vecteur d’entrée) à partir de l’ensemble d’entraînement comme des centres initiaux.

3. Calculer les distances euclidiennes entre les centres et le vecteur d’entrée avec

𝒅𝒊𝒔𝒕(𝒊) = ‖𝒙 − 𝒄𝒊‖𝟐 avec i=1: k. (𝐈.𝟔)

Ensuite ajuster le centre correspondant à la distance minimale :

𝒅𝒊𝒔𝒕(𝒋) = 𝒎𝒊𝒏‖𝒙 − 𝒄𝒊‖𝟐 (𝐈.𝟕)

Utilisant la loi d’adaptation suivante :

𝒄𝒋(𝒕) = 𝒄𝒋(𝒕 − 𝟏) + 𝜶(𝒕). �𝒙(𝒕) − 𝒄𝒋(𝒕 − 𝟏)� (𝐈.𝟖)

Avec j est l’indice du centre qui correspond à la distance minimale et 𝜶(t) est un gain

qui appartient à l’intervalle [0 1], et qui tend vers zéro ou diminue avec le temps

(nombre d’échantillons). Une loi qui permet l’adaptation de ce dernier est la suivante :

𝜶(𝒕) =𝜶(𝒕 − 𝟏)

(𝟏 + 𝒊𝒏𝒕𝒆(𝒕 𝒌� ) (𝐈.𝟗)

Avec t est l’indice de l’échantillon, k est le nombre de classes (fonctions de

base) et inte est la partie entière du rapport 𝒕 𝒌� .

Page 20: Optimisation des réseaux de neurones par PSO

Chapitre I Aperçu sur les réseaux de neurones

11

Réseau

MLP

RBF

« Poids » Poids pi

Centre 𝜔Ri

Couche(s)

Cachée(s)

Fonction

combinaison

Produit scalaire ∑i pixi

Distance euclidienne ∑i

(xi-𝜔Ri)²

Fonction

transfert

Logistique f(X) =

1/(1 + exp(−X))

Gaussienne Γ(X) =

exp (−X² 2σ²)⁄

Nombre de

couches

cachées

≥ 1 = 1

Couche

de sortie

Fonction

combinaison

Produit scalaire ∑k pk xk

Combinaison linéaire de

Fonctions gaussiennes

∑k λk𝛤𝛤k

Fonction

transfert

Fonction sigmoïde

𝐟(𝐱) = 𝟏/(𝟏 + 𝐞𝐱𝐩(−𝐗))

ou linéaire f(x) =a*x

Fonction linéaire

f(x) =a*x

Rapidité Plus rapide en mode

« application du

modèle »

Plus rapide en mode

« apprentissage du

modèle »

Avantage Meilleure généralisation

Moins de risque de

convergence non optimale

Table (I.3) : Comparaison entre les réseaux MLP et RBF

Page 21: Optimisation des réseaux de neurones par PSO

Chapitre I Aperçu sur les réseaux de neurones

12

I.4. Entrainement d’un Réseau de neurones

I.4.1. Réseau de neurones émulateur : NNE Un émulateur neuronal d’un système est décrit par la fonction 𝝋 exprimant la

sortie du réseau émulateur NNE en fonction des entrées u(t) qui lui sont fournies. Cette

relation mathématique 𝝋 doit être similaire à la fonction f du système à émuler Figure

(1.5).

Après entrainement, l’émulateur doit être en mesure de reproduire les mêmes

sorties que le système, pour des entrées identiques u(k). L’entrainement est réalisé pour

minimiser l’erreur entre la sortie du modèle de référence et la sortie du réseau émulateur

(NNE). La figure (I.5) représente la structure d’entrainement de l’émulateur (NNE).

Figure (I.5) : Structure d’entrainement d’un réseau de neurones émulateur

On peut réaliser l’entrainement en ligne, ou bien hors ligne si on dispose de

suffisamment de données. Le but de l’entrainement est de trouver les poids; 𝑾𝒊 qui

rendent l’erreur aussi petite que possible. Une fois la convergence est obtenue, le réseau

de neurones émulateur (NNE) peut servir à exprimer le système [7].

I.4.2. Réseau de neurones contrôleur : NNC

a. Définition Le contrôle par réseau de neurones est l’étude des systèmes de commande à base

de réseau de neurones. Un réseau de neurones contrôleur est un réseau dont la sortie est

Y (k+1)

Page 22: Optimisation des réseaux de neurones par PSO

Chapitre I Aperçu sur les réseaux de neurones

13

le signal de commande u(k) : fonction du temps. L’intérêt de ce type de contrôleurs est

dû à la capacité d’apprentissage des réseaux de neurones.

b. Réseaux de neurones contrôleur (NNC) Dans ce qui suit, nous considérons un système décrit par une équation récurrente

non linéaire de la forme :

𝒚(𝒌 + 𝟏) = 𝒇�𝒚(𝒌),𝒚(𝒌 + 𝟏), … ,𝒚(𝒌 − 𝒑 + 𝟏),𝒖(𝒌), … ,𝒖(𝒌 − 𝒒)� (𝐈.𝟏𝟎)

Où 𝒇 est une fonction non linéaire.

p et q : peuvent être connus ou bien estimés par �̂� et 𝑞�.

Généralement on suppose que �̂� et 𝑞� sont connus, et 𝒇 inconnue. Le but du contrôleur

neuronal est de construire un réseau qui permet au système de suivre une référence fixe

ou variable.

c. Structure de Contrôle direct par réseaux de neurones Le contrôle direct par réseau de neurones consiste en un apprentissage en ligne

du réseau selon la configuration représentée par la figure 1.7 [7] :

Les performances en boucle fermée désirées du système sont spécifiées par un modèle

de référence, défini par ses couples d’entrées/sorties (u(k), y(k)), obtenus par des

mesures réels ou par la résolution d’un modèle mathématique exprimant le système à

contrôler.

La fonction cout à minimiser est généralement de la forme :

𝑬𝐩 = 𝟏/𝟐�𝒚𝒓(𝒌) − 𝒚(𝒌)�𝟐 (𝐈.𝟏𝟏)

Dans le cas d’un contrôle classique utilisant la méthode de rétro-propagation,

Cette structure nécessite la connaissance du Jacobien du système (la dérivée de la

fonction d’erreur Ep), souvent pas facile à calculer et qui n’est disponible, que si on a le

modèle mathématique du système, ainsi que le signal de commande à reproduire.

Page 23: Optimisation des réseaux de neurones par PSO

Chapitre I Aperçu sur les réseaux de neurones

14

Figure (I.6) : Structure d’entrainement du contrôle neuronal direct

I.5. Conclusion Dans ce chapitre nous avons essayé d’introduire le minimum de notions sur les

réseaux de neurones telles que, les structures MLP et RBF et leurs méthodes

d’entrainement pour l’émulation et le contrôle direct des systèmes, afin de pouvoir les

exploiter pour le reste de l’étude.

Page 24: Optimisation des réseaux de neurones par PSO

Chapitre II Optimisation d’entrainement des réseaux de neurones par PSO

CHAPITRE II

Optimisation d’entrainement des

réseaux de neurones par PSO

II.1. Introduction L'optimisation est un sujet central en recherche scientifique, un grand nombre de

problèmes d'aide à la décision peuvent en effet être décrits sous forme de problèmes

d'optimisation. Les problèmes d'identification, l'apprentissage supervisé de réseaux de

neurones ou encore la recherche du plus court chemin sont, des problèmes

d'optimisation.

Ce chapitre décrit le cadre de l'optimisation de problèmes et des

métaheuristiques dans lequel nous nous plaçons dans ce travail, puis présente

minutieusement les métaheuristiques dites ‘essaim de particules’ ou ‘essaim

particulaire’.

Les algorithmes d’optimisation par essaim de particules forment une classe des

métaheuristiques récemment proposée pour les problèmes d'optimisation. Ces

algorithmes s'inspirent des comportements collectifs d’essaim d’oiseaux et de poissons

dans leurs déplacements particulièrement ordonnés.

15

Page 25: Optimisation des réseaux de neurones par PSO

Chapitre II Optimisation d’entrainement des réseaux de neurones par PSO II.2. Métaheuristiques pour l'optimisation des problèmes [8]

II.2.1 Problème d'optimisation Un problème d'optimisation au sens général est défini par un ensemble de

solutions possibles S, dont la qualité peut être décrite par une fonction objectif𝑓. On

cherche alors à trouver la solution 𝑠∗ possédant la meilleure qualité 𝑓(𝑠∗) par la suite,

on peut chercher à minimiser ou à maximiser𝑓(𝑠). Un problème d'optimisation peut

présenter des contraintes d'égalité (ou d'inégalité) sur 𝑠 , il peut être dynamique si 𝑓(𝑠)

change avec le temps ou encore multi-objectifs si plusieurs fonctions objectifs doivent

être optimisées.

Il existe des méthodes déterministes dites "exactes" permettant de résoudre

certains problèmes en un temps fini. Cependant ces méthodes nécessitent un certain

nombre de caractéristiques de la fonction objectif, comme la stricte convexité, la

continuité ou encore la dérivabilité. On peut citer comme exemple de méthode de la

programmation linéaire, la méthode du gradient, la méthode de Newton, etc.

Certains problèmes d'optimisation demeurent cependant hors de portée des

méthodes exactes. Un certain nombre de caractéristiques peuvent en effet être

problématiques, comme l'absence de convexité stricte (multimodalité), l'existence de

discontinuités, une fonction non dérivable, présence de bruit, etc.

Dans de tels cas, le problème d'optimisation est dit ‘difficile’, car aucune

méthode exacte n'est capable de le résoudre exactement en un temps" raisonnable", on

devra alors faire appel à des heuristiques permettant une optimisation approchée.

L'optimisation difficile peut se découper en deux types de problèmes :

II.3. Algorithmes d'optimisation approchée

II.3.1. Heuristiques Une heuristique d'optimisation est une méthode approchée se voulant simple,

rapide et adaptée à un problème donné. Sa capacité à optimiser un problème avec un

minimum d'informations est contrebalancée par le fait qu'elle n'offre aucune garantie

quant à l'optimalité de la meilleure solution trouvée.

De point de vue de la recherche opérationnelle, ce défaut n'est pas toujours un

problème, tout spécialement quand seule une approximation de la solution optimale est

recherchée.

16

Page 26: Optimisation des réseaux de neurones par PSO

Chapitre II Optimisation d’entrainement des réseaux de neurones par PSO II.3.2 Métaheuristiques

Parmi les heuristiques, certaines sont adaptables à un grand nombre de

problèmes sans changements majeurs dans l'algorithme, on parle alors de méta-

heuristiques. La plupart des heuristiques et des métaheuristiques utilisent des processus

aléatoires comme moyen de récolte de l’information. En plus, les métaheuristiques sont

généralement itératives, c'est-à-dire qu'un même schéma de recherche est appliqué

plusieurs fois au cours de l'optimisation, c'est à dire qu'elles n'utilisent pas l'information

du gradient de la fonction objectif. Elles tirent leur intérêt de leur capacité à éviter les

optimums locaux, soit en acceptant une dégradation de la fonction objectif au cours de

leur progression, soit en utilisant une population de points comme méthode de recherche

(se démarquant ainsi des heuristiques de descente locale).

Souvent inspirées d'analogies avec la réalité (physique, biologie, éthologie, . . .),

elles sont généralement conçues au départ pour des problèmes discrets, mais peuvent

faire l'objet d'adaptations pour des problèmes continus.

II.4. Optimisation par essaim de particules [9] L’optimisation par essaim de particules (Patricle Swarm Optimisation PSO) dans

la langue de SHAKES-PEARE) est une méthode d’optimisation stochastique, pour les

fonctions non-linéaires, basée sur la reproduction d’un comportement social et

développée par le Dr. EBERHART et le Dr. KENNEDY en 1995.

II.4.1. Fondement de la méthode L’origine de cette méthode vient des observations faites lors des simulations

informatiques de vols groupés d’oiseaux et de bancs de poissons de REYNOLD,

HEPPNER et GRENANDER. Ces simulations ont mis en valeur la capacité des

individus d’un groupe en mouvement à conserver une distance optimale entre eux et à

suivre un mouvement global par rapport aux mouvements locaux de leur voisinage.

D’autre par ces simulations ont également révélé l’importance de mimétisme

dans la compétition qui oppose les individus à la recherche de la nourriture. En effet, les

individus sont à la recherche de sources de nourriture qui sont dispersés de façon

aléatoire dans un espace de recherche, et dès lors qu’un individu localise une source de

nourriture les autres individus vont alors chercher à le reproduire.

Ce comportement social basé sur l’analyse de l’environnement et du voisinage

17

Page 27: Optimisation des réseaux de neurones par PSO

Chapitre II Optimisation d’entrainement des réseaux de neurones par PSO constitue alors une méthode de recherche d’optimum par l’observation des tendances

des individus voisins. Chaque individu cherche à optimiser ses chances en suivant une

tendance qu’il modère par ses propres vécus.

Les essaims de particules sont essentiellement utilisés afin de trouver l’optimum

des fonctions non-linaires. Pour cette raison, cette méthode est utile pour optimiser

l’entraînement des réseaux de neurones.

II.4.2. Formalisation de la méthode PSO

a. Algorithme de base (sans voisinage) L’optimisation par essaim de particules repose sur un ensemble d’individus

originellement disposés de façon aléatoire et homogène, que nous appellerons dès lors

des particules, qui se déplacent dans l’hyper-espace de recherche et constituent,

chacune, une solution potentielle.

Chaque particule dispose d’une mémoire concernant sa meilleure solution visitée

ainsi que la capacité de communiquer avec les particules constituant son entourage. À

partir de ces informations, la particule va suivre une tendance faite, d’une part, de sa

volonté à retourner vers sa solution optimale, et d’autre part, de son mimétisme par

rapport aux solutions trouvées dans son voisinage.

À partir d’optimums locaux et empiriques, l’ensemble des particules va,

normalement, converger vers la solution optimale globale du problème traité.

Un essaim de particule est caractérisé par :

• Le nombre de particules de l’essaim, noté nb.

• La vitesse maximale d’une particule, notée maxv .

• La topologie et la taille du voisinage d’une particule qui définissent son réseau

social.

• L’inertie d’une particule, notée Ѱ.

• Les coefficients de confiance, notés ρ1 et ρ1, qui pondèrent le comportement

conservateur (la tendance à retourner vers la meilleure solution visitée) et le

panurgisme (la tendance à suivre le voisinage)

Une particule est caractérisée, à l’instant t, par :

- ( )ix t : à position dans l’espace de recherche.

- ( )iv t : sa vitesse.

18

Page 28: Optimisation des réseaux de neurones par PSO

Chapitre II Optimisation d’entrainement des réseaux de neurones par PSO

- ipbestx : la position de la meilleure solution par laquelle elle est passée.

- ivbestx : la position de la meilleure solution connue de son voisinage.

- ipbest : la valeur de fitness de sa meilleure solution.

- ivbest : la valeur de fitness de la meilleure solution connue du voisinage.

Algorithme 1 version simpliste (sans voisinage)

ENTRÉES: 0 < ρ < 1

répéter

pour i = 1 jusqu’à nb faire

si ( )i iF x pbest> alors

( )i ipbest F x=

ipbest ix x=

fin si

( )ii i pbest iv v x xρ= + −

i i ix x v= +

fin pour

jusqu’à (un des critères de convergence est atteint)

b. Configuration de la méthode

• Nombre de particules La quantité de particules allouées à la résolution du problème dépend

essentiellement de deux paramètres :

La taille de l’espace de recherche et le rapport entre les capacités de calcul de la

machine et le temps maximum de recherche. Il n’y a pas de règle pour déterminer ce

paramètre, faire de nombreux essais permet de se doter de l’expérience nécessaire à

l’appréhension de ce paramètre.

• Topologie du voisinage La topologie du voisinage défini avec qui chacune des particules va pouvoir

communiquer. Il existe de nombreuses combinaisons dont les suivantes sont les plus

19

Page 29: Optimisation des réseaux de neurones par PSO

Chapitre II Optimisation d’entrainement des réseaux de neurones par PSO utilisées:

- topologie en étoile : chaque particule est reliée à toutes les autres. L’optimum du

voisinage est l’optimum global.

- topologie en anneau : chaque particule est reliée à n particules (en général, n = 3),

c’est la topologie la plus utilisée.

- topologie en rayon : les particules ne communiquent qu’avec une seule particule

centrale.

Figure (II.1) : -topologies de voisinage dans un essaim de particules

(a-anneau (avec n=2), b- rayon, c-étoile)

Le voisinage géographique auquel nous sommes amenés à penser en premier

lieu n’est pas nécessairement pertinent car, d’une part, il s’agirait d’un voisinage trop

local, et d’autre part global car la sociabilisassions des particules tend à rendre tout

voisinage social en voisinage géographique.

Enfin, c’est un voisinage très lourd en terme de calculs car nécessitant de recalculer le

voisinage de chaque particule à chaque itération.

• Coefficients de confiance Les variables de confiance pondèrent les tendances de la particule à vouloir

suivre son instinct de conservation ou son panurgisme. Les variables aléatoires ρ1et ρ2

peuvent être définies de la façon suivante :

�𝝆𝟏 = 𝒓𝟏𝒄𝟏𝝆𝟐 = 𝒓𝟐𝒄𝟐 (𝐈𝐈.𝟏)

Où 𝒓𝟏 et 𝒓𝟐 suivent une loi uniforme sur [0..1] et c1 et c2 sont des constantes positives

déterminées de façon empirique et suivant la relation :

20

Page 30: Optimisation des réseaux de neurones par PSO

Chapitre II Optimisation d’entrainement des réseaux de neurones par PSO 𝒄𝟏 + 𝒄𝟐 ≤ 𝟒 (𝐈𝐈.𝟐)

• Vitesse maximale et coefficient de constriction Afin d’éviter que les particules ne se déplacent trop rapidement dans l’espace de

recherche, passant éventuellement à côté de l’optimum, il peut être nécessaire de fixer

une vitesse maximale (notée maxv ) pour améliorer la convergence de l’algorithme.

Cependant, on peut s’en passer si on utilise un coefficient de constriction ҡ

introduit par Maurice CLERC, et qui permet de resserrer l’hyper-espace de recherche.

L’équation de la vitesse devient alors :

ҡ=1 − 𝟏𝝆

+��𝝆𝟐−𝟒𝝆�

𝟐 (𝐈𝐈.𝟑)

1 2( ) .( ( 1) .( ( )) .( ( )))i ii i pbest i vbest iv t v t x x t x x tκ ρ ρ= − + − + −

(𝐈𝐈.𝟒)

Les études de SHI et EBERHART indiquent que l’utilisation d’un coefficient

de constriction donne généralement un meilleur taux de convergence sans avoir à fixer

de vitesse maximale. Cependant, dans certains cas, le coefficient de constriction seul ne

permet pas la convergence vers la solution optimale pour un nombre d’itérations donné.

Pour résoudre ce problème, il peut être intéressant de fixer max maxv x= en plus du

coefficient de constriction, ce qui, selon les études de SHI et EBERHART, permet

d’améliorer les performances globales de l’algorithme.

• Facteur d’inertie Le facteur d’inertie ψ introduit par SHI et EBERHART permet de définir la

capacité d’exploration de chaque particule en vue d’améliorer la converge de la

méthode. Une grande valeur de ( 1)ψ > est synonyme d’une grande amplitude de

mouvement et donc, d’exploration globale. A contraire, une faible valeur de ( 1)ψ < est

synonyme de faible amplitude de mouvement et donc, d’exploration locale. Fixer ce

facteur, revient donc à trouver un compromis entre l’exploration locale et l’exploration

globale.

Le calcul de la vitesse est alors défini par :

1 2( ) . ( 1) .( ( )) .( ( )))i ii i pbest i vbest iv t v t x x t x x tψ ρ ρ= − + − + −

(𝐈𝐈.𝟔)

21

Page 31: Optimisation des réseaux de neurones par PSO

Chapitre II Optimisation d’entrainement des réseaux de neurones par PSO

La taille du facteur d’inertie influence directement la taille de l’hyper-espace

exploré et aucune valeur de Y ne peut garantir la convergence vers la solution optimale.

Les études menées par SHI et EBERHART indiquent une meilleure convergence pour

[ ]0.8,1.2ψ ∈ . Au-delà de 1.2, l’algorithme tend à avoir certaines difficultés à

converger.

Enfin, il est également possible de faire diminuer le facteur d’inertie au cours du

temps, De bons résultats ont été trouvés pour une valeur décroissant linéairement de 0.9

à 0.4.

• Initialisation de l’essaim La position des particules ainsi que leur vitesse initiale doivent être initialisés

aléatoirement selon une loi uniforme sur [0..1]. Cependant, en ce qui concerne la

position des particules, il est préférable d’utiliser un générateur de séquence de SOBOL

qui est plus pertinent dans la disposition homogène des particules dans un espace de

dimension n.

• Critères d’arrêt Comme indiqué précédemment, la convergence vers la solution optimale globale

n’est pas garantie dans tous les cas de figure même si les expériences dénotent la grande

performance de la méthode. De ce fait, il est fortement conseillé de doter l’algorithme

d’une porte de sortie en définissant un nombre maximum d’itérations.

L’algorithme doit alors s’exécuter tant que l’un des critères de convergence

suivant n’a pas été atteint :

– nbItermax a été atteint.

– la variation de la vitesse est proche de 0.

– le fitness de la solution est suffisant.

22

Page 32: Optimisation des réseaux de neurones par PSO

Chapitre II Optimisation d’entrainement des réseaux de neurones par PSO c. Algorithme simplifié avec voisinage

Algorithme 2 version simpliste (avec voisinage)

répéter

pour i = 1 jusqu’à nb faire

si ( )i iF x pbest> alors

( )i ipbest F x=

ipbest ix x=

fin si

si ( )i iF x vbest> alors

( )i ivbest F x=

ivbest ix x=

fin si

fin pour

pour i = 1 to nb faire

1 2( ) .( .( ( )) .( ( ))i ii i pbest i vbest iv t v x x t x x tκ ρ ρ= + − + −

i i ix x v= +

fin pour

jusqu’ à (un des critères de convergence est atteint)

II.5. Optimisation d’entrainement des réseaux de neurones par PSO

II.5.1. Adaptation de la métaheuristique PSO aux réseaux de neurones

Rappelons qu’au cours de cette étude nous allons utiliser les réseaux de neurones

pour l’émulation et le contrôle de processus. L’objet de ce travail est l’optimisation des

réseaux émulateur et contrôleur pendant leurs entrainements par la métaheuristique dite

‘PSO’. Cet objet consiste principalement à l’adaptation de la méthode vis-à-vis les

spécifications d’un réseau de neurones, concernant sa structure, ses variables

d’entrainement et leurs influences sur la variation de sortie de celui-ci, qui constitue la

commande du système, puis comparer son efficacité (performances) par rapport aux

méthodes déjà utilisées, particulièrement la méthode du gradient descendant.

23

Page 33: Optimisation des réseaux de neurones par PSO

Chapitre II Optimisation d’entrainement des réseaux de neurones par PSO Soit un réseau de neurones mono-entrée mono-sortie, avec une seule couche cachée

contenant nc nœuds.

Ce réseau est caractérisé par :

- Une entrée x et une sortie y ;

- Deux vecteurs poids : W1 = (w11, w12, w13,………., w1nc) et

W2 = (w21, w22, w23,………., w2nc) ;

w1i : poids entre l’entrée et la couche intermédiaire

w2i : poids entre la couche intermédiaire et la sortie

- Une fonction sigmoïde f aux nœuds de la couche cachée ;

- Une fonction linéaire g au nœud de la couche de sortie ; (pente = 1)

Nous nous plaçons dans le cadre de modèles à temps discret des processus, cadre qui se

prête bien à la commande numérique d’une part, et à l’utilisation de réseaux de

neurones formels d’autre part.

L’expression de la sortie y(k) de ce réseau MLP s’exprime :

𝒀(𝒌) = �𝒘𝟐𝒊

𝒏𝒄

𝒊=𝟏

∗ 𝒇(𝒙(𝒌) ∗ 𝒘𝟏𝒊) (𝐈𝐈.𝟔)

Pour adapter la méthode à un réseau de neurones MLP, il faut procéder à l’analogie

suivante :

- Une particule est représentée par un réseau de neurones MLP

- La position x(k) de la particule est remplacée par un vecteur poids :

W= (W1 ;W2)t de dimension (2*nc) ;

- La vitesse ou l’orientation de la particule est remplacée par un vecteur poids

Wv=(wv1,wv2,wv3,………..,wvnd) ; nd = 2*nc

- La fonction fitness à maximiser :

h(k)= 𝟏𝟏+𝒆(𝒌)

(𝐈𝐈.7)

Avec :

e(k) = │yr(k) – y(k) │ (II.8)

- F(xi) = F(x(k)) dans le cas discret, qui représente la position de la particule k,

mesurée par la fonction fitness F, est représentée par h(W) : valeur de la

fonction fitness en fonction du vecteur poids représentant le réseau MLP

exprimant la particule.

24

Page 34: Optimisation des réseaux de neurones par PSO

Chapitre II Optimisation d’entrainement des réseaux de neurones par PSO

- xpbesti : la meilleure position par laquelle est passée la particule i. Elle est

remplacée par Wpbest(k) le vecteur poids de la particule k qui a permis la

meilleure fitness (valeur maximale de h(k)).

- vpbesti : la meilleure vitesse (orientation) qui a eu la particule i. Elle est

remplacée par Wvbest(k) le vecteur poids de la particule k qui a permis la

meilleure fitness h(k) (valeur maximale).

II.5.2. Algorithme d’optimisation des réseaux de neurones MLP par

PSO

Algorithme 3 PSO / MLP (avec voisinage)

répéter

pour k = 1 jusqu’à nb faire

si h(k) > Ppbest(k) alors

Ppbest(k) = h(k)

Wpbest(k) = W(k)

fin si

si h(k) > Ppbest(k alors

Vpbest(k) = h(k)

Wvpbest(k) = W(k)

fin si

fin pour

pour k = 1 to nb faire

Wvpbest(k) = k (Wvpbest(k) + ρ1(Wpbest(k) - W(k)) + ρ2(Wvpbest(k) - W(k)))

W(k) = W(k) + Wvpbest(k)

fin pour

jusqu’ à (un des critères de convergence est atteint)

25

Page 35: Optimisation des réseaux de neurones par PSO

Chapitre II Optimisation d’entrainement des réseaux de neurones par PSO II.6.Conclusion

La méthode d’optimisation par essaim de particules (OEP/PSO) a été bien

adaptée aux réseaux de neurone, particulièrement à la structure MLP.

Au contraire des méthodes exactes, l’utilisation de la PSO, comme toute autre

métaheuristique, ne nécessite pas d’informations sur le signal de commande, et n’exige

pas que la fonction objectif à optimiser soit dérivable ou continue.

Cependant, il est toujours préférable d’utiliser des structures simples : à une

seule couche cachée, avec un nombre réduit de nœuds et de connexions, afin de

minimiser l’effort de traitement, puis chercher le compromis entre le nombre de

particules (réseaux de neurones) et les performances de l’algorithme.

26

Page 36: Optimisation des réseaux de neurones par PSO

Chapitre III Simulation

CHAPITRE III

Simulation

III. 1. Présentation du travail à réaliser Afin d’évaluer les performances de l’algorithme proposé à la fin du chapitre 2,

utilisant la méthode PSO pour l’optimisation d’entrainement d’un réseau de neurones,

nous avons procédé comme suit :

- Emuler un système dit ‘Box and Jenkins’, utilisé souvent pour tester des

structures et des méthodes de contrôle et d’émulation, par quatre méthodes

différentes.

- Contrôler un procédé non linéaire, par la méthode représentée par

l’algorithme final proposé.

Suite aux remarques issues de l’étude théorique, nous avons choisi des structures

simples (MLP, RBF) : avec une seule couche cachée et un nombre réduit de nœuds (3

nœuds) et de connexions, afin de faciliter l’adaptation de la méthode et l’élaboration du

programme exprimant l’algorithme proposé.

Cette structure commune simplifiée permet une comparaison entre les quatre

méthodes utilisées en émulation, elle permet également de mettre en épreuve sévère la

PSO pour le contrôle d’un système non linéaire.

27

Page 37: Optimisation des réseaux de neurones par PSO

Chapitre III Simulation III.2. Emulation du procédé Box & Jenkins

Le but visé par ce premier test est de comparer la méthode d’optimisation

proposée (PSO) à d’autres méthodes connues, utilisant la même structure de contrôle

(ou émulation).

III.2.1. Présentation du procédé Box & Jenkins Le système de Box & Jenkins est un processus dynamique non linéaire. C’est un

four à gaz, où l’air et le méthane sont combinés pour constituer un mélange de gaz

contenant du CO2. L’entrée du four x correspond au débit du méthane, tandis que la

sortie y correspond à la concentration en pourcentage de CO2. Le jeu des données

d’entrée/sortie du four est constitué de 296 points Figures (III.1) et (III.2).

Les entrées du réseau de neurones émulateur sont x(t-4) et y(t-1)

respectivement, et la sortie du réseau est y(t). La fonction d’évaluation est choisie

comme la valeur absolue de l’erreur :

Figure (III.1) : Signal d’entrée du système Box & Jenkins

0 50 100 150 200 250 300-3

-2

-1

0

1

2

3

itérations (ms)

eEnt

rées

du

syst

ème

box

and

jenk

ins

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

28

Page 38: Optimisation des réseaux de neurones par PSO

Chapitre III Simulation

Figure (III.2) : Signal de sortie du système Box & Jenkins

III.2. 2. Emulation par un réseau MLP utilisant la rétropropagation

Figure (III.3) : Signal de sortie émulée et signal de référence

0 50 100 150 200 250 30044

46

48

50

52

54

56

58

60

62

itérations (ms)

sorti

es d

u sy

stèm

e bo

x an

d je

nkin

s

signal de sortie du système box and jenkins

0 50 100 150 200 250 30045

50

55

60

65

70

75Emulation par un RN MLP

Itérations (ms)

Sorti

e ém

ulée

(y) e

t sor

tie d

ésiré

e (y

r)

yyr

29

Page 39: Optimisation des réseaux de neurones par PSO

Chapitre III Simulation

Figure (III.4) : Signal d’erreur d’émulation

• . Configuration et interprétation des résultats

caractéristique valeur

Structure d’émulateur MLP 2 – 3 -1

Méthode d’entrainement BP

Nombre d’itérations 300

Erreur de sortie Varie de -1.5 à 1.5

0 50 100 150 200 250 300-5

0

5

10

15

20

25Erreur de la sortie y par rapport au sortie yr

Itérations (ms)

Varia

tion

d"er

reur

de

sorti

e(e)

30

Page 40: Optimisation des réseaux de neurones par PSO

Chapitre III Simulation III.2. 3. Emulation par un réseau RBF utilisant la rétropropagation et

le k-means

Figure (III.5) : Signal de sortie émulée et signal de référence

Figure (III.6) : Signal d’erreur d’émulation

0 50 100 150 200 250 3000

10

20

30

40

50

60

70Emulation par un RN RBF

Itérations (ms)

Sor

tie é

mul

ée (y

) et s

ortie

dés

irée

(yr)

yyr

0 50 100 150 200 250 300-30

-25

-20

-15

-10

-5

0

5

itératins (ms)

varia

tion

de l

erre

ur d

e so

rtie

Emulation RBF

31

Page 41: Optimisation des réseaux de neurones par PSO

Chapitre III Simulation

• Configuration et interprétation des résultats

caractéristique valeur

Structure d’émulateur RBF

Méthode d’entrainement BP + k-means

Nombre d’itérations 300

Erreur de sortie Varie de -1.5 à 1.5

III.2.4. Emulation par trois réseaux MLP utilisant la rétropropagation L’idée d’associer trois réseaux de neurones MLP qui collaborent pour émuler un

système est inspirée de la collaboration entre voisins de particules d’essaim à la

recherche d’optimum. Cette collaboration qui s’étend et se généralise pour tout le

groupe par récurrence, permettant de couvrir l’espace de recherche si le nombre de

particules est suffisant.

La différence entre cette méthode improvisée et la PSO réside dans l’adaptation

de poids qui suit encore la loi de chainage du gradient descendant, ce qui rend les

particules (réseaux MLP) complètement indépendantes et leur collaboration se limite à

la comparaison entre leurs performances vis-à-vis le critère de l’erreur (valeur absolue,

erreur quadratique) à chaque itération, pout tenir de celui qui la sortie est plus proche

de la référence.

32

Page 42: Optimisation des réseaux de neurones par PSO

Chapitre III Simulation

Figure (III.7) : Signal de sortie émulé et signal de référence

Figure (III.8) : Signal d’erreur global d’émulation

0 50 100 150 200 250 30044

46

48

50

52

54

56

58

60

62Emulation par trois RN MLP

Itérations (ms)

Sorti

e ém

ulée

(y) e

t sor

tie d

ésiré

e (y

r)

yyr

0 50 100 150 200 250 300-3

-2

-1

0

1

2

3

4

5

6

7

itérations (ms)

varia

tions

d err

urs e,

e1,e2

,e3

emulation avec 3RN MLP

erreur globl eerreurs e1,e2,e3

33

Page 43: Optimisation des réseaux de neurones par PSO

Chapitre III Simulation

• Configuration et interprétation des résultats

caractéristique valeur

Structure d’émulateur 3*MLP

Méthode d’entrainement BP

Nombre d’itérations 300

Erreur de sortie Varie entre -1 et 1

L’association de trois réseaux de neurones MLP (particules) a nettement

amélioré les performances, en réduisant l’erreur de sortie figure (III. 8). Ce qui

représente un indice de succès et augmente les chances d’adaptation de la PSO à la

structure et l’algorithme proposé pour le reste de l’application.

III. 2. 5. Emulation par un réseau MLP utilisant la PSO

Figure (III.9) : Signal de sortie émulé et signal de référence

0 50 100 150 200 250 30044

46

48

50

52

54

56

58

60

62Emulation par PSO avec trois RN MLP

Itérations (ms)

Sorti

e ém

ulée

(y) e

t sor

tie d

ésiré

e (y

r)

yyr

34

Page 44: Optimisation des réseaux de neurones par PSO

Chapitre III Simulation

Figure (III.10) : Signal d’erreur d’émulation

Figure (III.11) : Signal de la fonction objectif

0 50 100 150 200 250 3000

0.5

1

1.5

2

2.5

3

3.5

itérarions(ms)

varia

tion

d er

reur

de

sorti

e e

erreur d emulation de box and jenkins

0 50 100 150 200 250 3000.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

itérarions(ms)

varia

tion

de la

fonc

tion

objec

tif f

Fonction objectif d emulation de box and jenkins

35

Page 45: Optimisation des réseaux de neurones par PSO

Chapitre III Simulation

• Configuration et interprétation des résultats

caractéristique valeur

Structure d’émulateur MLP

Méthode d’entrainement PSO

Nombre d’itérations 300

Erreur de sortie statique 10-4

Fonction objectif 1

Les résultats de l’émulation du système Box and Jenkins par PSO – MLP sont

extrêmement performants. Le signal émulé suit parfaitement la référence et l’erreur de

sortie est très faible (de l’ordre de 10-4) figure (III. 9) et figure (III. 10).

Le signal de la fonction objectif est nettement signifiant, il converge rapidement

vers la valeur maximale 1 et se stabilise.

III.3. Contrôle de température d’un bain d’eau par réseaux MLP optimisés par PSO

III.3.1. Présentation du procédé à contrôler

Le but de cette section est de commander la température d’un bain d'eau. Le

modèle récurrent du système est donné par l’expression suivante :

𝐲(𝐤 + 𝟏) = 𝐞—𝛂𝐓𝐬 𝐲(𝐤) +

𝜷𝜶(𝟏 − 𝒆−𝜶𝑻𝒔)𝟏 + 𝐞𝟎.𝟓𝐲(𝐤)−𝟒𝟎 ∗ 𝒖(𝒌) + ( 𝟏 − 𝐞—𝛂𝐓𝐬 )𝒚𝟎 (𝐈𝐈𝐈.𝟏)

Où y(k) est la température du système en °C, u(k) est le signal de commande à

appliquer.

Y0 est la température ambiante.

Ts est la période d’échantillonnage.

α et β sont des valeurs constantes décrivant le système.

Les paramètres du système sont ceux d’un modèle réel ; ils sont donnés par le tableau :

36

Page 46: Optimisation des réseaux de neurones par PSO

Chapitre III Simulation

Coefficient Valeur α 1.0015.10-4

β 8.6793.10-3

Ts [ ms ] 30

Y0 [ °c ] 25

III.3.2. Résultat de simulation du contrôle

Figure (III.12) : Signal de sortie contrôlée et sortie de référence

0 500 1000 1500 2000 25000

2

4

6

8

10

12

14

16

18

20controle de température d eau par PSO MLP

itérations (ms)

varia

tions

des

sor

ties

y et

yr

yyr

37

Page 47: Optimisation des réseaux de neurones par PSO

Chapitre III Simulation

Figure (III.13) : Signal d’erreur de sotie

Figure (III.14). Signal de la fonction objectif

0 500 1000 1500 2000 25000

1

2

3

4

5

6

7

8

9

10erreur de sortie en controle de température d eau par PSO MLP

itérations (ms)

varia

tions

d e

rreur

de

sorti

e e

0 500 1000 1500 2000 25000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1fonction objectif f en controle de température d eau par PSO MLP

itérations (ms)

fonc

tion

obje

ctif

f

38

Page 48: Optimisation des réseaux de neurones par PSO

Chapitre III Simulation

• Configuration et interprétation des résultats

caractéristique valeur

Structure du contrôleur MLP

Méthode d’entrainement PSO

Nombre d’itérations 2500

Erreur de sortie Varie de 0.12 à 0.18

Fonction objectif Varie de 0.88 à 0.92

Les résultats de simulation du contrôle de température du bain d’eau sont

relativement acceptables vu le nombre de particules réduit (nombre =3).

Nous avons constaté qu’à chaque changement de point de fonctionnement

(palier) les performances se dégradent légèrement : l’erreur statique augmente (0.12,

0.15, 0.18), et la valeur de la fonction objectif diminue (0.92, 0.9, 0.88) cependant elle

demeure stable à chaque palier de température (point de fonctionnement).

III.4. Conclusion Après application de la PSO pour optimiser l’entrainement des réseaux de

neurone pour émuler et contrôler des systèmes non linéaires, les résultats de simulation

ont été performants en émulation, et acceptables en contrôle.

Ce que nous constatons après l’étude complète que les remarques tirées de

l’étude théorique sont confirmées, concernant l’utilisation des structures simples, sauf

qu’il faut souligner que pour améliorer les performances de la méthode pour le contrôle

des systèmes complexes nous serons amenés à augmenter le nombre de particules, en

recommandant 5 à 10 particules.

39

Page 49: Optimisation des réseaux de neurones par PSO

Conclusion générale

Conclusion générale

Le travail consistait à adapter la métaheuristique PSO pour l’optimisation

des réseaux de neurones.

L’émulation du système Box and Jenkins a permis de comparer la

méthode proposée principalement à la rétropropagation. Les résultats étaient très

performants.

Pour le contrôle de température du bain d’eau, les performances de la

méthode s’avèrent limitées.

La PSO a pu être facilement adaptée aux réseaux de neurones MLP. Il est

cependant recommandé d’utiliser des structures simples et réduites et un nombre

suffisant de particules (réseaux de neurones MLP) relatif à la taille de l’espace de

recherche et à la complexité du problème à optimiser (5 à10 particules).

40

Page 50: Optimisation des réseaux de neurones par PSO

Références bibliographies

Références bibliographies

[1] http://www-igm.univ-mlv.fr/

[2] Haykin, S. (1998). Neural Networks: A Comprehensive Foundation, 2end , New

York Macmillan College Publishing.

[3] Dreyfus, G. (2002). Réseaux de neurones : Méthodologie et application, Paris :

Eyrolles.

[4] Tebib, H et TITI, Z (2009). Modélisation par les réseaux de neurones optimisés par

les algorithmes génétiques, mémoire de fin d’études de master en Informatique

Industrielle, Université Oum El Bouaghi.

[5] Touzet, C. (1992). Les réseaux de neurones artificiels introduction au

connexionnisme.

[6] Hafid, A. (2006). Contrôle adaptatif d’un système non linéaire par réseaux de

neurones mode glissant, Projet d’ingénieur d’état en électronique, Centre universitaire

Oum El Bouaghi.

[7] Balouli, A et bouteraa, S. (2004). Contrôle en ligne d’un CSTR par réseaux de

neurones, mémoire de fin d’études d’ingénieur d’état en électronique option contrôle,

Centre universitaire Oum El Bouaghi.

[8] Johann,Dréo. (2006) Adaptation de la méthode des colonies de fourmis pour

l'optimisation en variables continues. Application en génie biomédical. Thèse de

doctorat.

[9] Guillaume, C. (2009), Optimisation par essaim de particules. EPITA, France.

[10] Talbi, N. (2014).Conception des systèmes d’inférence floue par des

Approches Hybrides : Application pour la commande et la modélisation des systèmes

non linéaires. Thèse de doctorat en Electronique option Contrôle des systèmes,

Université de Constantine 1.

Page 51: Optimisation des réseaux de neurones par PSO

Résumé

Résumé

Les algorithmes d’optimisation par essaim de particules forment une classe des

métaheuristiques récemment proposée pour les problèmes d'optimisation. Elles

s’inspirent des comportements collectifs d’essaim d’oiseaux et de poissons dans leurs

déplacements particulièrement ordonnés.

Les réseaux de neurones considérés source d’intelligence artificielle. Associer

entre ces deux éléments importants consiste à optimiser les réseaux de neurones par

PSO pour minimiser l’effort de traitement de ces derniers, afin de leur permettre une

large variété de problèmes complexes dans la littérature.

Pour cela nous proposons un algorithme d’adaptation de la PSO aux réseaux de

neurones MLP.

Page 52: Optimisation des réseaux de neurones par PSO

Abstract

Abstract

The optimization particle swarm algorithms are a class of recently proposed

metaheuristics for optimization problems. They are inspired by the collective behavior

of swarms of birds and fish in their particular orderly movements.

Neural networks considered source of artificial intelligence. Linking these two

important elements is to optimize neural networks by PSO to minimize the processing

of these efforts, to allow them a wide variety of complex problems in the literature.

For this we propose an adaptive algorithm of PSO with MLP neural networks.