Académique Documents
Professionnel Documents
Culture Documents
1. Introduction
Le cerveau est capable d’apprendre et de réaliser des raisonnements complexes est
constitué d’un très grand nombre de neurones ( (environs 10^15) reliés entre eux (10^13 et
10^14) connexion par neurones)
L’intelligence artificielle vise à imiter le fonctionnement du cerveau humain, ou du moins
sa logique lorsqu’il s’agit de prendre des décisions, parmi les techniques utilisées on compte
les réseaux de neurones artificiels, que leur fonctionnent est basé sur divers algorithmes
que reposent sur « deep Learning » ,ainsi que d’autre technologies comme la
reconnaissance d’image où la vision robotique .
On applique Les réseaux de neurones pour contrôler les système non linaires, parmi ses
systèmes le pendule inversé qui est un pendule simple, cependant la masse est située en
l’air. Le pendule présente une position d’équilibre instable que l’on cherche à stabiliser
Le pendule inversé a toujours été utilisé pour tester les nouvelles méthodes de commande,
Cet intérêt est dû au fait que le problème de la commande du pendule inversé est
fondamental car il possède plusieurs caractéristiques attrayantes : c’est un système
Non linéaire, intrinsèquement instable et il possède plusieurs implications pratiques.
La commande d’un réseau neuronal consiste à faire l’entrainement d’un contrôleur neuronal
qui revient à trouver une meilleure manière pour l’ajustement des poids
2. Historique
En premier lieu, il a donc été question de comprendre le mécanisme opérant dans le cerveau
humain. En 1881, l’anatomiste allemand Heinrich Wilhelm Waldeyer établit la théorie selon
laquelle le système nerveux est constitué d’une multitude de cellules assurant le traitement
des signaux. Il propose alors un nom pour ces éléments : « neurones ».
Des années plus tard, l’étude du système nerveux quitte le champ purement biologique. En
effet, en 1943, deux scientifiques américains, Warren McCulloch et Walter Pitts, proposent
le modèle du « neurone formel ». Aujourd’hui encore, cette notion demeure fondamentale.
[1]
3. Neurone biologique :
Un neurone biologique reçoit des entrées ou signaux transmis par d’autres neurones
(interaction dendrites- synapse). Au niveau du corps (soma), le neurone analyse et traite ces
signaux en les sommant. Si le résultat obtenu est supérieur au seuil d’activation (ou
d'excitabilité), il envoie une décharge alors nommé potentiel d'action le long de son axone
vers d'autres neurones biologiques.
p. 1
Commande neuronale d’un pendule inversé
6. Réseaux neuronaux :
Les réseaux de neurones permettent la résolution des problèmes complexes tels que la
reconnaissance des formes ou le traitement de langage naturel grâce à la justement des
coefficients de pondération dans une phase d’apprentissage
L’objectif général d’un RNA est de trouver la configuration des poids de synaptiques entre
neurones pour qu’il associe à chaque configuration d’entrée, une réponse adéquate.
L’utilisation d’un RNA se fait en deux temps. Tout d’abord une phase d’apprentissage qui est
chargée d’établir des valeurs pour chacune des connexions du réseau, puis une phase
d’utilisation proprement dite, où l’on présente au réseau une entrée et où il nous indique en
retour « sa » sortie calculée.
Dans le cas du PMC,MLP on utilise un apprentissage supervisé. Les valeurs des poids
synaptique sont créées tout d’abord au hasard et le système cherche par itérations
p. 2
Commande neuronale d’un pendule inversé
successives à obtenir une modélisation des données. A chaque étape, une entrée est
présentée au réseau, il propage ces valeurs vers les neurones de sortie. Cette sortie calculée
est comparée avec la réponse attendue et le système modifie les poids en conséquence.
Cette altération des connexions est obtenue par l’algorithme de rétropropagation du
gradient d’erreur. Ce calcul est chargé de rétro-propager dans le réseau les erreurs
constatées sur les sorties. En théorie, on ne peut jamais être sûr que cet algorithme finisse
par déterminer un ensemble de poids convenable pour tous les couples d’entrées-sorties. En
pratique, on ne construit pas un seul RNA, mais plusieurs modèles en jouant sur les
paramètres de cet algorithme, et en cherchant à obtenir un modèle qui colle au mieux aux
données.[4]
Dans le cas où son apprentissage est non supervisé, le réseau doit trouver par lui même les
régularités sous-jacentes des données.Dans notre étude on a utilisé RN de type MLP qui est :
Le perceptron Multi Couches PMC ou MLP (Multi Layer Perceptron) en anglais est une
Extension du perceptron monocouche, avec une ou plusieurs couches cachées entre l'entrée
et la sortie. L'idée principale est de grouper des neurones dans une couche. En place ensuite
bout à bout plusieurs couches et on connecte complètement les neurones de deux couches
adjacentes(fig4), Les entrées des neurones de la deuxième couche sont donc en fait les
sorties des neurones de la première couche. Les neurones de la première couche sont reliés
au monde extérieur et reçoivent tous le même vecteur d'entrée. Ils calculent alors leurs
sorties qui sont transmises aux neurones de la deuxième couche, etc. Les sorties des
neurones de la dernière couche forment la sortie du réseau.
Fig 4 : Structure d’un réseau neuronal multi- couches (MLP) avec équation de réseau
N l−1
sl , j=∑ wl , j ,i . ul−1 ,i (5)
i=0
8. L’apprentissage :[5]
Toute l’information que peut contenir un réseau neuronal réside dans les poids synaptiques.
L’apprentissage consiste donc à ajuster ces derniers de telle façon qu’il puisse générer
correctement la sortie correspondante à chaque point de l’espace d’entrée. Ainsi,
l’apprentissage peut être défini comme tout changement dans la matrice de poids :
apprentissage ≡ dW/dt.
On distingue 3 types d’apprentissage :
a) Apprentissage supervisé : un professeur fournit au réseau des couples de données
(entrée, sorite désirée correspondante). Les paramètres du réseau sont ajustés de
manière à minimiser une certaine norme de l’erreur de sortie constituée par la
différence entre la sortie réelle du réseau et la valeur désirée correspondante
(fournie par le professeur).
b) Apprentissage par renforcement : est une approche utilisée dans les problèmes de
planification à travers le temps. Elle utilise deux réseaux : un réseau d’action et un
réseau d’évaluation qui joue le rôle d’un superviseur et qui génère un signal
d’avertissement à chaque fois que les actions prises sont mauvaises. Ce signal sert à
entraîner le réseau d’action. Les poids du réseau d’évaluation sont altérés dans le
sens de renforcer les bonnes actions et de sanctionner les mauvaises.
c) Apprentissage non supervisé : en absence de tout professeur, le réseau organise lui-
même les formes d’entrée en classes de façon à minimiser un critère de
performances. Ceci peut être fait, par exemple, en désignant un certain nombre de
neurones gagnants dans une compétition d’activation ou en désignant un certain
nombre de bassins d’attraction dans l’espace d’état.
p. 4
Commande neuronale d’un pendule inversé
∂ ul , j ∂ f ( sl , j ) ∂ s l , j
|
¿k
∂ wl , j ,i , ∂ s l , j ∂ wl , j ,i , |=f ( ¿ s l , j )˙.ul −1 , j ¿(10)
¿∑ (11)
∂u l , j m=1 ∂ ul +1, m ∂ u l, j
∂ jn d
∂u l , j
|¿ ul , j ( k )−ul , j ( k )|=e l , j ( k ) . (13)
où eL , j (k) est l’erreur sur la sortie du jème neurone dans la couche L. Par analogie, les
sensibilités ∂JN/ ∂ul,j exprimées par (1-15), qui correspondent aux noeuds des couches
cachées, sont désignées par les erreurs équivalentes. On se permet alors de noter ∂JN/ ∂ul,j
= el,j et d’arranger les éléments correspondant à chaque couche l, dans un vecteur El =[
el,1 , el,2 ,…, el,1 , ] appelé vecteur d’erreur. Avec cette notation et en substituant (1-16)
dans (1-15), on écrit :
n
∂ jn l+ 1
∂ ul , j ( k )∗1 2
∂ wl , j ,i ,
=gl j ,i ( k )=el , j
2
[ 1−ul , j ( k ) ]∗u l−1, j ( k ) . ( 15)
Pour chaque couche l, les éléments gl , j, i forment une matrice gradient Glcorrespondant à
la matrice de poids Wl . Au début du processus d'entraînement, les poids sont initialisés à
des valeurs aléatoires
[7]
Fig 5 :structure d’identification série-parallèle
F mc
p. 6
Commande neuronale d’un pendule inversé
Par la suite l’apprentissage de réseau neurone identifier consiste à ajuster les informations
qu’il puisse générer les calculs d’erreur d’identificateur et rétropropagation puis on calcule
des indices gradient et adaptation poids. à la fin des itération de fonctionnement de ce
système on obtiens les résultats finaux .
p. 7
Commande neuronale d’un pendule inversé
Début
Condition
d’arrêt
Géneration aléatoire de
De l’entrée (f)
Rétropropagation (RP)
p. 8
Commande neuronale d’un pendule inversé
Visualisation des
résultats Calcul des indices gradient et
adaptation des poids
Fin
6
position of teta N , teta and error (rads)
−1
−2
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
iteration at K stops at K= 5000
On remarque que l’écart entre les deux sorties est faible « presque négligeable »,les
deux courbes sont superposées donc cette structure série-parallèle assure la
convergence .l’erreur e teta = 0.3462 ; e tetaN= 6.5753
Cela justifié que le système converge et les résultats illustrés par les figures ci-dessus,
on peut dire que le réseau neuronal a donné un bon résultat cela démontre
l’efficacité de ce dernier dans l’identification de ce système.
p. 9
Commande neuronale d’un pendule inversé
[8]
Fig 6: structure de l’apprentissage spécialiser
p. 10
Commande neuronale d’un pendule inversé
Début
Condition
d’arrêt
Générer
(θ , θ̇)
Condition
d’arrêt
Calcul RP de
contrôleur
p. 11
fin
Au début on rajoute un réseau de neurone contrôleur pour le système qu’on a déjà identifié :
On connecte le RNC aux système en série ou le système reçoit comme entrer la force F
générer a partir de la sortie de RNC ( rétropropagation )puis on connecte le système aux
résultat RNI Pour obtenir une architecture série parallèle , de là on calcul la sortie de position
du système puis on prend l’erreur l’une certaine manière de la faire passer par RNI on
applique la rétropropagation , l’objectif c’est d'assigner le crédit pour chaque poids
synaptique dans le réseau et de corriger sa valeur .l’application de RP effectue ceci en
propageant les erreurs de l’espace d’entrer vers l’espace de sortie
Pour la réalisation de programme on initialise les Initialisation des poids synaptique (choix de nombre
de neurone pour chaque couche )
On utilise 2 condition (boucle)(1er c’est la boucle générale la 2eme en sous-programme ) d’arrêt dans
l’enchaînement de programme
Puis on rajoute une 2eme condition pour calculer la RP de contrôleur en suite pour générer
la force on utilise une condition (sous-programme). Ainsi on calcul la sortie du système avec
Calcul de sortie de RNI, fin de cette boucle .
Puis en Calculant par étapes l’erreur RNI et RP, l’erreur RNC et RP, des matrices gradient et
adaptation poids pour contrôleur fin de boucle
p. 12
Commande neuronale d’un pendule inversé
40
30
20
10
force (F)
−10
−20
−30
−40
−50
0 200 400 600 800 1000 1200
nombre d’essai
Commentaire :
L’application de RNC sur ce système ce dernier il converge et les résultats illustrés par
les figures ci-dessus, on peut dire que le réseau neuronal contrôleur a donné un très
bon résultat cela démontre l’efficacité de ce dernier dans la commande de ce système
de ce système.
p. 13
Commande neuronale d’un pendule inversé
14.Conclusion
Cette expérience consiste à effectuer un essai de présentation d’une possibilité d’étudier ou
d’appliquer la commande par réseau de neurone artificielles, sur les systèmes non linaires,
notre système impliqué sur l’étude (la résolution) de la stabilité d’un pendule inversé en
utilisant les réseaux de neurone artificiel, on utilise l’identification et la commande
(contrôleur) de ce dernier.
Notre étude consiste a utilisé les réseaux de neurones multi couche MLP, la réalisation se fait
en appliquant les propriétés d’apprentissage, la propagation directe, rétropropagation,
procédure gardaient adapte -poids.
Donc ce travail consiste sur la généralité de RN et MLP, puis la démonstration de
l’algorithme d’apprentissage (mathématiquement) et présenter le pendule inversé, et on a
montré la présentation de l’étude de système en utilisant l’identification par RNI et par la
suite la commande par RNC et ainsi on a présenté les résultats de la simulation. A la fin on a
réussi a convergé le système et avoir sa stabilisation.
p. 14
Commande neuronale d’un pendule inversé
p. 15