0% ont trouvé ce document utile (0 vote)
50 vues40 pages

Cours CA Chapitre II

Le document présente un historique des réseaux de neurones artificiels, en commençant par les travaux de Mc Culloch et Pitts en 1943, jusqu'à l'algorithme de rétropropagation de gradient en 1985, qui a permis des avancées significatives dans le domaine. Il décrit également la structure et le fonctionnement des neurones biologiques et artificiels, ainsi que les différentes fonctions d'activation utilisées dans les réseaux de neurones. Enfin, il aborde les architectures des réseaux, en distinguant les réseaux non bouclés et les perceptrons, tout en soulignant leurs limitations et applications.

Transféré par

xxcmvncrqn
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
50 vues40 pages

Cours CA Chapitre II

Le document présente un historique des réseaux de neurones artificiels, en commençant par les travaux de Mc Culloch et Pitts en 1943, jusqu'à l'algorithme de rétropropagation de gradient en 1985, qui a permis des avancées significatives dans le domaine. Il décrit également la structure et le fonctionnement des neurones biologiques et artificiels, ainsi que les différentes fonctions d'activation utilisées dans les réseaux de neurones. Enfin, il aborde les architectures des réseaux, en distinguant les réseaux non bouclés et les perceptrons, tout en soulignant leurs limitations et applications.

Transféré par

xxcmvncrqn
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)

Commande avancée : chapitre I

II Chapitre II : les réseaux de neurones artificiels.

II.1 Historique

1943 : les deux savents: J. Mc Culloch et W. Pitts introduisent pour la première


fois la modélisation du neuron biologique sous le nom des neurones formels. C’est le
premier travail sientifique qui montre que les réseaux de neurones formels simples
peuvent réaliser des fonctions logiques, arithmétiques et symboliques complexes. A
travers cette modélisation, ils veulent démontrer que le cerveau est équivalent à un
calculateur logique, en conséquence, la pensée devient des mécanismes matériels et
logiques.
1949 : le physiologiste américain, D. Hebb, explique dans son livre « The
Organization of Behavior [10] » le conditionnement chez un animal par les propriétés
des neurones eux-mêmes. Il propose une loi de modification des propriétés des
connexions entre neurones pour explique en partie le conditionnement, comme le type
pavlovien, constaté dans les résultats expérimentaux.
1958, le premier modèle du perceptron a été développé par F. Rosenblatt [11].
Ce modèle, qui est un réseau de neurones inspiré du système visuel, possède deux
couches de neurones : l’une est de perception et l’autre est liée à la prise de décision.
C’est le premier système artificiel capable d’apprendre (learning) de l’expérience. Ce
modèle a été utilisé pour construit le premier neuroordinateur appliqué au domaine de
la reconnaissance de formes.
Presque dans la même période 1960, B. Widrow et Hoff ont présenté le modèle de
L’Adaline (ADAptive LINar Element) qui est le modèle de base des réseaux multi-couches
[12].
1969 : M. Minsky et S. Papert publient un ouvrage qui critique les propriètés du
perceptron, notamment l’impossibilité de traiter par ce modèle des problèmes non
linéaires [13]. Cette publication avait un effet majeur sur la recherche dans le domaine
des réseaux de neurones artificiels, et les chercheus avaient abondoné leurs travaux vers
d’autres types de l’IA.
1982 : J. J. Hopfield, qui un physicien, a présenté une théorie du fonctionnement
et des possibilités des réseaux de neurones dans un article seintifique. J. J. Hopfield a
élaboré une structure et une loi d’apprentissage correspondants à un comportement fixé

[Link] 1 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I
préalablement [14]. le modèle développé est très utilisé jusqu’ aujourd’hui pour la
résolution des problèmes d'optimisation.
1983 : La Machine de Boltzmann est introduite pour traiter de manière
satisfaisante les limitations recensées dans le cas du perceptron [15]. Cependent,
l’utilisation pratique s’avère difficile, la convergence de l’algorithme étant
extrêmement longue (les temps de calcul sont considérables).
1985 : La rétropropagation de gradient qui est le premier algorithme
d’apprentissage adapté aux réseaux de neurones multicouches est apparu. Cette
découverte a permet de réaliser une fonction non linéaire d’entrée/sortie sur un réseau
en la décomposant en une suite d’étapes linéairement séparables. Actuellement, les
réseaux multicouches et l’algortihme de rétropropagation de gradient est le modèle le
plus étudié et le plus productif au niveau des applications.

II.2 Réseau de neurones biologiques

Le cerveau humain se compose d'environ 1012 neurones (mille milliards), avec


1000 à 10000 synapses (connexions) par neurone. Grace à ces neurones, l’être humain
peut exercer les activité mentales telque: la lecture, la discussion, la distinction des
formes et des personnes etc.
Un réseau de neurones est un assemblage de constituants élémentaires
interconnectés les neurones, qui réalisent chacun un traitement simple. Cependant,
l’interaction de l'ensemble fait apparaitre des propriétés globales complexes. Le
fonctionnement de chaque neurone est indépendant des autres, mais l'ensemble forme
un système massivement parallèle. Le stockage et le traitement de l'information se fait
de manière distribuée dans le réseau, il n'y a pas donc une zone spécifiée à la mémoire
et une autre au calcul.
Le neurone, l’élément élémentaire dans le réseau, est une cellule qui se compose
d’un noyau et d’un corps cellulaire. L’information est acheminée de l’extérieur du
neurone vers le corps du neurone « appelé aussi le soma » à travers les dendrites. Les
dendrites sont des parties du corps cellulaire qui se ramifie pour les former. Ensuite,
l’information arrivé au neurone sera traitée et cheminée le long de l’axone (unique)
pour être transmise aux autres neurones. On peut considérer les dendrites comme des
entrées du neurone et son axone comme sa sortie. La connexion entre neurones n’est
pas continue. En fait, il existe un espace intercellulaire de quelques dizaines

[Link] 2 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I
d’Angströms (10- 9 m) entre l’axone du neurone afférent et les dendrites du neurone
efférent. On appelle la synapse : la jonction entre deux neurones (Figure II.1).
Selon les spécialistes des neurones biologiques (neurophysiologistes), les
différentes fonctions neuronales, y compris celle de la mémoire, sont stockées au niveau
des connexions (synapses) entre les neurones. En se basant sur cette théorie,
l’apprentissage consiste alors soit à établir de nouvelles connexions, soit à en modifier
des existantes. En effet, c’est ce genre de théorie qui a inspiré la plupart des
architectures de réseaux de neurones artificiels que nous trouverons actuellement dans
la littérature.

Figure II.1 Schématisation d’un neurone biologique.

II.3 Réseau de neurones artificiels

Comme nous l’avons décrit avant, les réseaux de neurones biologiques (le
cerveau) réalisent facilement des tâches intellectuelles assez difficiles, telles que la
reconnaissance de formes, le traitement du signal, l'apprentissage, la mémorisation, etc.
Malgré tous les progrès déployés en algorithmique et en informatique, les tâches
intellectuelles d’un être humain restent très avancées par rapport au machines. Si on
suppose que le comportement intelligent émerge de la structure et du comportement des
[Link] 3 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I
éléments de base du cerveau, on peut avoir des capacités et des compétences similaires
en concevant des réseaux de neurones artificiels.
Les réseaux de neurones artificiels sont des réseaux fortement connectés de
processeurs élémentaires fonctionnant en parallèle. Chaque processeur élémentaire
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.

II.4 Modélisation des réseaux de neurones :

II.4.1 Neurone formel

La première modélisation du neurone biologique date des années quarante. Le


neurone formel été présenté par Mc Culloch et Pitts, en s’inspirant de leurs travaux sur
les neurones biologiques. Un neurone formel été représenté par une fonction algébrique
bornée non linéaire, dont sa valeur dépend des paramètres appelés coefficients ou poids.
Les variables de cette fonction sont appelées "entrées" du neurone, et la valeur de la
fonction est appelée sa "sortie".
Les observations de neurone biologique, inspirent W.M. Culloch et W. Pitts en
1943 a proposé un modèle neurone formel constitué de :
Les 𝑥𝑖 représentent les entrés, elles peuvent être des sorties d’autres neurones,
soit de stimuli sensoriels (capteur visuel, odorat…) ;
Les 𝑤𝑖𝑗 sont les poids (de l’anglais Weight) synaptiques du neurone 𝑗 . Ils
correspondent à l’efficacité synaptique dans les neurones biologiques. Ces poids
pondèrent les entrées et leur modification se fait par apprentissage ;
Les 𝑏 sont des biais : une entrée qui prend souvent les valeurs -1 ou +1. Elle
ajoute une flexibilité au réseau en contrôlent le seuil de déclenchement du neurone par
l’adaptation des poids et du biais dans la phase de l’apprentissage ;
Noyau : Une fonction d'activation (Une fonction de transfert), 𝑓 pour chaque
nœud qui détermine l'état d'un nœud en fonction des poids de ses entrés, son biais. Cette
fonction est habituellement une fonction non linéaire (une fonction sigmoïde) pour
donner une plus grande flexibilité d’apprentissage.
La modélisation consiste à mettre en œuvre un système de réseau de neurones
artificiels équivalent au réseau biologique. Pour ce faire, on doit remplacer chaque
composant biologique par un autre artificiel (une correspondance). La correspondance
entre un neurone biologique et un neurone artificiel est représentée dans le tableau suivant :

[Link] 4 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I
Neurone biologique Neurone artificiel
Synapses Poids des connexions
Dendrites Signal d’entrée
Axones Signal de sortie
Somma (Noyau) Fonction d’activation

Figure II.2 Modèle du neurone


Le modèle du neurone donné dans la Figure II.2 peut être écrit
mathématiquement les équations suivantes :
𝑛

𝑠 = ∑ 𝑤𝑖 𝑥𝑖 ± 𝑏
𝑖=1

𝑠 = 𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝑤3 𝑥3 + ⋯ ± 𝑏
Ou sous forme matricielle :
𝑠 = 𝑤𝑡𝑥 ± 𝑏
Avec
𝑥 = [𝑥1 , 𝑥2 , … , 𝑥𝑛 ]𝑡 ; 𝑤 = [𝑤1 , 𝑤2 , … , 𝑤𝑛 ]𝑡 .
La sortie 𝑠 correspond à une somme pondérée des poids et des entrées plus le
biais 𝑏 du neurone. Le résultat 𝑠 de la somme pondérée s’appelle le niveau
d’activation du neurone.
Le calcul de la sortie 𝑦 se fait avec l’équation suivante :
𝑦 = 𝑓(𝑠) = 𝑓(𝑤 𝑡 𝑥 ± 𝑏)
Où 𝑓 est la fonction d’activation du neurone.

[Link] 5 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I
II.4.2 Fonction d'activation

La fonction d’activation ou la fonction de transfert calcule la valeur de l'état du


neurone. C'est cette valeur qui sera transmise aux neurones avals. Il existe de
nombreuses formes possibles pour la fonction de transfert. Ces représentent
généralement certaines formes de non linéarité.
L’une des formes de non linéarité la plus simple, et qui est appropriée aux
réseaux discret, est la fonction signe, Figure II.3.c. Une autre variante de ce type des
non linéarités est la fonction de Seuil, Figure II.3.b. Pour la majorité des algorithmes
d’apprentissage il est nécessaire d’utiliser des fonctions sigmoïdes différentiables, telles
que la fonction sigmoïde unipolaire, Figure II.3.d et la fonction sigmoïde bipolaire,
Figure II.3.e. La classe, la plus utilisée des fonctions d’activation, dans le domaine de
la modélisation et de la commande des systèmes non linéaires est la fonction sigmoïde
bipolaire.

Figure II.3 Fonctions d’activations.

II.5 Structure des réseaux de neurones

On entend par la structure ou l’architecture d’un réseau de neurones


l’organisation des neurones entre eux en terme d’arrangement et connexion au sein d’un
même réseau. La majorité des réseaux de neurones utilise le même type de neurones,

[Link] 6 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I
cependant, quelques rares architectures exigent des types des neurones spécieux. La
structure d’un réseau de neurones dépend de la tâche à effectue et le type
d’apprentissage. Un réseau de neurone artificiel est composé d’une ou de plusieurs
couches de neurones, de la couche des entrées jusqu’à la couche des sorties. Les réseaux
de neurones artificiels peuvent être classer en deux grands types de structures : les
réseaux de neurones non bouclés (acyclique) et les réseaux de neurones bouclés.

II.5.3 Les réseaux de neurones non bouclés (acyclique)

Les réseaux de neurones non bouclés sont destinés à la réalisation des fonctions
algébriques des entrées par la combinaison des fonctions réalisées par chacun de ses
neurones. La représentation graphique d’un réseau de neurones non bouclé est
schématisée par des nœuds qui représentent les neurones et des liens (flèches) qui
représentes les connexions. Le sens des flèches représente la circulation de
l’information depuis des entrées vers les sorties sans "retour en arrière » ; donc, le
graphe d’un réseau non bouclé doit être un graphe acyclique.
Il faut noter que le traitement des réseaux de neurones se fait par des calculateurs
(ordinateurs) et rarement par des circuits électroniques, donc, les termes ‘‘nœuds’’ et
‘‘connexions’’ sont des métaphores et non des dispositifs physiques. En réalité, les
termes ‘‘nœuds’’ et ‘‘connexions’’ issus des origines biologiques.

II.5.3.1 Les réseaux de neurones monocouches

Le premier modèle est présenté en 1958 par Frank Rosenblatt sous le nom du
Perceptron avec la forme la plus simple des réseaux de neurones. Ce modèle, le
perceptron, est constitué de deux couches : une couche d’entrée et d’autre de sortie, le
résultat est donné par la couche de sortie selon les valeurs présentées en entrée.
Cette configuration simplifier du perceptron ne peut traiter que les problèmes
linéairement séparables, comme les fonctions logiques AND et OR par exemple.
Néanmoins, les problèmes qui ne sont pas linéairement séparables comme la fonction
logique XOR par exemple, la configuration monocouche ne peut pas les résoudre et on fait
appelle à une configuration plus complexe (monocouche) pour les traiter.

[Link] 7 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I

Figure II.4 Modèle d’un Perceptron simple (monocouche)


II.5.3.2 Exercice

Un perceptron à deux entrées dont les poids sont : W1 =1, W2= 1 et que la valeur
de seuil est S = -0.5 et puis -1.5, déterminez son comportement.
Sachant que les comportements du ET logique, OU logique et OU exclusif sont
rappelés dans le tableau suivant :
ET OU OU Exclusif
𝑒1 𝑒2 𝑥 𝑒1 𝑒2 𝑥 𝑒1 𝑒2 𝑥
0 0 0 0 0 0 0 0 0
0 1 0 0 1 1 0 1 1
1 0 0 1 0 1 1 0 1
1 1 1 1 1 1 1 1 0

II.5.3.3 Réseaux de neurones multicouches

Dans cette architecture les neurones sont arrangés par couche. Les neurones de
la même couche n’ont pas de connexion entre eux, les neurones de chaque couche ont
des connexions seulement avec les neurones de couches suivantes. Généralement, la
connexion d’un neurone d'une couche est avec tous les neurones de la couche suivante.
Donc, le sens de parcours de l'information (de l'activation) au sein d'un réseau est de
des neurones d'entrées, vers les neurones intermédiaires et puis les neurones de sortie.
L’ensemble des neurones d’entrés est appelé la couche d’entrée, et l’ensemble
des neurones de sortie est appelé la couche de sortie. Les neurones des couches
intermédiaires n'ayant aucune liaison avec l'extérieur et les couche sont nommées
couches cachées. Cette structure est appelée aussi perceptron multicouches.
La structure multicouche du réseau des neurones permet d’avoir les capacités
plus puissantes par rapport aux réseaux simples à une seule couche. Ce type de réseau
peut produire une approximation de la plupart des fonctions, avec une précision
[Link] 8 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I
acceptable (cela peut requérir des couches cachées avec un grand nombre de neurones).
Sauf dans des rares cas, les réseaux de neurones artificiels exploitent deux ou trois
couches.

Figure II.5 Modèle d’un Perceptron multicouches


II.5.3.4 Réseaux de neurones à connexions locales

C’est une structure multicouche, où, chaque neurone a un nombre réduit des
relations avec les neurones de la couche suivante. Dans ce type, les connexions sont
moins nombreuses par rapport à un réseau multicouche classique (Figure II.6).

Figure II.6 Schéma d'un réseau de neurones à connexions locales.


Ces types de réseaux de neurones non bouclés (aucun retour de l’information)
forment des réseaux statiques : si les entrées sont invariantes dans le temps, les sorties
le sont aussi. L’utilisation de ce type de réseau est principalement pour résoudre les
problèmes d'approximation des fonctions non linéaires, de classification ou de
l’identification de processus statiques non linéaire.

[Link] 9 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I
II.5.4 Réseaux de neurones bouclés

Dans cette structure, les neurones d’une couche donnée peuvent avoir des
connexions non seulement avec les couches qui suivent, mais même avec les neurones
des couches qui précèdes. Les liaisons vers les couches précédentes permettent le retour
de l’information de n’importe quelle couche vers n’importe quelle couche précédente
y compris la couche d’entrée, ce qui rend la structure un réseau dynamique. Ce réseau
est régi par des équations différentielles et il est utilisé pour résoudre les problèmes de
l’identification des systèmes dynamiques, de la commande, de l’estimation, etc.

II.5.5 Types des réseaux de neurones bouclés

II.5.5.1 Modèle de Hopfield

Le modèle de Hopfield est la version la plus simple des « réseaux neuronaux


récurrents ». Elle est proposée en 1982 par le physicien John Hopfield. Il s’agit d’une
structure dite complètement connectée puisque chaque neurone est connecté à tous les
autres. Ainsi, le neurone ne possède ni couche d’entrée, ni couche de sortie. Les
neurones ont un état binaire (classiquement, 1 ou -1, même si certains modèles utilisent
1 et 0).

Figure II.7 Modèle de Hopfield.


Le modèle de Hopfield a pour but de résoudre des problèmes d’optimisation, de
classification et de connaissance des formes à partir de clés proposées en input en tenant
comptes d’éventuelles dégradations ou du bruit qu’a pu subir le modèle proposé en
input : on parle de mémoire associative. Son apprentissage se fait selon la loi de Hebb.

[Link] 10 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I
II.5.5.2 Modèle de Kohonen

Ce modèle a été présenté par T. Kohonen en 1982 en se basant sur des


constatations biologiques. Il a pour objectif de présenter des données complexes et
appartenant généralement à un espace discret de grandes dimensions dont la topologie
est limitée à une ou deux dimensions.
Les cartes de Kohonen sont réalisées à partir d’un réseau à deux couches, une
en entrée et une en sortie. Notons que les neurones de la couche d’entrée sont
entièrement connectés à la couche de sortie.
Les neurones de la couche de sortie sont placés dans un espace d’une ou de deux
dimensions en général, chaque neurone possède donc des voisins dans cet espace. Et
qu’enfin, chaque neurone de la couche de sortie possède des connexions latérales
récurrentes dans sa couche (le neurone inhibe, les neurones éloignés et laisse agir les
neurones voisins).

II.6 L’apprentissage (learning)

Les réseaux de neurones ont des propriétés très intéressantes, parmi les
propriétés notables et attirantes est la capacité d’apprendre. Cette capacité permet au
réseau de neurones d’améliorer ses performances et de se développer.
L'information que peut acquérir un réseau de neurones est représentée dans les poids
des connexions entre les neurones. L'apprentissage consiste à l’ajustement de ces poids pour
avoir un comportement désiré du réseau. Dans la littérature, il n’existe pas de définition
générale, exacte et universel de l’apprentissage, car ce concept concerne à trop de
notions distinctes qui dépendent du domaine que l’on adopte. Dans le domaine de
l’intelligence artificielle, on peut définir l’apprentissage par la phase du développement
d'un réseau de neurones durant laquelle le comportement du réseau est modifié jusqu'à
l'obtention du comportement désiré. Aussi, l’apprentissage peut être considérer comme
un processus dynamique et itératif permettant de modifier les paramètres d’un réseau
en réaction avec les stimuli qu’il reçoit de son environnement. Bien sûr, L'apprentissage
neuronal se fait sur la base des exemples de comportement. Le type d’apprentissage est
déterminé par la manière dont les changements de paramètre surviennent.
Dans tous les cas, l’apprentissage d’un réseau implique sa stimulation par son
environnement, et la réaction contre cette stimulation provoque des changements

[Link] 11 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I
comportementaux, ce qui engendre une nouvelle réponse vis-à-vis de l’environnement.
De ce fait, le réseau apprendra et s’améliora.

II.6.1 Algorithmes d’apprentissage

Dans la majorité des algorithmes d’apprentissage actuels, les variables


modifiées pendant l'apprentissage sont les poids des connexions. L'apprentissage est la
modification des poids du réseau dans l'optique d'accorder la réponse du réseau aux
exemples et à l'expérience. Il est souvent impossible de décider à priori des valeurs des
poids des connexions d'un réseau pour une application donnée. Un algorithme
d’apprentissage est utilisé pour ajuster les poids de certains réseaux de neurones, mais
ne peut être généralisées et appliquer à n’importe quelle architecture. Chaque
architecture possède ses spécificités et nécessite une règle d’adaptation des poids qui
lui est propre. Donc, il est associé souvent à la description du modèle l'algorithme
d'apprentissage. Le modèle sans apprentissage présente en effet peu d'intérêt. A l'issu
de l'apprentissage, les poids sont fixés : c'est alors la phase d'utilisation.
D’un point de vu mathématique, la plupart des algorithmes d'apprentissage des
réseaux de neurones sont basés sur les méthodes du gradient : ils cherchent à minimiser
un critère de la forme suivante :
∆𝑤𝑖𝑗 (𝑡) = 𝑤𝑖𝑗 (𝑡 + 1) − 𝑤𝑖𝑗 (𝑡)
Où 𝑤𝑖𝑗 : le poids reliant le neurone i à son entré j.
Par conséquent :
𝑤𝑖𝑗 (𝑡 + 1) = 𝑤𝑖𝑗 (𝑡) + ∆𝑤𝑖𝑗 (𝑡)
Les variables 𝑤𝑖𝑗 (𝑡) et 𝑤𝑖𝑗 (𝑡 + 1) représentent respectivement l’actuelle et la
nouvelle valeur du poids.
L’algorithme d’apprentissage du réseau est un ensemble de règles bien définies
permettant la réalisation d’un tel processus d’adaptation des poids des neurones.
Les méthodes d’apprentissage peuvent être classer selon plusieurs
classifications tel que :

II.6.2 L’apprentissage en ligne et hors ligne

Dans la procédure d'apprentissage hors ligne on utilise tous les comportements


d'entraînement statiques de façon répétitive et sa performance est quantifiée à l’aide
une fonction de coût. En revanche, l'apprentissage en ligne est plus dynamique, c’est
une procédure itérative en mettant à jour les comportements d'entraînement les

[Link] 12 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I
nouvelles données observées. Donc, c’est une procédure qui permet l’implémentation
en temps réel. Cependant, l'apprentissage en ligne est en lent mais est recommandé
avec des comportements variables.

II.6.3 Apprentissage global et apprentissage partiel (local)

L’apprentissage global est le processus qui met à jour la totalité des poids de
tous les neurones. Dans cette méthode, à chaque itération tous les poids sont ajustés.
L’apprentissage partiel (local) : dans cette méthode, à chaque itération
seulement certains poids sont modifiés.

II.6.4 L'apprentissage supervisé et non supervisé

 L'apprentissage supervisé : dans ce type, l’apprentissage se fait sur un


comportement désiré. Sur la base de la sortie désirée, des ajustements se font sur les
poids synaptiques de telle sorte à minimiser l'écart entre la sortie du réseau et celle
désirée.
 L'apprentissage non supervisé : dans ce type la disposition de la sortie
(comportement) désirée n’est pas obligatoire. La procédure d’apprentissage dépend
uniquement sur les valeurs d’entrées et consiste à l’auto-organisation du réseau de façon
à optimiser un critère de performance donné.

II.6.5 Apprentissage des RNA monocouche

II.6.5.1 Algorithme d’apprentissage par descente de gradient


(correction d’erreur) supervisé

Le problème consiste à trouver les poids d’un perceptron qui classifie


correctement un ensemble 𝑆 d’apprentissage.
Soit une entrée 𝑥(𝑡) appliqué à un neurone 𝑖, 𝑦𝑖 (𝑡) est la sortie obtenue au
temps 𝑡. Soit 𝑑 𝑖 (𝑡) la sortie désirée pour ce même neurone 𝑖 à l’instant 𝑡.
Soit 𝑒𝑖 (𝑡) l’erreur calculée entre la sortie réelle 𝑦𝑖 (𝑡) et celle désirée 𝑑𝑖 (𝑡)
𝑒𝑖 (𝑡) = 𝑑𝑖 (𝑡) − 𝑦𝑖 (𝑡)
La forme vectorielle de l’erreur est donnée par :
𝑒(𝑡) = 𝑑(𝑡) − 𝑦(𝑡)
Avec : 𝑒(𝑡) = [𝑒1 (𝑡), 𝑒2 (𝑡), … , 𝑒𝑛 (𝑡)]𝑇 , où 𝑛 représente le nombre des
neurones du réseau.

[Link] 13 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I
La méthode d’apprentissage par correction des erreurs consiste à minimiser un
indice de performance 𝐹 (indice de qualité) basé sur les valeurs d’erreur 𝑒𝑖 (𝑡), dans
l’objectif d’obtenir la sortie du réseau de neurones désirée. Parmi les critères de
performance les plus utilisés est l’erreur quadratique moyenne dont la forme :
𝑛
1 1
𝐹(𝑒(𝑡)) = ∑ 𝑒𝑖2 (𝑡) = 𝑒(𝑡)𝑇 𝑒(𝑡)
𝑛 𝑛
𝑖=1

Il faut noter que les paramètres à optimisés d'un réseau sont ses poids 𝑤(𝑡). Pour
minimiser 𝐹(𝑒(𝑡)) ≡ 𝐹(𝑤(𝑡)) ≡ 𝐹(𝑡) , la première étape consiste à générer
aléatoirement les poids initiaux ( 𝑡 = 0 ). Ensuite, la modification des poids se fait de
la manière suivante :
𝑤(𝑡 + 1) = 𝑤(𝑡) + 𝜂𝑋(𝑡)
Où 𝑋(𝑡) est le vecteur de direction qui désigne le sens de la recherche du
minimum et 𝜂 est une constante positive qui détermine la longueur du pas (la vitesse
d’apprentissage) dans le sens de recherche. L’amélioration des poids signifie que
𝐹(𝑡 + 1) < 𝐹(𝑡).
L’amélioration de la qualité de la fonction coût est déterminée par le vecteur de
direction 𝑋(𝑡). Ce dernier est déterminé par le gradient.
Si on applique le développement de Taylor sur l’équation de 𝐹(𝑡 + 1) on
obtient :
𝐹(𝑡 + 1) = 𝐹(𝑡) + ∇𝐹(𝑡)𝑇 ∆𝑤(𝑡)
Où ∇𝐹(𝑡) est le gradient de 𝐹 par rapport à ses variable (les poids 𝑤) au temps
𝑡, et ∆𝑤(𝑡) = 𝑤(𝑡 + 1) − 𝑤(𝑡). Pour que la condition 𝐹(𝑡 + 1) < 𝐹(𝑡) soit satisfait,
il faut que la condition suivante soit respectée :
∇𝐹(𝑡)𝑇 ∆𝑤(𝑡) = ∇𝐹(𝑡)𝑇 𝜂𝑋(𝑡) < 0
Quel que soit le vecteur de direction 𝑋(𝑡) qui satisfait l’inégalité de l’équation
précédente se dirige dans une direction qui diminue 𝐹. Cette direction est appelée une
direction de « descente ». Pour obtenir une descente, et puisque 𝜂 > 0, le vecteur 𝑋(𝑡)
doit être orienté vers le sens opposé au gradient pour obtenir un produit négatif, donc :
𝑋(𝑡) = −∇𝐹(𝑡)
D’où, la règle dite de « descente du gradient » est aboutie :
∆𝑤(𝑡) = 𝜂∇𝐹(𝑡)

[Link] 14 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I
La règle de la correction des erreurs est utilisée souvent pour l’apprentissage de
réseaux de neurones artificiels. L’utilisation de cette règle ne peut être que dans un
contexte d’apprentissage supervisé.

II.6.5.2 La loi de Hebb (d'apprentissage non supervisé)

La loi de Hebb (1949) (ou la règle de hebb) est une méthode d’apprentissage
qui s'applique aux connexions entre neurones. Elle est exprimée de la façon suivante :
"l’activation des cellules (neurones) simultanée engendre l’augmentation de la force
de connexion ".
Le tableau ci-dessous résume la règle, 𝑥𝑖 et 𝑥𝑗 sont respectivement les valeurs
d’activation des neurones 𝑖 et 𝑗, ∆𝑤𝑖𝑗 représente la modification du poids.
𝑥𝑖 𝑥𝑗 ∆𝑤𝑖𝑗
0 0 0
0 1 0
1 0 0
1 1 +

La modification de poids dépend de la coactivation des neurones présynaptiques


et post synaptique
La mise en équation de la règle de Hebb nous donne :
𝑤𝑖𝑗 (𝑡 + 1) = 𝑤𝑖𝑗 (𝑡) + ∆𝑤𝑖𝑗 (𝑡)
Où : ∆𝑤𝑖𝑗 (𝑡) = 𝑥𝑖 . 𝑥𝑗
𝑤𝑖𝑗 (𝑡) et 𝑤𝑖𝑗 (𝑡 + 1) sont l’ancien et le nouveau poids respectivement.
L'algorithme d'apprentissage ajuste d’une façon itérative les poids pour adapter
la réponse obtenue à la réponse désirée. La modification des poids est réalisée
uniquement en présence d’erreur. L’algorithme de la règle de Hebb est donné comme
suit :
Etape 1 : Générer aléatoirement les poids et le seul 𝑆.
Etape 2 : Appliquer l’entrée 𝑒
Etape 3 : Calculer la sortie 𝑥 : 𝑎 = ∑(𝑤𝑖 . 𝑒𝑖 ) − 𝑆
𝑥 = 𝑠𝑖𝑔𝑛𝑒 (𝑎) ( si 𝑎 > 0 alors 𝑥 = +1 sinon 𝑎 ≤ 0 alors 𝑥 = −1)
Etape 4 : Si la sortie 𝑥 est différente de la sortie désirée pour l'entrée 𝑒 alors
modification des poids: 𝑤𝑖𝑗 (𝑡 + 1) = 𝑤𝑖𝑗 (𝑡) + 𝜇(𝑥𝑖 . 𝑥𝑗 ) (𝜇 est une constante positive,
qui spécifie le pas de modification des poids)
Etape 5 : Tant qu’il y a une erreur entre la sortie réelle et désirée, retour à l'étape2.

[Link] 15 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I
II.6.5.3 Exemple : d'application de la règle de Hebb

Soit un neurone (Figure II.8) de comportement binaire avec deux entrées 𝑒1 et 𝑒2 (ces
entrée sont considérée comme neurones.

Figure II.8 Réseau de 3 neurones


(NB : les 2 entrées sont considérées comme deux neurones) pour la résolution du
problème exprimé table ci-après.
La base d’apprentissage est donnée par
𝑒1 𝑒2 𝑥
1 1 1
1 -1 1
-1 1 -1
-1 -1 -1

L’exécution de l’algorithme nous donne :


Etape 1 : Condition initial 𝜇 = +1 les poids et le seul 𝑆 sont nuls.
Etape 2 : Appliquer l’entrée 𝑒1 et 𝑒2
Etape 3 : Calculer la sortie 𝑥 : 𝑎 = 𝑤1 . 𝑒1 + 𝑤2 . 𝑒2 − 𝑆 = 0.0 ∗ 1 + 0.0 ∗ 1 −
0 = 0, 𝑎 ≤ 0 alors 𝑥 = −1
Etape 4 : La sortie est différente à celle désirée, il faut donc modifier les poids
en appliquant :
𝑤1 = 𝑤1 + 𝑒1 . 𝑥 = 0.0 + 1.1 = 1
𝑤2 = 𝑤2 + 𝑒1 . 𝑥 = 0.0 + 1.1 = 1
Etape 5 : on passe aux entrées suivantes :
𝑎 = 1.1 + 1. −1 − 0.0 = 0, 𝑎 ≤ 0 alors 𝑥 = −1
Etape 6 : La sortie est fausse, il faut donc modifier les poids en appliquant :
𝑤1 = 𝑤1 + 𝑒1 . 𝑥 = 1 + 1.1 = 2
𝑤2 = 𝑤2 + 𝑒1 . 𝑥 = 1 + 1. −1 = 0
Les entrées N°3 sont correctement traitées : 𝑎 = −2 et 𝑥 = −1 (la sortie est
bonne). Puis, sans modification des poids, on traite les entrées N°4. Celui-ci aussi est
correctement traité. On revient alors au début de la base d'apprentissage : les entrées
N°1. Elles sont correctement traitées, ainsi que les second (2). L'algorithme

[Link] 16 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I
d'apprentissage est alors terminé : toute la base d'apprentissage a été passée en revue
sans modification des poids.

II.6.5.4 L'algorithme de la rétropropagation du gradient d'erreur


(back-propagation)

L’algorithme de la rétropropagation est l’un des algorithmes les plus utilisées


pour l’apprentissage des réseaux de neurones. La technique de cet algorithme consiste
à l’utilisation de la méthode de descente de gradient pour le changement des poids d’un
réseau dont l’architecture est préfixée, avec chaque nouvelle présence d’un exemple
𝑦𝑖 = 𝑓(𝑥𝑖 ). Le changement est effectué d’une manière de minimiser l’erreur entre la
sortie désirée et la sortie du réseau pour une entrée 𝑥𝑖 . A chaque itération, une nouvelle
entrée est appliquée au réseau, et une sortie s’obtiendra, l’erreur est calculée comme
l’écart entre cette sortie et la sortie désirée ensuite, par rétropropagation « error back-
propagation », on calcule les erreurs intermédiaires, correspondant à la couche cachée
pour ajuster les poids 𝑤𝑖𝑗 (𝑡) de la couche cachée.
L’algorithme de rétropropagation du gradient est composé de 2 phases :
1- Propagation : à chaque itération, un nouvel exemple est présenté au réseau à
son entrée. Cette entrée est propagée jusqu’à la couche de sortie.
2- Correction : la sortie du réseau ne corresponde pas la sortie désirée, donc on
calcule une erreur (en général la somme quadratique moyenne des erreurs pour tous les
neurones de sortie) que l’on rétro-propage dans le réseau. Ce processus est interrompu
dès que l’erreur globale attient un seuil acceptable.

Figure II.9 Le processus de rétropropagation.

[Link] 17 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I

Calcul des sorties de la couche de


sortie en fonction de (s) entrée(s)

Calcul de l’erreur
𝒆 = 𝒚𝒅 − 𝒚𝒓

Calcul des ∆𝒋
∆𝒋 = 𝒆 ∗ 𝒅𝒆𝒓[𝑺𝒊𝒈(𝒚𝒋 )]

Non satisfait

Calcul de la variation des poids


∆𝑾𝒊𝒋 = 𝜶. 𝒚𝒋 . ∆𝒋

Calcul des nouveaux poids


𝑾𝒊𝒋 (𝒏𝒆𝒘) = 𝑾𝒊𝒋 (𝒐𝒍𝒅) + ∆𝑾𝒊𝒋

Vérifier le critère d’arrêt

Satisfait
Arrêter

Figure II.10 l’organigramme de l’algorithme de la rétropropagation.

[Link] 18 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I

Figure II.11 Schéma d'un réseau de neurones à connexions locales.


II.6.5.5 L’algorithme de la retropropagation

Initialisation des 𝒘𝒌𝒋 , 𝒘𝒋𝒊 , 𝜽𝒌 , 𝜽𝒋 et le taux d’apprentissage 𝜂.


Propager les entrées et calculer 𝑶𝒋 , 𝑶𝒌 .
Calculer 𝜽𝒋 par la formule
𝜹𝒌 = 𝑶𝒌 (1 − 𝑶𝒌 )(𝒕𝒌 − 𝑶𝒌 )
Calculer la variation des poids et des biais par:
∆𝒘𝒌𝒋 = 𝜼𝜹𝒌 𝑶𝒋
∆𝜽𝒌 = 𝜼𝜹𝒌
Calculer 𝜹𝒋 par la formule:

𝜹𝒋 = 𝑶𝒋 (1 − 𝑶𝒋 ) ∑ 𝜹𝒌 𝒘𝒌𝒋
𝑘

Calculer la variation des poids et des biais par:


∆𝒘𝒋𝒊 = 𝜼𝜹𝒋 𝑶𝒋
∆𝜽𝒋 = 𝜼𝜹𝒋
Calculer les nouveuax poids et biais:
𝒘𝒋𝒊 (𝑡 + 1) = 𝒘𝒋𝒊 (𝑡) + ∆𝒘𝒋𝒊
𝜽𝒋 (𝑡 + 1) = 𝜽𝒋 (𝑡) + ∆𝜽𝒋
𝒘𝒌𝒋 (𝑡 + 1) = 𝒘𝒌𝒋 (𝑡) + ∆𝒘𝒌𝒋
𝜽𝒌 (𝑡 + 1) = 𝜽𝒌 (𝑡) + ∆𝜽𝒌
t=t+1
passer à l’étape 2

[Link] 19 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I

𝒏𝑳 −𝟏
(𝑳)
𝑪 = ∑ (𝒂𝒋 − 𝒚𝒋 )𝟐
𝒋=𝟎
(𝑳) (𝑳) (𝑳−𝟏) (𝑳) (𝑳−𝟏) (𝑳) (𝑳−𝟏) (𝑳)
𝒛𝒋 = 𝒘𝒋𝟎 𝒂𝟎 + 𝒘𝒋𝟏 𝒂𝟏 + 𝒘𝒋𝟐 𝒂𝟐 + ⋯ 𝒃𝒋
(𝑳) (𝑳)
𝒂𝒋 = 𝝈(𝒛𝒋 )
(𝑳) (𝑳)
𝝏𝑪 𝝏𝒛𝒋 𝝏𝒂𝒋 𝝏𝑪
(𝑳)
= (𝑳) (𝑳) (𝑳)
𝝏𝒘𝒋𝒌 𝝏𝒘𝒋𝒌 𝝏𝒛𝒋 𝝏𝒂𝒋
𝒏𝑳 −𝟏 (𝑳) (𝑳)
𝝏𝑪 𝝏𝒛𝒋 𝝏𝒂𝒋 𝝏𝑪
(𝑳−𝟏)
= ∑ (𝑳−𝟏) (𝑳) (𝑳)
𝝏𝒂𝒌 𝒋=𝟎
𝝏𝒂𝒌 𝝏𝒛𝒋 𝝏𝒂𝒋
𝒏𝑳 −𝟏 (𝑳) (𝑳)
𝝏𝑪 𝝏𝒛𝒋 𝝏𝒂𝒋 𝝏𝑪
(𝑳−𝟏)
= ∑ (𝑳−𝟏) (𝑳) (𝑳)
𝝏𝒂𝒌 𝒋=𝟎
𝝏𝒂𝒌 𝝏𝒛𝒋 𝝏𝒂𝒋

𝒏𝑳+𝟏 −𝟏
𝝏𝑪 (𝑳+𝟏) ′ (𝑳+𝟏) 𝝏𝑪 (𝑳)
𝛁𝑪 = (𝑳)
= ∑ 𝒘𝒋𝒌 𝝈 (𝒛𝒋 ) (𝑳+𝟏)
= 𝟐(𝒂𝒋 − 𝒚𝒋 )
𝝏𝒂𝒋 𝒋=𝟎
𝝏𝒂𝒋

II.6.5.6 Exemple de l’application de la rétropropagation

Soit l’exemple du neurone multicouche présenté dans la figure ci-dessous,


constitué d’une 1 couche d’entrée, 1 couche cachée et 1 couche de sortie.

Figure II.12 Neurone multicouche


Avec :
𝑊13 = 0.5; 𝑊14 = 0.9; 𝑊23 = 0.4; 𝑊24 = 1; 𝑊35 = −1.2; 𝑊45 = 1.1
𝜃3 = 0.8 ; 𝜃4 = −0.1 ; 𝜃5 = 0.3 ; 𝛼 = 0.1 (Taux d’apprentissage)

[Link] 20 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I
En utilisant l’algorithme de rétropropagation du gradient, on va faire l’adaptation des
poids pour obtenir le cas: 𝑥1 = 1, 𝑥2 = 1, 𝑦 = 0
1
La fonction d’activation est la fonction sigmoide : 𝑔(𝑥) = 1−𝑒 −𝑥

La condition d’arrêt : l’erreur obtenue est de l’ordre de 10-3.


Calcul des sorties :
1
𝑦3 = 𝜎(𝑥1. 𝑊13 + 𝑥2. 𝑊23 − 1. 𝜃3 ) = 𝜎(0.5 + 0.4 − 0.8) = = 𝟎. 𝟓𝟐𝟓
1 − 𝑒−0.1
𝑦4 = 𝜎(𝑥1. 𝑊14 + 𝑥2. 𝑊24 − 1. 𝜃4 ) = 𝜎(0.9 + 0.1 + 1) = 𝜎(2) = 𝟎. 𝟖𝟖𝟎𝟖
𝑦5 = 𝜎(𝑦3 . 𝑊35 + 𝑦4 . 𝑊45 − 1. 𝜃5 ) = 𝟎. 𝟓𝟎𝟗𝟕 Calcul de l’erreur :
𝑒 = 𝑦𝑑 − 𝑦𝑟 = 0 − 0.5097 = −𝟎. 𝟓𝟎𝟗𝟕→ Adaptation des poids est nécessaire
Calcul des Δ (Δ5, Δ4, Δ3):
𝛥5 = 𝑒. 𝑑𝑒𝑟𝜎(𝑦5 ) = 𝑒. [𝑦5 . (1 − 𝑦5 )] = (−0.5097)(0.5097)(1 − 0.5097) = −𝟎. 𝟏𝟐𝟕𝟒
𝛥3 = 𝑊35 . 𝛥5. 𝑑𝑒𝑟(𝜎(𝑦3)) = (−1.2)(−0.1274)(0.525)(1 − 0.525) = 𝟎. 𝟎𝟑𝟖𝟏
𝛥4 = 𝑊45 . 𝛥5. 𝑑𝑒𝑟(𝜎(𝑦4)) = (1.1)(−0.1274)(0.8808)(1 − 0.8808) = −𝟎. 𝟎𝟏𝟒𝟕
Calcul de la variation dans les poids :
𝛥𝑊35 = 𝛼. 𝑦3 . 𝛥5 = −𝟎. 𝟎𝟎𝟔𝟕
𝛥𝑊45 = 𝛼. 𝑦4 . 𝛥5 = −𝟎. 𝟎𝟏𝟏𝟐
𝛥𝜃5 = 𝛼. (−1). 𝛥5 = 0.1. (−1). (−0.1274) = 𝟎. 𝟎𝟏𝟐𝟕
𝛥𝑊13 = 𝛼. 𝑥1. 𝛥3 = (0.1)(1)(0.0381) = 𝟎. 𝟎𝟎𝟑𝟖𝟏
𝛥𝑊23 = 𝛼. 𝑥2. 𝛥3 = (0.1)(1)(0.0381) = 𝟎. 𝟎𝟎𝟑𝟖𝟏
𝛥𝑊14 = 𝛼. 𝑥1. 𝛥4 = (0.1)(1)(−0.0147) = −𝟎. 𝟎𝟎𝟏𝟒𝟕
𝛥𝑊24 = 𝛼. 𝑥2. 𝛥4 = (0.1)(1)(−0.0147) = −𝟎. 𝟎𝟎𝟏𝟒𝟕
𝛥𝜃3 = 𝛼. (−1). 𝛥3 = (0.1)(−1)(0.0381) = −𝟎. 𝟎𝟎𝟑𝟖𝟏
𝛥𝜃4 = 𝛼. (−1). 𝛥4 = (0.1)(−1)(−0.0147) = 𝟎. 𝟎𝟎𝟏𝟒𝟕
Calcul des nouveaux poids :
𝑊𝑖𝑗 (𝑡 + 1) = 𝑊𝑖𝑗 (𝑡) + ∆𝑊𝑖𝑗
𝑊13(𝑡 + 1) = 𝑊13(𝑡) + 𝛥𝑊13 = 0.5 + 0.00381 = 𝟎. 𝟓𝟎𝟑𝟖𝟏
𝑊14(𝑡 + 1) = 0.9 − 0.00147 = 𝟎. 𝟖𝟗𝟖𝟓𝟑
𝑊23(𝑡 + 1) = 0.4 + 0.00381 = 𝟎. 𝟒𝟎𝟑𝟖𝟏
𝑊24(𝑡 + 1) = 1 − 0.00147 = 𝟎. 𝟗𝟗𝟖𝟓𝟑
𝑊35(𝑡 + 1) = −1.2 − 0.0067 = −𝟏. 𝟐𝟎𝟔𝟕
𝑊45(𝑡 + 1) = 1.1 − 0.0112 = 1.0888
𝜃3 = 0.8 − 0.00381 = 𝟎. 𝟕𝟗𝟔𝟏𝟗
𝜃4 = −0.1 + 0.00147 = −𝟎. 𝟎𝟗𝟖𝟓𝟑

[Link] 21 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I
𝜃5 = 0.3 + 0.0127 = 𝟎. 𝟑𝟏𝟐𝟕
- Calcul de la nouvelle sortie :

𝑦3 = 𝜎(𝑥1. 𝑊13 + 𝑥2. 𝑊23 − 1. 𝜃3 ) = 𝜎(0.50381 + 0.40381 − 0.79619) = 𝟎. 𝟓𝟐𝟕𝟖


𝑦4 = 𝜎(𝑥1. 𝑊14 + 𝑥2. 𝑊24 − 1. 𝜃4 ) = 𝜎(0.89853 + 0.99853 + 0.09853) = 𝟎. 𝟖𝟖𝟎𝟑
𝑦5 = 𝜎(𝑦3. 𝑊35 + 𝑦4. 𝑊45 − 1. 𝜃5 ) = 𝜎(0.5278 ∗ −1.2067 + 0.8803 ∗ 1.0888 −
0.3127) = 𝟎. 𝟎𝟎𝟖𝟖𝟕
Donc:
𝑒 = 𝑦𝑑 − 𝑦𝑟 = 0 − 0.00887 = −𝟎. 𝟎𝟎𝟖𝟖𝟕→ de l’ordre de 10-3

II.7 Approximateurs universel

Mathématiquement, un approximateur universel est un modèle mathématique


qui peut être utilisé pour représenter toute fonction continue sur un intervalle donné.
Les réseaux de neurones artificiels (RNA) sont des exemples d'approximateurs
universels.

II.7.1 Le théorème d'approximation universelle

Le théorème d'approximation universelle des réseaux de neurones à une couche


cachée, démontré par le mathématicien polonais Tadeusz Cybenko en 1989 [16],
affirme qu'un réseau de neurones à une couche cachée contenant un nombre fini de
neurones peut approximativement représenter toute fonction continue sur un intervalle
donné.
Le théorème d'approximation universelle signifie que les réseaux de neurones
peuvent être utilisés pour une variété d'applications, telles que :
 Reconnaissance de formes : Les réseaux de neurones peuvent être utilisés
pour identifier des objets dans des images ou des vidéos. Par exemple, un réseau de
neurones peut être utilisé pour identifier des visages, des voitures ou des animaux.
 Traitement du langage naturel : Les réseaux de neurones peuvent être
utilisés pour comprendre et générer du langage naturel. Par exemple, un réseau de
neurones peut être utilisé pour traduire des langues, écrire des textes ou répondre aux
questions.
 Prévision : Les réseaux de neurones peuvent être utilisés pour prédire des
valeurs futures. Par exemple, un réseau de neurones peut être utilisé pour prédire le prix
des actions, la météo ou les résultats d'un match.

[Link] 22 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I

II.8 Identification des systèmes par les réseaux de neurones

L'identification des systèmes est un domaine de l'ingénierie qui vise à


développer des modèles mathématiques des systèmes réels. Ces modèles peuvent être
utilisés par la suite pour diverses applications, telles que la commande, la prévision, la
simulation et la conception. Vu que, les réseaux de neurones sont considérés comme
des approximateurs universels, l’identification des systèmes par réseaux de neurones a
fait l'objet de nombreux travaux de à cause de leur capacités d'apprentissages,
d'approximations et de généralisations [17, 18]. En effet, cette nouvelle approche
fournit une solution efficace à travers laquelle de larges classes des systèmes non
linéaires, complexes, a grand échelle peuvent être modélisés sans une description
mathématique précise.
Les réseaux de neurones sont utilisés dans une variété d'applications
d'identification des systèmes, notamment :
 L'identification des systèmes dynamiques : les réseaux de neurones peuvent
être utilisés pour modéliser le comportement dynamique de systèmes tels que les robots,
les avions et les systèmes de contrôle.
 L'identification des systèmes non linéaires : les réseaux de neurones sont
particulièrement bien adaptés à l'identification des systèmes non linéaires, qui sont
souvent difficiles à modéliser analytiquement.
 L'identification des systèmes à entrées multiples et à sorties multiples :
les réseaux de neurones peuvent être utilisés pour modéliser des systèmes avec
plusieurs entrées et sorties.

II.8.1 ETAPES D’IDENTIFICATION :

L’identification d’un processus consiste à développer un modèle qui reflet le


comportement réel de ce processus lorsqu’il est soumis aux mêmes entrées, avec une
erreur suffisamment acceptable, par rapport à un critère donné [18]. Généralement, le
développement de ce modèle est effectué en deux étapes :
La première étape consiste à déterminer la structure (architecture) ou la forme de
l’identificateur qui peut décrivant le mieux le comportement du processus.
La deuxième étape est l’estimation des paramètres et des coefficients qui constituent
l’identificateur.
En général, un système dynamique est décrit par des équations différentielles
s’il est à temps continu ou par des équations aux différences s’il est à temps discret.
[Link] 23 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I
Dans la pratique, il est rare qu’un système complexe puisse être entièrement décrit par
un modèle de connaissance. On a souvent recours aux modèles entrées-sortie de type «
boîtes noires », pour lesquels aucune connaissance sur le système n’est nécessaire, mais
des mesures sur les variables régissant le fonctionnement du système sont
indispensables et en quantité suffisante. Le problème de l’identification devient alors
un problème de régression non linéaire.
Dans la littérature, on trouve que la structure qui a la propriété d’approximateur
universel parcimonieux est les MLP possédant deux couches cachées avec des fonctions
d’activation sigmoïde et une couche de sortie ayant un neurone à fonction d’activation
linéaire [18]. Cependant, la principale difficulté reste la détermination du nombre de
neurones dans les couches cachées. Les réseaux MLP utilisent un mode d’apprentissage
supervisé. Dans ce mode d’apprentissage, un ensemble de données constitué des entrées
du système à modéliser et des sorties correspondantes est présenté au réseau qui doit
adapter ses paramètres suivant un algorithme d’apprentissage de façon à ce que l’erreur
entre la sortie du système et celle du modèle soit suffisamment faible.

II.8.1.1 Structure d’erreur de prédiction (série-parallèle) :

La structure générale d’identification série-parallèle d’un système non linéaire est


donnée par la Figure II.13 [19] [20]. Le modèle neuronal placé en parallèle avec le
système est un réseau statique dont le comportement entrée-sortie est décrit par
l’expression suivante :
𝑦̂(𝑘 + 1) = 𝑓̂[𝑥(𝑘)]
Avec [𝑥(𝑘)] est le vecteur d’entrée des réseaux, 𝑦̂(𝑘 + 1) sa sortie et 𝑓̂(. ) est une
approximation de 𝑓(. ).
L’entrée du réseau (modèle) est donnée par :
𝑥(𝑘) = [𝑦𝑠 (𝑘), 𝑦𝑠 (𝑘 − 1), … , 𝑦𝑠 (𝑘(𝑛 + 1)); 𝑢(𝑘), 𝑢(𝑘), … , 𝑢(𝑘(𝑚 + 1))]
L’ordre de complexité du système est déterminé par le nombre des valeurs
retardées prisent pour le calcul de la sortie actuel du système.
La valeur de l’erreur entre la sortie réelle du système 𝑦𝑠 et la sortie du modèle
neuronal 𝑦̂ est utilisée à travers un algorithme d’apprentissage pour ajuster les poids
des connexions du modèle

[Link] 24 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I

Figure II.13 structure série-parallèle


II.8.1.2 Structure d’erreur de sortie (parallèle) :

La structure générale d’identification parallèle d’un système est représentée par


la Figure II.14 [18]. Le modèle placé en parallèle avec le système est un réseau de
neurones dont la relation entrée-sortie est donnée par l’expression suivante :
𝑦̂(𝑘 + 1) = 𝑓̂[𝑥(𝑘)]

𝑥(𝑘) = [𝑦̂(𝑘), 𝑦̂(𝑘 − 1), … , 𝑦̂(𝑘(𝑛 + 1)); 𝑢(𝑘), 𝑢(𝑘), … , 𝑢(𝑘(𝑚 + 1))]
𝑥(𝑘) est le vecteur d’entrée du modèle neuronal.
Dans ce cas, la sortie courante 𝑦̂(𝑘) du modèle neuronal dépend des n valeurs
passées de sa sortie, au lieu des valeurs passées de la sortie du système dans le cas de
la structure précédente.

Figure II.14 structure parallèle

[Link] 25 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I
L’erreur entre la sortie du système et celle du modèle est utilisée à travers un
algorithme d’apprentissage pour ajuster les paramètres du modèle neuronal.
La structure série-parallèle est préférable par rapport à la structure parallèle, car
cette dernière connue des problèmes de convergence et de stabilité.

II.8.2 Procédure d’identification de systèmes par réseaux de neurones :

L’utilisation des réseaux de neurones pour l’identification des systèmes non


linéaires découle naturellement des aptitudes de ces derniers à l’approximation et la
généralisation (théorème d’approximateur universel). L’identification du modèle
dynamique d’un système suit généralement les étapes suivantes [20]:
Acquisition des données d’apprentissage et de test (validation) :
Cette étape consiste à la génération des données entrées/sorties du système à
identifier pour la construction un modèle significatif.
Choix de la structure du modèle :
La deuxième étape consiste à choisir l’architecture appropriée du modèle
capable de représenter la dynamique du système, la structure du réseau de neurones et
ses entrées. Les réseaux multicouches non bouclé (acyclique) sont les plus utilisés à
cause de la simplicité de leurs algorithmes d’apprentissage et leurs capacités à
l’approximation et à la généralisation. Dans la littérature, il n’existe pas de méthodes
exactes pour le choix de l’architecture du réseau de neurones en terme de nombre de
neurones sur chaque couche cachée ainsi que le nombre de ces dernières. Cependant,
selon le théorème d’approximateur universel, un réseau à une seule couche cachée est
dans la majorité des cas suffisant.
Estimation des paramètres du modèle :
L’étape qui suit le choix de la structure du modèle est estimation de ces
paramètres. Ces paramètres, les poids de connexions entres les neurones, sont ajustés
par un algorithme d’apprentissage de telle sorte à minimiser un critère de performance
préfixé.
Validation du modèle identifié :
Le modèle élaboré dans les étapes précédentes est mis en validation/test pour
évaluer sa capacité à reflet la dynamique réelle du système par d’autres données que
celles utilisées lors de l’apprentissage.

[Link] 26 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I

II.9 Commande par les réseaux de neurones

Commander un système consiste à construire un correcteur capable de forcer la


sortie d’un système à poursuivre un comportement désiré bien spécifié. La formulation
du "comportement désiré" dépend principalement de la tâche à résoudre, mais les
dynamiques du système, les actionneurs, l’équipement de mesure, etc., influencent,
également, cette formulation.
A un niveau élevé, il est d’usage de distinguer entre deux types de problèmes :

 Problèmes de régulation : le comportement désiré est, dans ce cas, de maintenir


la sortie du système à un niveau constant même en présence des perturbations ([Link].
contrôle de la température dans une pièce).

 Problèmes d’asservissement : le comportement désiré est de forcer la sortie à


suivre une trajectoire de référence ([Link]. commande d’un robot).

A un niveau secondaire, le comportement désiré doit être formulé de manière à


influencer le choix actuel de la méthode de conception :

 La boucle fermée du système, à savoir le régulateur et le système à commander,


doit suivre un modèle de fonction de transfert. Cette classe comprend des stratégies
bien connues comme le placement de pôles et la commande par modèle de
référence.

 Exprimer le comportement désiré en terme d’un critère quadratique et prendre le


régulateur pour minimiser ce critère, [Link]. les commandes à minimum de variance,
optimale et prédictive.

Il est à relever que dans un contexte non-linéaire les méthodes classiques sus-
citées s'avèrent peu performantes. Pour résoudre ce problème, on s'est penché, ces
dernières années, sur les schémas de commande basés sur les réseaux de neurones. Ces
schémas doivent être appliqués pour les systèmes invariables dans le temps. Ils ne
doivent être utilisés que lorsque le réseau aura convergé. Quand la dynamique du
système en boucle fermée est jugée satisfaisante, l’adaptation doit être arrêtée.

Il existe plusieurs approches de commande par réseaux de neurones :

Commande directe : Dans cette classe le régulateur est un réseau de neurones. Ceci
inclut les schémas de commande suivants :

 Commande par modèle inverse.

 Commande par modèle interne.

[Link] 27 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I
 Linéarisation en boucle fermée.

 Commande en boucle ouverte ave modèle inverse.

 Commande optimale.

Commande indirecte : Cette classe est toujours à base de modèles. L’idée est d’utiliser
un réseau de neurones pour modéliser le système à commander. Ce modèle est alors
utilisé dans une architecture de commande plus "conventionnel". Le modèle est entraîné
en avance, mais le régulateur est conçu en ligne. On peut citer comme exemples de
schémas de commande de ce type :

 Placement de pôles approximés, minimum de variance et la commande


prédictive.

 Commande prédictive non linéaire.

Dans ce qui suit, seulement quelques schémas de commande directe sont présentés.

II.9.3 Commande par modèle inverse (direct inverse control) :

Le principe de cette méthode consiste à faire l’apprentissage d’un réseau de


neurones qui modélise la fonction de transfert inverse du système et l’utiliser comme
correcteur.
Soit un système à commander représenter par :
𝑦(𝑡 + 1) = 𝑔[ 𝑦(𝑡) , … , 𝑦(𝑡 − 𝑛 + 1), 𝑢(𝑡), … 𝑢(𝑡 − 𝑚)]
Le réseau de neurones désiré doit générer la commande, u(t), suivante :

𝑢(𝑡) = [ 𝑦(𝑡 + 1), 𝑦(𝑡) , … , 𝑦(𝑡 − 𝑛 + 1), 𝑢(𝑡), … 𝑢(𝑡 − 𝑚)]

Pour commander le système avec ce correcteur il suffit de remplacer la sortie


𝑦(𝑡 + 1) par la référence connue 𝑟(𝑡 + 1). Ainsi si le réseau approxime bien l’inverse
de la fonction de transfert du système, la fonction de commande produite par lui va faire
tendre la sortie 𝑦(𝑡 + 1) vers la référence 𝑟(𝑡 + 1). Le principe de cette méthode, pour
un système du premier ordre, est illustré Figure II.15.

[Link] 28 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I

Figure II.15 Commande par modèle inverse

Pour établir le modèle inverse, deux techniques d’apprentissage seront


présentées : l’apprentissage général (méthode hors ligne) et l’apprentissage spécial (en
ligne).

II.9.3.1 Apprentissage général

Après avoir choisi la structure du réseau et les différentes mesures


entrées/sorties du réseau, un apprentissage hors ligne est effectué et qui consiste à
minimiser le critère suivant :

𝑁
𝑁)
1 𝑡
𝐽(𝜃, 𝑍 = ∑[𝑢(𝑡) − 𝑢̂ ( )]2
2𝑁 𝜃
𝑡=1

La caractéristique attrayante de cette méthode est qu’elle ne nécessite pas la


connaissance d’un modèle mais il suffit d’avoir un ensemble de données sur le système
réel.

II.9.3.2 Apprentissage spécial

Un des inconvénients de l’apprentissage général est que le critère à minimiser


repose sur le signal de commande.
En pratique, il a été constaté que même si les erreurs entre la commande réelle
et la sortie du réseau sont minimes, il n’est pas garanti que la sortie du système obtenue
à partir du signal de commande issu du réseau de neurones va poursuivre de façon
parfaite la référence. Pour remédier à cet inconvénient, il est préférable de minimiser le
critère suivant :

[Link] 29 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I

𝑁
𝑁)
1
𝐽(𝜃, 𝑍 = ∑[𝑟(𝑡) − 𝑦(𝑡)]2
2𝑁
𝑡=1

Où on est sûr de réaliser notre objectif qui est de minimiser l’erreur entre la
référence r(t) et la sortie du système y(t). Malheureusement, la minimisation de ce
critère n’est pas facile à obtenir. En s’inspirant des méthodes d’apprentissage vues
précédemment, l’apprentissage du réseau peut se faire de façon itérative. On aura alors
le critère suivant :

𝐽𝑡 (𝜃, 𝑍 𝑡 ) = 𝐽𝑡−1 (𝜃, 𝑍 𝑡−1 ) + [𝑟(𝑡) − 𝑦(𝑡)]2

Ceci est une approche en ligne et le schéma constitue donc un contrôleur


adaptatif. Il n’est pas évident de tirer un schéma d’apprentissage basé sur ce critère.
Pour rendre son implémentation possible, certaines suppositions sont nécessaires. En
guise d’introduction, nous considérerons la méthode récursive du Gradient. En
supposant que le critère 𝐽𝑡−1 a déjà été minimisé, les poids, à l’instant t, sont ajustés de
la manière suivante :

𝑑𝑒 2 (𝑡)
𝜃̂(𝑡) = 𝜃̂(𝑡 − 1) − 𝜇
𝑑𝜃

Où 𝑒(𝑡) = 𝑟(𝑡) – 𝑦(𝑡),

et

𝑑𝑦(𝑡)
On applique la règle en chaîne, le Gradient peut être calculé par :
𝑑𝜃

𝑑𝑦(𝑡) 𝑑𝑦(𝑡) 𝑑𝑢(𝑡 − 1)


=
𝑑𝜃 𝑑𝑢(𝑡 − 1) 𝑑𝜃
𝑛
𝑑𝑦(𝑡) 𝑑𝑦(𝑡) 𝑑𝑢(𝑡 − 1) 𝑑𝑢(𝑡 − 1)𝑑𝑦(𝑡 − 𝑖)
= [ +∑
𝑑𝜃 𝑑𝑢(𝑡 − 1) 𝑑𝜃 𝑑𝑦(𝑡 − 𝑖)𝑑𝜃
𝑖=1
𝑚
𝑑𝑢(𝑡 − 1)𝑑𝑢(𝑡 − 𝑖)
+∑ ]
𝑑𝑢(𝑡 − 𝑖)𝑑𝜃
𝑖=2

𝑑𝑦(𝑡)
Il est clair que les Jacobiens du système sont nécessaires.
𝑑𝑢(𝑡−1)

Malheureusement ils sont inconnus, puisque le système est, lui-même, inconnu. Pour

[Link] 30 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I
résoudre ce problème, on identifie le système à l’aide d’un modèle neuronal direct pour
obtenir les estimées des Jacobiens :

𝑑𝑦(𝑡) 𝑑𝑦̂(𝑡)

𝑑𝑢(𝑡 − 1) 𝑑𝑢(𝑡 − 1)

En supposant que l’erreur en sortie du correcteur est :

𝑑𝑦̂(𝑡)
𝑒𝑢 (𝑡) = 𝑒(𝑡)
𝑑𝑢(𝑡 − 1)

L’algorithme de l’apprentissage spécial peut être décrit par les étapes suivantes :

1. Lire les données 𝑦(𝑡) à partir d’un Convertisseur Analogique Numérique


(CAN).
2. Calculer l’erreur 𝑒(𝑡) = 𝑦𝑚 (𝑡) – 𝑦(𝑡).

𝐵 (𝑞 −1 )
𝑦𝑚 (𝑡) est la sortie d’un modèle de système en B.F. 𝑦𝑚 (𝑡) = 𝐴𝑚 (𝑞−1 ) 𝑟(𝑡) où
𝑚
les polynômes 𝐵𝑚 et 𝐴𝑚 sont choisis arbitrairement.

𝑑𝑦̂(𝑡)
3. Calculer l’erreur virtuelle 𝑒𝑢 (𝑡) = 𝑑𝑢(𝑡−1) 𝑒(𝑡) et actualiser les poids par la
rétropropagation (ou par la méthode de Gauss-Newton récursive).
4. Evaluer le modèle inverse pour calculer l’entrée de commande 𝑢(𝑡) et
l’appliquer au système.
5. Calculer la prédiction 𝑦̂(𝑡) et le Jacobien du modèle neuronal direct. Si la
méthode de Gauss-Newton est appliquée, déterminer aussi Ψ(𝑡 + 1).
6. Aller à l’étape 1.

Si le temps de retard de calcul est important comparé à la période


d’échantillonnage, il est recommandé de transférer la mise à jour dans l’étape 3 après
l’étape 4. De cette façon la mise à jour totale prend place entre le CAN et CNA.
Cette méthode étant en ligne ne donne pas forcement de bons résultats. En
pratique on doit ajuster plusieurs poids avec la méthode lente du Gradient et par
conséquent le système peut être entraîné au-delà de son point de fonctionnement avant
que les poids ne soient bien ajustés. Ceci peut amener à des conséquences fâcheuses.
Généralement on combine les deux apprentissages généraux et spéciaux pour
obtenir de meilleurs résultats.
Les caractéristiques majeures de la commande par modèle inverse sont :

[Link] 31 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I
Avantages :

 Simple à appliquer.
 Avec l’apprentissage spécialisé le contrôleur peut être optimisé pour une
trajectoire de référence bien spécifiée.
 Il est en principe évident d’appliquer un apprentissage spécialisé pour les
systèmes variant dans le temps.

Inconvénients :

 Ne s’applique pas pour les systèmes ayant des inverses instables. Ceci,
malheureusement, se produit qu’on on utilise une fréquence d’échantillonnage
élevée.
 Problèmes avec les systèmes qui ne sont pas bien amortis (les modèles linéarisés
localement présenteront des zéros près du cercle unité).
 Absence d’options de réglage.
 Très grande sensibilité aux perturbations.

II.9.4 Commande par modèle interne (Internal Model Control)

La commande par modèle interne est une variante de commande très liée à la
commande inverse directe. Il y a assez de conditions restrictives sur les caractéristiques
du système à commander ce qui limite de façon considérable l’application de cette
méthode.
Les limitations sont même plus restrictives que pour la commande inverse
directe. Cependant l’IMC possède certaines bonnes caractéristiques, [Link]. elle
compense des perturbations constantes.

II.9.4.1 Commande par modèle interne avec réseau de neurones :

Une loi de commande avec un modèle interne exige aussi bien un modèle direct
qu’un modèle inverse du système à commander. Ces deux modèles sont créés en suivant
les étapes montrées dans la partie de l’identification et dans la section précédente. Le
principe de l’IMC est reporté par la Figure II.16.

[Link] 32 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I

Figure II.16 Schéma de commande par modèle interne


La figure montre une perturbation additive, v, agissant sur la sortie du système.
Contrairement à la commande inverse, le retour n’est pas constitué directement par la
sortie du système, au lieu de ça, l’erreur entre la sortie du système et la sortie du modèle
est injectée en retour.
En supposant que le modèle soit parfait et qu’il n’y ait pas de perturbations
agissant sur le système, le signal de retour doit être nul. Le correcteur est alors alimenté
directement par la référence. Pour obtenir certains éclaircissements il est utile de
calculer différentes fonctions de transfert en boucle fermée sous des conditions
linéaires.
Soient 𝐹 , 𝐶 , 𝑃 et 𝑀 dans la figure (4.2) des fonctions de transfert avec
l’opérateur retard 𝑞 −1

𝑞 −𝑑 𝐹𝐶𝑃 1 − 𝑞 −𝑑 𝐹𝐶𝑃
𝑦(𝑡) = 𝑟(𝑡) + 𝑣(𝑡)
1 + 𝑞 −𝑑 𝐹𝐶(𝑃 − 𝑀) 1 + 𝑞 −𝑑 𝐹𝐶(𝑃 − 𝑀)

𝑞 −𝑑 𝐹𝐶𝑃
𝑦(𝑡) = 𝑣(𝑡) + [𝑟(𝑡) − 𝑣(𝑡)]
1 + 𝑞 −𝑑 𝐹𝐶(𝑃 − 𝑀)
𝐹𝐶
Et 𝑢(𝑡) = 1+𝑞−𝑑 𝐹𝐶(𝑃−𝑀) [𝑟(𝑡) − 𝑣(𝑡)]

Evidemment, une condition pour la stabilité globale du système en boucle


fermée est que le système à commander et son mode inverse soient les deux stables. Il
est clair que c’est une condition assez restrictive pour que le système soit stable en
boucle ouverte et la classe des systèmes où on peut utiliser l’IMC est assez limitée.

[Link] 33 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I
Sous des conditions idéales 𝑀 = 𝑃 et 𝐶 = 𝑃 −1. Les deux expressions de
𝐹
dessus sont réduites à : 𝑢(𝑡) = 𝑃 [𝑟(𝑡) − 𝑣(𝑡)]

𝑦(𝑡) = 𝑞 −𝑑 𝐹𝑟(𝑡) + [1 − 𝑞 −𝑑 𝐹]𝑣(𝑡)


Le filtre passe bas, F, a un impact évident sur le comportement du système en
boucle fermée. Cet impact agit aussi bien sur le comportement du modèle suiveur que
sur l’aptitude de rejet de la perturbation. Ainsi, il y a deux conditions sur le filtre :

1. Il doit être stable et un gain statique unitaire pour assurer la poursuite de la


référence.
2. Le numérateur de 1 − 𝑞 −1 𝐹 doit comporter comme facteur un
−1
polynôme 𝜑(𝑞 ) ayant la propriété :
𝜑(𝑞 −1 )𝑑(𝑡) = 0

En choisissant 𝐹 = 1 , un contrôleur apériodique est obtenu avec compensation


naturelle des perturbations constantes.

Ceci peut aussi être observé par la détermination du correcteur équivalent avec l’unité
en retour.

En opérant une coupure dans la branche menant au système à commander et en


calculant la fonction de transfert à partir de l’erreur entre la référence et la sortie du
modèle. L’entrée de commande donne :

𝐹𝐶 𝐹𝐶
𝐶𝑒 (𝑞 −1 ) = =
1 − 𝑞 −1 𝐹𝐶𝑀 1 − 𝑞 −1 𝐹

Il est clair qu’en choisissant 𝐹 = 1, l’action Intégrale est obtenue si le temps de retard
est 𝑑 = 1.

II.9.5 Linéarisation en boucle fermée (FeedBack Linearisation) :

II.9.5.1 Principe de base de la linéarisation en boucle fermée :

Elle est généralement discutée dans un contexte continu qui sera d'ailleurs notre
point de départ. L’hypothèse fondamentale faite sur le système est que son modèle doit
être écrit dans la forme Canonique :

[Link] 34 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I
𝑥̇ 1 (𝑡) 𝑥2 (𝑡)
𝑥̇ 2 (𝑡) 𝑥3 (𝑡)
. .
𝑥̇ (𝑡) = =
. .
. .
[𝑥̇ 𝑛 (𝑡)] [𝑓̃[𝑥(𝑡)] + 𝑔̃[𝑥(𝑡)]𝑢(𝑡)]
Où 𝑓̃ et 𝑔̃ sont des fonctions d’état non linéaires, t est maintenant le temps réel
et non un multiple de la période d’échantillonnage.
Le système peut être linéarisé en introduisant la commande suivante :

𝑤(𝑡)−𝑓̃ [𝑥(𝑡)]
𝑢(𝑡) = où 𝑔̃[𝑥(𝑡)] ≠ 0 (4.15)
𝑔̃[𝑥(𝑡)]

Si on a une connaissance complète sur les états, ou sur les mesures ou encore à
partir d’un observateur, un schéma de type placement de pôles est facilement réalisable.
Un choix de l’entrée de commande virtuelle w, comme référence avec une combinaison
linéaire des états donne un système en boucle fermée représenté par :
𝑥̇ 1 (𝑡) 0
𝑥̇ 2 (𝑡) 0 1 0 0 0

. 0 0 1 0 .
𝑥̇ (𝑡) = =[ ⋮ ⋱ ⋮ ] 𝑥(𝑡) + . 𝑟(𝑡)
.
. −𝑎 0 −𝑎1 … −𝑎𝑛−1 .
[𝑥̇ 𝑛 (𝑡)] [1]

𝑦(𝑡) = [1 0 . . . 0]𝑥(𝑡)

𝑓̃[𝑥(𝑡)] + 𝑔̃[𝑥(𝑡)]𝑢(𝑡)

1
Qui correspond à la fonction de transfert 𝐻𝐵𝐹 = 𝑠𝑛 +𝑎 𝑛−1 +⋯+𝑎
𝑛−1 𝑠 0

𝑛−1
Les coefficients {𝑎𝑖 } 𝑖=0 vont spécifier le polynôme caractéristique, c.-à-d. les
pôles du système en boucle fermée. La relation avec la commande avec placement de
pôles est alors évidente.
La discrétisation des systèmes non linéaires est une action assez compliquée du
moins si elle est réalisée par des approximations imparfaites. On suppose que le système
peut être modélisé par :

𝑦(𝑡) = 𝑓[ 𝑦(𝑡 – 1), … , 𝑦(𝑡 − 𝑛), 𝑢(𝑡 − 2), … , 𝑢(𝑡 − 𝑚)] + 𝑔[𝑦(𝑡 − 1), … 𝑦(𝑡 −
𝑛), 𝑢(𝑡 − 2), … 𝑢(𝑡 − 𝑚)]𝑢(𝑡 − 1) (4.18)

[Link] 35 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I
Ce qui est équivalent à

𝑥̇ 1 (𝑡 + 1) 𝑥2 (𝑡 + 1)
𝑥̇ 2 (𝑡 + 1) 𝑥3 (𝑡 + 1)
. .
𝑥̇ (𝑡 + 1) = =
. .
. .
[𝑥̇ 𝑛 (𝑡 + 1)] [𝑓[. ] + 𝑔[. ]𝑢(𝑡)]
𝑦(𝑡) = 𝑥𝑛 (𝑡)
En supposant que les fonctions f et g sont connues, l’introduction de la
commande suivante pourra linéariser le système aux instants d’échantillonnage :

𝑤(𝑡) − 𝑓[ 𝑦(𝑡 ), 𝑦(𝑡 − 𝑛 + 1), 𝑢(𝑡 − 1), … , 𝑢(𝑡 − 𝑚 + 1)]


𝑢(𝑡) =
𝑔[𝑦(𝑡), … 𝑦(𝑡 − 𝑛 + 1), 𝑢(𝑡 − 1), … 𝑢(𝑡 − 𝑚 + 1)]

Le choix de l’entrée de commande virtuelle, w comme référence plus une


combinaison linéaire appropriée à des sorties passées permet encore de faire un
placement de pôles arbitraire en boucle fermée.

II.9.5.2 Linéarisation en boucle fermée utilisant des modèles de RN :

Dans le cas, où le système est inconnu, un modèle peut être obtenu à partir de
données en plaçant deux réseaux de neurones séparés qui approximent les fonctions
𝑓 et 𝑔.

𝑦̂(𝑡/𝜃) = 𝑓̂[ 𝑦(𝑡 – 1), … , 𝑦(𝑡 − 𝑛), 𝑢(𝑡 − 2), … , 𝑢(𝑡 − 𝑚), 𝜃𝑓 ] + 𝑔̂[𝑦(𝑡 −
1), … 𝑦(𝑡 − 𝑛), 𝑢(𝑡 − 2), … 𝑢(𝑡 − 𝑚), 𝜃𝑔 ]𝑢(𝑡 − 1)

Le système en boucle fermée comprenant le contrôleur et le système est illustré Figure


II.17.

[Link] 36 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I

Figure II.17 Schéma de commande en boucle fermée

Figure II.18 Linéarisation discrète entrée-sortie avec réseaux de neurones


L’obtention d’une méthode d’apprentissage pour la détermination des poids
dans les deux réseaux utilisés pour l’approximation de f et g est directe. On détermine
d’abord la dérivée, de chaque sortie du réseau, par rapport aux poids :

𝜕𝑓̂
Ψ𝑓 (𝑡, 𝜃𝑓 ) =
𝜕𝜃𝑓

𝜕𝑔̂
Ψ𝑔 (𝑡, 𝜃𝑔 ) =
𝜕𝜃𝑔

Ces dérivées sont calculées de la même manière comme pour les modèles
NNARX. La dérivée de la sortie du modèle est alors :

𝑡
𝜕𝑦̂(𝜃) Ψ𝑓 (𝑡, 𝜃𝑓 )
Ψ(𝑡, 𝜃) = =[ ]
𝜕𝜃 Ψ𝑔 (𝑡, 𝜃𝑔 )𝑢(𝑡 − 1)

II.9.6 Commande en boucle ouverte (feed forword control) :

Les schémas de commande, vus dans les sections précédentes, sont tous basés
sur le principe du retour. Les principales raisons pour l’utilisation d’un retour sont la
stabilisation des systèmes instables et la réduction de l’influence des perturbations et
incertitudes de modélisation.

[Link] 37 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I
L’utilisation du retour pour assurer au système une bonne poursuite aux
variations de la référence n’est pas toujours une bonne issue. Une poursuite rapide de
la référence obtenue en boucle fermée présente généralement l’inconvénient du
correcteur qui devient sensible aux bruits.
Pour réaliser une poursuite satisfaisante de la référence sans retour il est
conseillé d’utiliser une commande en boucle ouverte gouvernée seulement par la
référence. La commande est alors composée de deux parties :

1. Une partie en boucle ouverte utilisée pour améliorer le problème de poursuite


2. Une partie en boucle fermée utilisée pour stabiliser le système et supprimer les
effets des perturbations.

Entrée de commande = UB.O + UB.F

II.9.6.1 Commande en B.O. optimisant un système existant

La plupart des systèmes industriels sont commandés aujourd’hui par des P.I.D.
Pour améliorer les performances du P.I.D on pourrait lui ajouter un correcteur basé sur
un réseau de neurones en boucle ouverte.
Il y a plusieurs manières d’implémenter le correcteur en boucle ouverte.
L’approche la plus évidente est d’utiliser un réseau dynamique en boucle ouverte qui
est un modèle inverse comme celui présenté dans la section (II).

Mais cette fois-ci on remplace les sorties du système par les valeurs correspondantes de
la référence.

𝑈𝐵𝑂 = 𝑔̂[𝑟(𝑡 + 𝑑), … , 𝑟(𝑡 + 𝑑 − 𝑛), 𝑈𝐵𝑂 (𝑡 − 1), … , 𝑈𝐵𝑂 (𝑡 − 𝑚 + 1)]

Le principe de ce schéma de commande est présenté par la Figure II.19

[Link] 38 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I

Figure II.19 Schéma de commande par boucle ouverte


Si le modèle inverse est stable, l’introduction d’un correcteur en boucle ouverte
ne changera pas les propriétés de stabilité du système en boucle fermée. Il demeure
néanmoins difficile de savoir si le système est stable ou non.
Dans le cas où la trajectoire complète de la référence est connue d’avance,
l’implémentation du schéma est particulièrement facile. Il est alors possible de calculer
d’avance la contribution du correcteur en boucle fermée et d'enregistrer la séquence
entière des entrées de commande {𝑢𝑓𝑓 } pour son utilisation dans le programme de
calcul implémenté dans le système de commande.
Le concept a des caractéristiques très avantageuses pour l’aspect pratique
puisque on suppose qu’un correcteur stabilisateur est disponible à l’avance.
L’expérience menant à collecter un ensemble de données d’apprentissage est facilement
réalisable.
Un autre avantage est qu’on peut introduire le signal de boucle directe
graduellement dans des applications où une commande non appropriée peut causer des
dégâts, c’est une stratégie confortable.

II.10 VI. Conclusion


Commander un processus, c’est l’obliger à adopter un comportement donné, en
dépit des perturbations. Les commandes sont délivrées par un contrôleur dont la
synthèse a fait l’objet de ce chapitre. En effet plusieurs méthodes basées sur les réseaux
de neurones ont été abordées durant cette partie notamment la commande inverse, la
commande interne, la commande en boucle ouverte et en boucle fermée. Nous relevons

[Link] 39 [Link]@[Link]
École Supérieure en Génie Électrique et Énergétique d'Oran (ESGEE)
Commande avancée : chapitre I
de cette présentation que ces méthodes se prêtent bien à la réalisation de la commande
des modèles non linéaires, car ils peuvent approcher avec une précision arbitraire le
comportement de n’importe quel système statique ou dynamique.

[Link] 40 [Link]@[Link]

Vous aimerez peut-être aussi