Systèmes Multi-Robot & Apprentissage


Introduction

Nous avons présenté différentes techniques d'apprentissage possédant chacune leurs propres spécifications : les réseaux de neurones peuvent apprendre à mimer des fonctions mathématiques à partir d'une base d'exemples, l'apprentissage par renforcement permet d'apprendre des stratégies sans intervention extérieure, ni même d'exemples, enfin les algorithmes évolutionnistes peuvent faire évoluer des comportements afin d'en améliorer les performances. Cependant ces travaux sur l'apprentissage n'étaient pas toujours appliqués à la robotique ;de plus les premiers travaux appliqués à la robotique, étaient simulées sur un ordinateur. Rapidement, des différences notables entre le monde simulé et l'environnement réel ont empêché une transposition exacte des résultats simulés vers de véritables plates-formes. C'est pour cette raison que la nécessité d'expérimenter les méthodes proposées sur de véritables robots mobiles s'est faite ressentir. Parmi les contraintes imposée : les temps d'apprentissage doivent être inférieurs aux temps de décharge des accus, les méthodes doivent être robustes vis-à-vis des pannes, de la décharge des batteries et du bruit, qu'il s'agisse aussi bien de celui des capteurs, que celui des actionneurs. Ainsi un algorithme d'apprentissage compétent dans sa version simulée pourra être totalement incompétent dans sa version réelle. On peut citer l'exemple d'un robot chargé d'une tâche d'exploration, dont l'algorithme rétribue l'action suivant la distance parcourue sans rencontrer d'obstacle. La version simulée sur ordinateur se montre très performante alors que dans le cas pratique, le robot ne fait que tourner sur lui-même, la distance étant calculée par le nombre de tours de roue l'algorithme récompense cette action pensant que le robot parcourt une grande distance sans rencontrer d'obstacle.


Apprentissages et Applications

Comme nous l'avons vu, de nombreux algorithmes d'apprentissage automatique existent, chacun de ces algorithmes a été utilisé pour faire des réalisations dans le domaine de la robotique ou de la robotique collective. Ces algorithmes d'apprentissage peuvent être pris séparément mais nous verrons qu'ils peuvent aussi être combinés afin d'optimiser les différentes phases de l'apprentissage.

L'apprentissage par renforcement a pour objectif de maximiser la performance du système en renforçant les meilleures actions. Mais si on se base sur une suite d'actions, quelle action récompenser.

Différentes applications se basent sur l'apprentissage par renforcement :

Exploitation d'une mine

Cette application consiste à trouver une ou plusieurs mine(s) et à rapporter le minerai à la base. C'est l'une des applications les plus courantes. Les principaux intérêts de cette tâche résident dans le fait que l'environnement n'est pas connu à l'avance, que les robots sont obligés de faire des allers-retours entre la base et la source. Le chemin emprunté par un robot chargé de minerais est renforcé afin qu'il soit préférentiellement suivit par les robots à la recherche de mines. Cet algorithme rejoint le fonctionnement des colonies de fourmis. Ces dernières déposent des phéromones sur les pistes quelles suivent, la route la plus rapide sera d'autant plus renforcée. En effet cet algorithme garantit que la route la plus rapide sera toujours choisie à partir d'un certain nombre de cycles. C'est logique, plus la route est rapide moins les agents mettent de temps et plus il y a d'agents empruntant cette route plus la route est "renforcée".


Exploration et recherche dans un labyrinthe

Cette application consiste à trouver un objet dans un labyrinthe simple. Les actions et choix du robot seront récompensés suivant sa capacité à trouver l'objet. Ce problème se rapproche du problème du jeu du morpion, qui ne recevait une récompense qu'à la fin d'une partie, une récompense intermédiaire ne pouvant être calculée. Ainsi dans ce cas, l'agent reçoit une récompense positive si il trouve l'objet et négative dans le cas contraire. Afin d'optimiser la recherche dans les cas futurs, la récompense peut être pondérée par un facteur temporel (expérience réalisée par un groupe d'étudiants de l'université Mc Gill à Montréal).





Les algorithmes évolutionnistes sont inspirés de l'étude du vivant et plus précisément de l'évolution darwinienne. Le principe général consiste à disposer d'une population d'individus possédant chacun une chaîne chromosomique dans laquelle est codé son comportement.

Les algorithmes évolutionnistes semblent particulièrement bien indiqués pour l'apprentissage des systèmes multi agents. En premier lieu, il faut disposer d'une population d'individus, ce qui est le cas dans tout système multi-robots. Ensuite, la possibilité de coder toutes sortes de comportements dans la chaîne chromosomique ouvre un grand nombre de possibilités.
Un exemple d'application utilisant l'apprentissage par algorithmes évolutionnistes :

L'exploration d'un environnement par un système multi-robot (Université de Montpellier - 2003)

Le problème posé dans ce type d'application est que les robots doivent évoluer dans un environnement inconnu en s'évitant et en évitant les obstacles qu'ils peuvent rencontrer. Il ne s'agit pas de réaliser une carte mais de définir des comportements permettant aux robots de se déplacer en toute sécurité dans l'environnement. L'objectif de l'apprentissage est d'associer à chaque état la meilleure action et d'associer une récompense à l'action la mieux appropriée. Cet apprentissage est de type supervisé mais il est distribué sur la population de robots. Chaque robot possède une chaîne chromosomique qui est une concaténation de N mots {0,1} dans le sous-espace M. N est le nombre d'entrées et M le nombre de sorties. Les générations de robots vont évoluer selon les transformations de ces chaînes embarquées sous l'action des opérateurs génétiques.

Nous recherchons une estimation autonome de la performance, ainsi une capacité d'autoévaluation locale de la performance est attribuée à chaque individu qui n'est jamais conscient de la performance globale de l'ensemble de la population.

Dans le problème d'exploration étudié ici, la récompense instantanée est calculée comme étant la distance signée parcourue durant un pas élémentaire. De fait, la récompense courante associée à la stratégie en cours (liée à la chaîne chromosomique) est la distance moyenne parcourue depuis l'initialisation ou depuis le dernier changement dans la chaîne chromosomique par croisement ou mutation. Une telle récompense pénalise les trajectoires non rectilignes. Dans le cas des mutations, ces dernières sont en général réalisées de façons aléatoires.

Dans le cas présent, des règles autorisant une mutation ont été mise en place :

  1. Les agents n'ont pas réalisé de mutation récemment
    Cette condition garantit que l'agent dispose de suffisamment de temps pour estimer correctement sa performance.
  2. La performance de l'agent est faible
    La probabilité de mutation d'un agent est une fonction de l'estimation courante de la performance. Cela permet de garantir que les stratégies les plus mauvaises ont davantage de chances de muter, contrairement aux bonnes stratégies qui, elles ont une faible probabilité (non nulle, ce qui leur permet de s'extraire des minimums locaux).

Pour ce qui est des croisements, la plupart des solutions existantes font généralement appel à une communication globale entre les agents. De cette façon, l'approche traditionnelle est utilisée : la sélection est réalisée sur l'ensemble de la population. Afin de contourner les problèmes liés à cette approche, la solution proposée ici est basée sur des communications locales. De cette façon, un couple de robots se rencontrant peut ainsi réaliser des croisements. Il résultera de ces croisements deux nouveaux individus.
Les conditions formelles sont les suivantes :

  1. La distance inter-robots est faible.
    Cette condition est nécessaire pour garantir les communications entre les robots.
  2. deux robots n'ont pas récemment réalisé de mutations ou de croisements.
    Cette condition évite qu'un robot ne change sa chaîne chromosomique avant d'avoir complètement évalué sa stratégie courante durant une durée suffisante.
    Quand les croisements sont réalisables, les agents i et j disposent de deux nouvelles chaînes chromosomiques selon la probabilité donnée par l'équation suivante :

Pendant un cycle sensori-moteur élémentaire, chaque agent met à jour son état courant et continue de réaliser des mutations et des croisements (si cela est possible). Les simulations ont été utilisées pour étudier l'influence de chaque paramètre sur le système, en commençant par le délai de mutation. Si celui-ci est trop court, les mutations sont réalisées fréquemment, l'espace d'état est rapidement exploré, mais les estimations sont erronées. Au contraire, lorsque le délai est long, les estimations sont excellentes, mais l'exploration de l'espace d'état est longue. Le délai entre deux croisements a également été étudié: les conclusions sont proches de celles des mutations. Si le délai est trop court, les agents vont constamment réaliser des croisements avec le même congénère. Au contraire, si ce délai est long, l'exploration de l'espace d'état est fastidieuse.

Comparaison de Performances

Nous avons vu différentes formes d'apprentissage automatique et certaines applications possibles. Il existe beaucoup trop d'applications de la robotique et des systèmes multi-robot pour que nous les décrivions tous ici. Nous allons cependant faire un comparatif de performances entre les différentes méthodes d'apprentissage vu dans ce document pour une tâche d'exploration d'un territoire inconnu.

Apprentissage par Renforcement.

La courbe continue montre les performances d'un Q-Learning classique, et la courbe en pointillés les performances modifiées grâce à l'apport d'un réseau de neurones modélisant la matrice Q. On constate que le Q-Learning dispose de caractéristiques relativement mauvaises sur l'ensemble des critères à l'exception l'optimalité. En effet, la convergence a été prouvée pour les systèmes déterministes. L'ajout d'un réseau de neurones augmente globalement les performances : la méthode s'applique dorénavant au domaine continu. La convergence est plus rapide car le réseau interpole les points non visités. La taille des données est diminuée car il ne reste que les poids synaptiques à mémoriser.










Algorithmes Génétiques.

On distingue que les algorithmes génétiques proposent des performances moyennes sur l'ensemble des critères avec toutefois un point faible : la lenteur de convergence et un point fort: la faible taille des données mémorisées.
Pour résumer chaque algorithme d'apprentissage automatique possède ses forces et ses faiblesses, ainsi les réseaux de neurones demandent des exemples pour pouvoir fonctionner, ils sont incapables de générer d'eux-mêmes une stratégie permettant de résoudre un problème ou un conflit. Si l'apprentissage par renforcement permet d'apprendre sans exemple une stratégie optimale, cette technique demande de discrétiser l'univers en états et actions échantillonnés. Or, une quantité importante de données doit pouvoir être stockée, ce qui peut alors être disproportionné au regard des capacités de stockage actuelles. Enfin, si les algorithmes évolutionnistes semblent bien appropriés à notre problématique, il n'en reste pas moins que c'est une technique supervisée. Le point faible réside dans le rassemblement des séquences génétiques pour pouvoir réaliser les croisements et les mutations.
Ainsi, on doit bien étudier les exigences du problème qu'on se pose, aussi bien matérielles que fonctionnelles, avant de choisir la politique d'apprentissage à appliquer au système.


Conclusion

Les algorithmes d'apprentissage multi agents sont toujours utilisés sous une forme non supervisé au niveau global. Il s'agit en fait de laisser évoluer dynamiquement le système multi agents jusqu'à ce que celui ci atteigne un point fixe, un point d'équilibre. L'état du système alors obtenu constitue, la solution du problème, le modèle recherché.
L'intérêt principal des systèmes multi agents dans les algorithmes d'apprentissage tient essentiellement au fait que pour certains types de problèmes, le fait de distribuer entre plusieurs agents la résolution, rend celle-ci nettement plus accessible que si un seul agent devait le traiter d'un seul bloc. Pour certains problèmes, comme la recherche de modèles de coordination entre agents pour effectuer collectivement certaines tâches, un apprentissage centralisé paraît totalement exclu, l'apprentissage multi agents est dans des cas comme celui-ci absolument nécessaire.

Références

Coupe robotique - systèmes multi robots
Problème de recherche dans un labyrinthe simple
L'approche Animats
La robotique collective
Planification multi-agent pour la robotique
Application de la robotique collective
Robotique Collective