• Aucun résultat trouvé

2.3.1 Imitation d’un contrôleur existant

La première méthode utilisée pour la conception d’un contrôleur neuronal consiste simplement à imiter un système de commande existant. Même si cette approche semble, au premier abord, peut intéressante puisqu’elle nécessite l’existence d’un autre contrô- leur. Elle peut s’avérer utile si ce dernier est trop complexe ou présente des difficultés d’implémentation matérielle.

2.3. RÉSEAUX DE NEURONES POUR LA COMMANDE 39

La figure 2.7 présente l’architecture générale de ce type de commande. L’erreur ec

entre la sortie du système de commande et celle du réseau est utilisée directement par l’algorithme de rétropropagation pour ajuster les poids de connexion du contrôleur neu- ronal.

Bien que les premières applications de cette approche remontent déjà à plusieurs années, il existe néanmoins des travaux récents qui exploitent cette approche.

2.3.2 Utilisation directe de l’erreur en sortie du procédé

Dans cette méthode, le réseau neuronal utilise l’erreur e, mesurée en sortie du pro- cessus, pour adapter ses paramètres en ligne. Plusieurs stratégies sont possibles. La plus simple consiste à utiliser directement cette erreur comme s’il s’agissait de l’erreur ec,

en sortie du contrôleur. Cette approche ne peut donner de bons résultats que si ces deux erreurs sont fortement corrélées. La méthode la plus utilisée consiste à considérer le pro- cessus comme une couche supplémentaire du réseau à travers laquelle on rétropropage l’erreur.

FIG. 2.8 – Apprentissage spécialisé

Pour pouvoir utiliser cette stratégie, il est nécessaire de connaitre le Jacobien du pro- cessus, c’est-à-dire la quantité ∂y

∂u. Il est alors possible d’utiliser l’algorithme de rétropro-

pagation en considérant que le processus est une extension fixe du réseau. Le calcul du gradient du critère d’optimisation J (J = f (e)) par rapport aux poids du réseau se fait en appliquant la règle: ∂J ∂p = ∂J ∂y × ∂y ∂u × ∂u ∂p (2.19)

Le terme ∂J

∂y dépend du critère d’optimisation choisi, ∂y

∂u est le Jacobien du processus

et ∂u

∂p est obtenu par l’algorithme de rétropropagation du gradient. Comme l’obtention

du Jacobien ∂y

∂u est souvent difficile, Psaltis (Psaltis et al., 1988) propose de l’approxi-

mer par une méthode basée sur la perturbation des entrées, alors que Saerens (Saerens et Soquet, 1991) le remplace par celui d’un système linéaire approchant le procédé pour lequel on déduit aisément le Jacobien. Il est également possible de n’utiliser que le signe du Jacobien, plus facile à connaître que le Jacobien lui-même.

2.3.3 Identification du modèle inverse

Cette approche s’exécute en deux étapes séparées : étape d’apprentissage et étape d’utilisation. Durant l’apprentissage, le réseau est entraîné par rétropropagation de ma- nière à identifier le modèle inverse du procédé. Comme l’indique la figure 2.9, le réseau se place en parallèle avec le procédé, il reçoit par ses entrées la sortie actuelle y(t) du procédé et fournit en sortie ˆu(t) une estimation de la commande u(t). Le but de l’appren-

tissage est l’ajustement des paramètres du réseau afin de produire en sortie une commande

ˆ

u(t) proche de u(t). Après cette phase, le réseau se place devant le procédé afin de fournir

à chaque instant la commande u(t) nécessaire pour atteindre la sortie désirée y∗(t) qui lui

est donnée en entrée.

FIG. 2.9 – Commande neuronale par identification du modèle inverse

La méthode présente un inconvénient majeur lié à l’étape d’apprentissage: le mo- dèle appris ne garantit pas forcément la réalisation correcte d’un comportement désiré du

2.3. RÉSEAUX DE NEURONES POUR LA COMMANDE 41

moment que tous les états désirés possibles, non pas nécessairement, été rencontrés lors de l’apprentissage. Une autre difficulté apparaît quand le modèle inverse du processus est mal conditionné (i.e. il existe plusieurs commandes correspondant à un comportement dé- siré). Les algorithmes d’apprentissage supervisés réagissent généralement à ce problème par une commande égale à la moyenne des solutions admissibles rencontrées, ce qui peut être catastrophique dans certains cas. Cette approche a cependant, été utilisée avec succès par de nombreux auteurs.

2.3.4 Architecture indirecte d’apprentissage

Cette méthode, proposée par Psaltis (Psaltis et al., 1987), correspond à une mise en œuvre particulière de la commande par modèle inverse, dans laquelle, le modèle neuronal en cours d’apprentissage, sert aussi à commander le processus. La sortie désirée y∗(t) est

propagée à travers le premier réseau neuronal pour produire une commande u1(t) qui est

appliquée au système. La sortie y(t) obtenue est alors utilisée comme entrée du deuxième réseau (identique au premier réseau) qui produit une commande u2(t). La différence entre u1(t) et u2(t) sert de signal d’erreur ec(t) afin d’assurer l’apprentissage des paramètres

des réseaux par rétropropagation. Le point positif de l’approche est que l’entraînement est réalisé dans l’espace objectif, permettant ainsi de faire parcourir au processus l’en- semble de ses états possibles, ou tout au moins l’ensemble des états qui seront utilisés lors du fonctionnement. Néanmoins, l’idée exploitée par cette approche (la minimisation de l’erreur commise sur la commande entraîne la minimisation de l’erreur en sortie du processus) n’est pas souvent juste, ce qui rend l’approche peu utilisable.

2.3.5 Apprentissage indirect du système de commande

Cette méthode diffère des approches présentées précédemment par l’usage d’un mo- dèle neuronal du procédé dans la structure de commande présentée par la figure 2.11. La méthode nécessite, donc au préalable, une étape de modélisation du procédé par un réseau de neurones. On cherche ainsi à obtenir, par un réseau neuronal, une bonne approximation de la sortie du procédé y(t) lorsqu’une commande u(t) lui est appliquée.

Le principe de l’approche est alors, puisque l’on dispose d’un modèle différenciable du procédé, d’utiliser l’algorithme de rétropropagation en considérant le contrôleur et le mo- dèle comme un seul réseau. L’erreur est propagée à travers le modèle sans modifier ses poids, et seuls ceux du réseau contrôleur subissent une mise à jour. On peut alors se ra- mener au cas de l’équation 3.19 en faisant l’approximation

∂y ∂u =

∂ ˆy

∂u (2.20)

FIG. 2.11 – Architecture de commande indirecte

Contrairement à la méthode basée sur l’identification du modèle inverse présentée précédemment, où le système de commande tend, pour amener le procédé dans un état désiré, à moyenner l’ensemble des solutions possibles, cette architecture conduit à sélec- tionner une solution particulière (Jordan, 1992). On aura remarqué que cette architecture de base n’utilise pas la sortie du modèle neuronal du procédé. Lorsque cela est nécessaire, il est cependant possible d’utiliser cette sortie pour réaliser une adaptation en ligne du mo- dèle du procédé. On se trouve alors avec un diagramme typique de commande adaptative