Elaboration d'un système de contrôle par autoapprentissage basé sur les techniques neuronales

par Jérémy Pinguet

Projet de thèse en Automatique

Sous la direction de Guillaume Sandou et de Philippe Feyel.

Thèses en préparation à Paris Saclay , dans le cadre de École doctorale Sciences et technologies de l'information et de la communication (Orsay, Essonne ; 2015-....) , en partenariat avec L2S - Laboratoire des signaux et systèmes (laboratoire) , Systèmes (equipe de recherche) et de CentraleSupélec (2015-....) (établissement de préparation de la thèse) depuis le 01-11-2018 .


  • Résumé

    Nous proposons, dans cette thèse, d'entrainer un contrôleur sur des macro-comportements ou macro décisions régis par des règles. La complexité des règles et des processus à piloter guident vers l'emploi de contrôleurs type réseaux de neurones pour leur propriété d'approximation universelle. Lorsque ces règles sont directement formalisables mathématiquement alors le travail est une simple extension neuronale de travaux déjà réalisés au sein de SED sur l'apprentissage de contrôleurs linéaire par méta-heuristiques. Cependant lorsque cette formalisation mathématique est trop complexe, une alternative est de pouvoir disposer de ces macro décisions dans une base de données où on connait pour un état du système donné et pour certaines conditions extérieures l'action réalisée par un opérateur (un pilote, un conducteur, un régulateur, etc.) et, dans ce cas, ce sont ces décisions qui traduisent de fait indirectement les règles. On propose alors d'entrainer directement le contrôleur neuronal sur cette base de données ; ceci passe par l'examen de plusieurs volets techniques fondamentaux liés à cet apprentissage tels que l'optimisation structurelle du contrôleur neuronal, la définition de l'algorithme d'apprentissage associée à la prise en compte a priori des contraintes complexes telles que la stabilité de la boucle résultante. Les travaux seront appliqués à l'autoapprentissage de pilotage automatique et autonome d'aéronefs. Travaux proposés dans la thèse : On souhaite dans cette thèse entrainer le contrôleur sur des macro-comportements ou macro décisions régis par des règles. Dans ce cas, on peut imaginer : - Soit de résoudre un problème inverse, c'est-à-dire retrouver une spécification numérique de haut niveau à partir de cette base de données ce qui nous ramène in fine alors à l'apprentissage d'un contrôleur sur une spécification mathématique donnée. Si la forme de la spécification est connue (ainsi seules les valeurs des bornes sont inconnues), on peut rechercher la spécification sous la forme d'un méta-modèle (par exemple un réseau de neurones) [11]. Notons qu'un travail intermédiaire serait de retrouver cette spécification sous la forme (plus conservative) de filtres de pondérations pour des méthodes de commande robuste [21]. - Soit d'entrainer le contrôleur recherché directement sur cette base de données ; cette action d'apprentissage s'inscrit donc dans la continuité des travaux déjà réalisés, avec un unique critère mathématique qui est l'erreur d'entrainement ou d'apprentissage ; en général, on ne prend pas en compte explicitement de critère de stabilité ni du contrôleur ni de la boucle résultante (c'est clairement un axe de travail voir plus bas), hypothèse qu'il faut vérifier donc à postériori (en effet, ce n'est pas parce qu'on entraine un contrôleur sur un objet stabilisant comme dans [14] que ce contrôleur est de facto stabilisant). Dans la thèse proposée ici, nous proposons d'entrainer un correcteur sur une base de données et d'aborder ainsi les deux approches précédentes. Notons que ces deux approches peuvent nécessiter (notamment pour la prise en compte du critère de stabilité globale) au préalable l'apprentissage du système à piloter. Par exemple dans [19], on entraine au préalable un modèle de type NN d'hélicoptère à partir d'une base de données de vol provenant d'un UAV dans le but in fine de construire un pilotage automatique. Comme application immédiate, on trouve ainsi les pilotages d'engins autonomes. En effet, pour un véhicule terrestre, le conducteur joue le rôle de régulateur intelligent qui obéit à des règles et des contraintes contenues dans le code de la route. Ainsi si on suppose pouvoir enregistrer toutes les actions et réactions du conducteur lors de la conduite vis-à-vis de l'environnement extérieur et de l'état du véhicule, on peut employer cette base de données pour l'apprentissage d'un contrôleur NN autonome visant à assister ou remplacer le conducteur sur certaine manœuvres. Une application très similaire est la mise en œuvre de pilotage automatique d'avion basé NN. Dans ce cas, si on dispose d'une base de données de vol contenant l'état de l'art du vol mais aussi les modes dégradés (pannes moteurs, etc), on pourra entrainer un NN sur cette base pour : - Piloter l'avion autour de son centre de gravité (maintien de l'incidence en fonction des turbulences, vol stationnaire, … tout ceci pour différents points de fonctionnement de vol etc) - Guider l'avion suivant une trajectoire définie Cette base de données de vol peut être construite à partir d'un simulateur de vol open source type FlightGear, déjà éprouvé et validé pour des applications du même genre dans le monde de la recherche. Orientation et volets techniques proposés La particularité de l'apprentissage envisagé est qu'il nécessite une grosse base de données décrivant les actions réalisées en fonction des états du système. Dans la mesure où l'apprentissage porte sur des macrodécisions complexes appliquées à des systèmes complexes, l'emploi de NN complexes (taille > 1 couche) en guise de contrôleur s'avère judicieux car cela permet d'éviter toute simplification lors du processus d'apprentissage (en effet, on l'attaque de manière frontale en utilisant les propriétés d'approximation universelle du NN). Cependant, même si dans le principe l'apprentissage neuronal est un concept simple à intégrer, plusieurs problèmes impactant directement la qualité de l'apprentissage (et donc des performances in fine du contrôleur NN) doivent être investigués (voir section 'méthodes').

  • Titre traduit

    Design of a control system by an autolearning approach based on neural techniques


  • Résumé

    We propose in this thesis to train a controller from high level behaviors or high level decisions based on some rules. The complexity of rules and process to drive leads to the use of neural based controlers, thanks to their property of universal approximation. When these rules can be directly and mathematically formulated, the design is a simple neural extension of former works by SED based on linear controllers training by metaheuristics. However, when this mathemtical formulation is too difficult, an alternative approach is to start from a data basis of high level decisions where the system state is given for some operating conditions as well as exogeneous actions realized by the user (a pilot, a driver, a controller, etc). In that case, these dexisions are an indirect translation of these rules. In such a framework, we propose to directly train the neural controller with that data basis. This will be done through the investigation of several fundamental aspects linked to this training, regarding for instance the structural optimization of the neural controller or the a priori consideration of complex constraints such as the stability of the obtained control loop. The obtained results will be applied to the autonomous spacecraft problem.