Commande neuronale d’un pendule inversé 1. Introduction Le cerveau est capable

Commande neuronale d’un pendule inversé 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. fig1 : Représentation schématique d’un neurone biologique. p. 1 Commande neuronale d’un pendule inversé 4. Model de réseau (formel) : Fig2 : Bloc-diagramme du modèle d’un neurone formel. [2] 5. Fonction d’activation : [3] Plusieurs fonctions d’activation peuvent être utilisées. on utilise cette la fonction sigmoïde Plus connue et plus populaire. L’un de ses avantages est sa dérivabilité. 1) Fonction sigmoïde : f(s)=tanh(gs )= 1−e −gs 1+g −s (3) Dérivée : ˙ f (s )=df (s) ds =1/2¿ (4) Fig 3 :sigmoïde bipolaire 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 : 7. Réseaux Neuronaux Multi- couches : Les problèmes rencontrés avec les réseaux à couche unique, ont poussé les chercheur à développer d’autres réseaux. 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 sl, j=∑ i=0 Nl−1 wl, j ,i.ul−1,i (5) ul, j=f (sl, j) (6) f(.) : fonction d'activation wl,j,i : poids qui relie le ième neurone dans la couche(l-1) au jème neurone dans la couche l. Sl,j : somme pondérée à l’entrée du jème neurone dans la couche l. ul,j : sortie du jème neurone dans la couche l. Nl : nombre de neurones de la couches l. L : nombre de couches dans la réseau. La couche-0 correspond aux noeuds d’entrée p. 3 Commande neuronale d’un pendule inversé 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. 9. Algorithme de la Rétro- Propagation (RP) : [6] Formulation Mathématique de l'Algorithme : On suppose que l’apprentissage se fait à chaque itération et on exprime les variables mises jeux en fonction de l’indice d’itération (k) jn (k )=1/2∑ j=1 nl [ul, j(k )−ul, j d (k )] 2 (7) JN (k) : valeur du critère d’erreur à l’instant k. ul, j(k ): j ème sortie du réseau à l’instant k. ul , j d : Valeur désirée correspondante ul, j(k ). Les paramètres du réseau sont ajustés itérativement suivant la règle du gradient comme suit : wl, j,i (k+1)=wl, j,i (k )−μ ∂jn ∂wl, j, i|w (k) (8) où μ est le taux d'apprentissage. Pour un poids arbitraire dans la couche l, le gradient ∂jn ∂wl, j ,i peut être exprimé par la règle de chaînage ∂jn ∂wl, j,i,|¿ ∂jn∂ul, j ∂ul, j∂wl , j,i| (9) p. 4 Commande neuronale d’un pendule inversé Le deuxième terme dans (1-12) peut être exprimé par : ∂ul, j ∂wl, j,i,|¿k ∂f (sl, j)∂sl, j ∂sl, j∂wl, j,i,|= ˙ f (¿sl, j).ul−1, j¿(10) Le premier terme correspond à la dérivée de la fonction d’activation qu’on peut être exprimée par la dérivée totale : ˙ f (¿sl, j)= ∂f (sl, j) ∂sl, j ¿= d f (sl, j) d sl, j . Le premier terme, ∂JN/∂ul,j , dans l’expression du gradient (9) exprime la sensibilité du critère JN à la sortie uploads/Ingenierie_Lourd/ commande-neuronal.pdf

  • 48
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager