next up previous contents
suivant: Conclusion monter: Problème de navigation d'un précédent: Protocole expérimental   Table des matières

Résultats

Nous allons d'abord donner les résultats d'apprentissage de l'algorithme CbL. Le comparatif avec la méthode du Q-Learning est de même nature que pour le problème précédent. Nous le mentionnerons en fin d'analyse.
L'apprentissage est effectué dans l'environnement donné par la figure 2.13. Nous montrerons par la suite les capacités du robot à se mouvoir dans un autre environnement.
Intéressons-nous tout d'abord à l'apprentissage de la tâche $ T_{1}$. Les 100 apprentissages grâce à l'algorithme CbL se sont tous terminés par un succès, obtenu après un nombre d'essais variant entre 35 et 42. La figure 2.14 résume les résultats pour un de ces 100 apprentissages. Le graphe (a) montre l'évolution de la durée de viabilité suivant le nombre d'essais effectués. Il apparaît que la durée de viabilité augmente essentiellement aux moments où on explore de nouveaux états du systèmes (graphe (c)). Dans ce cas, le nombre maximal de sommets du graphe est $ 64+3\times 64+1=257$ [*]. On s'aperçoit que ce nombre est quasiment atteint à la fin de l'apprentissage, ce qui signifie que l'exploration de l'espace de perception a été presque totale (graphe (b)). Enfin, l'apprentissage de $ T_{2}$ a demandé entre 25 et 33 essais.
À titre de comparaison, les résultats obtenus avec la méthode du Q-Learning mettent en évidence un temps d'apprentissage environ 7 fois plus important que pour CbL: il faut en moyenne 182 essais pour achever $ T_{1}$ et 304 essais pour achever $ T_{2}$.
Lorsque les quatre agents ont subi un apprentissage, on les utilise au sein de l'algorithme d'atteinte d'objectif 2.4 (voir la page [*]). Le résultat visuel du comportement du robot est donné par la figure 2.13.

Figure: Comportement de recherche d'objectif avec évitement d'obstacles de Khepera.
\includegraphics[]{fig/fusion2.eps}

Figure: Résultats d'apprentissage concernant l'agent $ T_{1}$.
\includegraphics[]{fig/res1bis.eps}
Commentaires:
Le graphe (a) montre l'évolution du nombre d'itérations viables suivant les essais, pour un apprentissage réussi, qui se termine au bout de 42 essais (500.000 itérations consécutives viables). Le graphe (b) présente, pour cet apprentissage, l'évolution du nombre d'états parcourus par le système au cours des essais. Enfin ,le graphe (c) met en évidence la relation qui existe entre la découverte de nouveaux états et l'augmentation de la durée de viabilité. La droite correspond à la meilleure modélisation de cette relation, suivant le critère des moindres carrées, par une fonction de la forme exp(ax+b), avec x le nombre d'états explorés du graphe, ``a'' étant la pente de la droite et ``b'' sa position à l'origine.

Comment évolue le comportement du robot au cours de l'apprentissage ? Nous avons constaté que le robot commence par suivre les murs au plus près. Or, cette stratégie ne garantit pas une sécurité totale dans tous les cas: en effet, les capteurs du robot peuvent ne pas rendre compte d'une petite aspérité au niveau d'un mur (figure 2.15), car il existe des zones ``aveugles''. Ces expériences ``malheureuses'' vont conduire le robot à suivre le mur d'un peu plus loin, en créant autour de lui une zone de sécurité assez importante pour éviter ces situations pour lesquelles la qualité de sa perception ne lui permet pas de garantir d'une manière certaine un parcours sans collision. Bien entendu, cet éloignement est régulé par la contrainte de ne pas trop s'éloigner d'un mur. Donc, le robot doit trouver, si cela est possible, un compromis entre ces deux contraintes et c'est ce qu'il arrive à faire.

Figure: Cas d'échec amenant le robot à s'éloigner du mur.
\includegraphics[]{fig/asperite.eps}

Le comportement du robot à un moment donné est donc en cohérence avec l'ensemble de ses expériences passées: l'ajout d'un nouveau cas particulier peut provoquer un changement de comportement très net (par la découverte d'une transition dans le graphe d'état d'une CbMU). La fréquence d'apparition de ces cas n'a aucune influence sur le résultat final, puisque la contrainte d'équilibre ne pousse le système à modifier les marquages des états qu'au premier cas rencontré: cela se traduit par l'ajout d'une connexion dans le graphe perceptif, qui peut engendrer une rupture de la cohérence induite par cette contrainte.
Le changement d'environnement ne pose pas de problème (figure 2.16). Dans chacun des cas, le robot Khepera finit par respecter l'intégralité de ses contraintes à chaque pas de temps. En effet, l'idée sous-tendant l'algorithme est que l'apprentissage consiste à intégrer une série de cas particuliers dans un ensemble gardant toujours sa cohérence en fonction de contraintes particulières. Le traitement d'un nouveau cas est effectué dès son apparition (ajout d'une nouvelle connexion dans le graphe perceptif) et peut produire un changement de la qualité de certains états du graphe perceptif. Lorsque ce cas se représentera, aucune modification des qualités ne se reproduira plus (pas d'ajout de connexion, celle-ci existant déjà).

Figure: Nouvel environnement présenté au robot.
\includegraphics[]{fig/fusion.eps}

Dans ce contexte, lorsque le robot est placé dans un nouvel environnement, un apprentissage a lieu si cet environnement comporte des cas perceptifs jamais rencontrés auparavant (exploration de nouveaux états ou découverte de nouvelles connexions entre des états déjà explorés). Il est important de noter que l'ajout d'un nouveau cas ne provoque pas l'oubli des cas déjà rencontrés: ainsi, si on replace le robot dans un ancien environnement, le robot sera toujours capable de remplir ses contraintes, mais il le fera peut-être d'une manière plus ``prudente''.
On peut utiliser plusieurs environnements pour faire face plus rapidement à l'ensemble des situations perceptives. L'idée est alors de ``provoquer'' la découverte rapide des transitions du graphe d'états, ce qui permet d'accélérer la convergence de l'algorithme CbL. Pour cela, nous construisons un ensemble d'environnements possédant chacun une particularité perceptive (angle aigu, couloir étroit, etc.). Nous connaissons les capacités d'incrémentalité de l'algorithme CbL et nous pouvons les utiliser pour construire un ensemble de ``leçons'' à l'élève Khepera. Par exemple:
  1. suivi d'un mur continu convexe (figure 2.17 (a))
  2. suivi d'un mur continu quelconque (figure 2.17 (b))
  3. suivi d'un mur dans un environnement possédant des portes (figure 2.17 (c))
  4. suivi d'un mur dans un environnement possédant des couloirs (figure 2.17 (d))
  5. suivi d'un mur possédant de petites aspérités (figure 2.17 (e))
  6. suivi d'un mur possédant de grandes aspérités, pouvant ressembler à des portes ou à des couloirs (figure 2.17 (f))
Cette technique permet de se ``concentrer'' sur un type de perception donné afin d'exercer spécifiquement le robot. Dans notre cas de figure, cela n'a pas permis de réduire le nombre d'essais nécessaires à la réussite de l'apprentissage, car celui-ci est déjà très bas. Par contre, dans des cas plus complexes, cette stratégie permet de placer rapidement le robot dans une situation particulière, même si celle-ci est peu fréquente dans un environnement ``moyen''. Si cette situation n'est pas maîtrisée, le robot échoue donc après un temps court. La durée de la leçon va représenter le temps qu'il faut pour résoudre la difficulté spécifique.

Figure: Exercices de difficulté progressive proposés au robot.
\includegraphics[]{fig/ecole.eps}

Enfin, il nous semble important d'effectuer une remarque concernant l'algorithme de haut niveau 2.4. Cette remarque porte sur l'utilisation d'une séquence de commandes apprises pour discriminer des catégories perceptives [*] (c'est précisément l'un des enjeux de l'AP). L'algorithme de haut niveau spécifie le choix parmi trois contextes différents (aller à l'objectif, suivre le mur sur la droite, suivre le mur sur la gauche) en fonction du positionnement du robot par rapport à son environnement: ``si le robot peut aller sur sa gauche'' signifie ``le robot a-t-il la place de se déplacer sur sa gauche sans se cogner''. Or, la réponse à cette question est donnée par l'expérience de la contrainte ``ne pas se cogner'', qui est apprise. La décision entre les trois contextes peut donc s'effectuer finement si le robot a acquis la capacité de se déplacer (sans objectif précis) sans se cogner dans son environnement. Nous voyons donc ici une illustration de l'apprentissage à deux niveaux, pour lequel l'apprentissage de bas niveau (navigation sans chocs) sert à un choix de plus haut niveau (atteindre un objectif précis). Nous avons signalé que le robot commençait par suivre un mur de très près, puis s'en éloignait après des expériences ``malheureuses''. En conséquence, sa notion de ``Je peux aller sur ma gauche sans choc'' évolue également, puisque son espace de sécurité augmente. Donc la prise de décision d'un contexte va être modifiée, non pas par l'apprentissage de cette décision en elle-même, mais par un apprentissage de bas niveau. Celui-ci correspond à un apprentissage perceptif élémentaire.
next up previous contents
suivant: Conclusion monter: Problème de navigation d'un précédent: Protocole expérimental   Table des matières
2002-03-01