Sunteți pe pagina 1din 235

Universit Paris-Sud XI e

Approches volutionnaires pour la e robotique modulaire et anticipatoire


` THESE
Dfendue le 29 septembre 2005 e pour obtenir le titre de

Docteur en Sciences de lUniversit Paris-Sud - Paris XI e


(spcialit Informatique) e e par

Nicolas Godzik

Composition du jury Prsident : e Rapporteurs : Examinateurs : Directeur :

Jean-Sylvain Linard, Directeur de Recherche CNRS, LIMSI e Cyril Fonlupt, Professeur, Universit du Littoral e Gilles Venturini, Professeur, Universit de Tours e Mich`le Sebag, Directeur de Recherche CNRS, LRI e Olivier Sigaud, Professeur, Universit Paris 6 e Marc Schoenauer, Directeur de Recherche INRIA Futur

Laboratoire de Recherche en Informatique (LRI)

Rsum e e
Larchitecture de subsomption de Brooks base sur la modularit et sur une hirarchie e e e de comportements savra tre un grand pas vers les applications relles apr`s lchec e e e e e relatif des mthodes classiques. Cependant, linconvnient de cette mthode rside dans e e e e le fait que tout est mis en place par un concepteur humain, et plus la tche du robot est a ardue, plus la conception des modules ncessaires lest aussi. e Dautre part, la robotique volutionnaire, qui optimise par volution articielle des e e contrleurs neuronaux (poids et ventuellement architecture), est une approche bo noire o e te par rapport aux comportements, mais requiert la dnition dune (ou plusieurs) fonction e objectif dont la complexit va elle aussi cro avec la dicult de la tche demande au e tre e a e robot. Lapproche des contrleurs symboliques et des superviseurs propose dans cette o e th`se tente dtablir un compromis entre les deux prcdentes. Les sorties ne sont plus e e e e des ordres moteurs lmentaires mais des comportements plus volus (comme aller tout ee e e droit, tourner ` gauche, ...). Le choix peut galement tre eectu avec une librairie a e e e de comportements de plus haut niveau (comme explorer, aller vers la lumi`re, ...). e Cette approche a t valide exprimentalement dans une exprience dexploration, ou ee e e e bien encore de recharge dnergie. e Le second axe de recherche de cette th`se sintresse ` lapprentissage dans le cadre de e e a la robotique volutionnaire. Le baldwinisme qui consiste ` modier le gnotype pendant la e a e vie du robot (pendant lvaluation des individus), mais qui reste sans consquence sur le e e gnotype lui-mme pour la suite de lvolution articielle, est tudi ici ` travers diverses e e e e e a expriences. e Les rseaux dits auto-teaching, qui permettent au robot de modier son comportee ment durant sa vie en sappuyant sur un rseau mod`le lui aussi obtenu par volution, e e e sont tudis ici avec attention. Des dfauts patents de ses proprits de gnralisation ont e e e ee e e t mis en vidence. ee e Une architecture baptise Action, Anticipation, Adaptation (AAA) a t cre pour e e e ee tenter de pallier ces dfauts. Cette architecture neuronale a donc trois tches ` remplir : e a a laction (contrler les moteurs du robot), lanticipation (base sur les perceptions du robot o e mais galement sur ses actions moteurs) et ladaptation (base sur la dirence entre les e e e sensations prdites au temps t et les sensations rellement observes au temps t+1). Les e e e erreurs sur la prdiction des futures sensations du robot sont utilises pour modier en e e ligne les poids du contrleur. o Lanalyse dtaille de cette architecture dune part a montr des capacits de gnralisation e e e e e e plus robustes que celles des rseaux auto-teaching, et dautre part a mis en vidence e e

quelques capacits dadaptation. e Mots-cls: Robotique autonome, algorithmes volutionnaires, contrleurs neuronaux, roe e o botique volutionnaire, mcanisme danticipation, superviseur symbolique e e

Abstract
In this thesis, we propose some original approaches to autonomous robotics that are somehow intermediate between Brooks subsumption architecture and the pure blackbox Evolutionary Robotics approach. Both those approaches badly scale up with the complexity of the task of the robot. The symbolic controllers use some user-dened high level behaviors as output of the controller (e.g. move forward, turn left, ...). The supervisors simply choose one behavior from a library of possible behaviors, that can either be user-dened or be the result of previous evolutions (e.g. explore, go to the light, ...). This approach has been validated on a homing experiment with battery recharge. Finally, we studied the coupling between evolution and life-time learning for the robot. The auto-teaching architecture, proposed by Nol and Parisi, has been thoroughly tested, and some clear defects of its generalization properties have been demonstrated. The AAA architecture (Action, Anticipation, Adaptation) was designed to remedy those defects : It has some additional outputs that are predictions of the sensor values at next time step ; it uses the errors made by this anticipatory part, when compared to its actual sensor values, to on-line modify the weights of the controller. Some promising results have been obtained after tuning some parameters of the model, even though some longterm weakness still remains. In particular, this architecture showed some small adaptation capabilities. Keywords: Autonomous robotics, Evolutionnary algorithm, neural network controller, evolutionnary robotics, anticipation, symbolic supervisor

Remerciements
Je tiens ` remercier chaleureusement tout dabord mon Directeur de Th`se, Marc a e Schoenauer, avec qui jai pu dcouvrir le monde de la recherche. Son optimisme et sa e capacit ` voir le bon ct des choses en toutes cirsconstances mont t particuli`rement ea oe ee e utiles, son aide frquente sur les points diciles et dlicats ma permis davancer plus e e sereinement et de mener ` bien cette th`se. Je le remercie pour la conance quil ma a e tmoign. e e Je suis tr`s reconnaissant ` Cyril Fonlupt et Gilles Venturini qui ont accept dtre les e a e e rapporteurs de ma th`se. Je remercie aussi Olivier Sigaud pour sa participation au jury e lors de ma soutenance. Enn, je tiens ` remercier tout particuli`rement les deux derniers a e membres du jury que je connais plus pour les avoir cotoys notamment au sein du projet e Robea : tout dabord Mich`le Sebag, pour son intrt constant et ses apports permanents e ee tout au long de ce travail, bien au-del` du projet Robea lui-mme, et mme si jai manqu a e e e du temps susant pour pouvoir mettre en pratique la majorit de ses suggestions ; et enn e Jean Sylvain Lienard, le prsident de mon jury, dont la grande connaissance des Sciences e Cognitives ma permis de sortir du cadre purement Robotique de ma th`se et ma inspir e e de nouvelles expriences. e Je remercie maitenant les personnes que jai pu cotoyer ` lINRIA Rocquencourt o` jai a u pass les deux premi`res annes de ma th`se et au LRI ` Orsay. Je suis reconnaissant tout e e e e a particuli`rement ` Yann Semet de mavoir toujours soutenu et davoir particip toujours e a e avec plaisir ` la nalisation de ce document jusqu` tr`s tard le soir. a a e Je tiens galement ` remercier grandement Nicolas Bred`che, que jai rencontr ` mon e a e ea arrive au LRI, et qui sest intress immdiatement ` mon travail, jai tr`s appreci les e e e e a e e discussions que nous avons pu avoir ensemble qui mont permis davancer plus ecacement dans la rdaction de mon manuscrit et la prparation de ma soutenance. e e Je tiens ` remercier aussi les personnes avec qui jai galement pass de bons moments a e e dans les laboratoires, notamment Amine Boumaza, Anne Auger, et Matthieu Pierres et tout particuli`rement Olga Roudenko et Mary Felkin, entre autres, pour tre venues ase e sister un dimanche ` la prparation de ma soutenance, dont les remarques ont t tr`s a e ee e pertinentes et mont permis damliorer la qualit de certains transparents. e e Enn, je remercie tout particuli`rement Corinne, qui a fait preuve de beaucoup de e patience durant cette th`se, et de comprhension durant les moments de pression et je la e e remercie galement pour avoir relu mon manuscrit ` la recherche des fautes dorthographe e a qui taient encore prsentes. e e

Table des mati`res e


Chapitre 1 Introduction 1.1 1.2 1.3 1.4 Lintelligence Articielle et la Robotique . . . . . . . . . . . . . . . . . . . . Robotique Evolutionnaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nos contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Guide de Lecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 3 5 6 9 9

Chapitre 2 Intelligence articielle et robotique 2.1 2.2 2.3 2.4 Lintelligence articielle classique . . . . . . . . . . . . . . . . . . . . . . . . Larchitecture de subsomption de Brooks 2.3.1 2.4.1 2.4.2 2.4.3 2.4.4 2.5

. . . . . . . . . . . . . . . . . . . 14

Lapprentissage par renforcement . . . . . . . . . . . . . . . . . . . . . . . . 18 Le Q-learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Fonctionnement dun syst`me de classeurs . . . . . . . . . . . . . . . 23 e Lvolution des syst`mes de classeurs . . . . . . . . . . . . . . . . . . 23 e e Le syst`me de classeurs XCS . . . . . . . . . . . . . . . . . . . . . . 24 e Les syst`mes de classeurs anticipatoires . . . . . . . . . . . . . . . . 25 e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 31 Les syst`mes de classeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 e

Conclusion

Chapitre 3 La robotique volutionnaire e 3.1 3.1.1 3.1.2

Les rseaux de neurones articiels . . . . . . . . . . . . . . . . . . . . . . . . 32 e Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Types darchitectures . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.1.2.1 3.1.2.2 3.1.3 Les rseaux feedforward . . . . . . . . . . . . . . . . . . . . 34 e Les rseaux rcurrents . . . . . . . . . . . . . . . . . . . . . 35 e e

La rtro-propagation du gradient . . . . . . . . . . . . . . . . . . . . 36 e Historique des algorithmes volutionnaires . . . . . . . . . . . . . . . 41 e Le dilemme exploration vs exploitation . . . . . . . . . . . . . . . . . 41 Les tapes darwiniennes : la slection et le remplacement . . . . . . 42 e e ix

3.2

Les algorithmes volutionnaires . . . . . . . . . . . . . . . . . . . . . . . . . 39 e 3.2.1 3.2.2 3.2.3

3.2.3.1 3.2.3.2 3.2.4 3.2.4.1 3.2.4.2 3.2.5 3.3 3.3.1 3.3.2

La slection . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 e Le remplacement . . . . . . . . . . . . . . . . . . . . . . . . 43 Le croisement . . . . . . . . . . . . . . . . . . . . . . . . . 45

Les oprateurs de variation . . . . . . . . . . . . . . . . . . . . . . . 44 e Les mutations auto-adaptatives . . . . . . . . . . . . . . . . 45

Algorithme utilis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 e Lvolution des seuls poids synaptiques e 3.3.2.1 . . . . . . . . . . . . . . . . 49

Lvolution articielle des rseaux de neurones . . . . . . . . . . . . . . . . 48 e e Lvolution des architectures . . . . . . . . . . . . . . . . . . . . . . 49 e Le codage direct . . . . . . . . . . . . . . . . . . . . . . . . 50 3.3.2.2 Approche dveloppementale . . . . . . . . . . . . . . . . . 51 e Evolution des poids ou de larchitecture ? . . . . . . . . . . . . . . . 52 La dimension fonctionnelle - comportementale . . . . . . . . . . . . . 55 La dimension explicite - implicite . . . . . . . . . . . . . . . . . . . . 56 La dimension externe - interne . . . . . . . . . . . . . . . . . . . . . 57 Exemple : lvitement dobstacle . . . . . . . . . . . . . . . . . . . . 57 e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 61

3.3.3 3.4 3.4.1 3.4.2 3.4.3 3.4.4 3.5

Lvaluation des performances en robotique volutionnaire . . . . . . . . . . 55 e e

Conclusion

Chapitre 4 Lenvironnement matriel et logiciel e 4.1 4.1.1 4.1.2 4.2 4.2.1 4.2.2

Le Khpra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 e e Le robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 La commande du Khpra . . . . . . . . . . . . . . . . . . . . . . . . 65 e e Evorobot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Le simulateur WOB World in a Bottle . . . . . . . . . . . . . . . . 67 71

Les simulateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Chapitre 5 Les contrleurs experts en robotique volutionnaire o e 5.1 5.1.1 5.1.2 5.2 5.2.1 5.2.2 5.2.3 5.3 5.3.1

Le probl`me du passage ` lchelle . . . . . . . . . . . . . . . . . . . . . . . 72 e a e La modularit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 e Inn ou acquis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 e Le ramasseur de poubelles . . . . . . . . . . . . . . . . . . . . . . . . 76 Larchitecture modulaire . . . . . . . . . . . . . . . . . . . . . . . . . 77 Rsultats et discussions . . . . . . . . . . . . . . . . . . . . . . . . . 78 e Raisonnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 x

Le contrleur modulaire de Nol et Floreano . . . . . . . . . . . . . . . . . 76 o

Les contrleurs symboliques . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 o

5.3.2 5.3.3 5.4 5.4.1 5.4.2 5.4.3 5.5 5.6

Larchitecture symbolique . . . . . . . . . . . . . . . . . . . . . . . . 83 Discussions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Le protocole exprimental . . . . . . . . . . . . . . . . . . . . . . . . 85 e Description de lexprience . . . . . . . . . . . . . . . . . . . . . . . 85 e Rsultats et discussions . . . . . . . . . . . . . . . . . . . . . . . . . 87 e

Apprendre un comportement simple : lvitement dobstacle . . . . . . . . . 85 e

Les superviseurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Evolution dun comportement complexe . . . . . . . . . . . . . . . . . . . . 89 5.6.1 5.6.2 5.6.3 5.6.4 5.6.5 Exploration et recharge de batterie . . . . . . . . . . . . . . . . . . . 89 Les architectures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Premiers rsultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 e Ractions face ` de nombreux comportements disponibles . . . . . . 95 e a La gnralisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 e e Le ramasseur dordure ` autonomie limite . . . . . . . . . . . . . . 99 a e Les architectures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Les passages sur les robots rels . . . . . . . . . . . . . . . . . . . . . 101 e Une validation sur robot rel . . . . . . . . . . . . . . . . . . . . . . 102 e

5.7

Une exprience valide sur robot rel . . . . . . . . . . . . . . . . . . . . . . 99 e e e 5.7.1 5.7.2 5.7.3 5.7.4

5.8

Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 105

Chapitre 6 Agir, Anticiper, sAdapter 6.1 6.2

Apprentissage et volution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 e Apprentissage dune variable cache par CTRNNs . . . . . . . . . . . . . . 108 e 6.2.1 6.2.2 Les CTRNNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Apprentissage par modications de la dynamique interne du rseau . 109 e Un exprience avec les rseaux auto-teaching . . . . . . . . . . . . . 111 e e Les rsultats de lvolution et la priode de gnralisation . . . . . . 112 e e e e e

6.3

Les rseaux auto-teaching et le comportement ` long terme . . . . . . . . . 110 e a 6.3.1 6.3.2

6.4 6.5 6.6

Lanticipation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Architectures neuronales pour lanticipation . . . . . . . . . . . . . . . . . . 119 6.5.1 6.6.1 6.6.2 Larchitecture de Nol, Elman et Parisi . . . . . . . . . . . . . . . . 119 Raisonnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Le rseau de neurones . . . . . . . . . . . . . . . . . . . . . . . . . . 123 e Conditions exprimentales . . . . . . . . . . . . . . . . . . . . . . . . 124 e Principaux rsultats . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 e xi Action, Anticipation, Adaptation . . . . . . . . . . . . . . . . . . . . . . . . 121

6.7

Architecture AAA, adaptation et robustesse . . . . . . . . . . . . . . . . . . 124 6.7.1 6.7.2

6.7.3 6.7.4 6.7.5 6.7.6 6.8 6.8.1 6.8.2

Rsultats sur le long terme . . . . . . . . . . . . . . . . . . . . . . . 125 e Analyse des rsultats . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 e Ladaptation aux murs noirs et blancs . . . . . . . . . . . . . . . . . 128 La robustesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Capacits dapprentissage de larchitecture AAA . . . . . . . . . . . 135 e 6.8.1.1 Amlioration de la vitesse dapprentissage . . . . . . . . . . 137 e Retour ` lexprience dexploration . . . . . . . . . . . . . . . . . . . 138 a e 139

Paramtrage de lapprentissage et perspectives . . . . . . . . . . . . . . . . 135 e

Chapitre 7 Synth`se et conclusions e 7.1 7.2

Rsultats et contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 e Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 143

Annexe A Les rsultats dtaills avec larchitecture AAA e e e

A.1 essai 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 A.2 essai 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 A.3 essai 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 A.4 essai 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 A.5 essai 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 A.6 essai 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 A.7 essai 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 A.8 essai 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 A.9 essai 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 A.10 essai 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 A.11 essai 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 A.12 essai 12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 Annexe B Les rsultats dtaills avec larchitecture AAA avec les DELTA e e e en plus 179 B.1 essai 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 B.2 essai 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 B.3 essai 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 B.4 essai 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 B.5 essai 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 B.6 essai 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 B.7 essai 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 B.8 essai 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 B.9 essai 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 xii

B.10 essai 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 B.11 essai 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 B.12 essai 12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 Bibliographie 215

xiii

xiv

Chapitre 1

Introduction
1.1 Lintelligence Articielle et la Robotique

Tout au long du 20`me si`cle, avec notamment lapparition des premiers ordinateurs e e dans les annes 40, lintelligence articielle a t lobjet dun engouement grandissant e ee de la part des scientiques. De tr`s nombreux chercheurs rv`rent alors ` la possibilit e e e a e de simuler lintelligence humaine. Avec des ordinateurs capables de jouer aux checs et e capables de battre des joueurs humains ` de nombreux autres jeux, la fascination a t a ee grandissante. Ainsi, on se met ` rver dun ordinateur dot dune intelligence comparable a e e a ` celle dun humain. Karel Kapek, un crivain et journaliste tchcoslovaque, inventa le mot robot, dans e e sa pi`ce de thtre R.U.R (Rossums Universal Robots), qui fut cre ` Prague au e ea ee a dbut de lanne 1921, et dans laquelle des robots en viennent ` se rvolter contre leurs e e a e concepteurs. Cette pi`ce connut un tel succ`s dans son pays, quelle sexpatria ` travers e e a toute lEurope. Cest en 1951 que Raymond Goertz du CEA en France construit le premier robot tlguid : il sagissait en fait dun bras manipulateur constitu principalement de ee e e courroies et de poulies. Trois ans plus tard lamricain George Devol conoit le premier e c robot programmable. En 1956, lors dune rencontre avec Joe Engelberger, ils dcid`rent e e de fonder la premi`re socit qui fabriquerait des robots : Unimation (de Universal e ee Automation). Les ordinateurs devaient constituer en fait lintelligence du robot (bras manipulateur ` lpoque) alors que les moteurs en taient la force musculaire. a e e Parall`lement, depuis une trentaine danne lintelligence articielle a fascin de tr`s e e e e nombreux crivains et ralisateurs de cinma. Parmi les oeuvres portes ` lcran, on peut e e e e a e penser notamment ` plusieurs lms devenus cultes comme le lm War Games sorti a en 1983, o` un ordinateur programm par le professeur Falken, dou dune intelligence u e e 1

Chapitre 1. Introduction

capable de communiquer, manque de peu de dclencher la troisi`me guerre mondiale. e e Dans ce lm on constate que Joshua (lordinateur vedette du lm) nest pas seulement constitu dune base de connaissances, mais poss`de galement la capacit dapprendre. e e e e Parmi les autres robots cl`bres, on peut citer notamment, le tr`s m`diatique robot R2D2, ee e e issu du lm Star Wars, ou bien encore les robots Vincent et Bob du lm le trou noir.

Fig. 1.1 Le robot Vincent du lm le trou noir de Walt Disney en 1979. Avec la naissance des ordinateurs et leur capacit grandissante de calcul, un andro e de (un robot ressemblant ` un humain) semblait tout a fait ralisable. En eet, en guise a e de vue, une camra pouvait bien sure, un micro pouvait reprsenter lou du robot, e e e un haut-parleur, la parole, ` charge aux concepteurs de programmer le microprocesseur a pour contrler le tout. Au commencement de lIA, le but tait datteindre une intelligence o e similaire ` celle dun tre humain, comme dans le lm Blade Runner sorti aux USA a e en 1982, o` seuls des tests tr`s pousss permettent de direncier les robots des tres u e e e e humains.

Lintelligence symbolique t son apparition ` la n des annes 50 avec notamment a e MacCarthy du MIT. Cette approche consiste ` manipuler des symboles, des concepts absa traits, par exemple, une voiture ou bien une porte. La culture du sens commun tait e elle aussi tr`s importante, par exemple le conducteur conduit la voiture mais pas e linverse, ou bien encore la pluie tombe vers le bas. Les chercheurs de lpoque clae maient que nalement le plus dur tait dintroduire tous ces symboles abstraits ainsi e que ce qui les reliait aux autres symboles, et nalement le fait de reconna tre une porte pour un robot ne serait pas une tche tr`s ardue si les connaissances disponibles a e taient prsentes. Les mcanismes de dduction semblaient la partie facile de lapprene e e e tissage par les machines. Le tentative la plus impressionnante dans cette direction est le projet CYC de Doug Lenat ([Lenat et Guha, 1990], http ://www.cyc.com/, voir aussi 2

1.2. Robotique Evolutionnaire

http ://en.wikipedia.org/wiki/Douglas Lenat) qui veut rassembler le plus important corpus de sens commun jamais vu dans une machine pour enn atteindre un niveau qui permettra ` la machine de continuer toute seule son apprentissage par tous les moyens a dont elle pourra disposer (livres, Internet, . . . ). Toutefois, lors dexprimentations simples comme louverture dune porte par un robot, e la dicult apparut brusquement, lancrage du symbole ouvrir est en fait dune extrme e e dicult lorsque celui-ci est bascul dans le monde rel, reconna une voiture devient e e e tre galement extrmement dlicat (notons dailleurs quil sagit dune question ` laquelle il e e e a est encore dicile de rpondre aujourdhui). e Cest au cours des annes 80 que seectua progressivement le basculement vers une e intelligence beaucoup plus en situation. Les probl`mes sont alors pris ` la racine, la vision e a devient ascendante, les considrations de bas niveau, aussi peu nobles que le bruit sur e les capteurs, doivent entrer en ligne de compte. R. Brooks [Brooks, 1986, Brooks, 1990] ressort aujourdhui comme tant le prcurseur de ce tournant dans lintelligence articielle e e nomme lintelligence articielle situe. e e La conception dun contrleur selon Brooks, fait partie de lapproche robotique base o e sur les comportements (Behavior-based Robotics) : toute la conception doit tre ralise e e e par un exprimentateur humain qui doit procder de mani`re tr`s mthodique ; les divers e e e e e comportements du robot sont ajouts graduellement (tel par exemple lvitement dobse e tacles), et doivent tre tests minutieusement an de voir sils interagissent convenablement e e avec les comportements dj` implments. ea e e

1.2

Robotique Evolutionnaire

Le renouveau du domaine des rseaux de neurones articiels, apr`s l hiver conscutif e e e a ` larticle de Minsky et Papert [Hornik et al., 1989], a t un autre tournant pour le ee contrle en robotique. Leur identication en tant qu approximateurs universels, puis o lapparition de mthodes dapprentissage des poids (e.g. la rtro-propagation du gradient e e [Rumelhart et al., 1986]) montrant la faisabilit pratique de lutilisation de rseaux e e de neurones pour la rgression numrique, ont ouvert la voie ` de tr`s nombreuses e e a e applications, et ont suscit lintrt des roboticiens. Cependant, pour faire fonctionner e ee les algorithmes dapprentissage ` base de gradient, des exemples donnant les sorties du a contrleur pour un grand nombre de jeux dentre sont ncessaires, ce qui semble incomo e e patible avec lide dun robot autonome, surtout lorsque lon veut parler dadaptation. e Les approches de rtro-propagation ` travers le temps [Nguyen et Widrow, 1990] ne e a permettent de rsoudre que certains types de probl`mes, et demandent de construire un e e mod`le neuronal de la dynamique du robot, source supplmentaire derreur. Et, si les e e rseaux de neurones mis au point ` laide des algorithmes dapprentissage ` base de grae a a 3

Chapitre 1. Introduction

dient ont connu un grand succ`s dans le domaine du contrle [W. T. Miller et al., 1990], e o leur utilisation en robotique autonome na pu rellement convaincre quavec lutilisation e dautres algorithmes dapprentissage permettant de saranchir de la ncessit davoir e e des exemples, tels les algorithmes volutionnaires [Eiben et Smith, 2003] : la robotique e volutionnaire tait ne [Mondada et Floreano, 1995, Nol et Floreano, 2000]. e e e Dans les annes 60, plusieurs auteurs ont imagin indpendamment des algorithmes e e e inspirs de lvolution des esp`ces de Charles Darwin [Darwin, 1859] et de la recome e e binaison gntique de Gregor Mendel : John Holland [Holland, 1975] invente les algoe e rithmes gntiques, Larry Fogel la Programmation Evolutionnaire [Fogel et al., 1966], e e et Ingo Rechenberg et Hans-Paul Schwefel les Stratgies dEvolution [Rechenberg, 1972, e Schwefel, 1981]. Apr`s ici aussi un hiver de plus de 15 ans, cest vers la n des annes e e 80 que le domaine re-naquit de ses cendres, avec en particulier louvrage devenu sminal e de David Goldberg [Goldberg, 1989]. Celui-ci, outre quil montra lapplicabilit concr`te e e des algorithmes gntiques ` des probl`mes rels, essaya galement de comprendre plus en e e a e e e dtail cette nouvelle technique doptimisation. Aujourdhui, les algorithmes volutionnaires e e sont une des techniques utilises pour rsoudre les probl`mes doptimisation diciles e e e [Eiben et Smith, 2003]. Le principe de base de cette technique, inspire donc de la thorie de lvolution e e e naturelle, consiste ` faire voluer une population dindividus. Chaque individu code a e une solution du probl`me ` rsoudre, et lalgorithme consiste principalement ` faire subir e a e a des variations alatoires aux individus de la population (les variations aveugles de la e thorie de Darwin), et ` slectionner ensuite les individus les plus performants (imitant e a e la slection naturelle selon Darwin). La population est par consquent en perptuel e e e mouvement et de gnration en gnration elle se dirige en gnral vers des zones de e e e e e e lespace de recherche contenant des bonnes solutions au probl`me. e Cette mthode a t applique au dbut des annes 1990 pour rsoudre e ee e e e e des velle probl`mes e branche de de robotique, la les premiers furent a ` saventurer Floreano dans et F. cette nouRobotique Dario Mondada

[Mondada et Floreano, 1995, Floreano et Mondada, 1994b]. En France, cest Jean Arcady Meyer [Meyer et Guillot, 1991] qui popularisa cette approche de la robotique. Les algorithmes volutionnaires sont en eet particuli`rement ecaces pour optimie e ser des contrleurs type rseaux de neurones. Il sagissait, aux dbuts de la robotique o e e volutionnaire, de mettre en place une architecture xe de rseaux de neurones et de troue e ver un vecteur de poids adquat permettant de raliser lexprience souhaite vecteur e e e e de poids optimis par algorithme volutionnaire, la fonction ` optimiser tant une mesure e e a e de la qualit de la faon dont le contrleur sacquittait de la tche assigne. e c o a e 4

1.3. Nos contributions

Cependant, le probl`me de cette approche rside dans le fait de passer ` lchelle pour e e a e des probl`mes diciles : il faut complexier larchitecture du rseau de neurones, mais, de e e ce fait, le nombre de poids augmente, le probl`me doptimisation peut devenir tr`s dicile e e a e ` rsoudre en un temps raisonnable, et il devient quasi-impossible darriver ` trouver les a poids satisfaisants. Cest dans ce contexte que se situent les travaux prsents dans cette th`se : nous e e e proposons quelques pistes pour contourner ce probl`me de conplexit algorithmique auquel e e fait face la robotique volutionnaire. e

1.3

Nos contributions

Cette th`se se situe donc dans le cadre de lintelligence articielle situe, et en particue e lier toutes les expriences envisages doivent tre ralisables sur des vrais robots. Lenvirone e e e nement nest pas enti`rement connu ` lavance, et un des crit`res de succ`s des approches e a e e envisages est que la dgradation des performances des contrleurs soit la plus lente pose e o sible lorsque lenvironnement se modie par rapport ` lenvironnement dans lequel a eu lieu a la mise au point du contrleur. Dans ce cadre, nous avons choisi comme mod`les pour les o e contrleurs les rseaux de neurones, qui permettent dj` de ragir beaucoup mieux au bruit o e ea e environnant que de nombreux autres mod`les. Enn, ne possdant pas dexemples dape e prentissage, nous avons utilis les algorithmes volutionnaires an dajuster ces contrleurs e e o neuronaux. Mais au del` de linspiration directe des travaux de robotique volutionnaire dja cits, a e e e la robotique base sur les comportements de Brooks a galement beaucoup inspir notre e e e approche : bien que tr`s performante, cette approche exige que lexperimentateur proc`de e e de mani`re tr`s mthodique, et ceci demande un temps relativement consquent pour ime e e e planter et tester le bon fonctionnement du robot. Cest ainsi que dans notre premi`re e contribution, nous nous sommes appuys sur cette modularit comportementale, tout en e e gardant ` lesprit les intrts opportunistes dune volution articielle. Dans ce cadre, nous a ee e avons proposs des superviseurs neuronaux, permettant, dans le cadre dune approche e largie de la robotique base sur les comportements, de dcharger lutilisateur de la tche e e e a du choix du bon comportement, et/ou des liens entre les divers comportements : les superviseurs neuronaux ont justement pour but de choisir les comportements ncessaires ` e a chaque instant de la vie du robot, en fonction de la tche que le robot aura ` accomplir. a a Mais une autre composante essentielle dun contrleur adaptatif est la possibilt dapo e prentissage en ligne : nous avons ainsi dans un deuxi`me temps rajout cette capacit e e e dapprentissage pendant la vie du robot, qui devient ainsi capable, pendant sa vie, de modier son comportement face ` un environnement changeant, dirent ventuellement a e e de ceux rencontrs durant lvolution. Et ce mcanisme dadaptation dont nous avons e e e 5

Chapitre 1. Introduction

choisi de doter le robot est bas sur la notion danticipation. Lanticipation est une ide e e extrmement puissante pour mesurer notre connaissance du monde qui nous entoure. Lane ticipation peut tre totalement passive (je sens quil va pleuvoir, je sens quil blue !) e ou au contraire base sur des actions (si je rentre dans cette pi`ce, je devrais voir tel ou tel e e objet). La notion de contingences sensori-motrices [ORegan et No, 2001] nous permet e de prdire nos futures sensations (exprimes par nos cinq sens) lorsque nous eectuons e e une action. Inspir par ces contingences sensori-motrices, nous avons dot le contrleur e e o neuronal du robot, dun module qui essaye de prdire les futures sensations du robot. Les e erreurs danticipation sont alors un signal que lenvironnement a au moins partiellement chang, et lalgorithme de rtro-propagation du gradient, partant de cette erreur, est alors e e utilis an de modier les poids du rseau, en ligne. e e

1.4

Guide de Lecture

Les deux premiers chapitres (2, 3) de ce rapport prsenteront un tat de lart (non e e exhaustif) dans le domaine de lintelligence articielle. Nous avons prsent dans le chapitre e e 2 quelques approches avant tout utilises en robotique, soit dans un monde rel, soit dans e e un mondre discret : La section 2.1 prsente les approches de lintelligence articielle dites classiques, il e sagit des premi`res techniques dintelligence que les chercheurs ont mises au point. e La section 2.2 relate lapproche beaucoup plus pratique et proche de la ralit des e e robots avec larchitecture de subsomption de Brooks. La section 2.3 explique les origines de lapprentissage par renforcement, et dcrit e lalgorithme du Q-learning (section 2.3.1) qui en est un des algorithmes les plus utiliss. e Enn, les syst`mes de classeurs sont dcrits dans la section 2.4, dans laquelle une e e description sommaire notamment des syt`mes XCS, ACS est donne. e e Ensuite, le chapitre 3 prsente les direntes techniques utilises en robotique e e e volutionnaire : e Les rseaux de neurones articiels sont prsents dans la section 3.1, ainsi que lale e e gorithme dapprentissage le plus populaire pour lapprentissage des poids dune topologie xe dans le cas o` des exemples sont disponibles, lalgorithme de rtrou e propagation du gradient (section 3.1.3), qui nous sera utile dans le chapitre 6. La section 3.2 prsente les origines et les direntes techniques utilises dans les e e e algorithmes volutionnaires. e La combinaison des deux techniques, rseaux de neurones et volution, constituant e e la robotique volutionnaire, est dcrite dans la section 3.3. Les direntes possibilits e e e e de couplage des prcdentes techniques sont prsentes. e e e e 6

1.4. Guide de Lecture

Lvolution articielle ncessite lvaluation des individus an de dterminer ceux e e e e qui sont aptes ` traverser les gnrations. Les direntes possibilits de construire a e e e e la fonction performance (tness) sont discutes dans la section 3.4. e Les environnements logiciels et matriels que nous avons utiliss durant cette th`se e e e sont dcrits dans la section 4 : les robots Khepera, ainsi que leurs quipements, puis les e e particularits des dirents simulateurs utiliss durant le droulement de ces travaux. e e e e Les deux derniers chapitres (5, 6), prsentent les rsultats originaux obtenus pendant e e cette th`se. Le premier dentre eux (5) prsente nos travaux sur lintroduction et lutilisae e tion de la modularit en robotique : e La section 5.2, prsente en dtail le concept de contrleur modulaire dvelopp par e e o e e S. Nol et D. Floreano [Nol et Floreano, 2000]. Les contrleurs symboliques sont prsents dans la section 5.3, une exprience simple o e e e dvitement dobstacles met en vidence les possibilits de ce type de contrleur. e e e o Les superviseurs sont dcrits dans la section 5.5 : une tude pousse sur une e e e exprience dvitement dobstacles avec ncessit de recharge dune batterie vire e e e tuelle, est eectue, et les rsultats montrent une bonne ecacit et une grande e e e souplesse de ce type de contrleur dans lutilisation des comportements mis ` sa o a disposition. Enn, la section 5.7 prsente une exprience eectue sur un robot rel, avec lutilie e e e sation des superviseurs. Le dernier chapitre est consacr ` lutilisation de lapprentissage dans la robotique e a volutionnaire, via ladjonction au contrleur classique dun mcanisme danticipation : e o e Lexprience ralis par Tuci, Harvey et Quinn est tout dabord prsente dans la e e e e e section 6.2, an de montrer un exemple relativement impressionnant dapprentissage en robotique volutionnaire. e Le rseau Autoteaching mis au point par Floreano et Nol est dcrit dans la section e e 6.3. En particulier, nous avons refait de nombreux essais avec ce type de rseau pour e tudier plus en dtail ses capacits dapprentissage, et en particulier sa stabilit sur e e e e le long terme. Une architecture relativement novatrice (AAA) est dcrite dans la section 6.4. Cette e architecture est tudie en dtail sur une exprience simple, dans la section 6.5, et e e e e laisse entrevoir de grandes capacits de passage ` lchelle. e a e Enn, la conclusion (chapitre 7) rsume nos contributions, et prsente un ensemble de e e perspectives ouvertes par nos rsultats. e Pour nir, les annexes A et B dcrivent en dtails les rsultats obtenus ` travers e e e a lutilisation de larchitecture AAA. Ces rsultats sont prsents sous formes de graphiques e e e et de schmas explicites, qui permettent au lecteur dsirant approfondir les rsultats den e e e eectuer une lecture rapide et ecace. 7

Chapitre 1. Introduction

Chapitre 2

Intelligence articielle et robotique


Quest ce que lintelligence articielle ? Il nexiste pas de rponse unanimement ace cepte ` cette question. Cependant, toute rponse est intimement lie ` lapparition des e a e e a ordinateurs au cours du 20`me si`cle, et en particulier ` laugmentation rguli`re et contie e a e e nue des puissances de calcul disponibles. Il existe de tr`s nombreuses techniques dites e dintelligence articielle, des techniques aujourdhui considres comme plutt classiques ee o (voir section 2.1), que lon oppose souvent ` dautres techniques plus rcentes (cf. sections a e 2.2, 2.3, 2.4). Ce chapitre ne prtend pas parcourir exhaustivement toutes les techniques se disant e relever de lIntelligence Articielle, mais va plutt dcrire certaines dentre elles qui ont o e marqu (et marquent souvent encore) leur poque, des techniques qui ont t tr`s utilises e e ee e e et le sont encore aujourdhui.

2.1

Lintelligence articielle classique

Depuis les annes 50, les chercheurs en informatique ont essay de dterminer ce qui e e e pourrait faire quun programme se rapproche de la cognition humaine, et ont progressivement opt pour une reprsentation tr`s linguistique de notre monde. Les entits qui e e e e nous entourent reprsentant aussi bien les objets que les personnes, ainsi que les actions e associes ont t symbolises par des mots et des concepts abstraits. e ee e Cependant, une simple liste de symboles sans lien entre eux na pas grand intrt, ee cest pourquoi la ncessit de relier ces dirents symboles sest videmment impose. Une e e e e e culture du sens commun est apparue, des notions claires et sans ambigu e du type la t pluie tombe vers le bas ou bien une voiture est conduite par un conducteur en faisaient partie. Le projet CYC de Lenat et Guha de 1984 ` 1990 [Lenat et Guha, 1990] a a reprsent la quintescence de cette approche : on a tent de donner une immense culture e e e de sens commun ` lordinateur en entrant ` la main de tr`s nombreuses connaissances, puis a a e 9

Chapitre 2. Intelligence articielle et robotique

en se fondant sur des mcanismes de dduction gnriques pour augmenter graduellement e e e e et automatiquement ce corpus de connaissances. Lide tait quapr`s quelques annes, e e e e le syst`me deviendrait capable dapprendre tout seul ` partir de textes bruts, et que rae a pidement la masse des connaissances quil apprendrait par lui-mme dpasserait tout ce e e qui aurait pu lui tre donn par les experts humains. Ce projet na videmment jamais e e e rellement abouti, se heurtant ` plusieurs barri`res. Certes, CYC, et tous les syst`mes de e a e e ce type, bien que ne possdant pas de signication relle pour les dirents symboles quils e e e manipulaient, taient capables de raisonner ` partir de ces symboles, de dduire par un proe a e cessus logique de nouvelles conclusions ` partir des hypoth`ses proposes. Mais il nexiste a e e pas (ou du moins pas dans ltat actuel des connaissances humaines) de reprsentation e e des connaissances universelles pas mme les frames de CYC. Ceci en particulier limite e aussi les possibilits de raisonnement universel. e La reprsentation des connaissances a t et reste un des grands sujets de recherche e ee en intelligence articielle et de nombreuses personnes travaillent encore dessus : comment classer les dirents symboles en mmoire ? Comment faire pour que les mcanismes e e e de dduction soient les plus performants possibles et se rapprochent de celui de ltre e e humain ? Ces techniques dintelligence articielle sont appeles intelligence articielle e symbolique nanmoins, on utilise aussi frquemment aujourdhui le terme dIA classique, e e car ce fut une des premi`res manifestations de lIA, et mme, pendant de nombreuses e e annes, une des seules approches envisages. e e En parall`le, la thorie du contrle en Robotique a commenc ` merger avec lapparie e o eae tion des premiers robots programmables dans les annes 50. Il sagissait alors principalee ment de bras manipulateurs constitus de courroies et de poulies. La thorie du contrle e e o consiste ` dnir les quations de la trajectoire que le robot (le bras) doit suivre tr`s a e e e prcisemment. Dans le cas dcarts constats par rapport ` la trajectoire idale par les e e e a e capteurs lors du parcours eectif (tout en considrant les bruits provenant de lenvironnee ment et susceptibles de modier les valeurs des capteurs), des ordres moteurs prcis sont e calculs puis envoys aux moteurs. Les rsultats thoriques garantissent alors la stablit de e e e e e la trajectoire (et loptimalit des commandes ainsi calcules). Cette technique de contrle e e o est tr`s ecace et robuste, et ne pose aucun probl`me pour les bras manipulateurs notame e ment. Cependant, elle ncessite une connaissance parfaite du monde dans lequel volue le e e robot : cest eectivement le cas pour un bras manipulateur, mais cela est videmment la e ngation mme du cas dun robot autonome se dplaant en milieu partiellement inconnu, e e e c cas pour lequel un contrle xe dcid a priori ne peut quamener ` lchec. o e e a e Dans le cadre de lintelligence articielle symbolique, toutes les expriences qui ont e t menes de faon concr`te (sur robot rel) ou de faon abstraite (uniquement sur la ee e c e e c manipulation de symboles) ont t faites suivant le principe de la gure 2.1. Le raisonneee 10

2.1. Lintelligence articielle classique

ment sur les symboles, impos par lapproche classique, contraint le robot ` distinguer par e a lintermdiaire de ses capteurs les lments de lenvironnement qui lentourent. Lidentie ee cation de ces lments, ainsi que leur position, constituent la modlisation de cet enviee e ronnement dont le robot poss`de alors une reprsentation symbolique abstraite. Une fois e e cette modlisation eectue, le robot va concevoir, par lintermdiaire dalgorithmes de e e e dduction logique, les direntes tapes ncessaires ` lobtention de son but : cest ltape e e e e a e de planication. Ensuite, les moteurs sont commands an dexcuter les direntes tches e e e a ainsi planies. e Dcrivons par un exemple ce que pourraient tre ces direntes tapes pour un robot e e e e qui devrait parcourir les bureaux dune entreprise le soir an de vider les poubelles dans un container quil transporte derri`re lui : e la perception : dans un premier temps, grce ` ses capteurs, le robot va percevoir a a son environnement (par lintermdiaire de capteurs infrarouges, dun sonar, ou dune e camra par exemple). e

Execution de la tche

Contrle du moteur

Modlisation

Planification

Perceptions

Capteurs

Fig. 2.1 Mani`re traditionnelle de procder en intelligence classique. e e la modlisation : en fonction des donnes recueillies par les capteurs, le robot va e e devoir essayer de reconna les lments de lenvironnement. Des images obtenues tre ee par camra vont tre analyses pour tenter de reconna e e e tre des entits telles que e des portes, des murs, des bureaux, des tres humains, ... sans oublier bien sr de e u reprer les poubelles qui constituent lobjectif principal de sa tche. Celles-ci, ne e a doivent bien sr pas tre confondues avec dventuels cartons qui se trouveraient par u e e terre, contenant des objets quil ne faudrait pas jeter. Une fois cette modlisation de e lenvironnement termine, ltape suivante peut tre enclenche. e e e e la planication : la planication se rapporte directement au but du robot voulu par le concepteur. Dans le cadre de cette exprience, le but va tre de ramasser les e e poubelles. Lors de la prcdente tape, le robot sest situ thoriquement dans son e e e e e 11

Moteurs

Chapitre 2. Intelligence articielle et robotique

environnement, par exemple au milieu de deux murs parall`les rapprochs, correse e pondant ` un couloir. La tche de planication, rsultant de dveloppement logique a a e e sur la modlisation symbolique de lenvironnement, proposera par exemple de se e diriger vers la porte la plus proche, dentrer dans le bureau, puis de se diriger vers la poubelle et enn la vider si elle nest pas dj` vide. ea lexcution de la tche : dsormais, les moyens doivent tre mis en oeuvre pour e a e e excuter les direntes tches prvues par la planication : il faut actionner les e e a e roues en prcisant la direction ` prendre pour se diriger vers le bureau, ou bien e a encore prvoir la squence dactions ncessaires an douvrir la porte si celle-ci se e e e trouve tre ferme. Notons que ces squences dactions sont codes au pralable par e e e e e le concepteur du robot. le contrle des moteurs : les moteurs correspondant ` lexcution de la tche o a e a courante sont activs, un contrle de suivi de la trajectoire prvue lors de ltape e o e e prcdente peut tre activ par exemple pour quun bras ` 4 axes, avec une pince e e e e a en bout, atteigne la poigne dans de bonnes conditions et actionnent le p`ne. Dans e e ce cas l`, les techniques classiques du contrle en robotique sont utilises. a o e En 1980, le philosophe Searle critique fortement cette mthode de conception symboe lique de lintelligence articielle ` travers lexemple de la chambre chinoise [Searle, 1980]. Il a imagine quil poss`de un livre rempli de sries de symboles chinois, reprsentant lensemble e e e des questions possibles crites en chinois avec un nombre donn de caract`res, avec, en face e e e de chaque question, les rponses associes, elles aussi crites en chinois. Searle ne parle pas e e e le chinois, et na aucune ide de ce que peuvent reprsenter ces symboles. Une personne va e e alors lui poser une srie de questions crites ` la fois en anglais et en chinois. Searle rpond e e a e bien entendu sans probl`me aux questions en anglais, et parcours le livre ` la recherche e a des symboles chinois qui lui sont proposs, puis recopie la rponse associe. En adoptant e e e cette stratgie, il rpond aussi bien aux questions en anglais qu` celles en chinois. Searle e e a a dsir montrer ` travers cette exprience que bien quil ne comprenait absolument rien e e a e a ` ce quil pouvait crire en chinois, les rponses taient tout de mme correctes. Il a dsir e e e e e e montrer ainsi que le fait de travailler sur des symboles en ayant lair intelligent ne signie pas forcment tre intelligent. Cependant, pour les partisans de lintelligence articielle e e classique, bien que Searle ne comprenne pas du tout le chinois, le syst`me [Searle + le e livre], lui, le comprend, puisquil est capable de rpondre de mani`re sense : il est donc e e e intelligent. Des discussions farouches ont encore lieu aujourdhui entre les partisans de lintelligence articielle symbolique et ses adversaires. Il ne faudrait pas cependant passer sous silence le fait que lintelligence articielle classique a tout de mme permis dobtenir des rsultats intressants, tant au niveau recherche e e e que dans plusieurs domaines dapplication, notamment grce aux syst`mes experts. Les a e syst`mes experts furent extrmement en vogue de 1970 ` 1990, et ont dmontr des cae e a e e 12

2.1. Lintelligence articielle classique

pacits de raisonnement certaines, a partir dhypoth`ses et de r`gles de production, par e ` e e exemple dans le domaine du diagnostic. Cependant, d`s que lon sintresse au domaine e e plus spcique de la robotique, la critique majeure que lon peut adresser ` lIA syme a bolique est que les chercheurs ont travaill exclusivement sur les symboles en ngligeant e e laspect rel de la robotique. En eet, les techniques issues de lIA classique en robotique e ont consist ` essayer de modliser le monde rel le mieux possible, mais sans travailler e a e e directement sur lui. La planication est alors eectue sur un monde idal, o` tous les e e u objets entourant le robot ont t clairement identis, et en labsence de tout bruit. ee e

Lors de certaines expriences menes sur des robots rels, les chercheurs ont tent e e e e de faire en sorte que tous ces symboles abstraits pour le robot deviennent concrets. Cependant, lancrage des symboles dans le monde rel est un travail particuli`rement rude. e e Durant les prmisses de lintelligence articielle dans les annes 50, les chercheurs pene e saient quil serait facile de reconna tre un objet ` partir dun stock dimages, il susait a pour cela de stocker dirents types dimage comme un ours en peluche, une table, ... e Cependant, ce ne fut pas aussi facile, car ces objets, lorsquils sont dans le monde rel, e sont orients dune certaine faon, soumis ` des clairements dirents qui penvent ajouter e c a e e des ombres, etc, et cette voie a rapidement t abandonne, dautant plus que le stockage ee e de millions dimages aurait demand un espace mmoire considrable. e e e

Mais quels sont les lments essentiels qui peuvent permettre aux capteurs dont dispose ee le robot de reconna tel ou tel objet ? Cette question a t pose maintes et maintes fois tre ee e par de nombreux chercheurs sans recevoir une rponse valable. Prenons lexemple concret e dune chaise, quels sont les lments qui distinguent une chaise ? 4 pieds avec un dossier ee permettent de distinguer une chaise, mais un tabouret qui ne comporte pas de dossier ne doit t-il-pas tre class comme une chaise ? Ou bien encore une chaise monobloc qui serait e e ne dune injection plastique ? Comment direncier une chaise sans dossier dune table ? e e toutes ces questions rejoignent directement la reprsentation des connaissances, doit-on e considrer la chaise comme un objet avec ses propres attributs ? le tabouret doit il faire e partie de la catgorie chaise ? ou doit on utiliser une autre reprsentation ? Ces questions e e ne sont pas encore tranches aujourdhui. e

Outre ces dicults de reprsentation, lancrage tr`s dicile des symboles, mais e e e galement le temps calcul ncessaire au robot pour modliser son environnement et e e e excuter la planication, ont pouss de plus en plus de chercheurs ` critiquer cette ape e a proche symbolique de lintelligence robotique et de nouvelles techniques sont apparues avec notamment larchitecture de subsomption de Brooks dans les annes 80. e 13

Chapitre 2. Intelligence articielle et robotique

2.2

Larchitecture de subsomption de Brooks

Rodney Brooks a crit de nombreuses critiques [Brooks, 1990] de lapproche classique e de lIA en robotique : pour lui il nest pas ncessaire (et il peut mme tre nuisible) de tenter e e e de modliser le monde. En eet, le robot fait partie du monde rel et va voluer dans ce e e e monde. Par consquent, son comportement, loin dtre bas sur une approche symbolique e e e abstraite, doit au contraire rester concr`tement en liaison directe avec le monde rel grce e e a aux moyens dont il dispose (capteurs + actionneurs). Tous les lments physiques doivent ee tre pris en considration, comme le bruit sur les capteurs qui ne sont pas parfaits, ou bien e e encore le fait que les roues peuvent ` tout moment patiner. a Contrairement aux techniques classiques, o` le contrleur est totalement centralis, u o e lapproche de Brooks sinspire dune nouvelle voie biologique, o` le contrle des tches u o a ne seectue pas de faon centrale mais o` au contraire chaque zone du cerveau joue un c u rle bien spcique. Ainsi, certaines expriences ralises sur des personnes accidentes ont o e e e e e mme montr que certains malades ayant perdu lusage de certaines zones du cerveau sont e e par exemple capables de nommer un objet, sans pour autant savoir quelle est sa fonction. Brooks se situe dans cette optique, ` travers une approche comportementale dans laquelle a les dcisions ne sont plus prises de faon centrale, mais o` au contraire lensemble des e c u comportements du robot fonctionnent en parall`le. e Les conditions pour la robotique que Brooks pense tre primordiales et quil dsire e e satisfaire sont les suivantes : les buts multiples : le robot se retrouve assez frquemment dans des situations o` e u plusieurs buts possibles sorent ` lui ; des buts de haut niveau (e.g. laccession ` a a une certaine zone de lenvironnement) sont en concurrences avec des procdures de e plus bas niveau (e.g. lvitement dobstacles, la ncessit de recharge des batteries). e e e linexactitude des capteurs : tous les capteurs commettent une erreur lors de lacquisition de leurs donnes, et le robot doit prendre en compte ces erreurs (inconnues) e pour dcider de son comportement. e la robustesse : lorsquun vnement inattendu se produit, comme larrt du fonce e e tionnement dun capteur, ou bien un probl`me moteur, le robot doit adopter un e comportement propice ` la situation et ne doit en aucun cas rester bloqu. a e ladditivit : la puissance de calcul mise ` disposition du robot doit tre propore a e tionnelle au nombre de comportements exigs du robot ; de mme, chaque fois que e e de nouveaux capteurs sont ajouts, une puissance supplmentaire est ncessaire, an e e e que le robot ne perde pas de temps. Le rsultat est larchitecture de subsomption [Brooks, 1986], qui di`re totalement e e des techniques de lIA classique qui lont prcde. Cest le monde rel qui est mis en e e e e avant, au dtriment des procdures abstraites de haut niveaux. Lapproche adopte est e e e 14

2.2. Larchitecture de subsomption de Brooks

une approche bottom-up : la conception du contrleur global du robot est entreprise en o partant des plus bas niveaux, qui assurent des comportements lmentaires, comme par ee exemple lvitement dobstacles ; puis de faon incrmentale, le concepteur va progressivee c e ment construire des comportements de niveaux de plus en plus haut, soccupant de buts de plus en plus complexes, sappuyant sur les comportements dj` existants aux niveaux ea infrieurs. Concr`tement, larchitecture de subsomption est une architecture en couches, e e le concepteur cre dabord la couche de plus bas niveau, puis sappuie progressivement sur e les couches dj` construites pour raliser de nouvelles couches, reprsentant des actions de ea e e plus haut niveau. Chaque couche est constitue de plusieurs modules, chaque module est totalement e indpendant et reoit en entre aussi bien les donnes des capteurs, que des buts, ou e c e e bien encore des sorties provenant dautres modules. Chacun dentre eux est constitu dun e automate ` tats nis qui en fonction des entres reues proposera une sortie (ou nen a e e c proposera pas). An de mieux cerner larchitecture de subsomption, prenons lexemple dune tche a devant tre ralise par le robot Khpra (dcrit dans la section 4). La mission devant tre e e e e e e e accomplie par le robot consiste ` se diriger vers une source lumineuse an de saisir un a objet grce ` son gripper (bras manipulateur). Un exemple darchitecture de subsomption a a pourrait tre celui reprsent sur la gure 2.2. e e e An que le lecteur puisse discerner plus facilement les direntes couches mises en e oeuvre, celles-ci sont reprsentes avec des couleurs direntes : le vert reprsente les e e e e entres sensorielles en provenance du robot, les direntes actions motorises destines e e e e aux roues ainsi quau bras manipulateur sont en rouge. Examinons maintenant de plus pr`s les direntes couches : e e la couche 0 - bleu clair : cette couche est la couche de plus bas niveau, et son seul but est lvitement dobstacles. Les deux modules gestion des chocs et calcul de la e force de rpulsion reoivent en entre les valeurs des capteurs infrarouges en mode e c e actif (percevant la distance approximative dun ventuel obstacle, voir chapitre 4). e La force de rpulsion calcule est inversement proportionnelle ` la distance du robot e e a a e ` dventuels obstacles. Cette force de rpulsion est ensuite communique au module e e vitement primaire qui va dterminer les ordres moteurs ncessaires ` lvitement e e e a e dobstacles. Ces commandes moteurs sont ensuite transmises aux moteurs contrlant o les roues. Le module gestion de chocs quant ` lui prend le relais, lorsque, malgr a e lvitement primaire, le robot rentre en collision avec un obstacle (obstacle vraiment e tr`s proche dun des capteurs, ou en contact) : une commande alatoire est envoye au e e e moteur jusqu` ce que le robot soit dbloqu (i.e. susamment loign de lobstacle). a e e e e la couche 1 - jaune : le module vitement dobstacles et direction vers la lumi`re e e prend en entre les capteurs infrarouges du robot Khpra permettant de dterminer e e e e 15

Chapitre 2. Intelligence articielle et robotique

Gestion robot Khepera robot Khepera des chocs

Commande Capteurs infrarouges en mode actif Alatoire S Commandes moteur Calcul de la force de primaire robot Khepera rpulsion force r. Evitement I S roues Moteurs

Capteurs infrarouges en mode passif

Evitement dobstacles et direction vers la lumire I

Activation de la robot Khepera gestion du gripper gripper ok Capteur de saisie dun objet et de position angulaire du gripper Mise en position idale puis grippage de lobjet Commandes Gripper

robot Khepera

Moteurs gripper

Fig. 2.2 Un exemple darchitecture de subsomption de Brooks, cet architecture permet au robot
daller saisir un objet situ pr`s dune lumi`re tout en vitant les obstacles. e e e e

16

2.2. Larchitecture de subsomption de Brooks

la direction de provenance de la source lumineuse (voir ici le encore chapitre 4), ainsi que la force de rpulsion venant du module calcul de la force de rpulsion de la e e couche 0. Le module ici prsent devra dterminer les ordres moteurs adquats an e e e de permettre au robot un vitement convenable des obstacles, tout en essayant de se e diriger vers la source lumineuse. Il faut noter que dans ce cas l` lvitement primaire a e de la couche 0 nest plus eectif, sa sortie est remplace par celle du module de la e couche 1 (le S reliant lentre des moteurs indique la suppression de la sortie du e module vitement primaire et son remplacement par la sortie du module vitement e e dobstacles et direction vers la lumi`re). e la couche 2 - violet : lobjectif de cette couche est tout simplement de vrier les e capteurs infrarouges du robot et lorsque lanalyse de ces capteurs semble signier la prsence ` proximit dun cylindre, la gestion du gripper doit tre active par e a e e e lintermdiaire de la variable gripper ok. Notons que lorsque lactivation de la e gestion du gripper est active, deux ordres dinhibition sont expdis aux sorties des e e e modules vitement primaire ainsi que le module vitement dobstacles et direction e e vers la lumi`re, en eet, dans ce cas l`, la gestion du gripper prend le pas sur les autres e a couches et le robot ne doit plus essayer dviter les obstacles mais au contraire de se e rapprocher du cylindre correctement identi. Des ordres sont ensuite envoys aux e e moteurs du gripper en provenance du module mise en position idale puis grippage e de lobjet.

Larchitecture de Brooks est rsolument modulaire. De plus, comme il sagit dune e architecture fonctionnant de faon asynchrone, ` travers des modules indpendants, Brooks c a e prcise quun processeur peut tre aect ` chacun dentre eux, rduisant considrablement e e ea e e les temps de calcul dans le cas de tches, denvironnement ou de robot tr`s complexe. a e

Larchitecture de subsomption rompt donc radicalement avec les techniques dintelligence articielle classique, et les premiers essais sur robot rel ont littralement subjugu e e e les chercheurs de lpoque, en permettant aux robots de Brooks deectuer avec rapie dit et prcision des tches que les techniques classiques mettaient un temps laborieux ` e e a a excuter. Cependant, la discussion sest alors focalise sur lappartenance ou non de ces e e travaux au domaine de lintelligence articielle. En eet, toute la conception est issue dun dveloppement humain, les couches nouvellement implantes sont testes minutieusement e e e avant dtre connectes aux autres, et si, en apparence, le robot poss`de un comportement e e e intelligent il a t en fait enti`rement programm par un ou plusieurs concepteurs humains. ee e e Les dtracteurs de Brooks sur ce terrain ont compar son architecture avec lexprience e e e de la chambre chinoise de Searle . . . 17

Chapitre 2. Intelligence articielle et robotique

2.3

Lapprentissage par renforcement

Lapprentissage par renforcement est une mthode dapprentissage non supervis, e e cest-`-dire pour laquelle on ne dispose pas dexemples dactions avec leur consquence a e immdiate quantie, mais seulement des rcompenses correspondant ` des suites dace e e a tions rcompenses donc ventuellement dires par rapport ` laction elle-mme. Ce e e ee a e type dapprentissage tire galement son inspiration de la biologie, et plus prcisment de e e e lapprentissage des animaux. Parmi les travaux les plus connus sur lapprentissage des animaux, citons ceux du cl`bre biologiste Pavlov [Pavlov, 1927], et en particulier son ee exprience qui mit en vidence les capacits dapprentissage des chiens. La procdure e e e e exprimentale consistait ` secouer une clochette avant de donner ` manger ` un chien. e a a a Apr`s plusieurs jours de ce traitement, il constata que le chien se mettait ` saliver d`s que e a e la clochette retentissait, alors que la nourriture ne lui avait pas encore t servie : il avait ee appris ` associer ` la clochette limminente apparition de la nourriture. Cest ` partir de a a a ces expriences que les scientiques ont commenc ` parler de renforcements, exprims ici e ea e par la nourriture. Bien entendu, lapparition dalgorithmes informatiques et de tests systmatiques efe fectus en utilisant une notion de renforcement nappara e tra que bien plus tard. Lalgorithme dapprentissage par renforcement est un algorithme qui consiste ` apprendre par a une suite dessais-erreurs : en fonction des actions tentes, le couple (sensation, action) e est plus ou moins rtribu suivant ses consquences par rapport ` la tche ` raliser. Les e e e a a a e actions sont choisies de mani`re stochastique. Ainsi, au dpart, toutes les actions pose e sibles ont la mme probabilit : lexploration de lespace des actions est privilgie, an e e e e dexprimenter de nombreuses possibilits. Les actions pour lesquelles les rcompenses ace e e quises sont positives voient leurs probabilits augmenter, et auront ainsi plus de chance e dtre slectionnes par la suite. Sutton, un des pionnier de lapprentissage par renfore e e cement, prcise dans louvrage de rfrence [Sutton et Barto, 1998] que les chercheurs en e ee rseaux de neurones comme Rosenblatt, Widrow et Ho, taient tr`s motivs par lape e e e prentissage par renforcement, malgr le fait que le contexte de lapprentissage des rseaux e e de neurones dans lequel ils se trouvaient en gnral tait en fait de laprentissage supere e e vis : par exemple, dans des domaines comme la reconnaissance de formes, on dispose e dun ensemble de formes pour lesquelles on connait la classe, ce qui permet dutiliser des algorithmes dapprentissage utilisant directement lerreur rsultant de chaque action, e comme par exemple la rtro-propagation de lerreur (voir section 3.1.3). e Dapr`s Sutton, le travail qui a eu le plus dinuence en apprentissage par rene forcement fut celui de Donald Michie qui, de 1961 ` 1963, ralisa un syst`me bas a e e e sur les essais et les erreurs pour apprendre ` jouer au tic-tac-toe (Morpions 3x3) a [Michie, 1961, Michie, 1963]. Il nomma son syst`me dapprentissage MENACE (pour e 18

2.3. Lapprentissage par renforcement

Matchbox Educable Naughts and Crosses Engine). Le principe de cet algorithme est le suivant : pour chaque position de jeu (conguration prcise de croix et de ronds sur e lchiquier 3x3), on dnit un nombre de boites dallumettes gal aux direntes positions e e e e suivantes de jeux. Le nombre de perles dans chaque boite dallumettes est proportionnel a ` lecacit que pourrait prsenter le coup auquel elle correspond.Au dbut de la partie, e e e toutes les boites ont autant dallumettes. A la n de la partie, suivant que lissue a t ee favorable ou non, des perles vont tre rajoutes ou retires dans les boites dallumettes e e e correspondant ` lensemble des coups jous durant cette partie. a e Par la suite, en 1968, Michie et Chambers dcrivirent un autre syst`me dapprentise e sage par renforcement appel GLEE (Game Learning Expectimaxing Engine) coupl au e e contrleur BOXES [Michie et Chambers, 1968]. Il parvinrent, grce ` ces deux syst`mes, o a a e a e ` rsoudre le probl`me du pendule invers, cest-`-dire ` contrler un pendule ine e a a o vers an quil reste stable le plus longtemps possible. Sutton prcise dans son livre e e [Sutton et Barto, 1998] que cest cet ensemble de travaux qui linuena pour ses trac vaux ultrieurs [Barto et al., 1983, Sutton, 1984]. Ces expriences de Michie constituent e e pour lui, un des meilleurs exemples des dbuts de lapprentissage par renforcement. Sute ton consid`re galement quun autre des pionniers de lapprentissage par renforcement e e est Harry Klopf ([Klopf, 1972, Klopf, 1975, Klopf, 1982]), dont les ides ont notamment e permis de comprendre la dirence fondamentale existant entre lapprentissage supervis e e et lapprentissage par renforcement. Nous allons maintenant dtailler lalgorithme dapprentissage par renforcement le plus e connu et sans doute le plus utilis en robotique, le Q-learning. e

2.3.1

Le Q-learning

Le Q-learning a t dvelopp par Watkins en 1989 [Watkins, 1989]. Dans cet algoee e e rithme, ` linstar de ce qua fait Michie avec ses petites bo a tes dalumettes, il sagit de stocker, pour chaque situation possible (e.g. prsence dun obstacle ` gauche du robot, e a rception dun message particulier, . . . ) les direntes qualits associes ` lexcution de e e e e a e chaque action possible (e.g. aller tout droit, tourner de 90 degrs ` droite, envoyer un e a message . . . ). Un exemple dun tel tableau est illustr sur la gure 2.3. Au commencement e de lexprience, toutes les composantes de ce tableau sont initialises ` zro : pour une e e a e situation donne, il ny a pas de raison logique pour eectuer une action plutt quune e o autre, et on va procder de mani`re alatoire par des choix uniformes. e e e Lalgorithme relatif au Q-learning est illustr sur la gure 2.4. On suppose donc quil e existe un tableau Q(s, a) donnant la qualit espre de laction a eectue dans la situation e ee e s. Il y a quatre phases principales dans le Q-learning : Le robot se situe dans une situation donne st , il sagit de dterminer laction a e e a ` accomplir qui maximise la rcompense espre, cest-`-dire telle que Q(st ,a ) soit e ee a 19

Chapitre 2. Intelligence articielle et robotique

Q a1 a2 a3 a4 s1 0.4 0 .5 0 s2 0 0 0.8 0.2 s3 0 .3 .2 0.1 s4 .8 0 0.3 .7 s5 0.2 .4 .1 0.7 s6 0.9 0 0 .3 s7 0 0.1 .8 0

Fig. 2.3 Un exemple de table de qualit pour le Q-learning pour les dirents couples (sensation, e e
action).

maximale. Pour cela, il sut de regarder dans la table Q (voir par exemple gure 2.3). Cependant, que ce soit pour rgler les cas dindtermination (par exemple, au e e commencement de la phase dapprentissage, tous les lments de cette table sont ee initialiss ` zro) ou pour conserver un minimum dexploration et viter quune des e a e e actions ne soit systmatiquement choisie trop tt dans le processus dapprentissage, e o la procdure de choix de laction poss`de une composante stochastique. Au fur et ` e e a mesure que lapprentissage progresse, limportance de cette partie stochastique sestompe, ce qui permet alors une rptabilit des choix et renforce les sries dactions e e e e menant aux plus fortes rcompenses. e Le robot va alors excuter laction choisie ` ltape prcdente, et se retrouver dans e a e e e la situation st+1 . En fonction de cette nouvelle situation, ainsi que de la nouvelle situation du monde (e.g. cylindre attrap, but de marqu dans un match de robote e soccer, . . . ) , un renforcement r dni au pralable dans une fonction de renforcement e e par lutilisateur (e.g. +1 si le robot a marqu un but, -1 si le robot a pouss la balle en e e dehors des cages de but et 0 sinon) est attribu ` laction entreprise. Il est important ea de noter que ce renforcement peut tre nul sil est impossible destimer lamlioration e e de la qualit de la situation st+1 par rapport ` la situation st . e a La qualit est alors mise ` jour de la mani`re suivante : e a e Q(st , a) = Q(st , a) + (r + .maxa (Q(st+1 , a ) Q(st , a))),

terme qui reprsente lamlioration maximale de la qualit que lon peut esprer e e e e dans la situation st+1 . Les param`tres et sont des constantes dans ]0, 1] dnies e e par lutilisateur.

Enn, la mise ` jour de la table de qualit est eectue et on revient ` ltape 1. a e e a e 20

2.3. Lapprentissage par renforcement

Slection de la meilleure action dans la base de donnes sensations actions indiquant la qualit de laction associe. Au dbut de lapprentissage, cette slection est pertube afin daugmenter lexplo ration des possibilits.

Attribution dun renforcement (positif, nul ou ngatif) Mise jour de la base de donnes indiquant les dfini au pralable par le concepteur de la tche que qualits associes aux couples perceptionsactions. le robot doit raliser

Calcul de la qualit de laction effectue pour la sensation au temps t, notons que ce calcul est effectu t+1 afin de tenir compte des effets bnfiques ou malfiques sur les actions effectues par la suite.

Fig. 2.4 Les direntes tapes de lalgorithme du Q-learning dans lapprentissage par renforcee e
ment.

Lapprentissage par renforcement est une technique tr`s utilise aujourdhui, malgr e e e des dfauts connus. Dune part, comme il a t dit plus haut, il est courant que peu e ee de situations permettent dobtenir un renforcement non nul. Pour reprendre lexemple du robot-soccer, si on ne donne de rcompense quaux actions entra e nant un but ou une sortie de balle, il est probable que le syst`me nvoluera jamais : lorsque toutes les valeurs de Q e e sont nulles (situation initiale), aucune mise ` jour nen est faite tant que le renforement a r reste nul. Seule laction ayant alors entra e le but ou la sortie de balle verra sa qualit n e changer. Lors de la phase de jeu suivante, les actions menant ` cette action de qualit non a e nulle verront ` leur tour leur qualit changer, et ainsi de suite : de tr`s nombreuses phases a e e de jeu seront ncessaire avant que ne se dgagent des suites dactions rptables de par e e e e leurs qualits positives (ou leur absence de qualits ngatives, sans doute, dans le cadre e e e du robot-soccer). Un autre probl`me majeur de lapprentissage par renforcement est le fait que toutes e 21

Chapitre 2. Intelligence articielle et robotique

les expriences doivent tre dcrites dans un monde discretis, alors que les capteurs du e e e e robot, et dune mani`re gnrale le monde dans lequel il volue, prennent des valeurs e e e e relles. Une discrtisation du monde est alors soit tr`s grossi`re, soit entra rapidee e e e ne ment une explosion de la taille de la table de qualit, bien que des travaux rcents aient e e propos plusieurs mthodes de discrtisation adaptatives pour pallier cet inconvnient e e e e [Munos et Moore, 1999], voire lutilisation de fonctions de qualit continues [Munos, 2000]. e De plus, le probl`me du bruit, crucial en robotique, nest pas explicitement pris en compte e par la technique du Q-learning.

2.4

Les syst`mes de classeurs e

Les syst`mes de classeurs ont t introduits par John Holland en 1976 [Holland, 1975] e ee en parall`le avec les algorithmes gntiques. Un classeur reprsente en fait une r`gle, e e e e e constitue dun couple (condition, action). Tout comme lapprentissage par renforcement, e ces syst`mes sont utiliss dans un environnement idal discrtis, voire mme binaris : e e e e e e e seules deux valeurs sont possibles pour lensemble des conditions ainsi que pour lensemble des actions. Ainsi les capteurs fonctionnent souvent en mode tout ou rien (prsence dun e obstacle (1) ou non (0) sur une case adjacente), et les ordres moteurs permettent de se dplacer instantanment sur la case situe devant le robot, ou sur une case immdiatement e e e e voisine (en 4-connexit). Nous allons voir plus loin que les techniques dapprentissage e utilises sont galement voisines de celles de lapprentissage par renforcement. e e Un exemple de classeur basique utilis pour les robots est visible sur la gure 2.5. e Dans cet exemple, le robot a 4 capteurs (dans lordre, par exemple, gauche, devant, droite, derri`re), et la situation dcrite dans la condition de la r`gle est quun obstacle est visible e e e sur la droite du robot, et quil ny a pas dobstacle devant ni ` gauche du robot. La partie a action de cette r`gle est un virage a droite pour le robot (les moteurs tant dans lordre e ` e gauche, droite). La derni`re partie de la r`gle est sa force, valant ici 0.2. Cette r`gle peut e e e se traduire par Sil y a un obstacle ` droite, pas dobstacle devant ni ` gauche, et quil y a a ait ou non un obstacle derri`re, tourne ` gauche. e a

[001#] [01] 0.2

Condition

Action

Force (s)

Fig. 2.5 Un exemple de classeur.

22

2.4. Les syst`mes de classeurs e

2.4.1

Fonctionnement dun syst`me de classeurs e

Le syst`me maintient une liste de messages qui constitue la communication entre le e monde (le robot) et le syst`me de classeurs lui-mme. Voici comment se droule le traitee e e ment dun syst`me de classeurs ` chaque cycle : e a le robot indique sur la liste de messages ltat de ses capteurs. e les classeurs dont la partie condition correspond au message sont slectionns. Le e e matching est fait en considrant que 0 et 1 se correspondent exactement, et que le e caract`re joker # correspond indiremment ` 0 ou ` 1. e e a a un tirage alatoire similaire au tirage de la roulette des algorithmes volutionnaires e e (cf gure 3.5) est eectu sur les forces, favorisant les classeurs ayant la plus grande e force. Laction associe au classeur gagnant est expdie sur la liste des messages. e e e Le message, indiquant laction moteur ` accomplir, est rcupr par les actionneurs a e ee du robot qui excutent les ordres moteurs. e Par rapport au Q-learning dcrit section 2.3.1, remarquons quil nest pas ncessaire e e que lensemble des classeurs dcrive exactement lensemble des situations possibles dans e les parties conditions : dune part, il y a en gnral une r`gle par dfaut qui est active e e e e e lorsquaucun classeur nest slectionn car les conditions courantes ne matchent pas la e e condition courante. Dautre part, lutilisation du caract`re joker permet davoir des r`gles e e plus ou moins gnrales, diminuant par consquence la taille de la base de r`gles. e e e e Par contre, les forces des syst`mes de classeurs sont modies par un algorithme assez e e proche de lalgorithme de Q-learning (section 2.3.1), ainsi que la remarqu Dorigo en 94 e [Dorigo et Bersini, 1994]. Cest lalgorithme dit de la bucket brigade [Holland, 1975] (terme qui peut tre traduit par la cha des seaux). Il sagit dune technique de rcompense e ne e dire. Chaque classeur symbolise un tre humain, et lobjectif commun de lensemble ee e des classeurs est de former une cha dans le but daller teindre un incendie en se ne e passant des seaux plus ou moins pleins deau. Lobjectif est de faire parvenir la cha ` ne a un point deau qui constitue la rcompense. Dans le syst`me de classeur, cette rcompense e e e est progressivement rtro-propage ` travers toute la cha par lintermdiaire dores e e a ne e (proportionnelles ` leurs forces) mises par les classeurs. Les classeurs constituant des a e cha nes ne parvenant pas ` obtenir de rcompense de la part de lenvironnement vont a e ainsi tre progressivement carts par une baisse graduelle de leur force. e e e

2.4.2

Lvolution des syst`mes de classeurs e e

Si le fait de pouvoir dcrire des situations gnrales par un seul classeur, ou davoir e e e relach la contrainte de couverture de lensemble des situations possibles par le syst`me e e de classeur permet de raliser un gain substantiel en complexit du syst`me lui-mme, il e e e e est par contre ncessaire de prvoir des algorithmes permettant dajuster le nombre et la e e 23

Chapitre 2. Intelligence articielle et robotique

gnralit dun syst`me de classeurs. Compte-tenu de la nature de lespace de recherche e e e e (cha nes de caract`res 0, 1, ou #), les algorithmes gntiques, ou plus prcisment des e e e e e variantes adaptes des algorithmes gntiques) se sont naturellement imposs depuis les e e e e premiers travaux de J. Holland. Une introduction plus compl`te sur les algorithmes volutionnaires et gntiques est e e e e disponible dans la section 3.2. Le principe gnral est inspir de la thorie de lvolution e e e e e de Darwin [Darwin, 1859] : une population dindividus est soumise aux deux facteurs de lvolution que sont la slection naturelle et les variations aveugles. Les individus les e e plus adapts survivent et se reproduisent via des transformations stochastiques. e Il existe deux variantes principales de lvolution des syst`mes de classeurs, qui di`rent e e e fondamentalement au niveau de la reprsentation non pas dun classeur, mais du syst`me e e complet. Un classeur (un gnotype) est donc toujours constitu dune cha de caract`res e e ne e (0, 1 ou #), ventuellement complte de param`tres rels (force comme dans lexemple e ee e e prcdent, justesse de lanticipation dans les ACS prsents section 2.4.4, . . . . Par contre, e e e e deux coles sarontent en ce qui concerne la mani`re de manipuler un ensemble de clase e seurs constituant le syst`me complet : e La reprsentation dite de Pittsburgh : introduite par [Smith, 1980], elle e consid`re quun individu est un systme de classeurs complet (aussi appel une base e e e de r`gles). Lalgorithme gntique permet de faire voluer cette population de base e e e e de r`gles en appliquant des oprateurs de variation (croisement, mutation) entre e e bases. Le principal inconvnient de cette mthode est dune part la complexit en e e e taille (une population contient un grand nombre dindividus, chacun contenant un grand nombre de classeurs), et dautre part la dicult quil y a ` introduire des e a oprateurs de variation spciques (tels que prendre le classeur le plus gnral entre e e e e 2 individus). Il en rsulte, en gnral, une faible vitesse de convergence vers des e e e solutions acceptables. La reprsentation e dite de Michigan : introduite par [Holland et Reitman, 1978], cette approche manipule en fait une population de classeurs, et le syst`me complet est la population totale (ou ventuellement e e un de ses sous-ensembles). La dicult nest plus alors dans la conception des e oprateurs de variation (voir plus loin) mais dans lattribution dune tness partielle e a ` chaque classeur ` partir des rsultats du syst`me complet. Cest l` quintervient a e e a lalgorithme de la Bucket Brigade par exemple, utilis pour crditer les classeurs de e e la force qui va ensuite servir a la slection au sein de lalgorithme dvolution. ` e e

2.4.3

Le syst`me de classeurs XCS e

La similitude algorithmique entre lalgorithme de Bucket Brigade et le Q-learning dj` ea note, outre quelle rapproche considrablement lapproche syst`me de classeur et apprene e e 24

2.4. Les syst`mes de classeurs e

tissage par renforcement, implique galement que les deux algorithmes risquent de sourir e des mmes probl`mes. Ainsi, on retrouve dans les classeurs un des probl`mes pratiques du e e e Q-learning, ` savoir le manque de rtribution des classeurs situs en dbut de cha (loin a e e e ne de la rcompense). Or, lors de lvolution de syst`mes de classeurs avec une reprsentation e e e e de type Michigan, la slection des classeurs se fait selon leur force, et ainsi les classeurs e situs en bout de cha (proche de la rcompense) vont tre considrablement favoriss. e ne e e e e Il peut alors rapidement devenir problmatique de slectionner des classeur susamment e e divers pour constituer des cha nes compl`tes. e Pour pallier ce dfaut, les syst`mes de classeurs XCS [S.W.Wilson, 1995] ne basent e e plus la slection sur la contribution espre ` la rcompense (la force des classeurs clase ee a e siques dcrits dans la section prcdente) mais maintient trois composantes numriques en e e e e sus des parties condition et action : la rcompense espre R, une estimation de lerreur e ee moyenne absolue sur R, et une tness, qui est une estimation de la prcision relative de la e rcompense espre R. Cest sur cette tness que se fait ensuite la slection lors de ltape e ee e e volutionnaire. En dautres termes, un classeur qui prdira convenablement sa rcompense, e e e mme si celle-ci est faible, aura plus de chance dtre slectionn quun classeur prdisant e e e e e mal une grande rcompense (ce qui ntait pas le cas dans le cadre des LCS classiques). e e Lors du droulement de lalgorithme XCS, au moment du choix dune action, si e plusieurs classeurs satisfont les conditions, alors le choix est eectu en fonction de la e prdiction de la rcompense de ce classeur, comme dans le cas des LCS classiques. Le e e droulement seectue donc de mani`re classique, lalgorithme de la Bucket Brigade contie e nue dtre utilis pour mettre ` jour les rcompenses espres, avec en sus la mise ` jour des e e a e ee a taux derreurs compars des prdictions et des rcompenses relles, ainsi que de la tness e e e e de chaque classeur. Grce ` cette technique, tous les classeurs peuvent tre slectionns, a a e e e aussi bien les classeurs de dbut de cha que ceux situs en n. e ne e Signalons enn quil est possible davoir dans la partie action des coecients dune fonction linaire des entres, et quon peut ainsi rsoudre avec des syst`mes de classeurs e e e e XCS des probl`mes de rgression ` valeurs relles [Wilson, 2000]. e e a e

2.4.4

Les syst`mes de classeurs anticipatoires e

Les ACS (Anticipatory Classier Systems) ont t introduits par [Stolzmann, 1998]. ee Une des dirences majeures avec les autres syst`mes de classeurs se situe au niveau de e e la cration de nouveaux classeurs : ce ne sont plus des algorithmes de type gntiques ou e e e volutionnaires qui sont utiliss, mais des heuristiques spciques. Le principe du syst`me e e e e de classeur ACS est reprsent sur la gure 2.6. e e Dans ce nouveau type de classeur, laccent est mis autant sur la capacit des classeurs e a ` entra ner des rcompenses pour le robot qu` anticiper sur les futurs tats de ses capteurs e a e compte-tenu de laction envisage. Un terme binaire additionnel est ajout apr`s les parties e e e 25

Chapitre 2. Intelligence articielle et robotique

Sensations t+1

Justesse de lanticipation

[001#] [01] [1#00]

s=0.56 sa=0.89

Sensations t

Action

Force du classeur

Fig. 2.6 Le principe du classeur anticipatoire ACS conditions et actions, qui a la mme structure que le terme de condition puisquil tente de e prdire quelles seront les sensations (conditions) au temps t + 1. Et au terme de force des e classeurs LCS classiques, qui est ici encore la rcompense espre R, et reprsente toujours e ee e la qualit du classeur en vue de lobtention dune ventuelle rcompense nale, est ajoute e e e e une force A qui reprsente la capacit du classeur ` anticiper correctement ses futures e e a sensations. Rappelons que le signe # dans St est le caract`re joker, indiquant que lattribut en e question peut prendre indiremment la valeur 0 ou 1. Par contre, le caract`re # dans la e e partie anticipatoire (les prdictions par le classeur pour St+1 ) signie le passage ` travers e a (passthrough) de lattribut correspondant : sa valeur dans St+1 reste inchange par rapport e a ` sa valeur dans St . Sur lexemple de la gure 2.6, la valeur du deuxi`me attribut dans e St est de 0, par consquent, la valeur du deuxi`me attribut dans la prdiction de St+1 e e e reprsente par # sera aussi 0. e e La mise ` jour des forces des classeurs est similaire ` celle utilise dans lalgorithme Bua a e cket Brigade, avec une dirence notable : si une rcompense r est prvue ` partir dun ene e e a droit prcis de lenvironnement, cette rcompense ne sera pas seulement rtro-propage sur e e e e les classeurs qui ont permis datteindre cette rcompense, mais elle augmentera galement e e la force de tous les classeurs qui anticipent pour St+1 une situation reprsentant le mme e e tat des capteurs que sur la case de rcompense. e e En ce qui concerne, la mise ` jour de la force danticipation, les classeurs actifs sont a tests sur le robot (en simulation), les sensations ` t+1 rellement obtenues sont come a e pares aux sensations anticipes. Si les sensations correspondent, alors la force danticipae e tion sa est augmente, si elles ne correspondent pas, on tente de crer un nouveau classeur e e possdant les bons param`tres danticipation (on constate donc ici que lutilisation dale e gorithmes volutionnaires nest plus ncessaire contrairement aux classeurs classiques ou e e de type XCS prcdemment dcrit). Cependant, si la cration dun tel classeur nest pas e e e e 26

2.4. Les syst`mes de classeurs e

ralisable, alors la force danticipation du classeur tudi baisse. e e e Apr`s avoir laiss lalgorithme voluer un moment, certains des classeurs nissent par e e e poss`der une grande force danticipation. Lorsque cette force danticipation atteint une e valeur dpassant un certain seuil (par exemple 0.9), le classeur est dnomm classeur sr, e e e u indiquant que lutilisation de classeur va conduire ` partir des actions prcises dans le a e e classeur dans plus de 90% des cas, aux sensations anticipes par ce classeur ` linstant e a davant. Indiquer une position nale que le robot doit atteindre (sensations dsires) sut e e alors ` ce dernier pour planier le chemin quil va emprunter, puisquil sut pour cela de a construire la cha minimale de classeurs srs, ` partir des sensations initiales du robot ne u a jusquaux sensations nales (le but). Le type de classeurs appara donc comme idal dans des expriences dapprentissage t e e latent. De nombreuses expriences dapprentissage latent ont t menes par les biologistes, e ee e notamment avec des rats. Tolman, en 1948, a fait voluer des rats dans un labyrinthe avec e des couleurs direntes aux direntes extrmits. Apr`s que le rat se soit promen dans le e e e e e e labyrinthe, sans but, on le place dans une case colore avec une rcompense (nourriture). e e Ensuite, lorsque le rat se retrouve au dbut du labyrinthe, il se dirige directement vers la e case de la mme couleur que celle ayant contenu de la nourriture. Le rat a donc emmagasin e e une tr`s bonne connaissance du monde, puisquil est capable daller directement dans la e case colore (reprsentant une sensation particuli`re). Lanalogie avec les syst`mes de e e e e classeurs ACS est agrante : lorsque le robot explore son environnement, il fortie au fur et ` mesure sa connaissance du monde, quil est capable de mettre en valeur par a la construction dune cha de classeurs srs. Lorsque les environnements deviennent ne u non markoviens (impossibilit de prdire correctement les sensations futures ` plusieurs e e a reprises, de ` une ambigu e dans la perception (deux cases direntes peuvent engendrer u a t e les mmes sensations ` linstant t mais le fait dexcuter la mme action pour les deux, peut e a e e engendrer des sensations futures direntes.)), le formalisme ACS est capable dutiliser des e squences dactions permettant de se retrouver sur une situation non ambigu. e e Ces techniques dapprentissage par renforcement, et par syst`me de classeur, ont fait e leur preuve dans les mondes discrets, cependant peu dexprimentations ont t tentes e ee e sur des robots rels : le nombre de sensations disponibles explose avec la discrtisation, et e e les bruits qui apparaissent sur les capteurs perturbent lapprentissage. Dans cette th`se, bien que la majorit des exprimentations aient t eectues en sie e e ee e mulation, la simulation tend ` modliser aux mieux les contraintes engendres par le pasa e e sage au rel. Cest pourquoi nous avons utilis la technique de la robotique volutionnaire e e e utilisant des techniques dvolution articielle et des rseaux de neurones articiels. e e 27

Chapitre 2. Intelligence articielle et robotique

2.5

Conclusion

Nous avons pass en revue dans ce chapitre les techniques rcentes issues de lIntellie e gence Articielle utilises pour le contrle en robotique. Si larchitecture de subsomption e o de Brooks a constitu un grand progr`s par rapport ` lutilisation des mthodes de lIA e e a e symbolique, elle nen demande pas moins un gros travail danalyse et de mise au point de la part du programmeur, puisquil doit dcomposer lui-mme la tche que le robot doit e e a accomplir en un ensemble hirarchis de sous-tches entre lesquelles il doit aussi xer les e e a dpendances. Enn, la notion dadaptativit, par rapport ` des incertitudes ou des changee e a ments dans lenvironnement, semble dicile ` intgrer dans larchitecture de subsomption, a e dans la mesure o` la hirarchie entre les divers modules est compl`tement ge cest la u e e e base de larchitecture. Seuls des petits changements de comportement semblent possibles dans ce contexte. Au contraire, les techniques utilisant lapprentissage par renforcement modient par dnition le comportement du robot durant sa vie, en fonction des rcompenses accue e mules durant les tapes antrieures, et semblent donc ` mme dune part datteindre e e e a e ladaptativit, dautre part de court-circuiter ltape de mise au point modulaire manuelle e e de larchitecture de subsomption (elles peuvent en particulier tre appliques directement ` e e a un contrleur global de type rseau de neurones tels ceux dcrits dans le chapitre suivant). o e e Cependant, dans le cas du Q-learning appliqu ` un rseau de neurones, comme dans le ea e cas des syst`mes de classeurs, les mthodes inspires de lapprentissage par renforcement e e e sourent de deux dfauts : dune part, le temps dapprentissaage du robot est souvent e tr`s long, et en particulier il faut de tr`s nombreux essais dans un enviromment donn e e e avant dobtenir un comportement raisonnable et ceci nest pas toujours souhaitable voire possible. Dautre part, ces approches ncessitent une discrtisation pralable de lespace e e e de recherche des contrleurs, qui aboutit dans les cas ralistes ` une explosion de lespace o e a des (tats,actions) rendant son exploration dicile et (encore plus) coteuse. e u Mais une troisi`me voie existe, consistant ` utiliser des techniques dvolution artie a e cielle, i.e. inspires de lvolution naturelle des populations biologiques selon Darwin, pour e e faire voluer des contrleurs bass sur des rseaux de neurones articiels. Lutilisation e o e e des rseaux de neurones, approximateurs universels connus pour leurs bonnes capacits e e de gnralisation, permet de saranchir de ltape de hirarchisation de lensemble des e e e e tches ` accomplir, mais aussi de prvoir des mcanismes spciques dadaptation indisa a e e e pensables dans le cadre de la robotique autonome. Et lutilisation de lvolution artie cielle, en dcouplant la mise au point du contrleur, qui se droule ` lchelle de temps e o e a e de lvolution, de lapprentissage et de ladaptation en-ligne, qui a elle lieu ` une chelle e a e de temps beaucoup plus petite, celle de la vie du robot, permet dobtenir des robots immdiatement oprationnels - mme si cest au prix dun temps de calcul hors-ligne pare e e 28

2.5. Conclusion

fois important. Ces techniques vont tre prsentes au chapitre suivant, et sont la base de e e e travail de toutes les ralisations de cette th`se. e e

29

Chapitre 2. Intelligence articielle et robotique

30

Chapitre 3

La robotique volutionnaire e
Ce chapitre introduit les notions essentielles de robotique volutionnaire, lapproche e de la robotique autonome base dune part sur les rseaux de neurones comme mod`les de e e e contrleurs, dautre part sur les techniques dvolution articielle comme outils de mise o e au point de ces contrleurs. o Les rseaux de neurones articiels (et mme les perceptrons multi-couches ` fonce e a tion dactivation sigmo dale) sont connus pour tre des approximateurs universels e [Hornik et al., 1989], cest-` dire quils sont capables dapprocher au plus pr`s, avec sufa e samment de neurones, toute fonction, en particulier, donc, la fonction donnant les valeurs des actuateurs du robot en fonction des sensations, ou entres des capteurs. Dautre e part, les rseaux de neurones sont galement connus pour leur capacit ` bien gnraliser, e e ea e e cest-`-dire quils int`grent implicitement une notion de rgularit de la fonction quils a e e e apprennent : la fonction approxime est plutt lisse, ce qui les rend aussi moins sensibles e o aux bruits sur les capteurs que dautres mod`les possibles pour les contrleurs des robots. e o Dans le cadre de lapprentissage supervis, la mise au point (souvent baptise ene e trainement) des rseaux de neurones est en gnral ralise via lutilisation de mthodes e e e e e e a ` base de gradient (telle la cl`bre rtro-propagation du gradient). Cependant, dans le ee e cadre de la robotique, il nexiste pas (ou tr`s peu) dexemples permettant dutiliser lerreur e commise sur un ensemble dentres particuli`res du rseau, et lutilisation de mthodes ` e e e e a base de gradient est impossible (on citera pour mmoire la mthodes appele backprop e e e through time [Nguyen et Widrow, 1990], qui consiste ` drouler le temps, mais ncessite a e e dune part un mod`le neuronal de la dynamique du robot, et dautre part ne peut concere ner que quelques pas de temps au del` desquels il faut disposer de ce que devrait tre ltat a e e du rseau, deux conditions qui la rende inapplicable en pratique). Cest pourquoi, dans e le cadre de la robotique autonome, les algorithmes volutionnaires sont le plus souvent e utiliss pour la mise au point des contrleurs neuronaux. e o Inspirs de la thorie de lvolution des esp`ces de Darwin, les algorithmes e e e e 31

Chapitre 3. La robotique volutionnaire e

volutionnaires peuvent travailler sur des espaces de recherche non classiques (ce qui e permet par exemple de les utiliser pour optimiser ` la fois larchitecture et les poids dun a rseau de neurones, bien que nous nayons pas prot de cette souplesse dans cette th`se, e e e voir section 3.3.3). Ils ne ncessitent que de conna les valeurs prises par la fonction ` e tre a optimiser (algorithmes dordre 0), et ils sont par ailleurs tr`s robustes pour chapper aux e e minima locaux. Ce sont ces deux derni`res proprits qui justient ` elles seules le choix e ee a de cette technique pour la mise au point de contrleurs en robotique autonome adaptative. o Nous allons tout dabord prsenter dans ce chapitre les concepts de base des mthodes e e de rseaux de neurones articiels, section 3.1, puis les outils doptimisation que sont les e algorithmes volutionnaires, section 3.2. Nous discuterons ensuite de loptimisation des e rseaux de neurones utilisant les algorithmes volutionnaires, justiant en particulier notre e e choix de ne faire voluer que les poids dun rseau darchitecture xe. Enn, la derni`re e e e section sera consacre ` des considrations gnrales sur les fonctions performance en e a e e e robotique volutionnaire. e

3.1
3.1.1

Les rseaux de neurones articiels e


Historique

Les premiers neurones articiels ont t dvelopps dans les annes 40, par Mc Culloch ee e e e et Pitts [McCulloch et Pitts, 1943]. Inspirs par les neurones de notre syst`me nerveux, e e ils dnirent un neurone comme une unit de calcul plus ou moins active par les actie e e vits des autres neurones auxquels il est reli par des connexions connexions et poids e e correspondant aux synapses et poids synaptiques de notre propre syst`me cognitif. Ces e connexions peuvent tre excitatrices ou bien inhibitrices (par exemple, dans leur premi`re e e conception, les neurones articiels de Mc Culloch et Pitts ne sont activs que sils sont e assez excits). Les expriences ralises par Mc Culloch et Pitts ont dmontr lnorme e e e e e e e potentiel contenu par ces neurones articiels et leur capacit ` apprendre semblait tout ` ea a fait impressionnante ` lpoque, bien que les algorithmes dapprentissage utiliss fussent a e e relativement simples (r`gles linaires). e e En 1949, toujours inspir par notre syst`me cognitif, Donald Hebb, met au point e e lapprentissage hebbien [Hebb, 1949]. La modication des valeurs du poids de chaque connexion est ralise par le produit des valeurs dactivation des deux neurones (amont et e e aval) attachs ` la cronnection. e a Le premier vritable rseau ordonn de neurones vit le jour dans les annes 50 avec le e e e e perceptron de Rosenblatt (cf g. 3.1) : ce rseau est constitu de deux couches, la couche e e du bas reprsentant les entres du rseau et la couche du haut reprsentant les sorties. Le e e e e perceptron multi-couches viendra un peu plus tard, les neurones sont alors organiss en e 32

3.1. Les rseaux de neurones articiels e

plusieurs couches, et, sils peuvent thoriquement raliser des approximations de fonctions e e non linaires, malgr de nombreux essais, les capacits dapprentissage en environnement e e e non-linaires des rseaux de neurones restent inexistantes. Cest ainsi quen 1969, Minski e e et Papert [Minsky et Papert, 1969] prouv`rent quen ltat des connaissances des algoe e rithmes dapprentissage, le perceptron,mme multi-couches, tait totalement incapable e e dapprendre des concepts non linaires (en particulier la fonction XOR). Ce fut le dbut e e de lhiver des rseaux de neurones, la communaut scientique ne voyant pas dintrt ` e e ee a utiliser une technique aussi limite. e Cette limitation dusage prit n avec la publication dun nouvel algorithme dapprentissage, la rtro-propagation du gradient (parfois aussi appel rtropropagation de lerreur) e e e [Cun, 1987, Rumelhart et McClelland, 1986] (nous dtaillerons plus en dtails cet algoe e rithme dans la section 3.1.3). Grce ` cet algorithme, ` base de descente de gradient, a a a lapprentissage supervis des rseaux de neurones permit au perceptron multi-couches de e e rvler enn toutes ses possibilits. De nombreuses applications furent raliss avec succ`s e e e e e e dans les annes 1990, notamment en reconnaissance des formes (et plus spciquement e e des caract`res). De nombreuses applications vinrent conrmer que la technique avait ate teint lge adulte [Tesauro et Sejnowski, 1987]. Ainsi les rseaux de neurones sont depuis a e plusieurs annes utiliss pour la lecture des codes postaux ` la poste amricaine. e e a e

3.1.2

Types darchitectures

Un neurone articiel est donc une unit de calcul ayant plusieurs entres et une sortie, e e calcule en fonction des entres. Cette sortie est ventuellement duplique et envoye en e e e e e entre de plusieurs autres neurones. Chaque connection entre deux neurones est munie e dun poids, qui module la force du signal entrant dans le neurone suivant. Les entres de e certains neurones proviennent directement de lextrieur du rseau. Vu comme une bo e e te e e noire, le rseau constitue une fonction de Rd dans Rd , d tant le nombre dentres du e rseau et d le nombre de sorties. e La premi`re leon issue des succ`s applicatifs est que larchitecture choisie pour une ape c e plication donne des rseaux de neurones est un facteur de russite important, avant mme e e e e lalgorithme dapprentissage des poids. Ainsi, le rseau de reconnaissance des chires de la e poste amricaine comporte plusieurs dizaines de milliers de neurones et de connexions, dont e la mise au point a ncessit des centaines dhommes-mois. On distingue deux grands types e e darchitecture, les rseaux ` propagation directe (feedforward), et les rseaux rcurrents, e a e e suivant la prsence ou non de boucles dans le graphe de connection des neurones. e Classiquement, en robotique, la couche dentre reprsente les sensations obtenues par e e le robot ` travers ses capteurs, comme par exemple dirents pixels dune image camra, a e e ou bien encore de valeurs de capteurs infrarouges. Cette information est ensuite propage e a ` travers les direntes couches, et la couche de sortie dcide des actions motrices devant e e 33

Chapitre 3. La robotique volutionnaire e

tre accomplies par le robot. e

3.1.2.1

Les rseaux feedforward e

Le rseau de neurones ` propagation directe (voir une exemple gure 3.1) est appel e a e ainsi car, pour une assignation des valeurs des entres du rseau, les sorties peuvent tre e e e calcules directement, en un seul passage, en calculant de proche en proche les activations e et les sorties des neurones. Lillustration la plus commune de ce rseau est le perceptron e multi-couches, dans lequel le graphe du rseau est organis en couche, chaque neurone e e dune couche tant reli ` tous les neurones de la couche suivante. e ea
si Neurones de sortie

f (a i)
fonction dactivation

Poids

a i = somme des sorties des neurones prsynaptiques pondrs par leur poids

wi0

wi1

wi2

wi3

wi4

Neurones dentre

s0=1

s1

s2

s3

s4

Fig. 3.1 Sur la gauche, un exemple de rseau ` propagation directe, le perceptron de Rosenblatt, e a a ` droite, le calcul de la sortie dun neurone. Rentrons un peu plus dans les dtails dun neurone pour comprendre comment le e mcanisme dactivation des neurones est eectu. Deux neurones sont relis par un synapse e e e muni dun poids, synapse reliant la sortie du premier neurone, aussi appel neurone pre e synaptique, ` lentre du deuxi`me neurone, ou neurone post-synaptique. Le calcul de la a e e sortie dun neurone si (cf gure 3.1 ` droite) est eectu en utilisant les valeurs de sortie a e des dirents neurones pr-synaptiques pour tous les synapses entrant dans le neurone, e e pondres par les valeurs des poids des synapses qui les relient. Ces poids synaptiques ee (wij ), poss`dent une valeur soit positive soit ngative, et on appelera ces connexions des e e connexions respectivement excitatrices ou inhibitrices. La somme pondre des entres du ee e neurone constitue lactivation du neurone a(i) : 34

3.1. Les rseaux de neurones articiels e

ai =
j=1

wij sj

(3.1)

o` j reprsente lindice du neurone pr-synaptique, et N le nombre de neurones pru e e e synaptiques. Il faut galement noter la prsence dun neurone virtuel (non compt dans e e e N ), ou neurone de biais, dont la sortie est uniformment gale ` 1 (sortie maximale), e e a reprsent par le neurone s0 sur la gure 3.1. Ce biais va servir ` fournir une activation e e a soit positive, soit ngative en labsence dautres activations notables. e Il ne reste plus qu` calculer la valeur de sortie du neurone : a si = f (ai ) (3.2)

o` f est la fonction dactivation du neurone. Plusieurs types de fonction dactivation u peuvent tre utiliss, mais la plus utilise reste la sigmo (cf g. 3.2 et la formule 3.3), e e e de dans laquelle k reprsente en fait la pente ` lorigine de la sigmo (cette fonction poss`de e a de e une sortie borne entre 0 et 1). e f (x) = 1 1 + ekx (3.3)

1 0.8 0.6 0.4 0.2 4 2 2 4

Fig. 3.2 la sigmo de.

3.1.2.2

Les rseaux rcurrents e e

Pour certains types dexprience, un processus de mmorisation peut savrer e e e bnque, voire ncessaire. Dans ce cadre l`, on peut utiliser un rseau rcurrent, pour e e e a e e lequel il existe des boucles de connection entre les neurones : les activations des neurones constituent une mmoire entre une mise ` jour des activations de lensemble du rseau et e a e la suivante. En eet, dans le cas de rseaux rcurrents, la mise ` jour des activations du rseau e e a e ne dpend plus uniquement des entres du rseaux, mais galement des sorties de chacun e e e e 35

Chapitre 3. La robotique volutionnaire e

des autres neurones auxquels son entre est relie. Lutilisation principale de ce type de e e rseau consiste alors, dans le cadre dun temps discrtis, ` mettre ` jour simultanment e e e a a e les activations de lensemble des neurones au temps t + 1 en fonction de lensemble des sorties au temps t et des entres au temps t + 1 (linitialisation ` t = 0 est en gnral faite e a e e en mettant les activations ` 0). Les sorties du rseau sont alors la rponse du rseau au a e e e temps t + 1. A noter quil est possible aussi dutiliser les rseaux de neurones rcurrents pour lape e proximation de phnom`nes stationnaires : les mises ` jour synchrones des activations sont e e a itres pour les mmes entres, jusqu` stabilisation (ventuelle). Mais nous nentrerons ee e e a e pas dans les dtails de cette utilisation ici, puisque les fonctions (contrleurs) que nous e o cherchons ` identier dpendent du temps : la robotique volutionnaire utilise donc exa e e clusivement lapproche par mise ` jour synchrone ` chaque pas de temps dcrite dans le a a e paragraphe prcdent. e e Un exemple de rseau rcurrent tr`s utilis en robotique volutionnaire est prsent e e e e e e e gure 3.3 : il sagit du rseau dit de type Elman [Elman, 1990], qui a une architecture e semblable ` celle dun perceptron multi-couche, sauf que la couche cache est totalement a e rcurrente, i.e. tous les neurones sont relis ` tous les autres. e e a
Neurones de sortie

Neurones cachs

Neurones dentre

Fig. 3.3 Un exemple de rseau rcurrent, ici en rseau de type Elman (1990) constitu dune e e e e
couche cache totalement rcurrente, tous les neurones de cette couche sont relis aux autres. e e e

Nous allons maintenant passer en revue rapidement quelques mthodes classiques dape prentissage des rseaux de neurones. e

3.1.3

La rtro-propagation du gradient e

Lalgorithme de rtro-propagation du gradient est probablement lalgorithme dape prentissage supervis le plus populaire pour les rseaux de neurones. Cest notamment e e 36

3.1. Les rseaux de neurones articiels e

grce ` lui que lintrt pour la technique neuronale est revenu ` la n des annes a a ee a e 80. En eet, lerreur commise sur les (nombreux) exemples dapprentissage peut tre e (rtro)-propage de proche en proche, ` partir de la derni`re couche du rseau (la sortie) e e a e e vers les couches prcdentes. Cela permet de calculer explicitement le gradient de la e e fonction derreur, qui est quadratique par rapport aux poids du rseau, et dutiliser e une des mthodes de minimisation ` base de gradient pour la minimisation de cette e a erreur. Plus prcisment, la rtro-propagation du gradient est une variante du gradient e e e stochastique dans laquelle les exemples sont utiliss lun apr`s lautre, dans un ordre e e alatoire, avec mise ` jour des poids au fur et ` mesure. Nous allons maintenant dtailler e a a e cet algorithme : en eet, bien que la situation en robotique volutionnaire ne permette e pas dutiliser cette technique pour lapprentissage des poids du contrleur neuronal, du o fait de labsence dexemples, nous utiliserons la rtro-propagation pour ladaptation par e anticipation dcrite dans le chapitre 5 de cette th`se. e e Prenons lexemple dun perceptron multi-couches. La couche de sortie indique le rsultat de la fonction que lon cherche ` approcher sur les exemples disponibles. On e a peut penser par exemple ` un algorithme de reconnaissance de caract`res qui prendrait en a e entre les dirents pixels dune image, et la couche de sortie aurait pour rle de dcoder e e o e le caract`re associ. e e Situons-nous sur la derni`re couche du rseau de neurones. Grce aux exemples dape e a prentissage, lerreur quadratique peut tre calcule : e e E= 1 2 (di si )2 (3.4)

di reprsente ici la sortie dsire pour le neurone de sortie i et si reprsente la sortie e e e e rellement obtenue ` travers la propagation du rseau de neurones. e a e Lobjectif de cet algorithme est de dterminer linuence des poids sur lerreur commise e en sortie, par consquent, il sut de calculer le gradient de lerreur par rapport aux poids : e E E ai = . wij ai wij o` ai reprsente lactivation du neurone associ. u e e E = (di si ).f (ai ) ai (3.6) (3.5)

Considrons que la couche immdiatement prcdente comporte k neurones, on a alors : e e e e ai = [ wij wij wik sk ] = sj
k

(3.7)

37

Chapitre 3. La robotique volutionnaire e

Les gradients de lerreur par rapport aux poids relis ` la couche de sortie peuvent e a dsormais tre calculs. e e e Intressons-nous maintenant ` la couche cache qui prc`de immdiatement la couche e a e e e e de la sortie. Les indices i correspondent dsormais ` cette couche cache, et lindice j ` la e a e a couche prcdant cette couche, lindice k quand ` lui indicera les neurones de la couche de e e a sortie. Procdons de la mme mani`re que prcdemment, et calculons le gradient de lerreur e e e e e par rapport ` lactivation des neurones de cette couche cache : a e E =[ ai Or
E ak

E ak dsi . ]. =[ ak si dai

E .wki ].fi (ai ) ak

(3.8)

a dj` t calcul prcdemment, lors du calcul de la couche qui suit la couche eaee e e e

courante, et va donc pouvoir tre utilis ici. Cest en cela que cet algorithme est appel e e e rtro-propagation du gradient. e Il reste seulement ` calculer la drive de la fonction f et dun point de vue purement a e e pratique, lintrt de lutilisation de la sigmo prend un sens nouveau, puisque cette ee de fonction a une drive tr`s simple ` calculer si lon connait dj` ses valeurs (et elles aussi e e e a ea ont dj` t calcules). En eet : eaee e f (x) = k.f (x).(1 f (x)) = k.si .(1 si ) (3.9)

Une fois calculs les gradients, il sut dutiliser la technique de la descente du gradient e et de modier les poids du rseau de neurones dans la direction oppose la direction du e e gradient : wij = E wij (3.10)

o` est une constante dnie par lutilisateur, appel taux dapprentissage (learning u e e rate). Cet algorithme est tr`s ecace dans le cadre de lapprentissage supervis. Il soure e e cependant de quelques dfauts : dune part, comme tout algorithme de gradient, et malgr e e la nature (faiblement) stochastique du fait de la prsentation des exemples un par un e dans un ordre alatoire, il peut facilement tre pig dans des minima locaux : dautre e e e e part, il est en gnral assez lent, et il est ncessaire de prsenter plusieurs fois lensemble e e e e des exemples disponibles. Plusieurs mani`re de pallier ce dernier dfaut ont t proposes, e e ee e parmi lesquelles nous avons choisi (au chapitre 5) une des plus classiques, celle consistant a rajouter un terme dinertie, qui permet daugmenter les variations des poids en privilgiant e la direction dj` prise au cycle prcdent : ea e e 38

3.2. Les algorithmes volutionnaires e

wij (t + 1) := wij (t) autre param`tre ` dnir par lutilisateur. e a e

E + wij (t) wij

(3.11)

avec wij (t) = wij (t) wij (t 1), et o` est le moment dinertie (momentum), un u

3.2

Les algorithmes volutionnaires e

Les algorithmes volutionnaires sont inspirs de la thorie de lvolution de Darwin e e e e [Darwin, 1859] qui veut que les individus les plus adapts a leur environnement survivent e ` et se reproduisent par variations aveugles. Plus formellement, ce sont des algorithmes doptimisation stochastique dordre 0, cest-`-dire nutilisant que des valeurs prises par la a fonction ` optimiser (` lexclusion de valeurs des drives). Mais les points les plus caa a e e ractristiques de ces algorithmes sont dune part leur souplesse demploi, puisquils peuvent e optimiser des fonctions dnies sur des espaces quelconques, et dautre part leur robuse tesse face aux optima locaux. De plus, les algorithmes volutionnaires ne sont pas rese treints aux espaces de recherche paramtriques (dans lesquels la solution est cherche sous e e forme dune vecteur de param`tres de taille xe). Une prsentation dtaille et actuelle de e e e e ces algorithmes se trouve dans louvrage de Eiben et Smith [Eiben et Smith, 2003]. Ces algorithmes sont aujourdhui couramment utiliss pour trouver loptimum de fonctions e diciles (ayant par exemple de nombreux optima locaux), ou dnies sur des espaces e non-standards. Le principe gnral des algorithmes volutionnaires est illustr sur la gure 3.4 : une e e e e population dindividus (ensemble de points de lespace de recherche, chacun reprsentant e une solution potentielle au probl`me doptimisation pos) volue suivant les principes e e e Darwiniens. Dans un premier temps, la population est initialise, en gnral de mani`re e e e e alatoire (sachant quil est possible de biaiser le choix de la population initiale en fonction e des connaissances du probl`me [Surry et Radclie, 1996]). Les individus ainsi gnrs sont e e ee alors valus, cest-`-dire que lon calcule la valeur de la fonction objectif en ces points. e e a Nous rentrons alors dans la boucle de lalgorithme, appele boucle gnrationnelle, et cette e e e population initialise constitue les parents. e Le crit`re darrt est le plus souvent un nombre xe de gnrations, ou un nombre e e e e x de gnrations sans amlioration de la meilleure performance dans la population. En e e e e cas darrt de lalgorithme, le meilleur individu de la population de parents est rendu e comme solution. Ltape suivante de lalgorithme est ltape de slection, durant laquelle certains ine e e dividus vont tre slectionns pour devenir des gniteurs, cest-`-dire quils sont autoriss e e e e a e a ` se reproduire. La slection favorise les individus ralisant les meilleures valeurs de la e e 39

Chapitre 3. La robotique volutionnaire e

11111111 00000000 Initialisation 11111111 00000000 11111111 00000000 1111111111111111 0000000000000000 1111111111111111 0000000000000000 Evaluation 1111111111111111 0000000000000000 1111111111111111 0000000000000000

Meilleur individu Parents Stop ?

111111 000000Initialisation et oprateurs stochastiques 111111 000000 111111 000000 Darwinisme (stochastique ou deterministe) 111111 000000 11111111111 00000000000 Le cot CPU 11111111111 00000000000
Fig. 3.4 le principe de lalgorithme volutionnaire. e fonction objectif (les plus grandes si lon est en train de maximiser, les plus faibles si lon minimise). Cette slection peut tre stochastique ou dterministe. e e e Ltape de reproduction consiste ` appliquer ` ces gniteurs des oprateurs de vae a a e e riation qui les modient de mani`re stochastique. On distingue deux types doprateurs e e suivant le nombre doprandes : les oprateurs de croisement construisent un ou deux ene e fants ` partir de deux parents ; les oprateurs de mutation gnrent un enfant ` partir a e e e a dun parent. La population des enfants est alors ` son tour value on calcule la valeur de a e e la fonction objectif en ces nouveaux points. Enn, certains individus parmi les parents et les enfants sont slectionns (toujours en favorisant les meilleurs) an de constituer e e la population des parents ` la gnration suivante. Cest ltape dite de remplacement. a e e e Une nouvelle gnration commence alors, et la boucle gnrationnelle est boucle. Les e e e e e gnrations vont ainsi se succ`der jusqu` la satisfaction du crit`re darrt. e e e a e e Il est important de souligner que dans la plupart des applications des algorithmes volutionnaires, et en particulier en robotique volutionnaire, ltape prenant le plus de e e e temps de calcul est ltape dvaluation (en robotique, elle fait appel ` un simulateur qui e e a doit tester le robot en situation, durant un certain nombre de pas de temps). Il faut en 40

11111111 00000000 11111111 00000000 Remplacement 11111111 00000000 11111111 00000000 11111111111111111 00000000000000000 11111111111111111 00000000000000000 Evaluation 11111111111111111 00000000000000000 11111111111111111 00000000000000000

11111111 00000000 11111111 00000000 Slection 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 Croisement, 11111111 00000000 Mutation, ... 11111111 00000000
Enfants

3.2. Les algorithmes volutionnaires e

tenir compte an dajuster la taille de la population et le nombre denfants dsir au temps e e que lon est prt ` consacrer pour une optimisation. e a

3.2.1

Historique des algorithmes volutionnaires e

Historiquement, on distingue 4 grandes classes dalgorithmes volutionnaires : e Les algorithmes gntiques : mis au point par John Holland dans les annes 60 e e e [Holland, 1975], puis populariss par David Goldberg [Goldberg, 1989] ` la n des e a annes 80, ils sappuient avant tout sur une reprsentation binaire des individus. Ils e e sont particuli`rement plbiscits par la communaut des utilisateurs des algorithmes e e e e volutionnaires aux Etats-Unis. e Les stratgies dvolution : mis au point par Ingo Rechenberg [Rechenberg, 1972] e e et Hans-Paul Schwefel [Schwefel, 1981] dans les annes 60 en Allemagne, ces ale gorithmes sappuient sur une reprsentation relle des individus et sur loprateur e e e de mutation gaussienne. Les SE les plus performantes utilisent les mutations autoadaptatives, dans lesquelles chaque individu porte avec lui les param`tres de la mue tation gaussienne qui lui sera applique param`tres eux-mme soumis ` mutation e e e a [Bck, 1995]. a La programmation volutionnaire : mis au point par Larry Fogel dans les annes 60 e e galement [Fogel et al., 1966], la programmation volutionnaire sest tout dabord e e intresse ` lvolution dautomate ` tats nis, pour notamment lapproximation des e e a e ae sries temporelles. Cependant, populariss ` son tour par David Fogel [Fogel, 1995], e e a cet algorithme a galement t utilis dans de nombreux autres champs dapplication. e ee e Les caractristiques de lvolution au sein de la programmation volutionnaire en font e e e des algorithmes tr`s proches des stratgies dvolution. e e e Enn, derni`re instance direncie dalgorithme volutionnaire, la programmae e e e tion gntique [Banzhaf et al., 1998] sintresse ` lvolution de programmes, soue e e a e vent reprsents par des arbres. Propose par Cramer [Cramer, 1985], elle a sure e e tout t popularise par Koza au dbut des annes 90 [Koza, 1992, Koza, 1994, ee e e e Koza et al., 1999].

3.2.2

Le dilemme exploration vs exploitation

Si les mthodes doptimisation numrique classique ` base de descente de gradients e e a sont tr`s ecaces sur les fonctions rguli`res sans optima locaux, elles sont le plus souvent e e e irrmdiablement attires par le premier optimum local quelles rencontrent : ce sont des e e e ` algorithmes de recherche locale uniquement. A linverse, les marches alatoires, et les algoe rithmes de Monte-Carlo de base essaient une succession de points de lespace de recherche tirs au hasard : ils peuvent sans doute visiter tous les bassins dattraction des optima e 41

Chapitre 3. La robotique volutionnaire e

locaux, mais se rv`lent incapables den trouver les optima. e e Les algorithmes volutionnaires tentent de marier les deux avantages : dune part exe plorer largement lespace de recherche, pour ne pas rester bloqus pr`s des minima locaux ; e e mais galement tre capables dexploiter les meilleurs rsultats trouvs ` un instant donn e e e e a e an de les amliorer localement. Tous les param`tres dun algorithme volutionnaire pere e e mettent ainsi de modier lquilibre entre exploitation et exploration, et cet quilibre doit e e guider le choix des valeurs de ces param`tres par lutilisateur. e Dans le cadre de cette th`se, nous avons choisis de travailler sur des espaces rels e e (lensemble des poids dun rseau de neurones) en utilisant les stratgies dvolution ` e e e a mutation adaptative (dcrites section 3.2.4.2) car elles permettent ` la fois dexplorer e a largement dans un premier temps lespace de recherche, mais aussi de rendre de plus en plus prcises les mutations au fur et ` mesure de lavancement de lalgorithme, permettant e a ainsi la convergence ne de lalgorithme.

3.2.3

Les tapes darwiniennes : la slection et le remplacement e e

Avant toute chose, claircissons les termes que nous allons utiliser par la suite. Lespace e de recherche dans lequel loptimum est recherch est appel , un individu est un lment e e ee X de . Lespace est souvent appel espace gnotypique : cest lespace dans lequel e e seectue la recherche, et surtout dans lequel sont dnis les oprateurs de variation (croie e sement et mutation). Dans de nombreux cas dapplication des algorithmes volutionnaires, e toutefois, lespace gnotypique nest pas lespace sur lequel est dnie la fonction objece e tif. On appelle ce dernier lespace phnotypique, ou espace des comportements. On parle e galement souvent du codage pour dsigner lapplication de lespace phnotypique dans e e e lespace gnotypique, et du dcodage pour lopration inverse. e e e Cepandant, dans cette th`se, nous avons exclusivement utilis des reprsentations en e e e nombres rels, dans lesquelles les deux espaces gnotypique et phnotypique sont confone e e dus, et nous ne ferons donc pas la distinction dans la suite. En particulier, nous supposerons que la fonction objectif, ` optimiser, est dnie sur lespace , et nous appelerons a e indiremment performance ou tness la valeur de F en un point de . e Enn, la population ` letape i, constitue de P lments de , sera note i . a e ee e 3.2.3.1 La slection e

Ltape de slection doit permettre de choisir les individus qui vont ensuite se reproe e duire au moyen des oprateurs de variation. Par dnition, la slection est un oprateur e e e e dexploitation : le fait de slectionner les individus les plus adapts entra forcment e e ne e une perte certaine de diversit. Par consquent, une slection trop forte (favorisant trop e e e les meilleurs individus au dtriment des plus mauvais) peut conduire ` une convergence e a 42

3.2. Les algorithmes volutionnaires e

prmature de lalgorithme, vers un optimum local. Inversement, le fait de ne pas applie e quer de slection assez forte peut empcher toute convergence. Cette tape doit donc tre e e e e calibre avec soin. e La slection peut tre dterministe seuls les n premiers individus de la population e e e par ordre de tness seront autoriss ` se reproduire ou au contraire stochastique. Un e a exemple de slection stochastique est la slection par roulette : le principe de la roulette e e consiste ` tirer P fois un parent parmi t = X1 , ..., Xp , de telle sorte que la probabilit a e pour un individu dtre slectionn soit proportionnelle ` sa performance. La probabilit e e e a e de slection pour un individu i est donc de e
PF (Xi ) . j F (Xj )

Tout en favorisant les individus les

plus performants, ce mode de slection, ` linverse de la slection dterministe, laisse une e a e e petite chance aux individus de faible performance dtre slectionns, prservant ainsi la e e e e diversit de la population. e

X1

X3

Fig. 3.5 La roulette, Pour P=4 et F (Xi ) = {60, 30, 20, 10} Mais le mode de slection stochastique le plus utilis est la slection par tournoi : pour e e e choisir un parent en vue de la reproduction, on tire uniformment T parents (T est la raille e du tournoi, xe par lutilisateur), et le meilleur de ces T est slectionn. Le param`tre e e e e T permet de rgler la force de la slection, les grandes valeurs favorisant les meilleurs e e individus, la plus petite valeur tant T = 2, qui permet de slectionner galement de e e e nombreux individus de performance moyenne. 3.2.3.2 Le remplacement

Ltape de remplacement constitue lautre tape du darwinisme articiel, et sert ` e e a dterminer quels individus, parmi les parents de la gnration courante et leurs enfants, e e e ` seront les parents de la gnration suivante. A la dirence de ltape de slection, durant e e e e e laquelle les individus peuvent tre slectionns plusieurs fois (si lon utilise la slection e e e e par roulette par exemple), lors de ltape de remplacement, un individu est slectionn e e e 43

Chapitre 3. La robotique volutionnaire e

une fois et il survit alors ` la gnration suivante ou pas du tout, et il disparait a e e dnitivement de lvolution en cours. Tout comme la slection, ltape de remplacement e e e e peut tre dterministe ou stochastique. e e On distingue deux catgories principales de remplacement, suivant que les futurs pae rents sont slectionns parmi les enfants seulement, ou bien parmi les parents courants et e e leurs enfants. On peut donc citer les deux remplacements dterministes utiliss dans les e e stratgies dvolution (la taille de la population est courament appele dans le domaine e e e des stratgies dvolution) : e e (, ) ES : les prochains parents sont les meilleurs parmi les enfants. Ceci peut entra ner de meilleurs rsultats de convergence, mais il est galement possible que e e la performance du meilleur parent dcroisse dune gnration ` la suivante, si tous e e e a les enfants ont des mauvaises performances. ( + ) ES : les prochains parents sont les meilleurs parmi les parents et les enfants. Ceci permet une meilleure robustesse, garantissant en eet que les meilleurs individus sont conservs dune gnration ` lautre. En revanche, ce mode e e e a de remplacement augmente, par rapport au prcdent, les risques de convergence e e prmature. e e Nous ne dtaillerons pas ici de remplacement stochastique, nayant utilis que les deux e e remplacements dterministes ci-dessus dans cette th`se. e e

3.2.4

Les oprateurs de variation e

Les oprateurs de variations sont regroups en deux catgories : les oprateurs de e e e e croisement agissent sur deux parents et donnent naissance a un ou deux enfants, et les ` oprateurs de mutation qui agissent sur un unique parent pour donner un enfant. Ces e oprateurs sont aveugles au sens darwinien du terme, cest-`-dire quils ne tiennent e a aucun compte lors de leur application de la tness des individus auxquels ils sont appliqus e sachant que ces individus ont au pralable t slectionns en fonction de cette tness e ee e e par ltape de slection dcrite plus haut. e e e Dans le cadre de cette th`se, nous avons travaill uniquement dans le cadre des e e stratgies dvolution manipulant des gnotypes qui sont des vecteurs de variables relles. e e e e Nous ne nous sommes par consquent pas intresss aux algorithmes gntiques, cods de e e e e e e mani`re binaire. Nous ne dcrirons donc que les oprateurs de variation (oprateurs de e e e e croisement et de mutation) sur des espaces rels. En particulier, lespace sera Rd , o` d e u est le nombre de coordonnes du gnotype (ou un sous-ensemble). e e 44

3.2. Les algorithmes volutionnaires e

3.2.4.1

Le croisement

La mtaphore biologique du croisement est la reproduction sexue : deux individus sont e e slectionns (i.e. choisis alatoirement parmi les gniteurs). Un nouvel individu est cr e e e e ee en recombinant les caractristiques de ces deux parents. Dans le cadre gnral de vecteurs e e e de caractristiques, un premier croisement possible consiste ` changer les caractristiques e ae e correspondantes entre les deux parents, crant ainsi deux enfants (le fait quun ou deux e enfants soient crs semble navoir aucune inuence sur les rsultats globaux de lalgoee e rithme mis ` part le fait quil faut bien sr eectuer deux fois plus de croisements pour a u obtenir globalement le mme nombre denfants). e Cependant, dans le cadre continu, des oprateurs plus adapts ont t proposs, qui e e ee e sont ceux que nous utiliserons. Ces croisements sont ` base de combinaisons linaires des a e deux parents, et sont appels suivant les communauts croisement arithmtique (au sein e e e des algorithmes gntiques avec codage rel), ou croisement intermdiaire (au sein de la e e e e communaut des Stratgies dEvolution). e e Dans le croisement arithmtique simple, un rel est tir uniformment dans [0, 1], et e e e e lenfant de deux individus X et Y (appartenant ` Rd ) est dni par a e ( X , Y ) X + (1 ) Y avec = U ([0, 1]) alors que dans le croisement intermdiaire gnralis, un rel i est tir uniformment e e e e e e e dans [0, 1] pour chaque coordonne, et lenfant de X et Y est dni par e e ( X , Y ) i Xi + (1 i ) Yi avec i = U ([0, 1]) De plus, an de limiter le caract`re contractant des oprateurs de croisement e e arithmtiques ci-dessus (un algorithme qui na comme oprateur que le croisement, sans e e aucune slection, nit en moyenne sur le barycentre de la population), il est possible e dtendre lintervalle sur lequel sont choisis les coecients de la combinaison linaire, en e e les choisissant par exemple dans [0.5, 1.5]. 3.2.4.2 Les mutations auto-adaptatives

La mutation dun individu le modie alatoirement pour donner naissance ` un unique e a enfant. Un point essentiel pour le succ`s des algorithmes volutionnaires est lergodicit e e e 45

Chapitre 3. La robotique volutionnaire e

de la mutation, i.e. le fait que lon peut par une suite de mutations joindre deux points quelconques de lespace de recherche. La mutation est le seul garant de la globalit de la e recherche : cest le principal oprateur dexploration. Toutefois, lorsque loprateur de mue e tation a une force variable (comme cest le cas pour loprateur de mutation gaussienne e auto-adaptatif dcrit ci-dessous), la mutation peut aussi tre loprateur dexploitation. e e e Dans le cadre de gnotypes rels, loprateur de mutation le plus ecicace et le plus utie e e lis est donc la mutation gaussienne auto-adaptative, que nous allons maintenant dcrire. e e Le principe de base de la mutation gaussienne est dajouter un bruit gaussien centr e aux variables que lon dsire muter : e Xi := Xi + N (0, ) Mais tout lart de la mutation gaussienne rside dans le choix du param`tre , e e donnant la variance de la perturbation gaussienne, et donc la force de la mutation : mais il existe galement une probabilit strictement positive de tirer tout nombre rel e e e positif ou ngatif (la queue de la distribution ne sannule jamais). Tous les ingrdients e e sont donc prsents pour pouvoir faire de cette mutation un oprateur soit dexploration e e (pour les grandes valeurs de ) soit dexploitation (pour les petites valeurs de ). Il faut par contre trouver la bonne loi de mise ` jour de pour atteindre un bon compromis a entre ces deux comportements. Une premi`re ide pour ce faire fut de muter plus fortement les mauvais individus e e (puisquil ne sert ` rien de les exploiter, autant explorer encore plus) et faiblement les bons a individus (pour exploiter lespace de recherche autour deux). Cette ide, utilise dans les e e premiers temps de la Programmation Evolutionnaire [Fogel et al., 1966], se rv`la dicile e e a ` mettre en oeuvre dans le cadre de variables relles. e La premi`re approche adaptative, cest-`-dire dans laquelle la dcision est prise au vu de e a e la situation courante, fut la cl`bre r`gle des 1/5 de Ingo Rechenberg [Rechenberg, 1972] : ee e soit la proportion de mutations russies (cest-`-dire pour lesquelles la tness de lenfant e a a t meilleure que celle du parent) dans les derni`res T gnrations. On peur montrer ee e e e rigoureusement que, sur la fonction sph`re (minimisation de la norme du vecteur X ), e le rglage optimal de la mutation correspond ` une proportion denviron 0.2, et varie e a inversement proportionnellement ` [Schwefel, 1981]. On en dduit par extrapolation ` a e a toute fonction quil faut augmenter si est trop grand, et le diminuer dans le cas inverse. Cependant, cette approche poss`de quelques faiblesses, et ne prend pas en compte e les caractristiques locales du paysage de tness, du fait notamment que la mme vae e leur de est utilise pour toute la population, et pour toutes les composantes du e 46 environ 67% des tirages seront compris entre - et + (et plus de 99% entre 3 et 3)

3.2. Les algorithmes volutionnaires e

gnotype. Pour pallier ce dfaut, et plus gnralement pour se dbarrasser lgamment e e e e e ee de la tche fastidieuse du r`glage des param`tres de la mutation, Rechenberg et Schwefel a e e [Rechenberg, 1972, Schwefel, 1981] ont propos de rendre la mutation auto-adaptative : e chaque individu poss`de ses propres param`tres de mutation, qui sont eux-mmes sujets e e e a ` mutation avant dtre utiliss pour la mutation des variables elles-mmes. e e e Bien que la slection seectue sur les valeurs de tness, dans lesquelles les param`tres e e de la mutation ninterviennent pas, les individus qui survivront seront ceux qui auront ` a la fois les bonnes valeurs pour les variables du probl`me (sur lesquelles se fait la slection), e e mais aussi les bonnes valeurs des param`tres de mutation, sinon ils seront immanquae blement dpasss par dautres, mieux adapts aux caractristiques locales du paysage de e e e e tness. De mani`re informelle, lorsque le gradient (dans une direction) est fort, il faut faire e de petites mutations, et inversement. De l` le succ`s de la mthode : a e e des mutations successives avec des param`tres de mutation aberrants ne peuvent e par tre constamment russies e e les individus qui survivent longtemps rsultent de nombreuses mutations successives e russies e les individus qui survivent longtemps doivent donc avoir de bons param`tres de e mutation. Il existe trois types de mutations auto-adaptatives, suivant la structure des param`tres e de la mutation gaussienne : La mutation isotropique, dans laquelle chaque individu poss`de un scalaire qui e est utilis pour lensemble des composantes du vecteur lors de la mutation. Plus e prcisment, la mutation de lindividu ( X , ) seectue en deux temps, mutation de e e , suivant une loi log-normale (pour des raisons de symtrie multiplicative autour e de 1, puis mutation des variables Xi , en utilisant la nouvelle valeur de . := exp( N (0, 1))Xi := Xi + N (0, ) o` est un param`tre utilisateur (mais que lon peut qualier du deuxi`me ordre, u e e et dont linuence sur les rsultats est faible). e La mutation anisotropique, dans laquelle les param`tres de la mutation sont un e vecteur de valeurs, qui reprsentent les dviations dans chacune des directions canoe e niques. La mutation seectue aussi en deux temps,

= N (0, 1)i = 1 . . . N

i := i exp( + N (0, 1))

Xi := Xi + N (0, i )

o` et sont encore une fois des param`tres (de second ordre) utilisateur. u e Les mutations corrles dans lesquelles les param`tres de la mutation sont une maee e 47

Chapitre 3. La robotique volutionnaire e

trice de covariance compl`te, et que nous ne dtaillerons pas ici, dans la mesure o` e e u nous avons utiliss les mutations anisotropique lors des travaux de cette th`se. e e Les valeurs prconises par Schwefel [Schwefel, 1981], base sur des tudes thoriques e e e e e sur la fonction sph`re en grande dimension [Schwefel, 1981], sont les suivantes : e 1 2 N 1 2N = 0.0873 (=5o )

3.2.5

Algorithme utilis e

Lalgorithme que nous avons utilis durant cette th`se est le suivant : e e Initialiser t ` 1 // premi`re gnration a e e e Initialiser P (1) // population de individus tirs uniformment e e Evaluer P (1) // i.e., calculer f (Xi (t)) // constituant la premi`re gnration P (1) = {X1 (1), . . . , X (1)} e e e

Tant que le crit`re darrt de lalgorithme nest pas vri, faire : e e e e e e e Pour j allant de 1 ` faire // tant le nombre denfants dsirs a Avec probabilit pcross e Croiser alatoirement deux individus de la population pour obtenir un nouvel individu e Sinon Choisir alatoirement un individu de la population e Avec probabilit pmut e Muter lindividu X(j
modulo )

en utilisant la mutation auto-adaptative anisotropique

Sinon le garder inchang e Rajouter cet individu dans la population des enfants P (t) Fin pour
Evaluer P (t) = {X1 (t), . . . , X (t)} //valuer les enfants e

Slectionner individus parmi P (t) (Moteur (, ) ES) e t = t + 1 //nouvelle gnration e e

Fin tant que Notre crit`re darrt sera toujours soit un nombre donn de gnrations, soit lunifore e e e e misation de la population (convergence vers un individu unique).

3.3

Lvolution articielle des rseaux de neurones e e

Nous prsentons enn ici les diverses techniques utilises pour la mise au point de e e rseaux de neurones par volution articielle. Signalons que, si la robotique est un domaine e e o` cette technique a t tr`s utilise, de nombreux domaines ont aussi eu recours ` cette u ee e e a 48

3.3. Lvolution articielle des rseaux de neurones e e

mani`re doptimiser des rseaux de neurones, qui est une des rares possibilits qui restent e e e ouvertes lorsque les mthodes de type gradient sont inapplicables, en gnral du fait de e e e labsence dexemples. De plus, la souplesse des algorithmes volutionnaires permet leur utilisation sur des e espaces de recherche non standards : dans le cadre des rseaux de neurones, cela a permis e loptimisation non plus seulement des poids dun rseau (ce qui revient ` de loptimisae a tion param`trique), mais galement de larchitecture (et des poids) dun rseau de neue e e rones, ` condition de trouver une reprsentation (et les oprateurs dvolution adapts) a e e e e pour les architectures que lon veut optimiser. Nous allons rapidement passer en revue ici quelques-unes de ces techniques, puis discuter de lopportunit de lutilisation des teche niques les plus avances doptimisation des rseaux de neurones dans le cadre de la roboe e tique volutionnaire. e

3.3.1

Lvolution des seuls poids synaptiques e

Cest videmment lapproche la plus simple ` mettre en uvre de loptimisation de e a rseaux de neurones par algorithmes volutionnaires : les seuls param`tres ` optimiser sont e e e a les poids du rseau. Noublions pas cependant que le rle du concepteur sera de dnir e o e au pralable une architecture pour le rseau, ce qui demande un grand savoir-faire et une e e exprience certaine. Prenons en eet le cadre de la robotique volutionnaire : un petit e e rseau, avec un faible nombre de poids, sera plus facilement optimis par lalgorithme e e volutionnaire. Cependant, si la tche ` raliser est complexe, on voit intuitivement quun e a a e rseau tr`s simple ne sura pas. Il faut donc adapter la taille du rseau et la topologie du e e e rseau ` la complexit de la tche a rsoudre. Mme en se restreignant aux perceptrons e a e a ` e e multi-couches (voir section 3.1.2.1), il faut dterminer le nombre de couches et le nombre e de neurones par couche. Cette approche a t utilise dans de nombreux domaines pour lesquels des exemples ee e ne sont pas disponibles. Outre la robotique volutionnaire, (voir les nombreuses citations e de cette th`se), on peut citer des probl`mes de contrle [Ronald et Schoenauer, 1994], e e o didentication de lois, . . .

3.3.2

Lvolution des architectures e

Il existe de nombreuses possibilits de reprsentation pour lvolution des rseaux de e e e e neurones. Nous allons en passer rapidement en revue quelques grandes familles. Il faut tout dabord distinguer deux types dapproche concernant lvolution de lare chitecture des rseaux de neurones, suivant que lon optimise par volution articielle e e simultanment larchitecture et les poids des connexions, ou bien uniquement larchitece ture, les poids des connexions tant optimiss dans une deuxi`me phase, en gnral par e e e e e 49

Chapitre 3. La robotique volutionnaire e

un algorithme non-volutionnaire. e En eet, compte-tenu de linuence de larchitecture du rseau de neurones sur les e rsultats mme dans un cadre dapprentissage supervis (` partir dexemples), une des e e e a utilisation principales des mthodes dvolution de larchitecture dun rseau de neurones e e e reste la classication : larchitecture est optimise par volution, et les poids sont ensuite e e ajusts par un algorithme de rtro-propagation standard, la tness de larchitecture tant e e e donne par lerreur de classication apr`s apprentissage des poids par rtro-propagation e e e [Yao, 1999]. Cette approche prsente toutefois quelques inconvnients : e e quel que soit lalgorithme dapprentissage utilis, une phase dinitialisation alatoire e e des poids est ncessaire. Or, de ce fait, lalgorithme dapprentissage des poids e peut converger vers dirents minima locaux, entrainant de fait, une performance e dirente pour lindividu ` chaque nouvelle valuation. e a e le fait dutiliser un algorithme dapprentissage dirent peut entrainer une perfore mance dirente. e Pour ces raisons, et puisque de toute facon le cadre de la robotique volutionnaire ne e se prte pas ` cette approche, nous ne dvelopperons pas plus avant cette approche, nous e a e concentrant sur les approches faisant voluer simultanment larchitecture et les poids du e e rseau. e Dans ce cadre, on distingue deux types dapproche, suivant la reprsentation choisie e pour le rseau : le codage direct manipule des neurones et des connexions, alors que e lapproche dveloppementale manipule un programme qui, excut, donnera le rseau de e e e e neurones. 3.3.2.1 Le codage direct

Le codage direct constitue un codage explicite de larchitecture ` utiliser. Lapproche a la plus utilise commence par dnir un nombre maximal de neurones, et le gnotype est e e e dans ce cas la matrice de connectivit que constituent les poids du rseau, cest ` dire la e e a carte des poids qui doivent tre relis ` tel neurone ou ` un autre. Si lon ne fait voluer e e a a e que la connectivit, le gnotype est une matrice de boolens, sinon, on doit faire voluer e e e e une matrice de poids. La gure (3.6) prsente un exemple tr`s simple de codage direct e e avec la matrice de connectivit associe. e e Le probl`me majeur de cette reprsentation est le passage ` lchelle, en eet si le e e a e gnotype poss`de une taille raisonnable pour des rseaux de neurones tr`s simples, sa e e e e taille augmente considrablement lorsque celui ci augmente. e Des solutions dans lesquelles larchitecture est reprsente de mani`re plus concise e e e ont galement t proposes. Les reprsentations choisies sont alors ad hoc, et la e ee e e plus grande dicult est de dnir un oprateur de croisement entre deux rseaux e e e e 50

3.3. Lvolution articielle des rseaux de neurones e e

0 0 0 0 0

0 0 0 0 0

1 0 0 0 0

1 0 0 0 0

1 1 1 1 0

Fig. 3.6 Evolution darchitecture neuronale via un codage direct. nayant pas du tout la mme architecture, certaines approches [Angeline et al., 1993, e Fadda et Schoenauer, 1995, Yao et Liu, 1997] nutilisaient en fait que des oprateurs de e mutation. Une approche un peu dirente a t propose plus rcemment, dans laquelle larchie ee e e tecture est peu ` peu augmente par volution (les oprateurs de mutation ne peuvent a e e e quajouter des neurones ou des connexions) [Stanley et Miikkulainen, 2002]. Ceci semble donner de bons rsultats pour des probl`mes de classication ainsi que pour des probl`mes e e e de contrle. o Quoique dune mani`re moindre que les approches encodant la matrice de connectivit e e compl`te, ces approches sourent encore du probl`me du passage ` lchelle. e e a e 3.3.2.2 Approche dveloppementale e

Lapproche dveloppementale consiste ` faire voluer non pas le rseau de neurones e a e e directement, mais un programme qui va ensuite construire le rseau ` partir dun embryon. e a Notons que cette approche est beaucoup plus proche de la ralit biologique, dans la mesure e e o` les connexions du syst`me nerveux ne sont certainement pas codes individuellement u e e dans le gnome des individus. e Loutil utilis pour faire voluer de tels programmes est la programmation gntique, e e e e qui a prcisment t mise au point pour lvolution de programmes au dbut des annes e e ee e e e 90 (initialement, des programmes LISP [Koza, 1992]). Le gnotype codant le programme e est reprsent par une structure darbre. Cette approche a permis ` J. Koza dobtenir de e e a superbes rsultats dans le cadre du dveloppement de circuits analogiques de plus en plus e e performants [Koza et al., 1999], (re)dcouvrant par exemple des brevets dposs il ny a e e e que quelques annes. A noter cependant que ces rsultats nont pu tre obtenus qu` laide e e e a de populations de plusieurs centaines de milliers dindividus rparties sur des clusters de e plusieurs dizaines voire centaines dordinateurs. 51

Chapitre 3. La robotique volutionnaire e

Cependant, le premier exemple dune approche dveloppementale de lvolution des e e rseaux de neurones a t ralise indpendamment de la programmation gntique, e ee e e e e e par lapproche dite du codage cellulaire de F. Gruau [Gruau, 1994]. Cette approche est galement appele embryogn`se articielle, et a t reprise ensuite par J. Koza e e e e ee [Koza et al., 1999] dans le cadre de la conception de cicruits analogiques dj` cite. ea e Le codage cellulaire repose sur la donne dun embryon (par exemple, un rseau de e e neurone . . . sans neurones, reliant directement les entres aux sorties du rseau dans les e e travaux originaux de F. Gruau) et la donne doprateurs de dveloppement (e.g. division e e e parall`le, squentielle, ...). Larbre reprsente alors un programme qui, appliqu ` leme e e e a bryon, va donner la solution du probl`me cherch (le rseau de neurones dans lapproche de e e e Gruau). A noter que F. Gruau a galement introduit la rcursion dans la programmation e e de tels arbres, permettant ainsi lvolution de modularit au sein des programmes. e e Dans le cadre de la robotique, loprateur na qu` dnir les entres sensorielles et les e a e e sorties des actuateurs. Cependant, lvolution de larchitecture a nalement t peu utilise e ee e en robotique volutionnaire (et ce point sera dvelopp dans la section suivante). Citons e e e les travaux de J. Kodjabachian [Kodjabachian et Meyer, 1998], qui sest inspir fortement e du codage cellulaire de Gruau an de dvelopper une architecture pour un robot mobile e hexapode. En particulier, lintroduction de la modularit lui a permis de trouver des e architecture ayant factoris les contrleurs pour des paires de pattes du robot. Floreano et e o Urzelai [Floreano et Urzelai, 2001] ont galement propos dutiliser la morphogn`se pour e e e e la robotique volutionnaire. Plus rcemment, S. Doncieux [Doncieux, 2003] a appliqu le e e e mme type de codage, tout en se focalisant sur une modularit prdetermine (fonctions e e e e drives, . . . ) an de contrler un ballon drigeable. e e o e Nous allons revenir dans la section suivante sur cette question pralable ` lvolution e a e de contrleurs neuronaux en robotique volutionnaire : faut-il faire voluer larchitecture o e e du rseau ? e

3.3.3

Evolution des poids ou de larchitecture ?

Face ` un probl`me de robotique volutionnaire, et ayant dcid dutiliser les rseaux a e e e e e de neurones comme contrleurs pour le robot, et lvolution articielle comme mthode o e e doptimisation de ces contrleurs (voir la discussion dans lintroduction de ce chapitre), o il reste ` dcider si nous allons xer une architecture ` la main, et en faire uniquement a e a voluer les poids, ou si nous allons utiliser les techniques dcrites dans la section prcdente e e e e pour faire voluer aussi larchitecture. e Le premier argument qui vient ` lesprit est videmment quil vaut mieux chercher la a e solution dans un espace plus grand car on est sr quil y existe de meilleures solutions ce u qui ferait pencher vers loptimisation de larchitecture (et des poids). Cependant, et ceci nest en rien spcique ` la robotique volutionnaire, chercher dans un espace beaucoup e a e 52

3.3. Lvolution articielle des rseaux de neurones e e

plus grand peut tout simplement rendre tout recherche inoprante, et il faut trouver en e fait un compromis entre la taille de lespace de recherche et lecacit de lalgorithme e doptimisation. Lexemple des rsultats de Koza sur les circuits analogiques est diant, e e et il nest pas question de faire voluer des populations de plusieurs centaines de milliers e dindividus pendant plusieurs dizaines de gnrations. e e Dautre part, le programmeur a toujours quelques connaissances sur le comportement attendu du robot : lexprience ` raliser ncessite-t-elle de la mmoire ? quels sont les e a e e e capteurs qui vont tre utiles pour cette exprience ? une capacit dadaptation est-elle e e e ncessaire ? Ceci peut entra e ner la mise en place dune architecture susamment satisfaisante pour esprer conduire ` une solution du probl`me. Ainsi, par exemple, si de la e a e mmoire est ncessaire au robot, il est clair quun rseau ` propagation directe ne sera e e e a pas susant, et quil faudra utiliser un rseau avec des connexions rcurrentes. Dans ce e e contexte, il serait maladroit de laisser un algorithme gnraliste dcouvrir ce que nous e e e savons a priori, ce qui limine les approches totalement boite noire de loptimisation de e larchitecture du rseau. e Mme si aucun calcul prcis na t eectu sur le sujet, nous avons essay de tracer e e ee e e une courbe explicitant notre point de vue sur la question (g. 3.7) : bien quil existe de meilleures solutions dans des espaces de recherche laissant libre larchitecture du rseau, e il nous semble peu probable quun algorithme volutionnaire ` ressources limites puisse e a e arriver ` les dcouvrir du fait de la trop grande taille de lespace de recherche. On risque a e alors de nobtenir que des solutions sous-optimales. A linverse, le choix de ne faire voluer que les poids dune architecture xe permet e e dutiliser des algorithmes volutionnaires tr`s performants (les Stratgies dEvolution, voir e e e section 3.2.4.2), et doit permettre de trouver, dans les limites xes par larchitecture, une e solution quasi-optimale en un temps raisonnable. Cependant, reste au programmeur le choix, crucial, de larchitecture. Nous lavons vu, certaines caractristiques de la tche a accomplir peuvent guider ce e a ` choix, donnant des indications sur le type darchitecture. Mais cela naide pas ` choisir le a complexit voulue dans le type en question : si lon a choisi un perceptron multi-couche, e faut-il 2 ou 3 couches caches (ou plus encore) ? et combien de neurones par couche (` part e a les couches dentre et de sortie, pour lesquelles le nombre de neurones est impos par le e e probl`me) ? e Il semble clair que la complexit du rseau de neurone doit dpendre de la complexit e e e e de la tche demande au robot . . . ce qui napporte pas dinformation quantitative ! On a e peut alors avoir recours ` des principes gnraux, tel le principe du rasoir dOccam, la a e e principe de la description de taille minimale, le principe de bon sens du keep it simple, qui, tous, plaident pour la complexit minimale susante pour rsoudre le probl`me pos. e e e e Pour des tches simples, ce principe et quelques essais avec des architectures connues a 53

Chapitre 3. La robotique volutionnaire e

Performance maximale

P e r f o r m a n c e

Performance rellement obtenue

Evolution des poids seulement

Evolution des architectures + poids

Taille de lespace de recherche pour les architectures neuronales

Fig. 3.7 Comportement probable dune recherche volutionnaire dans lespace des rseaux de e e
neurones : il nest pas s r quun espace plus grand permette dobtenir de meilleurs rsultats en un u e temps raisonnable

pour leurs capacits de gnralisation et leur robustesse permettent de sen tirer, mais se e e e repose alors le probl`me du passage ` lchelle, de la dcomposition de tches complexes en e a e e a plusieurs tches plus simples, comme propose par Brooks 2.2 : ce sera justement lobjet a e de lapproche par superviseurs que nous proposons et dcrivons en dtail dans le chapitre e e 5.

En rsum, nous avons donc choisi dutiliser des architectures connues (perceptron e e multi-couche, et sa modication rcurrente propose par Elman [Elman, 1990] dite rseau e e e de type Elman) dont nous optimisons les poids par stratgies dvolution, comme briques e e de base de nos contrleurs neuronaux, les architectures plus complexes tant constitues o e e dencha nements de telles briques, soit obtenus de mani`res elles aussi volutionnaires (chae e pitre 5), soit imbriques ` la main dans le cadre de larchitecture danticipation propose e a e au chapitre 6. 54

3.4. Lvaluation des performances en robotique volutionnaire e e

3.4

Lvaluation e volutionnaire e

des

performances

en

robotique

Une fois choisie larchitecture du rseau, et mis en place lalgorithme (voir section e 3.2.5), il reste toutefois une derni`re tape de conception avant de pouvoir commencer e e lvolution : lcriture de la fonction tness. Cette fonction doit rpondre ` plusieurs obe e e a jectifs. Dune part, son optimum doit tre atteint aux points solutions du probl`me de e e robotique initialement pos. Mais dautre part, elle doit aussi permettre lvolution grae e duelle ` partir de contrleurs alatoires et donc incapables de raliser la moindre tche a o e e a vers les-dites solutions. Ainsi, une fonction tness qui vaudrait 1 lorsque le robot russit e sa tche et 0 sinon ne permettra jamais dobtenir le moindre rsultat ! Lvaluation de la a e e performance des individus revt donc une importance capitale dans la russite ou non de e e lexprience. e La faon de dcrire la tness peut tre explicite dans un espace ` trois dimenc e e e a sions [Nol et Floreano, 2000]. Direntes positions de tness dans cet espace (voir gure e 3.8) peuvent aboutir ` un rsultat similaire du comportement du robot. Cependant, des a e rsultats compl`tement dirents, voire mme totalement inattendus, peuvent tre obtee e e e e nus simplement en changeant la conguration de la tness, par exemple en laissant plus de libert au robot pour parvenir ` son but. Nous allons maintenant passer en revue les e a trois dimensions, essayant de dgager des ides gnrales pour une conception intelligente e e e e dune fonction tness pour une probl`me donn. e e

implicite

interne

externe explicite fonctionnelle comportementale

Fig. 3.8 Le paysage de tness suivant les trois dimensions.

3.4.1

La dimension fonctionnelle - comportementale

Pour illustrer cette dimension, prenons lexemple tr`s simple [Jacobi, 1997] dun labye rinthe en T, o` le robot dans sa position de dpart est clair par une lumi`re soit sur sa u e e e e gauche, soit sur sa droite, qui lui indique la direction quil devra prendre une fois arriv e 55

Chapitre 3. La robotique volutionnaire e

au bout du couloir. La lumi`re steint d`s que le robot la dpasse. Une tness fonce e e e e tionnelle correspondrait ` une mesure ralise sur le contrleur lui-mme, en loccurence a e e o e ici un rseaux de neurones. On pourrait par exemple tudier la dynamique du rseau, e e e plus prcisment les capacits de mmorisation de tel ou tel neurone, permettant au roe e e e bot de prendre ou non la bonne direction au bout du couloir. A linverse, la dimension comportementale est quant ` elle totalement lie au comportement dsir du robot. Ainsi, a e e e pour cette exprience, on va simplement noter si le robot a pris le bon chemin en fonction e du ct o` la lumi`re lui tait apparue, sans se proccuper de la faon avec laquelle il a oe u e e e c procd. e e Utiliser une tness fonctionnelle revient souvent ` imposer des biais ` lvolution (par a a e exemple, imposer que tel ou tel neurone serve de mmoire au ct o` est apparu la lumi`re e oe u e interdit dautres types de mmorisation), et peut se rvler pnalisant si on demande e e e e ensuite au robot dautres tches simultanment. a e Mais inversement, quelques expriences que nous avons ralises dans le contexte du e e e couloir en T de Jakobi montrent que le fait dutiliser une tness comportementale peut induire des comportements tout ` fait inattendus. En eet, si cette exprience semble a e tout ` fait indique pour tudier les capacits de mmorisation de tel ou tel rseau, nous a e e e e e nous sommes rendus compte que certaines solutions, loin de mmoriser quoi que ce soit, e se contentaient de modier la direction du robot sous la lumi`re de telle sorte quil ree bondisse contre les murs (sans les toucher !) exactement le nombre de fois ncessaires e pour se retrouver du bon ct une fois atteint le bout du couloir et ainsi prendre le bon oe embranchement. Bien sr, ceci ntait possible que parce que la longueur du couloir tait u e e xe, mais il sagit dun exemple qui illustre bien dune part lopportunisme de lvolution, e et dautre part la ncessit danalyser en dtail les rsultats obtenus avant de tirer des e e e e conclusions htives. a

3.4.2

La dimension explicite - implicite

Cette dimension dcrit le fait que la tness dpend directement de variables accessibles e e au robot ou au contraire est un renforcement arrivant apr`s un certain temps et sans lien e apparent avec les variables (du robot ou mme du programmeur). e Pour rendre ce propos plus . . . explicite, prenons lexemple de lexprience dexploration e denvironnement avec une contrainte dnergie [Floreano et Mondada, 1996]. Il sagit pour e le robot dviter les obstacles dans lenvironnement tout en grant une batterie (virtuelle). e e Le robot doit ` la fois explorer lenvironnement mais aussi aller se recharger avant davoir a puis son nergie. Dans ce cas, deux faons existent de coder cette tness, soit de faon e e e c c explicite en privilgiant les robots tant ` une distance de plus en plus petite pour nir sur e e a la zone de batterie lorsque le besoin sen fait sentir (dans ce cas l`, la distance du robot ` la a a zone de recharge sera explicitement code), et soit de faon implicite en ne spciant tout e c e 56

3.4. Lvaluation des performances en robotique volutionnaire e e

simplement rien dans la tness ayant un rapport avec la batterie. Dans ce dernier cas, la slection va soprer naturellement puisque les robots nayant pas russi ` aller recharger e e e a leur batterie vont vivre moins longtemps, et les individus dveloppant des comptences e e pour recharger leur batterie seront slectionns en priorit. e e e

3.4.3

La dimension externe - interne

Les robots poss`dent leurs propres capteurs, ceux-ci ne permettent davoir quune e vision partielle du monde qui les entourent. Dans le choix des termes qui composent la tness, on peut faire en sorte, an de guider le robot vers le but dsir, dutiliser des e e informations que le robot seul ne pourrait pas obtenir. Prenons encore une fois un exemple concret pour illustrer ce propos. Considrons un environnement contenant un cylindre pos e e a ` lintrieur de lar`ne, et supposons que nous voulons que le robot se positionne ` cot e e a e du cylindre. La formulation externe pour la rsolution de cette exprience consisterait ` e e a minimiser la distance entre le robot et le cylindre. Par opposition, la formulation interne consiste ` dcrire la faon dont le robot va ressentir la prsence du cylindre sur son ct, a e c e oe avec tel ou tel capteur activ par exemple. Si la formulation externe du probl`me reste e e tr`s facile ` implmenter lorsque lenvironnement et le robot sont simuls, il nen est pas e a e e de mme lorsque lvolution du robot doit tre excut dans le monde rel. Bien entendu, e e e e e e il est en thorie possible de placer une camra au dessus de lar`ne pour dterminer les e e e e positions des dirents robots, mais ceci nest cependant pas facile ` mettre en oeuvre. e a Lorsque lon souhaite mettre laccent sur le passage au robot rel, comme Nol et Floreano e [Nol et Floreano, 2000] il convient de privilgier des formulations internes des tness, qui e permettent ainsi ` tout instant au robot de lvaluer in situ. a e

3.4.4

Exemple : lvitement dobstacle e

La robotique autonome, par dnition, souhaite obtenir du robot un comportement e non-supervis. La libert du robot doit au maximum tre prserve. Cest pour cela, que e e e e e la tness idale lorsquon parle de robotique autonome est de crer une fonction tness qui e e soit ` la fois comportementale, implicite et interne (gure 3.8) an de laisser libre court ` a a lopportunisme de lvolution articielle. e Prenons lexemple de la tche de base de tout robot autonome digne de ce nom : a lvitement dobstacle. La fonction performance dvitement dobstacle prsente ici e e e e [Nol et Floreano, 2000] est adapte au robot Khpra prsent dans le chapitre suivant. e e e e e Lobjectif de cette tness est de faire aboutir un comportement pour le robot lui permettant daller relativement vite dans son environnement en vitant de rester longtemps pr`s e e des murs (dans le but de ne jamais les heurter). La tness propose par Floreano et Mondada [Floreano et Mondada, 1994a] est la e 57

Chapitre 3. La robotique volutionnaire e

suivante :

f itness = V (1

v)(1 i)

(3.12)

V est la somme des vitesses des deux roues non signes, an de permettre aussi bien e la marche avant que la marche arri`re ; e v est la valeur absolue de la dirence des vitesses signes (chaque vitesse est e e comprise entre -0,5 et 0,5 ; i est lactivation maximale parmi lensemble des capteurs que le Khpra poss`de. e e e Le premier terme de la tness favorise une vitesse rapide du Khpra, le deuxi`me e e e terme dfavorise fortement tout individu qui aurait tendance ` tourner sur lui-mme, et le e a e dernier terme a pour but dempcher les individus de heurter les obstacles en les poussant e a ` sen loigner. En fait, ce dernier terme va avant tout dfavoriser les individus tents par e e e un comportement main courante qui consisterait ` aller vite en eectuant simplement a le tour de lar`ne tout proche des murs. Avec ce terme, une dimension exploratoire est e ajoute dans le comportement nal dsir pour les robots. e e e Les rsultats dune volution articielle basique permettent de constater les lments e e ee suivants lors des gnrations initiales : e e Dans les prem`res gnrations, la plupart des individus tournent sur place. Mais en e e e labsence du deuxi`me terme ci-dessus, les individus tournant sur place tr`s rapidee e ment ont une excellente performance . . . Les meilleurs individus de la population avancent, mais tr`s lentement e Lvitement dobstacle nest pas ecace (la plupart des robots qui avancent nissent e dans un mur). La performance dpend du point de dpart, en eet, la position du robot initiale est e e alatoire et les individus plus loigns des murs accumuleront plus de performance e e e par rapport aux autres, car ils ne savent toujours pas viter les murs. e Apr`s quelques gnrations (une vingtaine), on constate que : e e e Les robots vitent les obstacles e Ils ne tournent plus sur place (grce au deuxi`me terme de la tness). a e Leur vitesse va ensuite saccl`rer progressivement ` travers les gnrations, pour ee a e e atteindre, en une centaine de gnration, un palier qui, en rel (Mondada et Floreano e e e [Floreano et Mondada, 1994a] ont eectu cette premi`re volution uniquement sur robots e e e rels), nest pas la vitesse maximale. Par contre, le simulateur ne prenant pas en compte e linertie des robots, la vitesse atteinte lors dvolutions en simulation est nettement plus e grande. 58

3.5. Conclusion

3.5

Conclusion

Nous avons prsent dans ce chapitre les ingrdients de base de la roboe e e tique volutionnaire, dune part les rseaux de neurones, utiliss comme mod`les pour e e e e le contrleur, dautre part les algorithmes volutionnaires, outils de mise au point bass o e e sur le darwinisme articiel. Nous avons vu que leort du programmeur tait dplac de e e e la dcomposition de la tche en un ensemble hirarchique de sous-tches dun point de e a e a vue structurel, pralable ncessaire par exemple ` lutilisation de larchitecture de sube e a somption, ` la dnition dune fonction performance, ou dune suite de fonctions de pera e formances permettant damener le robot ` accomplir la tche dsire, cest-`-dire une a a e e a dcomposition fonctionnelle de la tche souhaite. Nous allons voir dans les chapitres suie a e vants des exemples dutilisation de ces concepts, dans lesquels nous allons tout dabord (re )introduire une notion de modularit, mais en laissant lvolution trouver les dpendances e e e et hirarchies entre les divers modules (chapitre 5), puis au sein de laquelle nous allons e spcier un mcanisme danticipation devant permettre une plus grande adaptation aux e e changements denvironnement (chapitre 6).

59

Chapitre 3. La robotique volutionnaire e

60

Chapitre 4

Lenvironnement matriel et e logiciel


Dans ce chapitre, nous allons prsenter bri`vement les outils tant matriels que logiciels e e e que nous avons utiliss dans cette th`se. e e La robotique volutionnaire a longtemps t agite par le dbat Simulae ee e e tion vs exprimentation sur robots rels [Nol et al., 1994b]. Les arguments pour e e lexprimentation relle sont bien connus : cest la seule mani`re de prendre en compte e e e tous les alas invitables (glissements des roues, bruits des capteurs, lumi`re ambiante, e e e . . . ), puisquaucun simulateur, aussi prcis soit-il, ne peut esprer tre assez d`le pour e e e e supprimer le foss de la ralit (the reality gap) qui fera capoter une exprience, pourtant e e e e russie en simulation, lors de son transfert sur le robot rel (on se souvient des normes e e e ressources de calcul mobilises par Karl Simms pour tenter de simuler de mani`re raliste e e e les mouvements de corps dans des uides [Sims, 1994], mais qui, de lavis unanime, taient e encore tr`s loin de la ralit). e e e Les arguments pour raliser les volutions de contrleurs en simulation plutt que sur le e e o o vrai robot sont de fait bass uniquement sur les contraintes matrielles quimpose le robot e e rel : temps dexprience, tout dabord, puisquune exprience, mme dans le cas dune e e e e tche aussi simple que lvitement dobstacle, prend plusieurs jours [Nol et al., 1994b] ; les a e modalits pratiques ensuite, puisquil faudra, pour des expriences un peu plus complexes, e e compter avec la remise en place de lenvironnement (par exemple dans le cas de lexprience e du ramasseur de poubelles dcrite section 5.2). e Cest pourquoi tous les travaux rcents en robotique volutionnaire eectuent e e lvolution en simulation, en prenant toutefois soin dajouter du bruit aux capteurs et e mme ventuellement aux actuateurs du robot, an de minimiser les surprises lors du e e passage au robot rel. Et les travaux de N. Jacobi [Jacobi, 1998] ont mme permis de e e relativiser limpact de la pauvret des simulations sur les rsultats pauvret dailleurs e e e 61

Chapitre 4. Lenvironnement matriel et logiciel e

ncessaire pour garder des temps de calcul raisonnables. e Il nen reste pas moins que la validation ultime pour des travaux en robotique volutionnaire reste le passage sur robot rel, qui seul peut dmontrer la justesse dune e e e hypoth`se ou la pertinence dune approche. Cest pourquoi il est tr`s important, mme e e e lorsque lon eectue des volutions en simulation, davoir une plate-forme matrielle cible e e et de ne pas simuler un robot virtuel totalement irraliste. e Dans cette optique, et mme si peu des expriences prsentes dans cette th`se ont pu e e e e e de fait tre valides en rel (voir section 5.7.4 pour une discussion plus approfondie des e e e probl`mes rencontrs), nous avons d`s le dbut de cette th`se opt pour la plate-forme e e e e e e matrielle la plus utilise par les chercheurs du domaine, le robot Khepera (section 4.1). e e Nous allons commencer par le prsenter rapidement, puis nous voquerons les deux e e plate-formes logicielles que nous avons successivement utilises dans le droulement de e e cette th`se. e

4.1
4.1.1

Le Khpra e e
Le robot

Fig. 4.1 La base du Khpra version 2. e e Toutes les expriences de cette th`se (en rel ou en simulation) ont donc t eectues e e e ee e sur le robot Khpra. Il sagit dun robot tr`s petit (de diam`tre 55mm), peu cher (surtout e e e e par rapport aux robots disponibles lors de sa sortie au dbut des annes 1990), et avant e e tout tr`s pratique, car il peut tre install sur un simple bureau et sans comptences e e e e particuli`res en electronique ou en mcanique. Le mod`le Khepera II est reprsent sur la e e e e e gure 4.1 la dirence avec le mod`le I, que nous avons utilis dans une grande partie de e e e la th`se, tient de mani`re visible dans la coque de protection ajoute autour du robot (la e e e 62

4.1. Le Khpra e e

RAM: 256kB

Module supplmentaire Processeur: MC68331 (~MC68020 16MHz) Moteur courant continu Connexions pour extensions

Capteurs Infrarouges

Batteries NiCd autonomie de 3040 minutes EEPROM: 128kB


Fig. 4.2 Le schma du Khpra vu de prol. e e e gure 4.4 montre le mod`le I), et de mani`re moins visible dans lamlioration importante e e e de la qualit des capteurs infra-rouges. e Quelques spcications techniques sont donnes sur la gure 4.2, reprsentant un Khee e e pera vu de prol. Le Khpra comporte 2 moteurs lectriques, qui sont associs ` deux e e e e a rducteurs et permettent de mettre en mouvement le Khpra. La rotation seectue en e e e donnant des vitesses direntes aux deux moteurs. e Le module de base comporte galement 8 capteurs infrarouges, dont la position est e dtaille sur la vue de dessus du Khpra montre gure 4.3. Ces capteurs permettent de e e e e e dtecter les obstacles assez proches du robot, le Khpra commenant ` voir les obstacles e e e c a aux environs de 7cm de distance dans le meilleur des cas, si les murs sont clairs. Deux capteurs sont situs sur le ct gauche du robot, deux sur le devant du robot, e oe deux sur le ct droit, et deux sont situs ` larri`re du robot. On peut regretter que les oe e a e capteurs ne soient pas mieux rpartis autour du robot, mais ils sont clairement congurs e e pour viter les obstacles au mieux lorsque le robot avance. e Ces capteurs peuvent fonctionner en deux modes distincts : le mode actif permet de dtecter les obstacles : des rayons infrarouges sont envoys e e sur les ventuels obstacles ` proximit, ces rayons sont ensuite plus ou moins rchis e a e e e suivant la couleur et lclairage des murs, et les capteurs infrarouges renvoient alors e une valeur dpendant de la prsence plus ou moins proche des obstacles. e e le mode passif sert ` mesurer la lumi`re ambiante, et permet de dtecter une source a e e lumineuse ou une source de chaleur ` une distance relativement importante (par a rapport ` la taille du robot). a 63

Chapitre 4. Lenvironnement matriel et logiciel e

Fig. 4.3 Les positions des capteurs sur le Khpra 2, image extraite de sa documentation. e e Dautre part, ce robot a t conu de faon modulaire, et de nombreux modules disee c c ponibles peuvent tre ajouts et empils sur la base. e e e

Le Khpra muni de la camra ` 1 dimension e e e a

Le bras manipulateur du Khpra e e

Fig. 4.4 Quelques modules additionnels du Khpra. e e Dans le cadre de cette th`se, nous avons utilis le module camra ` 1 dimension (e e e a gure 4.4 ` gauche) qui permet de voir 64 pixels en niveaux de gris dcrivant la bande a e horizontale situe ` la hauteur de la camra 1D, et permet par exemple de dtecter sans e a e e probl`me des cylindres noirs, ou bien encore des codes barres grossiers situs ` une faible e e a distance du Khpra. e e Le module gripper (gure 4.4 ` droite) a galement t utilis (voir par exemple section a e ee e 64

4.1. Le Khpra e e

5.2), il permet de saisir des objets de faibles poids et de les transporter sur une autre partie de lenvironnement.

4.1.2

La commande du Khpra e e

Il existe trois faons de commander le Khpra : c e e En tlchargeant directement un programme sur le Khpra apr`s lavoir crossee e e e compil pour le processeur interne du robot, ou programm directement en asseme e bleur de ce processeur. Le principal probl`me de cette approche est la tr`s faible e e mmoire RAM embarque sur le robot (de 16Ko ` 256 Ko selon les versions). Ainsi, e e a seuls des programmes tr`s simples (e.g. de type vitement dobstacle) peuvent tre e e e implments. De plus, dans ce cas l`, le robot fonctionne uniquement sur ses batteries e e a et a une autonomie rduite (de lordre de 45 minutes au maximum). e En utilisant un cordon reliant le port srie de lordinateur et le Khpra. Il est alors e e e possible denvoyer sur le port srie des ordres directement comprhensibles par le e e robot, comme par exemple les vitesses moteurs, ou de le questionner sur les valeurs de ses capteurs (infrarouges, camra, . . . ). Par rapport ` un programme transfr e a ee directement sur le Khpra, cette mthode prsente deux avantages : elle permet e e e e de commander le robot avec de plus importantes puissances de calcul et capacits e mmoire (celles de lordinateur), et les probl`mes dautonomie disparaissent car le e e courant continu passe galement ` travers le cordon. Par contre, un des principaux e a inconvnients est la presque impossibilit de raliser des expriences impliquant plue e e e sieurs robots. En eet, les cables semmlent rapidement et empchent les robots de e e se mouvoir normalement (mme si lquipe de Dario Floreano a russi ` mettre au e e e a point un dispositif permettant de mettre en action deux robots sans probl`me de e cables emmels). e La derni`re possibilit est dutiliser le module radio, rcemment disponible pour le e e e Khpra, qui permet de commander les robots ` distance et surtout sans l. Dans e e a ce cas, le probl`me dautonomie ressurgit, mais cela semble tre la solution idale e e e dans le cas dune exprience utilisant plusieurs robots Khpra. e e e Lors des expriences eectues en rel, nous avons utilis la solution avec cordon. En e e e e eet, des modules radio nont t acquis que tr`s rcemment, et nont pas t encore ee e e ee utiliss. De plus cette mthode permet dviter les probl`mes dautonomie et de recharges e e e e rguli`res ` faire des batteries. e e a Comme il a t dit dans lintroduction de ce chapitre, le fait de raliser des essais en ee e robot rel reprsente un temps consquent et non ngligeable, cest en partie pourquoi e e e e nous avons ralis la totalit de nos expriences en simulation, la validation sur robot rel e e e e e ntant eectue dans le meilleur des cas, (voir section 5.7.4) qua posteriori, sur le(s) e e meilleur(s) individu(s) obtenu(s) par lvolution en simulation. e 65

Chapitre 4. Lenvironnement matriel et logiciel e

4.2

Les simulateurs

Deux simulateurs dirents ont t utiliss durant le droulement de la th`se, EvoRobot, e ee e e e bas sur le simulateur fourni par S. Nol et avec lequel la plupart des expriences rape e portes dans louvrage [Nol et Floreano, 2000] ont t eectues, et WOB, dvelopp au e ee e e e sein de lquipe TAO. Nous allons les dcrire tour ` tour, donnant leurs caractristiques, e e a e et dcrivant nos contributions ` leur dveloppement pour la ralisation des expriences e a e e e dcrites dans les chapitres 5 et 6 de cette th`se. e e

4.2.1

Evorobot

La premi`re partie du travail de la th`se (n 2001-2002), ainsi dailleurs que mon e e travail de DEA, et les expriences ralises dans le cadre du MODEX de robotique de e e e lEcole Polytechnique (voir section 5.7.4 pour un exemple) ont t eectues ` partir dun ee e a logiciel bas sur le simulateur de Khpra Open-Source Evorobot, cr par Stefano Nol, e e e ee dot dune interface graphique et fonctionnant sous Windows. e Mes contributions ont t tout dabord de porter le logiciel sous Linux (en utilisant la ee librairie OpenGL pour le graphisme), puis ensuite de linterfacer avec la librairie dvolution e articielle EO (Evolving Object, galement diuse en Open-Source) [Keijzer et al., 2002] e e dveloppe par un ensemble de chercheurs europens au sein du rseau dexcellence EvoNet. e e e e En eet, les routines dvolution prsentes dans le logiciel original ne comportait que e e lvolution de cha e nes de bits et il est maintenant unanimement reconnu que lvolution e de param`tres rels (les poids des contrleurs neuronaux dans le cas prsent) est beaucoup e e o e plus ecace quand une reprsentation relle est utilise. La librairie EO ore toute la e e e souplesse ncessaire ` de telles volutions, avec en particulier la possiblit dutiliser les e a e e mutations gaussiennes auto-adaptatives dont la puissance nest plus ` dmontrer dans le a e cadre de loptimisation param`trique (de variables relles, donc). e e Cependant, la tr`s faible modularit dans la conception du simulateur initial (crit e e e en C, et visiblement modi ` de tr`s nombreuses reprises sans vision densemble tr`s e a e e structure), entra e nait dnormes dicults pour y implanter un contrleur dirent de e e o e ceux qui taient fournis, ne serait-ce quen terme darchitecture des rseaux de neurones : e e seuls les rseaux de neurones fournis pouvaient tre rutiliss facilement. e e e e Ladaptation sous Linux a prot dune conception un peu plus oriente objet, du e e moins en ce qui concerne la partie contrleur robotique, qui a t totalement repense. o ee e En particulier, tous les contrleurs drivaient cette fois dune seule et unique classe, ce o e qui permettait dajouter relativement facilement de nouveaux contrleurs. De plus, les o mthodes de calculs de ces contrleurs (comme les rseaux feedforward, rcurrents, ...) e o e e ` ont t reprogrammes. A noter quil existe de nombreuses librairie de rseaux de neuee e e rones articiels, tr`s facilement congurables grce ` une conception tr`s oriente objet. e a a e e 66

4.2. Les simulateurs

Cependant, nous avons choisi ici dcrire les primitives de base concernant les rseaux de e e neurones en langage C an de pouvoir rellement les optimiser pour obtenir une vitesse e dexcution la plus rapide possible. Une des consquences de ce choix est que la concepe e tion dune nouvelle architecture prend un peu plus de temps. Mais le gain en temps calcul lors dune volution articielle compense largement ce lger inconvnient, et ne diminue e e e en rien le gain en facilit de conguration de larchitecture des rseaux, enti`rement pae e e ramtrables ` lexcution (nombre dentres et de sorties, nombre de couches caches, e a e e e nombre de neurones par couches caches, ...) via le parser utilis par la librairie EO. e e De plus, des lments permettant de prendre en compte les modules additionnels du ee Khepera ont t ajouts : programmation sommaire et grossi`re du gripper, prise en compte ee e e dtaille et raliste de la camra 1D. Nanmoins quelques dicults ont persist, qui taient e e e e e e e e tr`s dicilement corrigeables : e La gestion des capteurs tait simplie dans le logiciel de S.Nol, an de gagner du e e temps. Mais du coup, il tait impossible, par exemple, de dtecter des petites ouvere e tures dans un mur continu de lenvironnement, et certaines expriences impliquant e de telles petites ouvertures, que pourtant les capteurs infrarouges dtectaient pare faitement sur le robot rel, devenaient impossible ` mettre en oeuvre en simulation. e a Limplantation de superviseurs (voir section 5.5) contrlant dautres architectures o de supervision, tait pratiquement impossible, ou alors aurait demand pour chaque e e nouveau superviseur un gros eort de programmation spcique ` la librairie ce e a qui est prcisment le contraire de lesprit ayant prsid au dveloppement de lare e e e e chitercture superviseur. La gestion multi-robots tait particuli`rement dicile ` mettre en oeuvre pour deux e e a robots, et compl`tement impossible lorsque les robots taient au nombre de trois ou e e plus. Lintroduction de mod`les de robots autres que les Khpra tait absolument ` e e e e a exclure, toute la conception tait en eet axe uniquement sur ce type de robot. e e Limplantation en OpenGL avait repris exactement limplantation graphique utilise e sous Windows ` lorigine, et ntait pas dissociable du simulateur. La consquence la a e e plus grave (outre que la maintenance en tait rendue dicile) tait quil nexistait pas e e de version sans graphique, ce qui interdisait de lancer le programme sur les clusters de calcul, ceux-ci tant habituellement dpourvus de toutes librairies dachage e e graphique.

4.2.2

Le simulateur WOB World in a Bottle

An de ne plus tre frein par ces probl`mes de modularit logicielle, et fort de e e e e lexprience obtenue par la mise au point du prcdent, un nouveau simulateur a t e e e ee totalement repens et recod durant le premier semestre de lanne 2003. Sa conception e e e 67

Chapitre 4. Lenvironnement matriel et logiciel e

et sa ralisation ont t ralises en collaboration avec Jrmie Mary, un autre membre de e ee e e ee lquipe TAO, et a donn naissance au simulateur World in bottle (WOB).Lenvironnement e e a t totalement repens, et dans WOB, tant les lments de lenvironnement (murs, ee e ee cylindres, . . . ) que les robots eux-mme sont considrs comme un ensemble de formes e ee lmentaires consituant lenvironnement, et pouvant tre xes ou mobiles. Ainsi, tout ee e nouveau type de robot peut tre facilement introduit, chaque robot poss`dant ses propres e e attributs, et ses propres ractions et interactions avec lenvironnement. Ainsi, le type, le e nombre et les positions des capteurs, de mme que la faon dont le robot se dplace, e c e peuvent tre rednis aisment, et chaque robot peut alors interagir de faon propre aussi e e e c bien avec les lments de lenvironnement quavec les autres robots (puisquils ne sont ee nalement que des lments particuliers de lenvironnement). Le nombre de robots utiliee sables en mme temps est donc cette fois illimit (sauf par la puissance de calcul, puisque e e bien sr le temps calcul augmente quadratiquement avec le nombre dobjets prsents dans u e lenvironnement). Dans WOB, les contrleurs robotiques sont cette fois totalement dcoupls du simulao e e teur. Linterface entre la partie simulateur et la partie contrleur tant clairement spcie, o e e e il est tr`s facile de crer et dutiliser de nouveaux contrleurs. De plus, chaque contrleur e e o o poss`de dsormais un nom, ce qui permet de constituer une librairie de contrleurs poue e o vant tre appels ` tout moment par le simulateur : la conception de superviseurs est e e a devenue une tche tr`s facilement ralisable, de mme que la supervision dautres archia e e e tectures de supervision qui supervisent elles-mmes dautres architectures . . . . Enn, les e capteurs infrarouges sont maintenant beaucoup mieux simuls, et intragissent de faon e e c raliste tant avec les autres robots quavec tous les lments de lenvironnement. e ee La librairie dvolution articielle EO est toujours utilise et la librairie OpenGL est e e toujours la base de tout le graphisme, mais elle peut maintenant tre dsactive ` la fois e e e a lors de la compilation, ce qui permet de lancer le simulateur en mode non graphique (sur des clusters par exemple), mais aussi lors de lexcution, ce qui permet un gain de temps e calcul non ngligeable lors des volutions tout en autorisant ` tout moment une ventuelle e e a e visualisation du meilleur rsultat dj` obtenu. e ea Dautres lments ont t encore ajouts par rapport au prcdent simulateur utilis : ee ee e e e e la possibilit de prendre le contrle des robots par des raccourcis claviers ` la fois e o a en simulation et en rel. e un algorithme de rtro-propagation de lerreur (voir chapitre 6) compatible avec les e architectures de rseaux de neurones existants. e la possibilit dutiliser du baldwinisme ou du lamarckisme lors de lvolution (cf. e e chapitre 6). une gestion beaucoup plus d`le et prcise du gripper utilis par le Khpra. e e e e e Lensemble de ces travaux de dveloppement logiciel constitue la base sans laquelle e 68

4.2. Les simulateurs

Fig. 4.5 Un screenshot du simulateur WOB. aucune des exprimentations qui vont tre prsentes dans la suite nauraient pu tre e e e e e ralises. Tous ces dveloppements sont par ailleurs disponibles en code source pour une e e e ventuelle rutilisation par dautres chercheurs. Signalons que les l`ves du MODEX de e e ee lEcole Polytechnique continuent dutiliser cet ensemble logiciel bien que jai cess dencae drer ces Travaux Pratiques depuis 2003.

69

Chapitre 4. Lenvironnement matriel et logiciel e

70

Chapitre 5

Les contrleurs experts en o robotique volutionnaire e


Ce chapitre prsente nos premi`res contributions ` la robotique volutionnaire, e e a e qui consistent ` essayer de trouver un compromis entre lapproche de subsomption a de Brooks et lapproche totalement bo noire adopte en gnral par la robotique te e e e volutionnaire. Lutilisation de contrleurs symboliques, dont les sorties ne sont pas e o forcment directement relies aux actuateurs du robot, mais ` des contrleurs de plus e e a o haut niveau programms ` la main, est la premi`re approche propose. Elle sera ensuite e a e e gnralise ` la prise en compte de contrleurs de haut niveau, pouvant eux-mmes avoir e e e a o e t construits par volution articielle, pour permettre un meilleur passage ` lchelle ee e a e lorsque la complexit de la tche ` accomplir pour le robot augmente. e a a Nous commencerons au pralable, section 5.1, par discuter des probl`mes poss par le e e e passage ` lchelle en robotique autonome, en terme de complexit de la tche ` accoma e e a a plir pour le robot, et suivant les deux points de vue de la modularit et de la quantit e e dintervention de lexpert humain ncessaire ` lobtention de rsultats satisfaisants. La sece a e tion 5.2 se concentrera sur des travaux de D. Floreano et S. Nol proposant un mod`le de e rseau modulaire, travaux que nous avons rpts an de pouvoir les analyser en dtail. La e e ee e section 5.3 prsentera les contrleurs symboliques, qui utilisent des primitives prdnies e o e e de bas niveau pour lvolution de comportements de plus haut niveau. Nous prsenterons e e ensuite des comportements simples obtenus ` laide de cette approche (section 5.4). Mais a les limitations de cette approche par rapport au passage ` lchelle nous am`neront ` ina e e a troduire les superviseurs, contrleurs pouvant ` chaque pas de temps choisir parmi des o a comportements dune librairie donne. La section 5.6 proposera une validation de lape proche superviseurs sur une exprience plus complexe, pour laquelle les rsultats seront e e compars ` ceux dapproches classiques de type boite noire. Les probl`mes poss par cette e a e e 71

Chapitre 5. Les contrleurs experts en robotique volutionnaire o e

approche superviseur, comme la robustesse par rapport ` la gnralisation et au choix a e e des primitives de la librairie, seront discuts au vu dexpriences complmentaires. Enn, e e e la section 5.7 concluera le chapitre avec un exemple de mise en oeuvre sur robot rel de e rsultats pour lesquels lapproche superviseur sest rvle indispensable ` lobtention de e e ee a rsultats satisfaisants. e

5.1
5.1.1

Le probl`me du passage ` lchelle e a e


La modularit e

Comme nous lavons vu dans les chapitres prcdents, il existe deux grandes familles e e dapproches pour la robotique autonome. Dune part, les approches dterministes, requrant une importante intervention hue e maine, dont le meilleur exemple est larchitecture de subsomption de R. Brooks voque e e dans la section 2.2, dans laquelle les tches du robot sont dcomposes manuellement dans a e e une hirarchie de sous tches indpendantes. e a e ` A loppos, la robotique volutionnaire mentionne dans le chapitre 3 est gnralement e e e e e perue comme une approche de type boite noire : des contrleurs (par exemple de type c o rseaux de neurones) sont optimiss en vue dobtenir le comportement souhait en utilisant e e e le paradigme darwinien de lvolution articielle. Dans ce cadre, le travail du concepteur e consiste uniquement ` dnir la fonction de tness qui am`nera lvolution ` slectionner a e e e a e les comportements souhaits. e Toutefois, quoique pour des raisons direntes, le passage ` lchelle, en terme de e a e complexit de la tche ` accomplir, de ces deux approches reste tr`s dlicat. Lecacit de e a a e e e lapproche dterministe, base sur le dcoupage de la tche que le robot doit accomplir par e e e a un expert, est limite prcisment par le facteur humain : il est tout de mme tr`s dicile e e e e e de dcomposer des tches complexes comportant de nombreuses sous-tches distinctes e a a dans le cadre de larchitecture de subsomption, dans la mesure o` la mise au point des u intractions entre les diverses sous-tches constitue en soi un probl`me dont la complexit e a e e croit exponentiellement avec le nombre de sous-tches. a La dicult du passage ` lchelle en complexit dans le cadre de la robotique e a e e volutionnaire est, elle, lie au choix de la fonction tness, ou des fonctions tness suce e cessives quil faut en gnral imaginer : le probl`me du bootstrap (le fait que tous les e e e robots initialiss alatoirement sont galement nuls pour accomplir la tche souhaite, e e e a e empchant tout simplement loptimisation de dmarrer) fait quil faut soit construire une e e fonction tness faite de plusieurs composantes dlicates ` mettre au point, soit construire e a une suite de fonctions tness qui va permettre dobtenir des comportements de plus en plus sophistiqus aboutissant au comportement vis. Dans les deux cas, il sagit dun vrai e e travail de dcomposition, certes bas sur les comportements et non sur les interactions e e 72

5.1. Le probl`me du passage a lchelle e ` e

entre direntes parties fonctionnelles du contrleur comme dans larchitecture de sube o somption, mais qui tend ` devenir de plus en plus dicile ` mesure que la complexit du a a e but vis augmente. e De plus, lapproche de type boite noire de la robotique volutionnaire rend e extrmement dicile la comprhension et linterprtation des rsultats, que ce soit des e e e e succ`s ou des checs, interdisant ainsi toute capitalisation dexpertise passe pour une e e e ventuelle rutilisation future sur une exprience dirente. e e e e Une approche modulaire a t propose par Stefano Nol et Dario Floreano. Cette ee e approche essaie de palier un des principaux dfauts des approches de type boite noire en e donnant la possibilit ` lvolution de choisir parmi dirents modules. Bien quacclrant ea e e ee lvolution pour certaines tches, cette approche prsente quelques probl`mes que nous e a e e dtaillerons dans la section 5.2. e Lapproche que nous proposons dans cette th`se essaye de trouver quelques compromis e entre les deux extrmes mentionns prcdemment. Elle est base sur la remarque suivante : e e e e e pour esprer rellement apporter une rponse volutionnaire au probl`me du passage ` e e e e e a lchelle, lun des probl`mes les plus critiques en robotique autonome, il faut utiliser le e e mme mcanisme tout au long du chemin de complexit, des tches primitives ` des e e e a a comportements plus complexes. Dautre part, la dicult dintelligibilit des solutions conues par lapproche e e c volutionnaire vient du fait que les langages des contrleurs sont de bas niveau (par e o exemple, les consignes de vitesses des moteurs du robot). Lutilisation comme sorties de comportements certes encore basiques, mais de plus haut niveau (e.g. tourner ` gauche, ` a a droite, aller tout droit), comme propose dans la section 5.3, devrait nous permettre de e mieux comprendre la relation entre les sorties du contrleur et le comportement rsultant. o e De plus, cette approche nous permettra de construire rcursivement des comportements e de plus haut niveau ` partir de ces simples comportements, permettant de rsoudre des a e probl`mes de plus en plus complexes. e Les expriences mises en uvre dans ce chapitre manipulent les deux aspects dcrits e e prcdemment. Mais nous allons tout dabord dans la section suivante revisiter ces argue e ments ` la lumi`re de limportance de leort humain prrequis pour le succ`s de lune ou a e e e lautre approche.

5.1.2

Inn ou acquis e

Les deux tendances opposes en robotique autonome dcrites dans la sous-section e e prcdente peuvent galement tre apprhendes comme les aspects cognitifs inn vs e e e e e e e acquis au niveau de la mise au point du contrleur : lintervention humaine correspond ` o a la partie inne, et les contrleurs non explicitement programms et donnant dailleurs e o e des rsultats pas toujours prvus en tant la partie acquise. e e e 73

Chapitre 5. Les contrleurs experts en robotique volutionnaire o e

De ce point de vue, larchitecture de subsomption de Brooks se situe ` lun des a extrmes, ct inn, puisque toutes les comptences donnes au robot sont programmes e oe e e e e par le concepteur, ` savoir les comportements de bases ` attribuer au robot ainsi que la a a faon de les combiner et de les faire interagir de mani`re a obtenir des comportements c e ` complexes. Cette mani`re de procder permet dobtenir de bonnes performances pour des e e tches tr`s spciques. Cependant, lorsque lon passe ` une tche plus complexe, il faut a e e a a en gnral revoir une bonne partie de larchitecture. Rappelons tout de mme que le but e e e initial de Brooks tait datteindre lintelligence des insectes [Brooks, 1991], mais quil a d e u revoir cet objectif ` la baisse du fait . . . de sa complexit trop importante. a e Du ct de linn, on trouve galement les mod`les de slection dactions (e.g. oe e e e e Spreading Activation Network [Maes, 1989]. Cependant, de telles approches ont deux points faibles : le premier est quune telle architecture est biologiquement discutable, tandis que le second concerne le probl`me de lautonomie ; en eet, si le fait de remplacer e les rexes de bas niveau par des dcisions ` propos des comportements de plus haut e e a niveau (utiliser tel ou tel comportement ` tel moment) semble prometteur, la faon de a c programmer les interactions de tels rexes dans un monde changeant et au moins en e partie inconnu nous semble pouvoir tre plus facilement rsolu par volution articielle e e e que de mani`re dterministe (cet argument sera plus dvelopp section 5.3). e e e e A lextrme acquis du dbat inn/acquis se trouvent la plupart des travaux en roboe e e tique volutionnaire : a priori, tout biais de la part du designer est considr comme nfaste e ee e pour lopportunisme de lvolution et lautonomie du robot. A noter quune telle position e est galement dfendue dans le domaine du design optimal [Bentley, 1999], domaine dans e e lequel de tr`s bonnes solutions souvent inattendues ont pu tre obtenues en limitant line e tervention humaine dans le cadre du design volutionnaire. Il faut toutefois signaler que e de nombreuses dcisions sont en fait prises par le designer en amont de lvolution, dont e e bien sr le choix de la reprsentation, qui est crucial dans le domaine du design. u e Dans le domaine de la robotique volutionnaire, lide prcdente a t mise en vae e e e ee leur par la revisite rcente de Tuci, Harvey et Quinn [Tuci et al., 2002] dune exprience e e propose initialement par Yamauchi et Beer [Yamauchi et Beer, 1994] (cette exprience e e sera dcrite en dtail dans la section 6.2.2) : le robot doit agir diremment (soit ale e e ler vers la lumi`re soit sen loigner) en fonction dune variable alatoire cache. Le roe e e e bot doit donc apprendre ` la premi`re poque ltat de cette variable alatoire, et agir a e e e e en consquence dans les poques suivantes. Alors que dans lexprience originale, lare e e chitecture du contrleur tait soigneusement conue pour le probl`me, larchitecture du o e c e contrleur de Tuci et al. est un rseau de neurones CTRNN (voir encore une fois seco e tion 6.2.2) totalement connect, et donc sans connaissance particuli`re du domaine, et e e lvolution agit sur tous les poids. De plus, Tuci et al. nutilisent pas de renforcement e 74

5.1. Le probl`me du passage a lchelle e ` e

explicite. Nanmoins, les rsultats obtenus par cette rcente approche sont bien meilleurs e e e que ceux obtenus dans lexprience originale, et, de lavis des auteurs, ceci est obtenu grce e a a ` leur approche totalement bo te-noire, dans la mesure o` aucune modularit na pu tre u e e constate dans les rseaux solutions a posteriori. e e Nanmoins, alors que les concepteurs ont dcid dutiliser une architecture modulaire e e e soigneusement mise au point dans la premi`re exprience, leort dans lapproche de Tuci e e et al. a t report sur la fonction tness (par exemple, la zone de rcompense sous la ee e e lumi`re doit se produire seulement une fois sur deux, ou bien encore, la rcompense pour e e se diriger vers la lumi`re doit tre suprieure ` celle pour la fuir, pour briser la symtrie, e e e a e . . . ). Par consquent, cette approche demande de fait galement une grande partie dinn, e e e puisque, pour la cration de la fonction tness, lintervention humaine est requise de e mani`re tr`s subtile. e e

Comme souvent, une bonne solution est sans doute, dans ce dbat inn/acquis, e e une approche intermdiaire qui serait de doter le robot de comportements inns come e plexes, issus de la connaissance humaine, mais dans laquelle les choix entre ces comportements et leurs interactions ne ncessiteraient pas dintervention humaine supplmentaire : e e lvolution pourrait alors voluer aussi bien vers des comportements clairement modulaires e e (choix dun comportement inn dans des situations clairement reprables) ou un compore e tement plus proche de la bo noire (basculements rpts et rapides entre plusieurs te e ee comportements sans rapport apparent avec une situation donne). e Cest la proposition que nous avons faite (voir section 5.3) : le concepteur va aider lvolution de contrleurs complexes en mettant ` la disposition de loptimisation des e o a comportements simples, soit cods manuellement soit obtenus par volution articielle, e e laissant lvolution arranger ces blocs de construction ensemble. Un important eet de e bord est que le concepteur pourra, sans doute, plus facilement comprendre les rsultats e dune exprience, grce ` une plus grande intelligibilit des contrleurs. e a a e o Cependant, dautres solutions intermdiaires dans la perspective inn/acquis ont t e e ee proposes il y a quelques annes, tels les contrleurs modulaires dvelopps par Nol e e o e e et Floreano [Nol et Floreano, 2000]. Ils constituent un premier pas, en partant de lapproche volutionnaire classique purement bo noire, vers lapproche que nous avons e te dveloppe, dans la mesure o` larchitecture du contrleur neuronal est choisie par le e e u o concepteur en fonction du probl`me ` rsoudre, et cest lvolution qui construit simule a e e tanment les comportements des modules et le mcanisme de choix entre les modules. e e Nous allons donc tout dabord prsenter cette architecture en essayant de comprendre ses e proprits et leurs incidences sur les performances du robot. ee 75

Chapitre 5. Les contrleurs experts en robotique volutionnaire o e

5.2

Le contrleur modulaire de Nol et Floreano o

Le contrleur modulaire mis au point par Stefano Nol et Dario Floreano o [Nol et Floreano, 2000] utilise deux modules identiques parall`les. Cependant, avant e de dcrire son architecture en dtail, nous allons prsenter la tche sur laquelle cette achie e e a tecture a t utilise, dans la mesure o` de nombreux choix des auteurs sont dicts par le ee e u e probl`me ` rsoudre. e a e

5.2.1

Le ramasseur de poubelles

Lexprience de robotique autonome sur laquelle a t teste larchitecture modulaire e ee e prsente section 5.2.2 est celle dite du ramasseur de poubelles. Une illustration de cette e e exprience est prsente sur la gure 5.1 : le robot Khepera est dans ce cas quip dun e e e e e bras manipulateur (gripper) lui permettant de saisir des objets, et les poubelles sont ici des cylindres de taille susamment petite pour que le robot puisse les saisir avec le-dit gripper.

Fig. 5.1 Exprience du garbage collector, le robot Khepera doit saisir les objets cylindriques e
se situant sur lar`ne et les dposer ` lextrieur. e e a e

` A chaque poque, cinq cylindres sont disposs alatoirement sur lar`ne, et le e e e e robot doit en saisir un avec le gripper et le dposer en dehors de lar`ne (les murs e e sont susamment bas). Le robot dispose de 15 poques pour mettre au maximum e 15 cylindres ` lextrieur. La performance du robot est dtermine de la mani`re a e e e e suivante : le robot ne marque aucun point tant quil na pas saisi de cylindre ; lorsque que le robot a saisi un cylindre, et an de linciter ` se dplacer, il reoit une tness a e c correspondante ` celle de lvitement dobstacles dcrite dans la section 3.4.4 ; enn, a e e un bonus de 10000 points lui est attribu lorsquil parvient ` dposer un cylindre ` e a e a lextrieur de lar`ne. Par consquent, la tness maximale quun robot peut rcolter ` e e e e a la n des 15 poques correspond ` un peu plus de 150000 points, soit 150000 plus lace a 76

5.2. Le contrleur modulaire de Nol et Floreano o

cumulation des points marqus entre la saisie du cylindre et son dpot en dehors de lar`ne. e e e Un point important dans le cadre de la suite de ce chapitre concerne la manipulation du gripper : alors que les commandes du moteur du bras manipulateur lui permettent de se positionner au degr pr`s, les auteurs ont choisi de ne considrer au niveau du e e e contrleur que les macro-actions consistant ` ramasser ou ` relacher un objet. En eet, o a a lexprience consistant ` manoeuvrer le gripper pour arriver ` des macros-actions ncessite e a a e une grande dextrit et demanderait un temps dapprentissage par lvolution tr`s long : e e e e ces manoeuvres sont donc programmes de mani`re dterministe, et le robot doit juste e e e choisir sil saisit lobjet situ ` proximit et en face de lui, ou sil relche lobjet en sa e a e a possession ou seulement sil choisit de ne faire ni lune ni lautre de ces actions. Au niveau des sorties du contrleur, deux neurones spcialiss ont t introduits en o e e ee plus des neurones moteurs dans la couche de sortie du rseau. Si la sortie de ces neurones e dpasse un certain seuil, alors le robot va excuter laction correspondante (soit prendre e e lobjet, soit le relcher). En cas de conit, il excutera laction correspondant ` la sortie a e a des deux neurones commandant le gripper ayant la plus grande valeur. Signalons enn que, dans le cadre de cette exprience, il est ais dimaginer au moins e e un type de modularit qui devrait fonctionner : supposons que le robot dispose des come portements exploration de lenvironnement pour reprer un cylindre et aller le plus e pr`s possible dun mur et ouvrir son gripper, alors une solution au probl`me du ramase e seur dordures consiste ` programmer le robot de telle sorte quil explore tant quil na a pas trouv de cylindre, et quil bascule vers lautre comportement d`s quil a charg un e e e cylindre. Cest ce genre de remarque qui a motiv lintroduction du rseau modulaire. e e

5.2.2

Larchitecture modulaire

Larchitecture du rseau modulaire est prsente sur la gure 5.2. Quelques commene e e taires simposent pour expliquer ce schma assez dicile ` comprendre : on constate quil e a existe 4 parties bien distinctes, correspondant aux quatres actuateurs que le contrleur o doit commander : les vitesses des moteurs (gauche et droit), et les commandes du gripper dcrites dans la sous-section prcdente (ramassage ou relche dun objet). Chacune de e e e a ces parties comporte 4 sorties relies ` lensemble des entres (pas de couche cache). e a e e Faisons un zoom sur les quatres sorties de lune de ces parties (gure 5.3) : parmi ces 4 neurones de sortie, on distringue 2 neurones de slection et deux neurones de commande e de lactuateur considr. Considrons par exemple la partie commandant le moteur de ee e gauche. Les deux neurones de slection S1 et S2, relis donc aux entres (capteurs du e e e robot), vont permettre de choisir lequel des deux neurones de commande O1 et O2 va rellement envoyer la commande au moteur, de la mani`re suivante : si S1 > S2 alors O1 e e 77

Chapitre 5. Les contrleurs experts en robotique volutionnaire o e

neurones de slection

moteur gauche

moteur droit

ramasser

relcher

neurones de sortie

4 capteurs I.R.

capteur gripper

Fig. 5.2 Le rseau modulaire de Nol et Floreano e commandera le moteur gauche, dans le cas contraire, ce sera O2 qui le commandera. Le choix est refait ` chaque pas de temps. a
neurones de slection

S1

S2

O1

O2

neurones de sortie

Fig. 5.3 Zoom sur un bloc constituant une des sorties du rseau modulaire. e

5.2.3

Rsultats et discussions e

Nous avons refait des expriences sur le robot ramasseur dordures suivant les indicae tions donnes dans [Nol et Floreano, 2000], cest-`-dire en utilisant larchitecture modue a ` laire dcrite ci-dessus. A titre de comparaison, nous avons galement utilis une architece e e ture identique mais sans modularit, utilisant un rseau simple sans couche cache reliant e e e 78

5.2. Le contrleur modulaire de Nol et Floreano o

directement les entres et les quatres sorties (les deux moteurs et les neurones dclencheurs e e du gripper). Les rsultats, en terme dvolution de la tness au cours des gnrations, sont e e e e visibles sur la gure 5.4. Les rsultats des deux architectures sont assez similaires, avec e une meilleure performance tout de mme pour les rseaux modulaires (+10000 environ e e sur la n pour les meilleurs individus). Il est ` noter galement que le rseau modulaire, a e e bien quil ait beaucoup plus de poids ` optimiser que le rseau direct, progresse plus vite. a e On retrouve donc des rsultats similaires ` ceux obtenus dans [Nol et Floreano, 2000], e a o` il est prcis que ce rseau modulaire permet dacclrer un peu plus la progression du u e e e ee meilleur individu dans lvolution articielle. e Cependant, dans lexprience originale dcrite dans [Nol et Floreano, 2000], les e e rsultats nont pas t analyss en profondeur, en particulier au niveau des activations e ee e des neurones de slection, et il est dicile au vu des rsultats publis de rpondre ` e e e e a la question Quel est rellement lapport de la modularit ? Cest pour cela que nous e e avons tudi les meilleurs individus obtenus pour les rseaux modulaires. An dtudier e e e e ces rseaux de mani`re quitable, les cylindres ont t placs ` des endroits identiques e e e ee e a pour tous les individus tests ` chaque nouvelle poque (mais dirents dune poque ` e a e e e a lautre). De plus ceci facilite beaucoup la reprsentation des rsultats. Une illustration du e e principal rsultat obtenu par cette analyse est prsent sur la gure 5.5. e e e Le but de cette srie de tests tait den savoir un peu plus sur la mani`re dont fonce e e tionnent les neurones de slection. Sur la gure 5.5, le dessin du haut reprsente la prise e e dun des cylindres par le Khepera : les points gris et les croix grises reprsentent les posie tions du robot ` chaque nouveau cycle et lintensit avec laquelle le neurone dclencheur a e e de prise dobjets est dclench. Plus la croix est grande, plus lintensit est importante, sae e e chant quelle doit tre susamment grande pour dpasser le seuil permettant de dclencher e e e la prise du cylindre. On peut apercevoir, quoiquassez dicilement (en utilisant une bonne loupe, cela semble vident !), une tr`s petite croix noire, qui correspond ` lutilisation de e e a lautre neurone de sortie (donc galement lautre neurone de slection) sur ce seul pas de e e temps. Sur la gure du bas, suivant le mme principe, on observe le comportement du e neurone servant ` relcher lobjet en dehors de lar`ne, et on assiste en fait au mme a a e e phnom`ne hgmonique dun des neurones de sortie commandant laction prtablie de e e e e ee faon dterministe pour la manoeuvre de relchement dobjet. Cette fois ci, on peut disc e a tinguer, mais tr`s dicilement galement, deux points noirs ` proximit des cylindres de e e a e droites. Des expriences similaires ont t ralises pour les moteurs, avec des rsultats e ee e e e tout ` fait similaires. a Concr`tement, tout ceci signie, que lvolution semble avoir tendance ` privilgier tel e e a e ou tel module, et ` ne plus utiliser que celui-l` lors de lensemble des tests. Cela peut a a expliquer, le fait que lvolution progresse plus vite, en eet, le nombre de combinaison e 79

Chapitre 5. Les contrleurs experts en robotique volutionnaire o e

fitness 14e4

12e4

10e4

8e4

6e4

4e4

2e4 generations 0 0 100 200 300 400 500 600 700 800 900 1000

Un perceptron simple sans couche cache, la performance du meilleur e individu et de la moyenne des invidus sont achs. e
fitness 16e4

14e4

12e4

10e4

8e4

6e4

4e4

2e4 generations 0 0 100 200 300 400 500 600 700 800 900 1000

Le rseau modulaire e Fig. 5.4 Les rsultats pour lexprience du ramassage dordure. e e 80

5.2. Le contrleur modulaire de Nol et Floreano o

Fig. 5.5 Analyse de la modularit eective durant une poque du meilleur individu obtenu lors e e
de lexprience du ramasseur de poubelles e

81

Chapitre 5. Les contrleurs experts en robotique volutionnaire o e

possible avec 8 modules (4 2) est de 24 = 16 par consquent, les chances pour que e importantes que pour un rseau classique. Cela peut galement sure ` expliquer la tr`s e e a e lg`re dirence de performance du rseau modulaire sur le rseau classique. e e e e e Ces nouveaux lments pris en compte indiquent que ces rseaux modulaires (bien que ee e lide semble sduisante ` la base) sont nalement comparables ` des rseaux classiques, e e a a e

le bon chantillon de poids soit trouv d`s les premi`res gnrations sont 16 fois plus e e e e e e

pour lesquels on aurait lanc 2n runs en parall`le (n tant le nombre de sous parties du e e e rseau) au lieu dun seul. Il semble donc quune fois de plus lvolution ait trouv un e e e raccourci inattendu au travers de lutilisation du rseau modulaire, raccourci qui nutilise e pas du tout en fait la modularit telle quelle avait t prvue par les concepteur du rseau ! e ee e e Partant de ces constatations, nous avons rchi ` une mani`re de garder ` lesprit ce e e a e a type de modularit en demandant ` la fois au concepteur de fournir plus dinformation e a de haut niveau, sous la forme de modules spcialiss, mais en laissant plus de souplesse ` e e a lvolution pour arranger les choix entre les modules que dans le rseau modulaire de Nol e e et Floreano, et surtout en essayant de rester le plus indpendant possible par rapport ` la e a tche demande, an que lapproche puisse se gnraliser facilement. a e e e

5.3
5.3.1

Les contrleurs symboliques o


Raisonnement

Nous nous plaons donc dans le cadre de la robotique autonome volutionnaire dcrit c e e au chapitre 3, et considrons les deux objectifs dcrits dans le dbut de ce chapitre : e e e dune part, pouvoir aider lvolution en lui fournissant des briques de base volues contee e e nant ce que nous pensons devoir tre utile comme comportements simples (ou un peu e moins) pour construire le comportement que nous cherchons a atteindre, mais sans devoir ` prciser les liens ni les squences denchainements de ces comportements de base ; dautre e e part, essayer dobtenir in ne des rsultats soient assez intelligibles pour permettre leur e interprtation par le concepteur, facilitant ainsi leur mise au point, et la gnralisation ` e e e a dautres comportements cibles. Nous nous restreignons au cadre de contrleurs neuronaux (quils soient ` propagao a tion directe ou rcurrents), mais il est clair que dautres types de contrleurs pourraient e o bncier de la technique propose ici. Les entres des contrleurs sont donc les capteurs e e e e o du robot (infrarouge, camra, ...), et in ne, le contrleur doit gnrer des commandes e o e e pour les actionneurs du robot (e.g. les vitesses de moteurs de gauche ou de droite du robot pour un robot Khpra, ventuellement les ordres pour le gripper sil y a lieu). e e e Dans lapproche classique, les valeurs des sorties du rseau de neurone sont directee ment (apr`s une simple normalisation) les valeurs des commandes cherches (vitesses des e e moteurs dans lintervalle [20, 20] pour le Khepera par exemple. Le contrleur rsultant o e 82

5.3. Les contrleurs symboliques o

est alors comparable ` un programme en langage machine, cest ` dire tr`s dicile ` a a e a interprter. De plus, supposons que le dplacement en ligne droite reprsente un souse e e comportement utile (ce qui peut sembler raisonnable de supposer dans de nombreuses situations, et pour des comportements cibles tr`s dirents). Et bien non seulement il sera e e dicile de dire quand un contrleur neuronal donnant des consignes pour les moteurs se o dplace eectivement en ligne droite, mais de plus la dcouverte du dplacement en e e e ligne droite pourra le cas chant ncessiter un certain temps dvolution voire ne jae e e e mais tre exactement atteinte. On voit ainsi de nombreux cas de solutions obtenues par e volution de contrleurs neuronaux, et dont on sait quil faut quils atteignent un point e o de leur environnement rapidement, eectuer des dplacements peu rectilignes. Dun autre e ct, la programmation dterministe dun tel dplacement est videmment triviale. oe e e e

5.3.2

Larchitecture symbolique

Dans ce cadre, nous proposons dutiliser comme sorties du contrleur des comporteo ments de plus haut niveau que les valeurs des vitesses des moteurs, tels le dplacement e en ligne droite mentionn ci-dessus. Plus spciquement, dans un premier temps, nous e e dotons le robot de 4 actions possibles programmes de mani`re dterministe : Aller tout e e e droit en avant, tourner ` droite, tourner ` gauche, ou aller tout droit en arri`re. De plus, a a e dans le but de permettre plus de exibilit, chacune de ces actions est module par un e e param`tre (dans notre cas la vitesse de dplacement linaire pour les dplacements rece e e e tilignes, et la vitesse de rotation pour les autres). Le contrleur donne alors, ` chaque o a pas de temps, dune part le choix de laction qui va tre excute, dautre part la valeur e e e du param`tre correspondant. Cest un module dterministe qui transforme alors couple e e (action, param`tre) en consignes pour les moteurs. e Le contrleur symbolique propos est reprsent de mani`re synthtique gure 5.6 : o e e e e e il comporte 8 sorties prenant des valeurs dans [0,1]. Les 4 premi`res sorties sont utilises e e pour spcier quelle action va tre utilise. Plus prcisment, le robot eectuera laction i, e e e e e avec i = Argmax{sortie(j), j = 0 . . . 3}. Le param`tre correspondant est alors la valeur de e la sortie i + 4. Les valeurs des commandes pour les actuateurs sont calculs par le module e (prdni par le concepteur) correspondant ` laction choisie. e e a ` A noter que les sorties 4 ` 7, qui sont les param`tres des actions 0 ` 3, sont calcules ` a e a e a chaque pas de temps, mais que seule la valeur du param`tre de laction choisie est utilise e e a ` un pas de temps donn : quelques essais de rseaux ` 5 sorties, les quatres sorties du e e a choix et un unique param`tre qui serait appliqu ` laction choisie nous ayant rapidement e ea convaincu quil tait ncessaire de sparer les param`tres ce qui tait prvisible comptee e e e e e tenu de la smantique dirente dune vitesse linaire et dune vitesse de rotation par e e e exemple. 83

Chapitre 5. Les contrleurs experts en robotique volutionnaire o e

Entres

Actions A1 AVANT A2 ARRIERE Rseau de Neurones A3 GAUCHE A4 DROITE INTENSITE I1 INTENSITE I2 INTENSITE I3 INTENSITE I4 Appris Su Choisir ACTION Ai = Arg Max [Aj] Excute avec INTENSITE Ii

Moteurs

GAUCHE

DROITE

Fig. 5.6 Le rseau symbolique. e

5.3.3

Discussions

Utiliser des langages et reprsentations de plus haut niveau pour les contrleurs a e o des consquences ` la fois sur la taille de lespace de recherche et sur la modularit du e a e contrleur. o A premi`re vue, il semble que la taille de lespace de recherche soit augmente, du fait e e que le contrleur poss`de 8 sorties au lieu de 2 dans un contrleur classique. Toutefois, les o e o 8 sorties ne sont quune combinaison des 2 sorties moteurs. Dun autre ct, lutilisation oe dun contrleur symbolique peut tre vue comme lajout de contraintes sur lespace de o e recherche, ce qui entra une rduction de la taille de la partie de lespace de recherche ne e en fait explore. On peut galement rapprocher cet argument de celui utilis par Vapnik e e e comme fondation de la thorie de lapprentissage statistique [Vapnik, 1998], o` rcrire le e u ee probl`me dapprentissage dans un espace de plus grande dimension le rend en fait plus e simple (linairement sparable . . . pour un bon choix de lespace de grande dimension, bien e e sr). De plus, le paysage de tness engendr par lutilisation dun contrleur symbolique u e o comprend de nombreux plateaux neutres, puisque seule la plus grande valeur des premi`res e sorties est prise en compte. Or la neutralit est souvent invoque comme bnque pour e e e e lvolution, permettant de schapper plus facilement doptima locaux [Harvey, 1993]. e e Dun autre ct, les primitives de haut niveau des contrleurs symboliques engendrent oe o plus de modularit. Dapr`s Dawkins [Dawkins, 1988], la probabilit de construire un e e e syst`me complexe par un processus alatoire augmente avec le degr de modularit. Mais e e e e nous reviendrons sur ce point plus en profondeur dans la section 5.5. Enn, il est bon de noter que ce principe a dj` t utilis, sans tre explicit ni tudi eaee e e e e e 84

5.4. Apprendre un comportement simple : lvitement dobstacle e

en tant que tel, en robotique volutionnaire. Ainsi, dans lexprience du ramasseur de e e poubelle dcrite section 5.2, les auteurs ont choisi ce mode daction pour contrler la e o pince du robot Khpra : les sorties des contrleurs ddies au gripper sont des actions de e e o e e haut niveau (e.g. saisir lobjet, relcher lobjet,...), et non les commandes des moteurs des a pinces.

5.4

Apprendre un comportement simple : lvitement dobse tacle

La suite de ce chapitre va tre consacre ` des validations exprimentales de lape e a e proche propose ci-dessus (et de sa gnralisation). Nous dcrivons dans cette section tout e e e e dabord les conditions exprimentales communes ` toutes les expriences qui vont suivre, e a e avant daborder la validation de lapproche des contrleurs symboliques sur une premi`re o e exprience dvitement dobstacle. e e

5.4.1

Le protocole exprimental e

Comme dans lensemble des travaux de cette th`se, le gnotype est constitu des e e e poids du rseau de neurones. Ces poids voluent dans [1, 1], en utilisant une (30,150)-ES e e (Stratgie dEvolution : chacun des 30 parents donne naissance ` 5 enfants, et les meilleurs e a des 150 enfants deviennent les 30 parents de la gnration suivante) avec une faible proe e babilit de croisement et des mutations gaussiennes auto-adaptatives (voir section 3.2.4). e Nous avons choisi comme crit`re darrt un nombre maximal de gnration x ` 250, qui e e e e ea reprsente un temps machine de 1h ` 3h suivant lexprience ` raliser sur un ordinateur e a e a e relativement rcent (Pentium de frquence > 2GHz). e e Tous les rsultats sont prsents sur une moyenne de 10 essais indpendants. Chaque e e e e valuation de performance est eectue sur 10 poques, et chaque poque dure de 150 ` e e e e a 1000 pas de temps (dpendant de lexprience), en commenant par une position alatoire. e e c e

5.4.2

Description de lexprience e

Lexprience dvitement dobstacle sest droule dans deux environnements dirents e e e e e visibles sur la gure 5.7 : Un environnement spar par une croix (situ ` gauche sur la gure 5.7). e e ea Un environnement un peu plus compexe, o` le robot poss`de peu de place pour se u e dplacer, et doit bien faire attention ` viter les murs. e ae Le comportement recherch est ici un simple comportement dvitement dobstacle, et e e la fonction tness utilise est dnie comme e e 85

Chapitre 5. Les contrleurs experts en robotique volutionnaire o e

Fig. 5.7 Les deux environnements tests avec le contrleur symbolique pour lexprience de e o e lvitement dobstacle e

F=

epoch

|V (t)|(1

V (t))

o` V(t) est la vitesse moyenne au temps t, et V (t) reprsente la valeur absolue de la u e dirence entre la vitesse des deux roues. e La dirence entre cette tness et la tness originale de Nol et Floreano e [Nol et Floreano, 2000] est labsence des valeurs des capteurs infrarouges dans la tness. En eet, le comportement dvitement dobstacle est ici implicitement rcompens, car e e e d`s que le robot rentre en contact avec un mur, lvaluation de lpoque courante est e e e arrte, laccumulation de tness est ainsi faite sur moins de pas de temps, et le robot est ee ainsi indirectement pnalis. e e Le contrleur symbolique ` 8 sorties dcrit section 5.3.2 (et gure 5.6) est compar o a e e dans cette exprience ` un contrleur classique ` 2 sorties les commandes des moteurs. e a o a Les deux rseaux poss`dent 8 entres, ` savoir les 8 capteurs infrarouges du Khpra en e e e a e e mode actif, cest-`-dire permettant de dtecter les obstacles. a e Pour cette tche simple, nous navons utilis que des architectures de perceptrons a e multi-couches. Par contre, le rglage du nombre de couches et de neurones a fait lobjet e dexpriences prliminaires, dont les rsultats principaux sont donns dans le tableau 5.1 : e e e e avec seulement deux couches, les contrleurs symboliques obtiennent des meilleurs rsultats o e que les contrleurs classiques. En augmentant le nombre de neurones de la couche cache, o e les performances des deux contrleurs augmentent mais les performances du contrleur o o symbolique restent meilleures. Finalement, pour tablir une comparaison quitable en e e terme de nombre de poids, nous avons choisi dutiliser 14 neurones cachs pour le contrleur e o symbolique et 20 pour le contrleur classique, le nombre de poids tant alors quasiment o e identique (216 vs 221). 86

5.4. Apprendre un comportement simple : lvitement dobstacle e

Architecture 8-2 / 8-6 8-8-2 / 8-8-6 8-20-2 / 8-14-6 8-20-2 / 8-14-6

Classique 861 105 1042 100 1220 41 1132 55

Symbolique 1030 43 1094 55 1315 6 1197 16

Tab. 5.1 Rsultats comparatifs des contrleurs classiques et symboliques. * signie que le robot e o Khpra a t test dans le second environnement (plus complexe) e e ee e

5.4.3

Rsultats et discussions e

Les premiers rsultats pour les contrleurs symboliques ont t surprenants : la moiti e o ee e des runs, mme sans couche cache, a trouv une faille opportuniste dans lvolution, e e e e rendue possible par labsence dinertie dans le simulateur : un comportement optimal est en eet obtenu dans ce cas par une succession rapide des comportements aller vers lavant et aller vers larri`re ` vitesse maximale et par consquent vitant ainsi les e a e e obstacles ! ` A noter que les contrleurs classiques ont russi galement ` exploiter cette faille, o e e a mais uniquement lorsque nombre de neurones cachs est augment, et en autorisant un e e intervalle pour les poids 10 fois plus grands ([10, 10]). Nous avons donc dcid dune part dliminer le comportement aller vers larri`re, e e e e rduisant ainsi le nombre de sortie du contrleur symbolique ` 6 neurones, et dautre part, e o a dans le but dviter dnitivement cette faille, de modier la fonction tness pour quelle e e augmente uniquement lorsque le robot va vers lavant. Cette modication na pas altr le ee classement des contrleurs : le contrleur symbolique continue de dpasser les performances o o e du contrleur classique. Cet avantage diminue cependant avec laugmentation du nombre o de neurones cachs alors que la variance des rsultats baisse, pour les deux rseaux (voir e e e tableau 5.1). Ces rsultats valident lapproche des contrleurs symboliques : de meilleurs rsultats e o e sont obtenus quavec un contrleur classique. Toutefois, il semble clair que le principal obso tacle ` lutilisation de lapproche volutionnaire pour des tches beaucoup plus complexes a e a soit le passage ` lchelle discut section 5.1 qui nest pas vraiment rduit par lapproche a e e e des contrleurs symboliques. En eet, lutilisation de nombreux comportements de base o experts va ncessiter un rseau de neurones tr`s grand et dautre part lide des pae e e e ram`tres que ncessite chaque action de base ne sapplique sans doute pas telle quelle ` e e a dautres comportements experts que le concepteur pourrait vouloir ajouter ` ceux proposs a e section 5.3. Lide dun processus de conception rentrant, dans lequel on pourrait utiliser e e des comportements conus par volution en tant que brique de base pour la construction c e de comportements plus complexes semble ` ce moment incontournable. a 87

Chapitre 5. Les contrleurs experts en robotique volutionnaire o e

5.5

Les superviseurs

Pour palier les limitations constates ci-dessus, nous proposons larchitecture dite des e superviseurs, qui consiste ` fournir ` un module contrleur une librairie de contrleurs a a o o prexistants dans laquelle il va choisir, ` chaque pas de temps, un des modules pour donner e a les consignes aux actuateurs du robot. La gure 5.9 montre une instanciation du concept de superviseur. Les entres du module de supervision sont les valeurs de capteurs disponibles (ou e un sous-ensemble de ces valeurs, un autre exemple est donn ` la section 5.7). Il y a e a autant de sorties du module superviseur que de contrleurs disponibles dans la librairie. o ` chaque pas de temps, la sortie qui prend la valeur la plus importante dcide du module A e contrleur qui va tre utilis pour envoyer les consignes aux actuateurs. Le principe reprend o e e la base de lapproche contrleurs symboliques prsente section 5.3.2, avec une dirence o e e e essentielle que les contrleurs de la librairie sont des contrleurs ` part enti`re, cest-`-dire o o a e a quils donnent des consignes pour les actuateurs en fontion des valeurs des senseurs. Cette dirence a deux consquences essentielles : e e il est possible (comme nous le verrons plus loin) dutiliser dans la librairie aussi bien des contrleurs programms de mani`re dterministe par le concepteur que des o e e e contrleurs obtenus par volution articielle, ou par tout autre mthode dappreno e e tissage ; en particulier, il est possible (mme si cela na pas encore t expriment) dutiliser e ee e e un contrleur superviseur, rsultat dune volution prliminaire, ` son tour comme o e e e a lun des contrleurs de la librairie servant ` construire un autre superviseur dit o a alors de plus haut niveau (mme si la notion de niveau nest pas bien dnie). e e Cette approche rpond donc au moins en partie aux probl`mes discuts dans la section e e e 5.1 concernant le passage ` lchelle de lapproche volutionnaire en robotique : la modua e e larit devient une ralit, mais sans que cela alourdisse lintervention humaine en terme e e e de description fonctionnelle des relations entre les dirents modules. Bien sr, lexpert e u a encore du travail (fournir au superviseur un ensemble susant de contrleurs), mais o la partie fastidieuse et combinatoire de mise au point des liens entre ces contrleurs est o laisse ` lvolution, et risque moins dtre biaise par des a priori humains. En ce sens, on e a e e e peut faire lanalogie suivante : lapproche superviseur est ` lapproche slection daction a e classique ce que la programmation dclarative est ` la programmation squentielle. e a e Un des probl`mes-cl de cette approche, et qui pourrait remettre en question le gain que e e nous pensons atteindre en terme de passage ` lchelle, est celui du choix des contrleurs a e o de base, et de la dpendance des rsultats par rapport ` la librairie fournie. Ce point sera e e a discut plus en dtail section 5.6.4. Mais commenons par valider lapproche superviseur e e c par une premi`re exprience, plus complexe que lvitement dobstacle, lexploration avec e e e 88

5.6. Evolution dun comportement complexe

recharge de batterie.

5.6
5.6.1

Evolution dun comportement complexe


Exploration et recharge de batterie

Le comportement recherch est driv de lexprience passage par la maison (homing e e e e experiment) pour la premi`re fois propose dans [Floreano et Mondada, 1994b], combinant e e lexploration de lenvironnement avec une gestion de lnergie. Le robot est quip dun e e e accumulateur dnergie (virtuel), lnergie diminue linairement avec le temps, et est toe e e talement puise apr`s 285 cycles. Une aire de recharge est signale par une lumi`re dans e e e e e lar`ne (cf. gure 5.8). Aucun obstacle se trouve dans lar`ne. Dans notre exprience, la e e e position du robot ainsi que la zone de recharge sont tires alatoirement au dbut de e e e chaque poque (dans lexprience originale, la zone de recharge se trouvait toujours au e e mme endroit, dans un coin de lar`ne). e e

Fig. 5.8 Lexprience du passage par la maison, le robot doit se dplacer rapidement dans e e son environnement tout en sapprochant de la zone reprsente par la lumi`re pour recharger ses e e e batteries. La performance du robot est proportionnelle ` sa vitesse moyenne, mais seulement a lorsque le robot nest pas situ dans la zone de recharge. Dans lexprience originale e e [Floreano et Mondada, 1994b], les batteries taient instantanment recharges lorsque le e e e robot entrait dans la zone de recharge. La recharge ici est proportionnelle au temps que le robot passe dans cette zone (une recharge compl`te prend 100 pas de temps). De plus, laire e de recharge nest pas directement visible par le robot, alors quelle tait signale par un e e disque noir que le robot pouvait dtecter avec un capteur de sol. Toutes ces dirences e e 89

Chapitre 5. Les contrleurs experts en robotique volutionnaire o e

augmentent la complexit de la tche. e a

5.6.2

Les architectures

Dans cette exprience, nous avons utilis une architecture de superviseur telle que nous e e allons la dcrire maintenant. Son nombre de sorties est gal au nombre de comportements e e disponibles. Dans un premier temps, nous avons considr les 4 comportements suivants, ee obtenus par volution : une tness visant ` obtenir un comportement simple a t utilise e a ee e avec les conditions exprimentales qui seront dcrites par la suite pour chaque compore e tement recherch ; le meilleur comportement obtenu en n dvolution a t sauvegard e e ee e pour tre utilis comme brique de base du superviseur. Bien entendu, des comportements e e programms de mani`re dterministe auraient pu tre utiliss galement (comme ce sera e e e e e e le cas lors de ltude de robustesse section 5.6.4). Voici la liste des comportements utiliss e e en sortie du surperviseur (voir gure 5.9) pour cette exprience : e Lvitement dobstacle : Ce comportement a t obtenu par une volution telle quelle e ee e est dcrite notamment dans lexprience de la section prcdente 5.4.2. e e e e Le suivi de lumi`re : La tness utilise pour aboutir ` ce comportement est le nombre e e a de fois que le robot atteint la zone de recharge sous la lumi`re durant 10 poques e e (sans aucune ide dnergie). Un simple perceptron ` 2 couches a t susant pour e e a ee lobtention dun suivi de lumi`re ecace. e Stop : Ce comportement est le rsultat dune volution durant laquelle on cherche e e a ` minimiser la vitesse du centre du robot. Il faut noter que ce comportement est tr`s facile ` obtenir par volution : un simple rseau ` 2 couches a t utilis, et tr`s e a e e a ee e e peu de gnrations sont ncessaires pour arriver ` un tel comportement, et que le e e e a comportement obtenu est le plus souvent un robot qui tourne sur lui-mme (ce sera le e cas ci-dessous). On aurait mme facilement pu programmer de mani`re dterministe e e e ce comportement, mais lide est aussi ici de mettre en vidence le caract`re rentrant e e e e de lapproche propose. e Balayeur : Le but recherch est ici un robot qui explore le plus largement possible e son environnement sans heurter les murs. Laire est discrtise en petits carrs, e e e et la performance est le nombre de carrs dirents ayant t visits par le robot e e ee e durant 10 poques. Ce comportement a ncessit lutilisation dun rseau de type e e e e Elman (perceptron multi-couche avec une couche cache totalement rcurrente), avec e e 5 neurones dans la couche cache. e Deux types de superviseurs ont t tests : les superviseurs dits classiques, dans lesquels ee e tous les comportements sont obtenus par des contrleurs classiques (cest-`-dire ayant 2 o a sorties qui sont les commandes directes des moteurs), et des superviseurs symboliques, qui utilisent comme briques de base des contrleurs symboliques tels que dcrits dans o e la section 5.3. Les comportements de base utiliss par les deux types de superviseurs e 90

5.6. Evolution dun comportement complexe

Evitement dobstacles

Suivi de lumire Stop Balayeur

4 neurones de sorties reprsentant chacune un comportement propre, la sortie la plus leve linstant t entrane lexcution du comportement associ pour cet instant t.

Couche cache Elman

Dtection des obstacles

Dtection de la lumire

Niveau dnergie

Fig. 5.9 Larchitecture du rseau de supervision : le superviseur. e sont donc le rsultat dvolutions direntes. A noter quil serait possible de mlanger e e e e des comportements de base classiques et symboliques, puisque une fois la dcision prise e par le superviseur, le robot reoit de toute faon des ordres moteurs, soit directement du c c contrleur (cas classique) soit via une traduction dterministe des sorties du contrleur o e o (cas symbolique). Mais les expriences dcrites ici ne concernent que des superviseurs ` e e a comportements de base homognes, tous classiques ou tous symboliques. e Les rseaux de neurones utiliss pour la supervision sont des rseaux de type Elman e e e (perceptron ` 3 couches, la couche cache, compose de 5 neurones, tant totalement a e e e rcurrente). e ` A titre de comparaison, les expriences ont galement t eectues avec un contrleur e e ee e o de type Elman direct, soit avec des sorties classiques (appel Elman classique dans la e suite) soit avec des sorties symboliques (et donc appel Elman symbolique). e Pour lexprience de recharge de batterie, tous les contrleurs considrs ont 17 entres : e o ee e 8 capteurs infrarouges en mode actif pour lvitement dobstacle, les mmes 8 capteurs e e infrarouges, mais en mode passif, pour la dtection de la lumi`re et le niveau de batterie, qui e e constitue le dernier capteur. Le nombre de sorties est de 2 pour un contrleur classique o (les vitesses des moteurs), et de 6 pour les contrleurs symboliques, qui utilisent les trois o 91

Chapitre 5. Les contrleurs experts en robotique volutionnaire o e

comportements de base : aller tout droit, tourner ` droite, tourner ` gauche. Les a a superviseurs ont eux 4 sorties (quils soient classiques ou symboliques) qui permettent le choix entre les 4 comportements volus : vitement dobstacle, suivi de lumi`re, e e e e stop et le balayeur (gure 5.9).

5.6.3

Premiers rsultats e

Les statistiques sur 10 essais indpendants peuvent tre vus sur les gures 5.10 et 5.11. e e Trois crit`res peuvent tre utiliss pour comparer les performances des 4 architectures : e e e la meilleure performance, la variance de ces meilleures performances, et enn la rapidit e avec laquelle ces meilleures performances sont atteintes.

Batterie mobile - comparaison des 4 approches 6000 Meilleur des meilleurs 5000 4000 3000 2000 1000
4

Controleur Elman classique Controleur Elman symbolique Superviseur Elman classique Superviseur Elman symbolique 1. 10 3. 10 Evaluations
4

Fig. 5.10 Rsultats pour lexprience de batterie, le meilleur des meilleurs sur les 10 runs. e e La meilleure performance est obtenue par les superviseurs symboliques. De plus, la variance en est tr`s faible (la moyenne de la meilleure performance est 6442 28). Notons e comportement est pratiquement optimal entre la navigation et les phases de recharge. Larchitecture ayant la deuxi`me meilleure performance est le contrleur classique. e o Mais alors que la moyenne est signicativement plus basse, lcart-type est 10 fois plus e lev (6044 316, avec le meilleur ` 6354). Les contrleurs symboliques et les superviseurs e e a o 92 que dpasser une performance de 6400 constitue presque la performance maximale, et le e

5.6. Evolution dun comportement complexe

Batterie mobile - comparaison des 4 approches 6000 Moyenne des meilleurs 5000 4000 3000 2000 1000 10000 Evaluations
Fig. 5.11 Rsultats pour lexprience de batterie, la moyenne des 10 essais. e e

Controleur Elman classique Controleur Elman symbolique Superviseur Elman classique Superviseur Elman symbolique 30000

classiques viennent ensuite, avec respectivement la meilleure performance ` 5902 122 a et 5845 27. Commentons maintenant plus en dtails ces rsultats. Tout dabord, les deux archie e tectures de superviseurs montrent des performances tr`s leves (environ 3200) d`s la e e e e population initiale. Mais de telles performances sont obtenues parce que les meilleurs superviseurs alatoires sont ceux qui utilisent uniquement lvitement dobstacle tout le long e e ` linverse, dpourvus de toute connaisde la premi`re priode de dcharge de batterie. A e e e e sance initiale, les contrleurs directs mettent beaucoup plus de temps pour atteindre de o telles performances (plus de 2000 valuations). Ce rsultat est tout ` fait encourageant, e e a dans la mesure o` le but de lintroduction des superviseurs est prcisment de pouvoir u e e transmettre du savoir acquis dans un cadre ` un autre cadre. Mais il faut galement viter a e e que de tels comportements ninhibent pas totalement la recherche : il sagit dun optimum local, et il se pourrait quil soit dicile pour lvolution den sortir, et que les individus qui e dvieraient de ce comportement soient ensuite systmatquement limins par la slection. e e e e e Une autre remarque est que la variance pour les deux types de superviseurs est tr`s e basse (indpendamment de leurs performances). De plus, il semble que cette faible variance e 93

Chapitre 5. Les contrleurs experts en robotique volutionnaire o e

nest pas seulement vraie pour la performance mais galement au niveau du comportee ment : alors que les superviseurs symboliques explorent lenvironnement jusqu` ce que a leur nergie devienne dangereusement basse, et se dirigent alors vers la zone de lumi`re, y e e restant jusqu` ce que le niveau de batterie ait de nouveau atteint le maximum, la plupart a (mais pas tous) des contrleurs directs semblent simplement rester proches de la zone de o recharge, y rentrant quand le niveau de batterie est faible, mais pas toujours au mme e niveau, et par un endroit dirent ` chaque reprise. e a Une constatation inattendue, surtout au vu des rsultats de la section 5.4.3, est la e faible performance des contrleurs symboliques. Une possible explication est lexistence o des plateaux de neutralit, discute dans la section 5.3.3 : ces plateaux permettent de e e schapper plus facilement des optima locaux, cependant ils ralentissent galement le e e processus dapprentissage. On peut galement voir sur la gure 5.10 que larchitecture des e contrleurs symboliques est la seule qui semble encore augmenter sa meilleure performance o sur la n des gnrations. Pour tester cette hypoth`se, lexprience a t relance pour 250 e e e e ee e gnrations supplmentaires, et eectivement la performance des contrleurs symboliques e e e o a continu daugmenter, atteignant nalement plus de 6200), alors que les performances e des autres architectures ont continu ` stagner. ea Les comportements volus ont t examins plus en dtail. La gure 5.12 montre e e ee e e une courbe typique du nombre dappels de chaque comportement basique par le meilleur superviseur symbolique volu pendant une valuation de tness. Premi`rement, il ape e e e para que les deux architectures de superviseurs utilisent principalement le comportement t dvitement dobstacles, et nutilisent en fait jamais le comportement balayeur, ni, ce e qui est plus surprenant, le comportement suivi de lumi`re : quand ils aperoivent la e c lumi`re, ils tournent sur eux-mme en utilisant, le comportement stop (qui consiste en e e fait ` tourner tr`s rapidement sur place), et se dirigent ensuite vers la lumi`re en utilisant a e e le comportement dvitement dobstacles pour aller tout droit (la lumi`re est xe ici). e e Une fois sur la zone de batterie, ils utilisent (` bon escient ici) leur comportement stop a jusqu` ce que leur batterie soit recharge ` plus de 90%. a e a Pour expliquer ce phnom`ne, examinons de mani`re plus approfondie les comportee e e ments de la librairie : de fait, les vitesses de dplacement du robot pour le comportement e de suivi de lumi`re et le comportement balayeur sont moins grandes que celles du compore tement dvitement dobstacles. Or la vitesse est cruciale dans lexprience de recharge de e e batterie (beaucoup plus que pour les expriences de suivi de lumi`re ou de balayeur). Cela e e montre que le superviseur poss`de la capacit de slectionner les comportements rellement e e e e ecaces pour la tche ` accomplir, mme si ce ne sont pas ceux que le concepteur avait a a e pens utiles, tout en tant capable de recrer par assemblage de comportements de base e e e un nouveau comportement (ici un suivi de lumi`re plus ecace que celui propos). e e 94

5.6. Evolution dun comportement complexe

5.6.4

Ractions face ` de nombreux comportements disponibles e a

Un des principaux probl`mes pos par lapproche propose est de savoir si le bon e e e comportement sera disponible pour le superviseur. En eet, mme si nous avons vu que e le superviseur peut, et cest heureux, crer le comportement manquant par combinaison e des comportements dont il dispose, nous avons vu galement quil est bnque davoir e e e dans ses briques de base des comportements dj` experts pour acclrer lvolution. Une ea ee e solution possible est de proposer le plus large choix possible de comportements. Mais la question qui se pose est alors bien sr de savoir si le superviseur sera ou non capable u de retenir uniquement les comportements utiles, et ne sera pas noy sous lavalanche de e comportements inutiles. Dans le but de vrier ceci, lexprience de gestion dnergie a t e e e ee rpte, mais en ajoutant ` la panoplie de base du superviseur de nombreux comportement e ee a inutiles, voire mme parfois nuisibles, aux 4 comportements basiques. e Dans un premier temps, 4 comportements ont t ajouts aux comportements existants, ee e a ` savoir : La marche alatoire : il sagit dun comportement programm, qui donne des e e consignes alatoires aux deux moteurs, tout en vitant, an de rester un tant soit peu e e raliste, les variations trop brutales de vitesse qui auraient pu sinon tre invoques e e e pour la non-utilisation de ce comportement. Ce comportement est videmment e considr a priori comme inutile . . . ee La fuite de la lumi`re : il sagit dun comportement volu ` laide dune tness e e e a consistant ` minimiser les valeurs des capteurs de lumi`re (infrarouges passifs). Dans a e le contexte de la recharge de batterie, ce comportement est bien entendu nuisible. Foncer dans les murs : cest un autre comportement obtenu par volution, la tness e consistant ` minimiser le temps avant le premier crash dans un mur. Lvolution de a e ce comportement a t remarquablement rapide ! Quel que soit le but nal recherch ee e (sauf peut-tre pour des preuves de stock-car) ce comportement est a priori nuisible. e e Coller aux murs : lvolution de ce comportement a t ralise avec pour but de e ee e e maximiser les valeurs des capteurs infrarouges en mode actif (dtectant les obstacles), e tout en vitant les crashs dans les murs. Le meilleur comportement typiquement se e dirige droit vers un mur, et reste ensuite tr`s proche dudit mur sans quasiment boue ger. Dans le contexte de la recharge de batterie avec exploration, ce comportement devrait tre lui aussi nuisible. e Les premi`res gnrations montrent des performances plus basses, et avec une plus e e e grande variance, que dans lexprience initiale. Ceci est relativement normal, car dans les e individus des premi`res populations, tous les comportements sont bien sr utiliss avec a e u e priori les mmes probabilits. Toutefois, la courbe de la meilleure tness (non montre) e e e rattrape les courbes de la gure 5.10, et apr`s 150 gnrations, la dirence est dicilement e e e e distinguable. Enn, si lon regarde la frquence dutilisation de chaque comportement, il e 95

Chapitre 5. Les contrleurs experts en robotique volutionnaire o e

appara clairement que mme si certains comportements nuisibles sont utiliss (voir gure t e e 5.13), ils le sont bien moins que les comportements rellement utiles (voir gure 5.12). e

6000 5000 Appels en 10000 pas 4000 3000 2000 1000 0 0

Utilisation des divers comportements (4 utiles)

Lumiere Stop Explorateur Balayeur

50

100 Generations

150

Fig. 5.12 Nombre dappels des 4 comportements originaux durant 10000 pas de temps pour le meilleur superviseur symbolique. Ces bon rsultats de stabilit ont t conrms en cette fois ajoutant 20 nouveaux e e ee e comportements inutiles (les 4 comportements prcdents rpts 5 fois indpendamment). e e e ee e Les rsultats sont tr`s similaires aux prcdents, avec bien entendu une utilisation un peu e e e e plus frquente de lensemble de ces comportements inutiles, mais sans nuire ` la bonne e a ralisation de lexprience au nal. e e

5.6.5

La gnralisation e e

Un autre point essentiel des approches en robotique volutionnaire est la capacit de e e gnralisation des contrleurs obtenus ou en dautres termes, avec quelle rapidit les e e o e rsultats se dgradent-ils lorsque lon change graduellement lenvironnement dans lequel e e le robot volue. e Plusieurs expriences ont t eectues dans le but de tester les capacits de e ee e e gnralisation des superviseurs construits dans ce qui prc`de. Les 10 4 (10 pour le e e e e 96 nombre dessais et 4 pour le nombre de contrleurs dirents) meilleurs contrleurs obo e o

5.6. Evolution dun comportement complexe

1500

Utilisation des divers comportements (4 inutiles) Crash Fuite Random Colle au mur

Appels en 10000 pas

1000

500

50

100 Generations

150

Fig. 5.13 Nombre dappels des 4 comportements additionels (inutiles ou nuisibles) durant 10000
pas de temps pour le meilleur superviseur symbolique.

tenus dans lexprience prcdente ont ainsi t tests dans de nouveaux environnements e e e ee e exprimentaux. e Premi`rement, quelques obstacles ont t ajouts dans lenvironnement (lar`ne tait e ee e e e vide dobstacles dans les expriences dcrites plus haut). Mais aucun contrleur na e e o t capable daller dans la zone de recharge de batterie lorsque cette zone se trouvait ee de lautre ct dun obstacle gnant le passage. Il est probable que ce changement oe e denvironnement est trop brutal par rapport aux conditions de lvolution. Toutefois e lorsque les volutions ont t lances depuis le dbut avec les obstacles, les performances e ee e e restent lg`rement infrieures, mais tr`s similaires, aux performances dj` obtenues, ce e e e e ea qui est comprhensible du fait de la g`ne occasionne par la prsence de lobstacle. e e e e Nous avons obtenu des rsultats plus intressants lorsque les robots ont t placs dans e e ee e une ar`ne trois fois plus large que lar`ne initiale. Les meilleurs rsultats de gnralisation e e e e e sont obtenus par les contrleurs classiques avec seulement une petite baisse de tness o (quelques %), et une centaine de gnrations supplmentaires lui permettent de retrouver e e e ses meilleures performances. En terme de capacit de gnralisation pour cette phase, les contrleurs symboliques e e e o 97

Chapitre 5. Les contrleurs experts en robotique volutionnaire o e

arrivent en deuxi`me position, perdant environ 10 % de leurs performances originales, puis e retrouvant ce mme niveau, voire un niveau sensiblement suprieur, apr`s 150 gnrations e e e e e dvolution dans le nouvel environnement. e De mani`re surprenante, les deux architectures de supervision, places dans le nouvel e e environnement plus grand, narrivent pas ` atteindre de nouveau leur performance initiale, a mme apr`s une volution supplmentaire. Les superviseurs symboliques perdent approxie e e e mativement 12.5 % de leur performance, et nen recouvrent que la moiti, alors que les e superviseurs classiques perdent plus de 20 % et ne les retrouvent jamais. Ces rsultats peuvent sans doute tre expliqus partiellement par les comportements e e e obtenus initialement avant la gnralisation : les architectures de contrleurs directs e e o donnent par volution des comportements qui restent principalement proches de la zone e de recharge, en tournant pratiquement autour, et de ce fait ne sont pas vraiment gns e e par laugmentation de la taille de lar`ne. Les architectures de supervision, ` linverse, e a utilisent beaucoup plus leurs comportements dexploration. De ce fait, lorsque lar`ne est e plus grande, ils dclenchent le mcanisme de retour vers la zone de recharge alors quils e e sont trop loin de celle-ci, et nont pas le temps de la rejoindre ` temps. Les rsultats les a e plus surprenants sont bien sr leur incapacit ` retrouver leurs meilleures performances u e a apr`s de nombreuses gnrations supplmentaires cest-`-dire ` ressortir du bassin dans e e e e a a lequel lvolution dans une petite ar`ne les a entra es. Cependant il faut noter que e e n lorsque lvolution est relance depuis le dbut, les superviseurs symboliques achent e e e toujours des performances suprieures aux autres comportements, quils aient t le e ee rsultat dune unique volution ou dune volution dans une petite ar`ne suivie dune e e e e volution dans une grande ar`ne. e e La dirence de comportements avant gnralisation explique galement les rsultats e e e e e obtenus dans une autre exprience de gnralisation. Cette fois-ci, on modie les pae e e ram`tres de la batterie, doublant le temps ncessaire ` sa recharge, ou doublant la consome e a mation dnergie, lautonomie de la batterie tant alors diminue de moiti (ces deux e e e e expriences de gnralisation donnent les mmes rsultats). e e e e e Ici, les rsultats des superviseurs symboliques sont clairement bien meilleurs que ceux e des autres contrleurs : en eet, pour tous les superviseurs symboliques obtenus par o volution initiale, le robot reste dans la zone de recharge jusqu` ce que son niveau de e a batterie soit remont au maximum en utilisant le comportement stop, et ce quelle que e soit la dure de cette recharge. e Curieusement, ce nest pas le cas de la plupart des superviseurs classiques qui, bien quils pourraient utiliser leur comportement stop, ne parviennent pas ` atteindre lar`ne a e de recharge. Dun autre ct, les deux architectures de contrleurs directs, ne sarrtant oe o e jamais sur la zone de recharge, ont beaucoup de mal ` sadapter aux nouvelles conditions. a 98

5.7. Une exprience valide sur robot rel e e e

Toutefois, alors que les contrleurs symboliques parviennent ` survivre pour la moiti des o a e essais, aucun des contrleurs classiques ny parvient. o

5.7

Une exprience valide sur robot rel e e e

La validation ultime en robotique, et plus particulirement en robotique volutionnaire e e o` les volutions sont simules, est bien sr la validation sur robot rel. Dans le contexte u e e u e de lutilisation de robots Khepera, nous considrons ici le fait que le contrleur contrle e o o eectivement un vrai robot, mme si les ordres sont en fait gnrs sur le PC pilote et non e e ee cross-compils pour tre tlchargs sur le robot, le cble tant ensuite retir. e e ee e a e e Cette section prsente une exprience utilisant le gripper du Khepera, dans laquelle e e lutilisation des superviseurs a accru considrablement la performance des robots, et qui e a t valide sur le robot rel. Par manque de temps, cette exprience na pas t tudie ee e e e eee e en dtail, par consquent, les rsultats dtaills ne seront pas fournis. Cependant, les e e e e e rsultats obtenus sont assez explicites et susamment encourageants pour gurer dans e cette th`se. A noter que cette exprience a t ralise dans le cadre dun projet des moe e ee e e dules exprimentaux dlectronique (MODEX) de lEcole Polytechnique, que jai encadr e e e pendant les trois annes de ma th`se (les l`ves consacraient ` ce projet 1 jour par semaine e e ee a pendant 4 mois). En particulier, dans ce cadre-l`, un soin tout particulier a t apport au a ee e calibrage des capteurs notamment, cette tape tant un passage oblig an que le passage e e e sur robot rel se passe au mieux. e

5.7.1

Le ramasseur dordure ` autonomie limite a e

Cette exprience est fortement inspire de lexprience du ramasseur de poubelles e e e dcrite en dtail dans la section 5.2.1. Il sagit pour le robot de retrouver des cylindres e e dans lar`ne et les dposer ` lextrieur, mais une dicult additionnelle est introduite par e e a e e lajout dune batterie (virtuelle) comme dans lexprience dcrite section 5.6.1 : le robot e e poss`de cette fois-ci une autonomie limite, et ne peut gu`re dposer plus dun objet ` e e e e a lextrieur de lar`ne sans aller se recharger dans les zones prvues ` cet eet, situes cette e e e a e fois aux quatres coins de lar`ne (voir g. 5.14). Comme dans lexprience de recharge de e e la section 5.6.1, le robot doit rester dans les zones de recharge un certain temps pour tre e totalement recharg. e Les senseurs du robot sont les 8 capteurs infrarouges en mode actif (dtection dobse tacles), un indicateur de niveau de batterie, le capteur situ dans la pince indiquant sil e y a ou non un objet saisi par la pince, et un capteur infrarouge dirig vers le sol, an e que le robot puisse dtecter quil se trouve dans une zone de recharge (il ny a pas ici de e lumi`re qui indiquerait au robot la zone de recharge comme dans lexprience de recharge e e de batterie de la section 5.6.1). 99

Chapitre 5. Les contrleurs experts en robotique volutionnaire o e

Les actuateurs du robot sont les deux moteurs, ainsi que les commandes du gripper ces commandes sont dj` mises sous la forme de haut niveau dcrite section 5.2 : une ea e commande de saisie et une commande douverture de la pince.

K Recharge de batterie

Fig. 5.14 Lexprience du gripper et des zones de recharge, la croix bleue reprsente le dbut e e e de la trajectoire du robot, la trajectoire du comportement de recherche et du dpt du cylindre ` e o a lextrieur est en bleue, la croix orange reprsente la position du Khpra lorsque celui-ci dpose e e e e e le cylindre ` lextrieur de lar`ne, la croix verte reprsente un dcrochage dans la trajectoire, le a e e e e superviseur vient de permuter dans le comportement de recharge, o` cette fois-ci le robot doit raser u les murs pour parvenir aux zones de recharge symbolises par des triangles verts. e

5.7.2

Les architectures

Dans un premier temps, un contrleur classique, possdant deux sorties moteurs et les o e deux sorties du gripper a t utilis. Mais aucun rsultat probant na pu tre obtenu dans ee e e e ce contexte avec ce type de contrleur. En eet, les zones de recharge tant situes dans o e e les coins, le robot doit sapprocher tr`s fortement des murs pour les atteindre, et cette e tactique nuit ` lexploration qui lui permettrait de dceler la majorit des cylindres, qui a e e se trouvent ` lintrieur de lar`ne. Dans le meilleur des cas, le Khpra parvient en eet ` a e e e e a attraper et ` dposer ` lextrieur de lar`ne un des cylindres, mais il ne va pas recharger a e a e e sa batterie, et na alors plus le temps den attraper un autre et de le dposer. e An de pallier ce probl`me, une approche de type superviseur a t utilise (cf. g. e ee e 5.15). Tout dabord, un comportement de recherche de cylindre avec dpt ` lextrieur a e o a e t construit par volution, mais sans aucune ide dnergie ni dautonomie pour le robot. ee e e e Parall`lement, un comportement optimal de recharge de batterie a aussi t mis au point e ee 100

5.7. Une exprience valide sur robot rel e e e

par volution : ` partir dun point alatoire dans lar`ne, le robot doit parvenir dans un e a e e ` noter que le meilleur moyen dcouvert temps limit ` accder aux zones de batterie. A e a e e par lvolution pour ce faire est de foncer vers un des murs, puis de le longer de tr`s pr`s e e e jusqu` ce que son capteur de sol soit activ. a e

5.7.3

Les passages sur les robots rels e

Ces MODEX (modules exprimentaux) ont galement t loccasion dexprimenter e e ee e avec les l`ves le passage de la simulation informatique ` une exprimentation sur un ee a e robot rel : e Ltape principale consiste ` essayer de calibrer au mieux les capteurs du robot dans e a ses interactions avec le monde rel. La notion dactivation des capteurs vis ` vis de e a leur distance face aux obstacles ncessite un gros travail prparatoire an dajuster e e au mieux la fonction dactivation dans le simulateur. Les capteurs poss`dent un biais non ngligeable (notamment sur la deuxi`me version e e e des Khpra, qui, certes, ont la capacit de dtecter les obstacles de plus loin, mais e e e e au prix de biais plus importants). Or ce biais nest pas xe. La solution envisage a e consist ` utiliser un tirage gaussien centre autour dune valeur moyenne mesure, ea e e mais cette solution nest pas totalement satisfaisante, et il reste encore bien dicile de simuler ce phnom`ne de mani`re satisfaisante. e e e Mais de plus la calibration est tr`s variable en fonction des conditions extrieures. Un e e changement de luminosit sur lar`ne, par exemple, change la valeur de calibration e e des capteurs (ceci a t expriment ` nos dpens lors de changements de temps ee e e a e entre deux sances : le Khpra, pourtant bien calibr lors de la premi`re journe, ne e e e e e e ltait plus du tout par la suite. Et ceci tant dautant plus vrai pour des expriences e e e utilisant une source lumineuse devant tre dtecte sur lar`ne par les robots. Lidal e e e e e pour limiter ces drives aurait t bien entendu de disposer dune pi`ce ferme, sans e ee e e fentre, et ddie aux exprimentations des robots Khpra. e e e e e e Enn la qualit des contacts sur les ls reliant le robot au PC ma e tre a entrain e de nombreuses perturbations rendant quelquefois les valeurs lues durant les phases de calibrations totalement incomprhensibles . . . et il a fallu un certain temps pour e penser ` tout simplement changer le l et voir ces probl`mes se rsorber ! Il y a a e e fort a parier que si nous avions dispos de communications radio, entre les PCs et e les Khpra (modules disponibles depuis peu), ces pertes de temps auraient pu tre e e e totalement vites. e e Il a donc t impossible de raliser des calibrations ecaces et prennes. Cest pourquoi ee e e nous avons plutot privilgi dans le cadre de cette th`se les expriences en simulation, o` il e e e e u sagissait de valider lecacit darchitectures originales, et pour lesquelles une calibration e exacte nest pas indispensable (mme si celle-ci a tent dtre la plus d`le ` la ralit). Les e e e e a e e 101

Chapitre 5. Les contrleurs experts en robotique volutionnaire o e

validations sur robots rels, qui reprsentent un gros travail ` chaque nouvelle exprience, e e a e ont plutt t eectues uniquement par les l`ves des MODEX de lEcole Polytechnique. o ee e ee

5.7.4

Une validation sur robot rel e

Une fois lvolution termine, et le comportement du meilleur individu (en simulae e tion) jug satisfaisant, ce meilleur comportement a t port sur le Khepera (comme dja e ee e e mentionn, le Khepera restait reli au PC, mais celui-ci se contentait de transmettre aux e e actionneurs du Khepera, ` chaque pas de temps, les ordres issus du contrleur en action). a o En ce qui concerne le capteur de sol, sur le mod`le I du Khepera, il tait possible de e e tordre un des capteurs infra-rouges (arri`re par exemple) an quil pointe vers le sol et dee vienne ainsi un vrai capteur de sol. Mais, outre le danger pour le matriel que reprsentait e e une telle solution, elle nest de toute faon plus possible avec la version II du Khepera ` c a cause de la coque qui lui a t rajoute. Pour pallier cette dicult, lastuce suivante a ee e e t employe : un programmeur tait charg dappuyer sur une touche du clavier d`s quil ee e e e e voyait le robot sur un des coins noirs de lar`ne, simulant ainsi le fait que le capteur de e sol venait de passer de 0 ` 1023. a Notons enn que cette entre reprsentant le capteur de sol sest avre inutile dans e e ee le rseau superviseur dans la mesure o` elle est prsente (et utilise) dans le contrleur e u e e o expert spcialis dans la localisation et la recharge de batteries. e e

RECHERCHE + PRISE DOBJET + DEPOT A LEXTERIEUR

COMPORTEMENT DE RECHARGE DE BATTERIE

RESEAU ELMAN COUCHE CACHEE RECURRENTE

NIVEAU DENERGIE

CAPTEUR DE SOL

Fig. 5.15 Le superviseur utilis pour commander le robot, ` noter que lentre capteur de sol, e a e
nest pas obligatoire.

Le superviseur qui a t utilis disposait dune architecture simplie, puisque ne comee e e 102

5.8. Conclusion du chapitre

portant que deux entres (et de fait, une seule sest avre ncessaire, comme discut plus e ee e e haut). Plusieurs architectures pour le rseau superviseur ont t testes, et la plus pere ee e formante sest avre tre un rseau de type Elman, i.e. comportant une couche cache ee e e e totalement rcurrente. En eet, un rseau totalement ractif enclenche les dirents come e e e portements ` un seuil prcis et invariable : lorsque le robot est susamment recharg a e e (le niveau dnergie est suprieur au seuil) il ressort de la zone de batterie. Mais il ree e commence alors ` se dcharger, et son niveau dnergie repasse quasiment instantanment a e e e sous le seuil. Par consquent, le robot se met ` osciller ` la limite de la zone de recharge. e a a Lutilisation dun rseau Elman permet de crer un dclenchement des rseaux annexes en e e e e hystrsis (2 seuils dirents). Des rsultats satisfaisants ont ainsi pu tre obtenus. ee e e e

5.8

Conclusion du chapitre

Lexprimentation de deux architectures a t eectue au sein de ce chapitre, les e ee e contrleurs symboliques, qui permettaient au rseau de contrle de basculer sur des como e o portements de plus haut niveau (aller tout droit, ` droite, ` gauche, en arri`re) que des a a e commandes moteurs classiques, et dun autre ct les architectures superviseurs, o` le oe u rseau de neurones principal (le superviseur) pouvait choisir ` chaque cycle des comportee a ments de haut niveau indpendants et totalement adapts a la tche spcique ` accomplir e e ` a e a (comme lexploration dun environemment, se diriger vers une source lumineuse, ...). Les contrleurs symboliques ont montr une plus grande ecacit que les rseaux o e e e classiques sur lexprience simple dvitements dobstacle, mais semblent mettre plus de e e temps ` dvoiler leur potentiel lorsquil sagit dune exprience plus dicile (comme celle a e e de la recharge de batterie). Le disposition de cette architecture ajoute des contraintes sur lespace de recherche et implique galement lexistence de plateaux de neutralits. Tout ceci e e semblant consistuer ` la fois un avantage et un inconvnient selon lexprience ` raliser. a e e a e Linconvnient principal semble tre la dicult de progression rapide lors de lvolution e e e e articielle (comme il a t vu dans lexprience de recharge de batterie). ee e Les superviseurs semblent tre une bonne solution lorsque lexprience commence e e a ` atteindre une dicult importante. Larchitecture de supervision de contrleurs dj` e o ea indpendants, a ralis les meilleures performances sur lexprience de recharge de battee e e e rie. De plus, une des interrogations principales tait de savoir comment choisir les come portements ` utiliser et pour quel type dexprience ; lajout de nombreux comportements a e nuisibles a montr que lvolution possdait la capacit de slection des comportements e e e e e principalement utiles pour lexprience. Ceci constitue un lement clef dans la conception e e des superviseurs, on peut imaginer que possder une collection importante de comportee ments dirents permettrait ` lvolution de choisir les bons comportements pour raliser e a e e de nouvelles expriences. Par rapport ` lapproche de Brooks, ceci reprsente une dicult e a e e 103

Chapitre 5. Les contrleurs experts en robotique volutionnaire o e

moindre et un temps terriblement moins important pour le concepteur. Le fait dutiliser une collection de comportements permet daugmenter largement la comprhension du sue perviseur gnr, ce qui semble dicile dans le cadre des approches totalement boites e ee noires, o` lvolution dun rseau (parfois complexe) est laiss ` lvolution articielle... u e e ea e

104

Chapitre 6

Agir, Anticiper, sAdapter


Ce chapitre souvre (section 6.1) sur une discussion de lapprentissage en robotique volutionnaire, en particulier en ce qui concerne les liens entre lvolution et e e lapprentissage. Nous prsenterons ensuite deux expriences mettant en jeu une intere e action entre apprentissage et volution qui ont t ` la source de nos motivations : e ee a la section 6.2.2 sera consacre ` une exprience propose initialement par Yamauchi e a e e et Beer [Yamauchi et Beer, 1994], et revisite rcemment par Tuci, Harvey et Quinn e e [Tuci et al., 2002]. Dans cette exprience, le robot doit trouver une rcompense dont la e e position dpend dune variable cache. La deuxi`me exprience montrant lvolution de e e e e e contrleurs dots de capacits dapprentissage est base sur les rseaux dits auto-teaching o e e e e proposs par Nol et Parisi [Nol et Parisi, 1997], et vise a obtenir un contrleur capable e ` o de sadapter ` des changements de couleur des murs de son environnement. Nous nous a attarderons sur cette exprience dans la section 6.3, et mettrons en vidence linstabilit e e e dans le long terme des rseaux rsultats. Cela nous am`nera ` proposer larchitecture e e e a AAA, titre de ce chapitre, que nous dtaillerons section 6.6, avant de prsenter les e e rsultats obtenus sur le probl`me des murs noirs/ murs blancs (section 6.7). e e Une partie des travaux de ce chapitre a t publie ` la confrence PPSN04 ee e a e [Godzik et al., 2004], et a galement t prsent au Workshop on Anticipatory Robotic en e ee e e marge de la confrence SAB2004. e

6.1

Apprentissage et volution e

Commenons par dnir prcisment ce que nous allons appeler apprentissage dans c e e e ce chapitre. En eet, il existe deux chelles de temps dans les techniques de robotique e volutionnaire : lchelle de lvolution et celle de la vie du robot, i.e. son valuation e e e e a ` une gnration donne. Du point de vue du concepteur en robotique volutionnaire, e e e e 105

Chapitre 6. Agir, Anticiper, sAdapter

on peut parler dapprentissage pour les rsultats obtenus aux deux chelles de temps : e e les poids du rseau contrleur sont bien appris au cours de lvolution. Toutefois, pour e o e viter toute confusion, nous avons soigneusement vit jusque-l`, et continuerons dans e e e a la suite de cette th`se, ` utiliser le terme dapprentissage ` lchelle de lvolution, le e a a e e rservant aux phnom`nes ayant lieu durant la vie du robot. On peut parler dune e e e vision anthropomorhique de lapprentissage, limit ` lapprentissage de lindividu durant ea sa vie. Nous considrerons donc dans toute la suite lapprentissage comme une modication e du comportement de lindividu pendant sa vie, indpendamment de toute volution. Plus e e prcisment, lapprentissage sera caractris par un changement du comportement du e e e e robot d ` des modications des caractristiques de son contrleur (par exemple les poids ua e o du rseau de neurones) ayant lieu durant lvaluation dudit contrleur. e e o Quand on mle apprentissage et volution, deux coles sarontent depuis longtemps, e e e les tenants de leet Baldwin et les partisans du Lamarckisme. Baldwin [Baldwin, 1896] est convaincu que cest la capacit dapprentissage qui va inuencer la slection des indie e vidus dans lvolution naturelle. Pour lui, le plus important est de pouvoir sadapter au e monde dans lequel on vit. Mais les ventuelles modications du gnotype engendres par e e e lapprentissage durant la vie de lindividu ne sont en aucun cas transmises aux enfants. ` A linverse, le lamarckisme (dapr`s Lamarck [Lamarck, 1914]) prconise de reporter ces e e modications gnotypiques dans le gnotype des parents an quil puisse tre transmis e e e aux enfants. Bien que moins raliste biologiquement (une image du Lamarckisme pourrait e tre quun individu qui a fait beaucoup de musculation dans sa vie va donner naissance ` e a un bb tr`s muscl !), le lamarckisme est tr`s utilis en algorithmique volutionnaire, et e e e e e e e a donn naissance ` ce que lon appelle aujourdhui les algorithmes mmtiques, qui ont e a e e obtenu dnormes succ`s dans le domaine de loptimisation combinatoire : dans un algoe e rithme mmtique, lapprentissage prend la forme dune optimisation locale, et cest bien e e lindividu modi par cette optimisation locale qui est utilis pour gnrer des enfants. e e e e Le contexte de la robotique volutionnaire est tr`s dirent, puisquici le but ultime e e e recherch est prcisment dobtenir des contrleurs qui sadpatent ` un monde changeant e e e o a ou inconnu. Il est donc primordial de slectionner des individus pour leur capacit ` e e a sadapter : le gnotype transmis aux enfants sera donc toujours le gnotype de parents e e avant apprentissage la tness, elle, dpendant fortement de la capacit dadaptation e e montre par ce gnotype. e e Dans le cadre des contrleurs neuronaux, nous avons relev deux types de mcanismes o e e dapprentissage qui semblent ecaces, proposs dans des travaux antrieurs. Chacun a e e dmontr des capacits dapprentissage sur une exprience particuli`re. e e e e e 106

6.1. Apprentissage et volution e

Nous allons considrer en premier lieu les rseaux CTRNNs (Continous Time Recurrent e e Neural Network), dans lesquels lapprentissage est bas uniquement sur la modication de e la dynamique du rseau, qui permet de modier le comportement du robot pendant sa vie. e Une dmonstration en a t faite par Tuci et al. [Tuci et al., 2002] sur une exprience dans e ee e laquelle une cible et une lumi`re sont positionnes alatoirement dun ct ou de lautre e e e oe de lar`ne lors dune premi`re poque durant laquelle le robot doit apprendre (mmoriser) e e e e si la cible et la lumi`re sont du mme ct ou non. Le robot est par la suite not sur sa e e oe e facult ` aller directement sur la cible pendant les 14 poques suivantes : tout la capacit ea e e dapprentissage est par consquent base sur la mmorisation eectue durant la premi`re e e e e e poque. e Cependant, si cette exprience montre eectivement des capacits de mmorisation e e e (donc dapprentissage), elle ne met pas en vidence des capacits dadaptation (de e e gnralisation ` un environnement changeant ou inconnu). Lautre approche de e e a contrleurs rellement adaptatifs qui nous a motiv est celle de larchitecture Autoo e e Teaching propose dans le cadre de la robotique volutionnaire par Nol et Parisi e e [Nol et Parisi, 1997]. Dans cette approche, le contrleur est constitu de deux parties, o e optimises simultanment par algorithme volutionnaire. Durant la vie du robot (son e e e valuation), la premi`re partie, appele le rseau mod`le, est ge. Lautre partie du e e e e e e contrleur, le rseau agent, a pour valeurs initiales les valeurs dtermines par lvolution o e e e e articielle et contrle les moteurs du robot. Mais ce rseau agent est lui-mme modi o e e e pendant lvaluation du robot en fonction des dirences avec les sorties du rseau mod`le, e e e e par un algorithme de type rtro-propagation du gradient. De cette faon, lvolution e c e construit un syst`me de dcision dynamique, et, pendant la vie du robot, le rseau mod`le e e e e constitue un attracteur pour le rseau agent qui se modie en consquence. e e Cependant, pour des raisons de cot-calcul, la priode dapprentissage durant u e lvolution des robots reprsente seulement une petite partie de ce que pourrait tre e e e la vie du robot sil tait par exemple mis en exploitation dans le monde rel. Par e e consquent, les changements dynamiques potentiels du rseau ne sont examins que sur e e e une tr`s courte priode pendant lvolution articielle. Il est possible (et cest ce que nous e e e avons constat) que lvolution articielle fasse une fois de plus preuve dopportunisme e e en slectionnant des contrleurs qui sont ecaces ` court terme et dsastreux ` long terme. e o a e a Nous nous sommes donc intresss aux rseaux auto-teaching, en ayant commenc e e e e par faire beaucoup deorts pour reproduire aussi d`lement que possible les conditions e exprimentales des travaux originaux de Nol et Parisi [Nol et Parisi, 1997]. Bien que e les rsultats naient pas pu tre exactement reproduits, des phnom`nes intressants sont e e e e e apparus relativement ` la stabilit ` long terme des contrleurs. Des expriences intena e a o e 107

Chapitre 6. Agir, Anticiper, sAdapter

sives montrent tr`s frquemment que les rseaux auto-teaching malgr de relatives bonnes e e e e performances durant la priode dapprentissage, divergent au fur et ` mesure que le temps e a augmente au del` du temps dapprentissage x lors de lvolution articielle pour valuer a e e e la performance de lindividu. De fait, le probl`me majeur des rseaux auto-teaching est que la rtro-propagation e e e ne sappuie sur rien de concret puisque le rseau mod`le est lui-mme le rsultat de e e e e lvolution : rien nempche les comportements des robots de driver lorsque leur temps e e e de vie dpasse celui utilis pour la slection durant lvolution. e e e e Nous concentrant sur le probl`me de lapprentissage pour ladaptation, nous propoe sons une autre source dadaptation inspir des mod`les des contingences sensorimotrices e e [ORegan et No, 2001]. Ladaptation de larchitecture est centr sur un module danticie e pation qui a pour tche de prdire le prochain tat des sensations du robot (les valeurs a e e des capteurs) en fonction de ltat courant et des actions de lagent. Quand ltat des e e capteurs devient disponible, le module danticipation dispose dun signal derreur able (la dirence entre les prvisions et ce qui sest ensuite rellement pass) qui ainsi peut e e e e tre utilis pour modier les poids du rseau. Les implantations de cette architecture sont e e e appels AAA, pour Action, Anticipation et Adaptation. e Le fait de faire des prdictions sur les sensations futures du robot nest pas e compl`tement nouveau dans la littrature : Nol et Parisi [Nol et al., 1994a] ont dj` e e ea propos en 1994 une telle approche, en essayant de voir si celle-ci permettait damliorer e e les performances de lvolution. Dans la littrature, cette architecture sav`re tre la e e e e plus proche de la ntre, cest pourquoi nous la dcrirons en dtail en soulignant bien o e e les dirences essentielles existant entre notre approche et la leur. e

6.2
6.2.1

Apprentissage dune variable cache par CTRNNs e


Les CTRNNs

Les Continous time recurrent neural networks (CTRNNs) sont des rseaux rcurrents e e totalement connects, dans lesquels, en dehors des neurones dentre (sensations fournies e e par les capteurs du robot), tous les neurones sont relis ` tous les autres, y compris euxe a mmes et aux neurones de sortie (consignes pour les moteurs dans le cas prsent). e e Ltat du neurone i ` linstant t est dcrit par lquation direntielle suivante : e a e e e dai 1 = (ai + dt i avec : 108
N S

wij Fj +
j=1 k=1

wik Ik )

(6.1)

6.2. Apprentissage dune variable cache par CTRNNs e

Fj =

1 1 + exp(aj + j )

(6.2)

Lindice j dcrit lensemble des indices des neurones a lexception des sensations (neue rones dentre), tandis que lindice k dcrit seulement lensemble des sensations (entres e e e reprsentes par la lettre I). au dcrit lactivation du neurone u. Enn, Fu reprsente la e e e e sortie du neurone u via une fonction sigmo classique, u reprsentant le biais du neurone de e u associ. Cette quation direntielle est rsolue par une mthode numrique classique e e e e e e (typiquement la mthode dEuler). e La mise ` jour de lactivation du neurone se fait ` laide de la discrtisation suivante a a e (t tant le pas de temps) : e ai (n + 1) = ai (n) + t (ai (n) + i
N S

wij Fj +
j=1 k=1

wik Ik )

(6.3)

En rsum, les rseaux CTRNNs sont des rseaux totalement rcurrents dont la dye e e e e namique est dirente des rseaux classiques de type Elman, et qui, de par les direntes e e e constantes de temps que chaque neurone poss`de (les param`tres i de lquation 6.3) ont e e e une capacit de mmorisation plus importante que les rseaux rcurrents discrets classiques e e e e (par exemple de type Elman), dans lesquels le fait que tous les neurones aient la mme e constante de temps entra une dcroissance exponentielle uniforme sur lensemble du ne e rseau de la mmoire. Une dmonstration de ces capacits de mmorisation a t donne e e e e e ee e par Tuci et al [Tuci et al., 2002], et nous allons maintenant en rsumer les rsultats en e e dtaillant surtout les conditions exprimentales. e e

6.2.2

Apprentissage par modications de la dynamique interne du rseau e

[Tuci et al., 2002] ont test un rseau CTRNN sur une exprience fortement inspire e e e e de [Yamauchi et Beer, 1994] dans laquelle le robot doit faire preuve de capacits dapprene tissage pour russir. Dans cette exprience (voir gure 6.1), le robot, lors de la premi`re e e e poque, doit dterminer si la cible quil doit atteindre se situe ` proximit de la source lue e a e mineuse ou si au contraire, elle se situe ` lautre extrmit de lar`ne. Il doit donc mettre en a e e e oeuvre une mmoire relativement stable an quelle puisse subsister durant les 14 poques e e suivantes, poques durant lesquelles le robot va tre not (il ne reoit aucune note ` la e e e c a premi`re poque). e e Lors de lexprience originale de [Yamauchi et Beer, 1994], lutilisation directe de e rseaux CTRNNs navait pas fonctionn, et Yamachi et Beer avaient d manuellement e e u mettre au point une architecture neuronale compose de modules spcialiss. Par contre, e e e [Tuci et al., 2002] ont russi avec larchitecture totalement connecte dcrite plus haut, ` e e e a 109

Chapitre 6. Agir, Anticiper, sAdapter

Point de dpart du robot Cible

Zone o apparat la fois la lumire et la cible

Fig. 6.1 Exprience de Tuci, Harvey et Quinn. e

ce que la moiti de leurs essais aboutissent ` un rseau rsolvant compl`tement le probl`me e a e e e e en trouvant la rcompense dans les 14 poques qui suivent la premi`re. Cependant, il faut e e e noter que la fonction tness mise au point tait tr`s peu intuitive et spcialement bien e e e travaille pour cette exprience. Cela prouve dune part que de tels type de rseaux sont e e e capables dapprentissage sous forme de mmorisation dune variable cache (la rcompense e e e est-elle sous la lumi`re ou de lautre ct ?), mais dautre part que lintervention humaine e oe est encore ncessaire, quoique sous une forme dclarative plutt que fonctionnelle (ce point e e o a t discut plus en dtail au chapitre prcdent). ee e e e e Signalons que dautres travaux partagent le mme esprit dapprentissage : dans e lexprience ralise par [Blynel et Floreano, 2003], des CTRNNs sont utiliss pour sae e e e voir si le robot doit tourner ` gauche ou ` droite dans un labyrinthe en T, la premi`re a a e poque servant ` dterminer, comme dans lexprience ci-dessus, de quel ct la cible se e a e e oe situe.

6.3

Les rseaux auto-teaching et le comportement ` long e a terme

La deuxi`me exprience qui nous a inspir est celle dcrite par Nol et Parisi e e e e [Nol et Parisi, 1993], que nous allons dcrire dans cette section, en tentant danalyser e les rsultats obtenus plus en dtail que dans larticle original. e e 110

6.3. Les rseaux auto-teaching et le comportement a long terme e `

6.3.1

Un exprience avec les rseaux auto-teaching e e

Larchitecture du rseau auto-teaching (cf. g. 6.2) est constitue de deux modules e e ayant des entres et des topologies identiques, ici deux rseaux ` propagation directe sans e e a couche cache. Durant lvolution, lensemble des poids des deux modules est soumis ` e e a lvolution. Par contre, pendant la vie du robot, les poids du premier module (ou rseau e e mod`le, sont xs. Le second module, ou rseau contrleur, est tout dabord utilis pour e e e o e donner les consignes aux moteurs du Khepera, et la tness partielle pour le pas de temps courant est calcule. Par la suite, les deux sorties du rseau contrleur sont compares e e o e a ` celles du rseau mod`le, et les dirences constates (les erreurs danticipation) sont e e e e utilises pour modier les poids du rseau contrleur ` laide dune itration de lalgorithme e e o a e de rtro-propagation du gradient. Durant lvolution, la vie du robot (calcul de tness et e e apprentissage) dure 10 poques. e Comme on peut le voir sur la gure reprsentant le rseau auto-teaching (g. 6.2), e e le contrleur poss`de 4 entres : chaque neurone dentre reprsente la moyenne de deux o e e e e capteurs du robot (reprsents sur la gure 4.3) : le neurone de gauche reprsente la e e e moyenne des deux capteurs situs sur la gauche du robot, le deuxi`me la moyenne des e e capteurs situs sur le devant du robot, le suivant est la moyenne des capteurs de droite, et e le dernier neurone dentre correspond ` la moyenne des deux capteurs situs ` larri`re e a e a e du robot. Le neurone de biais nest pas reprsent sur la gure, mais les biais sont bien e e prsents, ce qui donne un total de 16 poids entre les entres et les sorties, plus quatre e e poids de biais relis aux sorties moteurs, soit un total de 20 poids. e Au dbut de chaque poque, la cible et la position du robot sont tires alatoirement. e e e e trouver les 2 cm de diam`tre de la cible : son centre doit tre positionn sur la cible e e e pour que lpoque courante cesse et quun bonus lui soit donn. Ainsi, lorsque la cible est e e trouve, la tness augmente de 500 moins le nombre de cycles qui ont t ncessaires pour e ee e atteindre la cible. Lorsque le robot entre en collision avec un mur, lpoque courante se e termine, et aucune tness nest rcolte pour cette poque. Notons que la cible nest pas e e e visible pour le robot, et que la tche demande au robot est donc une tche dexploration. a e a Pour examiner la faon dont les rseaux auto-teaching sadaptent aux environnements c e changeants, les couleurs de murs changent alternativement ` chaque gnration entre la a e e couleur blanche et noire (rappelons que les rponses des capteurs infra-rouges sont tr`s e e direntes pour des murs blancs et pour des murs noirs : les murs blancs sont dtects de e e e beaucoup plus loin que les noirs). Une ide plus prcise des distances est donne sur la e e e gure 6.11 o` les valeur dactivation des capteurs dans le simulateur WOB sont reprsents u e e en fonction de la distance et la couleur blanche ou noire des murs. Pour se situer dans les mmes conditions que [Nol et Parisi, 1997], nous avons utilis e e un algorithme volutionnaire de type ES (cf. section 3.2) dans lequel 20 parents donnent e 111 Le robot explore une ar`ne de 60 20 cm, durant 500 pas de temps. Le robot doit alors e

Chapitre 6. Agir, Anticiper, sAdapter

Rseau Agent

Rseau Modle

Entres

Fig. 6.2 La rseau auto-teaching. e naissance ` 100 enfants. Les poids sont cods dans une reprsentation relle et leur valeur a e e e est limite ` [-10,10]. Pour coller aux mmes conditions, un taux de mutation par poids a e a e t introduit et x ` 10 %. Toutefois, dans le but damliorer les performances, quelques ee ea e petites modications ont t ncessaires : nous avons utilis un (20,100)-ES en utilisant ee e e une mutation gaussienne avec un cart-type de 0.5 ` la place dune mutation uniforme e a damplitude double, nous avons galement utilis un croisement avec une probabilit de e e e 40 %, absent dans lexprience originale (nos rsultats en ont t lg`rement amliors, e e ee e e e e sans encore rattraper les rsultats publis, voir plus loin). e e

6.3.2

Les rsultats de lvolution et la priode de gnralisation e e e e e

Nous avons chou dans la tentative de reproduction exacte des rsultats de e e e [Nol et Parisi, 1997], remarquant en particuier une tr`s grande variation de la variance e de la performance par rapport aux positions de dpart du robot et de la cible. Dans de e nombreux cas dans notre contexte le robot ne trouve tout simplement jamais la cible et en eet, il appara clairement dicile quun robot puisse trouver pendant 10 poques la t e cible alors que sa position et celle de la cible sont alatoires dans une ar`ne de cette taille. e e Nous avons eectu 12 essais de 1000 gnrations chacun pour le rseau auto-teaching e e e e sur lexprience de recherche de cible. Les rsultats du meilleur individu des 12 essais apr`s e e e les 1000 gnrations sont visibles sur la gure 6.9. Dans le dtail de ces 12 essais, au bout e e e de 1000 gnrations, on trouve parmi les essais : e e 1 tr`s mauvais rsultat (tness stagnant a 1000) e e 3 mauvais rsultats (tness denviron 1500) e 3 bons rsultats (tness aux alentours de 2000) e 5 tr`s bons rsultats (tness proches de 2500) e e soit moins de 50 % des essais qui se rapprochent rellement de loptimum. e Mais le point le plus intressant concerne le comportement de ces mmes rseaux aue e e 112

6.3. Les rseaux auto-teaching et le comportement a long terme e `

del` des 10 poques qui ont t utilises pour mesurer la performance durant lvolution. a e ee e e Plusieurs essais ont donc t eectus en obervant le comportement du robot durant 50000 ee e a ` 100000 poques. e On trouvera des exemples de telles expriences dans larticle [Godzik et al., 2004], mais e le manque de place na pas permis de publier des analyses pousses . . . De plus, lors de la e publication de cet article un lger bug dans la mise ` jour des poids subsistait, et mme e a e si linstabilit des architectures auto-teaching nest pas mise en cause, la stabilit des e e architectures AAA nest pas aussi clatante que dans larticle, les rsultats exacts seront e e publis dans ce chapitre. e Analysons en dtail un exemple typique dune telle exprience : La couleur des murs e e est change toutes les 10000 poques, la premi`re couleur utilise est le blanc. Le nombre e e e e dpoque maximal pour ce test de gnralisation est x ` 50000 poques. Les rsultats e e e e a e e obtenus par les 12 rseaux rsultats de 12 volutions mentionnes ci-dessus sont les suie e e e vants : 8 rseaux parmi les 12 prsentent des collisions avec les murs extrmement rapie e e dement (tous avant 50 poques, et certains beaucoup plus vite encore). Parmi ces e contrleurs dsastreux (et avec les notations prcdentes), on retrouve le tr`s mauo e e e e vais, 2 des 3 mauvais, 1 des bons et surtout 4 des tr`s bons (dont le meilleur apr`s e e lvolution !). e ` linverse, les 4 autres rseaux ne rencontrent pratiquement jamais les murs en 50000 a e poques ceci concerne donc lun des mauvais, 2 des bons et un seul des tr`s bons. e e La gure 6.3 permet de visualiser le phnom`ne pour lun des individus dsastreux. e e e Il faut la lire de la mani`re suivante : chaque graduation de laxe des x reprsente une e e poque. Une barre positive (vers le haut) signie que le robot na pas rencontr le mur e e durant les 500 pas de temps de lpoque (la hauteur de la barre donne le temps mis par e le robot ` trouver la cible, 500 voulant donc dire quil ne la pas trouve). Inversement, a e une barre ngative (vers le bas) indique que le robot a heurt un mur la longueur de la e e barre donnant le temps auquel ce choc est arriv. e On voit donc sur la gure 6.3 que le robot en question commence ` heurter les murs d`s a e la onzi`me poque. Cette gure est assez typique de tous les rseaux mentionns ci-dessus, e e e e seule la premi`re poque de collision varie, mais est toujours infrieure ` 50 poques, la e e e a e majorit tant bien infrieure. ee e De plus, en observant les trajectoires des 12 rseaux au bout de 50000 poques, on e e constate que 2 observent des boucles tr`s resseres ce qui ne les emp`che pas de heurter les e e e murs ; 6 vont systmatiquement tout droit (o` les trajectoires prsentent une lg`re coure u e e e bure) et donc se crashent dans le mur en face de la position de dpart ; e 113

Chapitre 6. Agir, Anticiper, sAdapter

500 400 300 200 100 0 -100 -200 -300

10

20

30

40

50

Fig. 6.3 Performance assez typique dun essai prsentant des crashs dun rseau auto-teaching e e lorsque lon prolonge sa vie au del` des 10 poques utilises durant lvolution. Dans le a e e e cas montr, on assiste ` un choc d`s la 11`me poque. Voir le texte pour lexplication de la e a e e e reprentation. s 3 donnent de tr`s bonnes trajectoires, similaires ` la trajectoire de la premi`re poque e a e e sur la gure 6.4. le dernier va tout droit, puis sarrte devant le premier mur quil rencontre et se met e a ` tourner en rond. Un essai assez typique parmi les 4 dans lesquels le Khpra ne heurte pratiquement e e aucun mur est prsent sur la gure 6.4. Pour chacune des poques cites, sont reprsentes e e e e e e sur la trajectoire du robot les erreurs sur chacune des sorties (la dirence entre la sortie e du rseau contrleur et celle du rseau moteur une couleur plus fonce indiquant une e o e e erreur plus grande). Le comportement du Khepera ` la premi`re poque, cest-`-dire celui au vu duquel a e e a lvolution a slectionn cet individu par rapport aux autres (gure en haut ` gauche) e e e a consiste ` eectuer des arcs de cercles, ce qui est eectivement une bonne tactique pour a essayer de trouver la zone cible. Un zoom de ce qui se passe lorsque le Khpra sapproche e e du mur (eu haut ` droite), montre que la premi`re sortie moteur (celle commandant le a e moteur gauche) a quelques dicults pour correspondre ` celle du rseau mod`le (couleur e a e e noire des petits carrs, montrant une forte erreur). e Le robot va alors lg`rement modier son comportement de virage ` la proximit e e a e des murs, et, ` partir de la 200`me poque, le comportement est totalement stabilis et a e e e ressemble dsormais fortement ` celui observ lors de la derni`re poque. On constate e a e e e galement sur la gure 6.4 quelques petits heurts avec le mur quelquefois, lorsque le robot e ne parvient pas ` tourner du fait de sa lg`re modication de comportement, mais ceci a e e reste peu frquent. De plus, les erreurs ` proximit des murs ont pratiquement totalement e a e disparu, et ne rapparaissent que faiblement dans quelques cas, en fonction de langle e dattaque du robot et de sa position initiale. Un coup doeil sur lvolution des poids et e 114

6.3. Les rseaux auto-teaching et le comportement a long terme e `

sur lerreur moyenne (gure 6.5) montre que le rseau prsente quelquefois une tr`s faible e e e erreur sur la deuxi`me sortie, ce qui permet dicilement aux poids de continuer ` bouger. e a Ainsi, sur la gure montrant la modication ` travers les poques de la dirence entre a e e poids similaires pour les deux rseaux parall`les (6.5-gauche), on constate que 5 poids e e du rseau sont totalement identiques ` ceux du rseau mod`le d`s les toutes premi`res e a e e e e poques (dirences tendant rapidement vers 0). e e Les 5 autres courbes sur cette mme gure donnent limpression de stagner mais lorsque e lon regarde de plus pr`s, elles se rapprochent en fait tr`s lentement de zro : on se rape e e proche ainsi tr`s tr`s lentement dune convergence totale du rseau agent vers le rseau e e e e mod`le. Cependant les quelques tr`s faibles erreurs, empchant une progression plus rae e e pide des dirences des poids vers zro, indiquent tr`s prcisment que le comportement e e e e e des deux rseaux mod`le et contrleur sont extrmement proches. e e o e Ceci peut tre constat eectivement sur la gure 6.4 o` le comportement ` lpoque e e u a e 50000 et celui ` lpoque 200 sont parfaitement identiques et galement tr`s proches a e e e du comportement initial, puisque les arcs de cercles se sont simplement un peu agrandis. Lvolution a donc fait en sorte que, mme si les poids des deux rseaux ne sont pas e e e parfaitement identiques, les comportements, en revanche, le sont quasiment. A noter que les 4 essais parmi les 12 montrant une stabilit ` long terme par rapport ` lvitement des ea a e murs prsentent la mme stabilit phnotypique. e e e e Pour terminer cette analyse des trajectoires et des erreurs faites par les rseaux e auto-teaching, prcisons que trois essais parmi les douze (deux ne heurtant pratiquement e aucun mur, et un qui les heurte pourtant) prsentent une convergence totale des poids e des deux rseaux mod`le et contrleur avant la 50000`me poque. Un exemple peut tre e e o e e e vu sur la gure 6.6. Tous les autres essais prsentent une stabilisation tr`s rapide de lere e reur, et les poids similaires entre les deux rseaux semblent converger tr`s lentement vers 0. e e Ce que lon peut conclure sur lapproche par rseaux auto-teaching, cest que, bien e sr, tout dpend du rseau mod`le. Le probl`me vient du fait que lvolution ne teste u e e e e e pas le comportement du rseau mod`le, puisquen 10 poques, le rseau contrleur na e e e e o pas le temps de se rapprocher beaucoup du rseau mod`le, mais teste ce qui se passe lors e e des premi`res tapes de ce rapprochement. Et lopportunisme bien connu de lvolution e e e est capable dutiliser ce phnom`ne transitoire pour gnrer des comportements qui ne e e e e sont satisfaisants que sur cette courte priode de 10 poques. Mais ensuite, et dans tous e e les essais, le comportement du rseau contrleur va tendre tr`s rapidement, en quelques e o e centaines dpoques maximum, vers le comportement du rseau mod`le. Par consquent, e e e e si le rseau mod`le implique un comportement de crash pour le robot, alors le robot e e va aller tr`s rapidement heurter les murs : ` linverse, si le rseau mod`le implique un e a e e comportement qui vite les murs (par exemple par un comportement de sur-place), e 115

Chapitre 6. Agir, Anticiper, sAdapter

1 - Auto - Begin : White - BPStopped : -1 - Current : White

Epoque 1

Zoom sur la premi`re poque, on constate quil existe e e une grosse erreur sur la premi`re sortie (noir) lorsque e le khpra sapproche du mur e e

11 - Auto - Begin : White - BPStopped : -1 - Current : White

100 - Auto - Begin : White - BPStopped : -1 - Current : White

Epoque 11

Epoque 100

200 - Auto - Begin : White - BPStopped : -1 - Current : White

1000 - Auto - Begin : White - BPStopped : -1 - Current : White

Epoque 200

Epoque 1000

20000 - Auto - Begin : White - BPStopped : -1 - Current : Black

50000 - Auto - Begin : White - BPStopped : -1 - Current : White

Epoque 20000

Epoque 50000

Fig. 6.4 Exemple dtaill dun essai avec larchitecture autoteaching, le comportement du robot, e e malgr quelques variations et quelques discr`tes prises de murs, reste similaire de la premi`re ` la e e e a derni`re poque. e e 116

6.4. Lanticipation

dirences de poids e

erreurs sur les deux sorties

Fig. 6.5 Autoteaching poids et erreurs, progressant tr`s lentement e alors le robot tournera tr`s rapidement sur place. Mais dans tous les cas, sauf hasard e miraculeux, le comportement du rseau mod`le na aucune raison dtre un comportement e e e dexploration du type de celui qui est recherch. e Bien entendu, revenant ` la motivation initiale de lapproche auto-teaching, toute a capacit dadaptation est totalement ` exclure pour ce type dapproche : la prsentation e a e de murs noirs ou blancs ne peut que modier la vitesse de modication des poids, les exemples dapprentissage tant plus nombreux avec les murs noirs puisque le robot va aller e plus pr`s des murs lors de son virage pour les viter. Mais encore une fois, le comportement e e pourra sembler meilleur durant quelques poques (et cest mme cela qui entra e e nera la slection de ce rseau parmi les autres), mais ce ne sera pas d ` un quelconque phnom`ne e e ua e e dadaptation. Ainsi, lapproche autoteaching permet au robot davoir un comportement donn pene dant quelques poques (celui du rseau contrleur initial), puis de migrer tr`s rapidement e e o e vers le rseau mod`le, qui constitue son comportement dnitif. Pour que ceci ait une e e e utilit, il faudrait pour le moins que le comportement dudit rseau mod`le soit galement e e e e partie prenante de la tness. Et il faudrait surtout trouver des applications ncessitant ce e type de double comportement.

6.4

Lanticipation

Robert Rosen [Rosen, 1985] a donn une des premi`res dnitions dun syst`me antie e e e cipatoire : Cest un syst`me qui contient un mod`le prdictif de lui-mme et/ou de son envie e e e ronnement, qui lui permet de changer son tat a un instant donn en accord avec les e ` e prdictions du mod`le concernant linstant suivant. e e 117

Chapitre 6. Agir, Anticiper, sAdapter

Fig. 6.6 Un des 3 exemples prsentant une convergence compl`te des poids, les deux rseaux e e e mod`le et contrleur sont en quelques milliers dpoques totalement identiques e o e Cette dnition nous aide ` comprendre quun syst`me anticipatoire ne sintresse pas e a e e seulement au prsent ni au pass ` travers les connaissances quil a pu apprendre, mais il va e ea se servir galement du futur, ou plus prcisment de ce quil prdit pour le futur. Lorsquon e e e e pratique lanticipation, on va essayer de prdire les modications qui vont appara soit e tre au niveau de son propre contrleur soit au niveau de lenvironnement. Ces prdictions o e sont ralises ` partir des connaissances acquises et de la vision de soi-mme ou du monde e e a e environnant du moment. Lanticipation comporte deux formes, elle peut tre eectue sous une forme passive e e ou active. Prenons lexemple dun appartement situ pr`s dune ligne de mtro : le sol e e e tremblotant indique limminent passage dun mtro, et le fait dentendre les tremblements e permet danticiper sur le fait que le passage du mtro ne va plus se faire attendre tr`s e e longtemps. Cest de lanticipation passive. La forme active de lanticipation consiste ` essayer de prdire les consquences de ses a e e propres actions. Beaucoup dexprience sur les animaux dans le but de comprendre leur e comportement anticipatoire (actif) ont t menes au cours du 20`me si`cle. Parmi cellesee e e e ci, on peut citer celle de B.F. Skinner [Skinner, 1948] qui en 1948 tudia les pigeons : il les e nourrit ` intervalle rgulier, et entre les dirents renforcements que constituait cet apport a e e de nourriture alors que la faim commenait ` se faire sentir, des rituels tels se toucher la c a tte avec le bec, ou bien encore feindre le picorement, sinstall`rent rapidement. B.F. e e Skinner en dduisit que les pigeons associaient ces rituels ` lapparition de la nourriture, e a 118

6.5. Architectures neuronales pour lanticipation

et ils anticipaient donc sur le fait que ces actions permettaient ` la nourriture dappara a tre. Parmi les approches actives de lanticipation, les contingences sensorimotrices occupent une place de choix. Ces derni`res, dapr`s Kevin ORegan et A. Noe e e [ORegan et No, 2001], constituent en fait des rgularits que lon peut prdire ` e e e e a lintrieur de nos sensations (comme par exemple la vue, ou le toucher) lorsquune action e particuli`re est entreprise (comme avancer, ou bien encore tourner la tte). Les contine e gences sensorimotrices permettent de dnir la faon avec laquelle on peut percevoir un e c objet dans ce contexte. Ainsi, une chaise nest pas seulement vue comme une entit avec e 4 pieds et un dossier, mais elle est considre de faon beaucoup plus dynamique comme ee c un objet sur lequel on peut sasseoir sans risque.

6.5

Architectures neuronales pour lanticipation

Avant dintroduire notre proposition pour une architecture neuronale pour lanticipation, nous allons rappeler dans la section 6.5.1 les travaux de Nol, Elman et Parisi [Nol et al., 1994a] qui constituent, selon nous, larchitecture se rapprochant le plus de celle que nous proposerons section 6.6.

6.5.1

Larchitecture de Nol, Elman et Parisi

Lide dimpliquer de lanticipation dans un contrleur de robot date de quelques e o annes, et a t explore ` plusieurs reprises (see e.g. [Tani et Kukumura, 94]). Nous ale ee e a lons nous concentrer ici sur celle propose dans [Nol et al., 1994a], an den dgager e e les dirences avec celle que nous proposerons dans la suite de ce chapitre (nous la e prsenterons en dtails section 6.6). e e Lexprience dcrite dans [Nol et al., 1994a] est inscrite dans un monde discret, dans e e lequel le robot doit eectuer une tche de recherche de nourriture : il doit parvenir ` a a atteindre un maximum de cases contenant de la nourriture. Larchitecture anticipatoire dcrite dans [Nol et al., 1994a] est prsente sur la gure 6.7 : les deux sensations coue e e rantes du robot correspondent respectivement ` langle relatif entre le robot et la nourriture a la plus proche, puis la distance du robot ` celle-ci. Outre ces entres externes ` linstant a e a t, les actions eectues ` linstant prcdent t 1 sont galement donnes en entres du e a e e e e e rseau. Enn, une couche cache de 7 neurones est relie ` la fois ` la couche de sortie e e e a a standard comprenant les actions ` excuter ` linstant t, ` savoir, aller tout droit, ` gauche, a e a a a a ` droite, ou ne rien faire, mais aussi ` deux neurones qui essayent de prdire les sensations a e a ` linstant t + 1. Un algorithme de rtro-propagation de lerreur est utilis pour modier les poids relis e e e aux sensations prdites ainsi que tous les poids reliant la couche cache ` la couche dentre. e e a e 119

Chapitre 6. Agir, Anticiper, sAdapter

Actions excuter t

Sensations prdites pour t+1

Actions excutes t1

Sensations t

Fig. 6.7 Architecture anticipatoire prsente par Nol, Elman et Parisi en 1994 e e

Sur la gure 6.7, tous les poids tant modis par la rtro-propagation de lerreur appae e e raissent lg`rement plus foncs que ceux qui ne le sont pas, ` savoir ceux reliant la couche e e e a cache du rseau et les actions ` excuter. e e a e Les auteurs prsentent des expriences ralises avec des rseaux possdant ou non e e e e e e la couche danticipation. Les rsultats pour les meilleurs individus sont comparables, la e courbe correspondant au rseau sans anticipation progressant lg`rement plus vite, proe e e bablement grce ` un nombre de poids moins lev, et du fait que lapprentissage d ` a a e e u a la modication des poids par la rtro-propagation doit mettre un certain temps ` bien se e a mettre en place. Cependant, cette forme dapprentissage permettant de modier les poids permet daugmenter nettement la performance moyenne de toute la population, bien que la performance des meilleurs individus ne soit que marginalement augmente. Les auteurs e en dduisent cependant que lapprentissage modiant les poids du rseau (durant la vie e e du robot) a permis daugmenter les performances de lvolution. e Les auteurs constatent galement, dans ce papier, que lvolution permet damliorer e e e les performances de lapprentissage : des comparaisons sont notamment eectues ` ce e a sujet entre un contrleur avec des poids totalement alatoires, un rseau volu sans o e e e e anticipation auquel on aurait rajout de lapprentissage, et le rseau volu avec sa capae e e e 120

6.6. Action, Anticipation, Adaptation

cit anticipatoire. Le contrleur ayant obtenu les meilleures performances est celui qui a e o volu avec sa capacit dapprentissage. Enn, dans ce papier, les capacits anticipatoires e e e e du rseau sont relativement satisfaisantes (bonnes prdictions des sensations). e e Ce rseau nous a fortement inspir car il appara clairement que le fait dintroduire des e e t capacits anticipatoires permet damliorer les performances de lvolution. Nanmoins, e e e e deux ingrdients essentiels nous semblent manquer dans ce rseau. Dune part, les poids e e reliant la couche cache du rseau et les neurones moteurs ne sont pas modis par lale e e gorithme de rtro-propagation de lerreur. Dautre part, les sensations prdites nutilisent e e pas les actions eectives qui vont tre ralises ` linstant t (que lon connnait puisquon est e e e a en train de les calculer), mais uniquement les valeurs de la couche cache, qui elles-mme e e anticipatoire) ne sont pas dcoupls et poss`dent de nombreux poids en commun. Prenant e e e en compte toutes ces considrations nous avons essay de construire un rseau anticipae e e toire qui nous semblait rpondre ` ces manques de larchitecture ci-dessus de plus, nous e a nous sommes situs dans un monde continu, malgr laccroissement en complexit que cela e e e peut entrainer. Cela a donn larchitecture AAA, prsente dans la section suivante. e e e nutilisent que les actions ` linstant t 1. Enn, les deux types de rseau (moteurs et a e

6.6
6.6.1

Action, Anticipation, Adaptation


Raisonnement

Lide de base des contingences sensorimotrices est la connaissance des consquences e e de ses actions sur le monde, cest-`-dire sa capacit danticipation. Il sagit dune certaine a e connaissance du monde, que lon pourrait qualier de procdurale par opposition ` la e a connaissance dclarative contenue par exemple dans une carte du monde comme au e nord de la porte se trouve lescalier compar ` arriv en haut de lescalier, si je tourne ea e a ` gauche je vais me trouver devant la porte. Ceci tant, il sut que lenvironnement soit modi pour que ces contingences (et donc e e les consquences de ses propres actions) ne soient plus les mmes. Dans ce cas l`, appae e a raissent des erreurs danticipation, et la dtection mme de ces erreurs devrait permettre e e de raliser que lenvironnement a eectivement chang, et de modier son comportement e e en consquence : une forme dadaptation est ainsi a priori possible via lanticipation. e A noter cependant quil y a nanmoins de nombreuses situations parmi lesquelles des e erreurs danticipation vont invitablement appara e tre sans que cela signie pour autant que lenvironnement a chang, mais qui sont dues ` lexistence dalias perceptifs (percepe a tual aliasing). Ainsi, par exemple, les limitations physiques des capteurs entra nent de frquentes situations dalias perceptif : si le robot, muni uniquement de capteurs infrae rouges, se trouve susamment loin de tout obstacle pour quaucun capteur ne soit activ, e 121

Chapitre 6. Agir, Anticiper, sAdapter

il na aucun moyen de prvoir le moment o` un premier capteur va brusquement signaler e u un obstacle, et lerreur danticipation est invitable. e Cependant, dans le cas dune connaissance parfaite du monde, les cas de changement imprvisibles des sensations constituent des points singuliers dans lespace des sensations e possibles, transitions entre deux plages dtats permettant lanticipation. Dans ce contexte, e dans la majorit des cas, les erreurs danticipation peuvent tre tr`s instructives, rvlant e e e e e que lon ne se trouve pas dans ltat dans lequel on pense tre ou que, justement, sa e e connaissance du monde nest pas parfaite et quil faut la mettre ` jour. a Ainsi, lide de larchitecture AAA est que son mcanisme dadaptation ne doit tre e e e appliqu que lorsque cela est ncessaire. Dautre part, ce mcanisme dadaptation doit e e e tre bas autant que possible sur des erreurs reprsentant quelque chose de concret, et e e e donc de vriable. En dautres termes, plutt que construire un mod`le dclaratif du e o e e monde, lide est de donner au robot un mod`le procdural qui lui permettrait de prdire e e e e les consquences de ses propres actions. La plus simple description de ces consquences, e e dans la logique des contingences sensori-motrices, peut se faire ` travers les valeurs a anticipes des capteurs du robot. e Dautre part, dun point de vue algorithmique maintenant, plaons-nous dans la c mme logique que celle ayant conduit ` la naissance des rseaux auto-teaching (section e a e 6.3) : nous voulons modier les poids de notre contrleur neuronal durant la vie du robot, o en utilisant un algorithme de rtro-propagation du gradient, ` partir donc dune erreur e a commise par une partie du rseau contrleur, appel rseau mod`le. Or il a t montr e o e e e ee e section 6.3 que lutilisation dun rseau mod`le qui est lui-mme ajust par lvolution e e e e e navait aucune raison de conduire a un comportement qui se stabilise ` long terme sur ` a le comportement souhait, mme si sur le court terme il existait plusieurs mani`re pour e e e lvolution de rsoudre le probl`me pos. Mais si on remplace ce rseau mod`le, quelque e e e e e e peu arbitraire, par un rseau qui prdit les sensations du robot ` linstant suivant, on e e a dispose alors, en tout cas au pas de temps suivant, dune mesure indiscutable de la justesse de cet oracle, puisquil sut de comparer les sensations prdites avec les vraies sensations e constates du robot. On peut alors utiliser cette erreur comme base de lalgorithme de e rtro-propagation du gradient qui va modier les poids du rseau. e e Cest dans cette optique l` que nous avons cr une architecture capable dapprentisa ee sage en se basant sur des capacits anticipatoires. Comme dans lapproche auto-teaching, e les poids initiaux du rseau de neurones contrleur sont mis au point par volution artie o e cielle, et sont ensuite modis pendant le test du robot (en ligne). e Larchitecture neuronale AAA a donc trois tches ` remplir : laction (contrler les moa a o teurs du robot), lanticipation (base sur les perceptions du robot comme dans lapproche e 122

6.6. Action, Anticipation, Adaptation

dcrite section 6.5.1, mais galement sur ses actions moteurs) et ladaptation (base sur e e e la dirence entre les sensations prdites au temps t et les sensations rellement observes e e e e au temps t + 1).

6.6.2

Le rseau de neurones e

Larchitecture AAA est ainsi compose de deux rseaux de neurones (cf. gure 6.8) : e e comme pour le rseau auto-teaching, un second rseau de neurones, le rseau mod`le, est e e e e ajout au contrleur principal (le rseau agent), et son but est de prdire les valeurs des e o e e capteurs du robot au pas de temps suivant. Les entres de ce rseau sont ` la fois la e e a couche cache du rseau agent (les perceptions) et les sorties moteurs (les actions), an e e que la prdiction soit tablie en utilisant ` la fois les perceptions du robot et les actions e e a quil va entreprendre puisquelles sont disponibles. Les entres globales du rseau AAA sont les valeurs des capteurs (les sensations), et e e ventuellement, les valeurs des erreurs danticipation sur les capteurs au temps prcdent e e e (les Deltas).

Rseau 2 Anticipateur Actions Couche


Cache

Prdiction Sensations t+1


Rtro Propagation de lerreur

Perceptions

Sensations Rseau 1 Agent

Diffrences entre les sensations prdites et les sensations rellement obtenues

Fig. 6.8 Larchitecture AAA utilise, le premier rseau (` gauche) constitue le rseau agent, le e e a e
deuxi`me rseau (en haut) consitue le rseau anticipateur. La rtro-propagation de lerreur modie e e e e les poids des deux rseaux. e

Tous les poids des deux rseaux sont soumis ` volution : pendant la vie du robot (son e ae 123

Chapitre 6. Agir, Anticiper, sAdapter

valuation), les prdictions sont compares aux valeurs exactes reues par les capteurs au e e e c prochain pas de temps, et les rsultats de ces comparaisons sont utiliss par lalgorithme e e de rtro-propagation du gradient, qui ajuste ` la fois les poids du rseau mod`le et ceux e a e e du rseau agent, comme indiqu sur la gure 6.8. e e Dans lexprience considre dans la section suivante, et qui reprend lexprience de e ee e Nol et Parisi dcrite dans la section 6.3, le Khepera poss`de 4 capteurs (en fait, 4 paires e e de capteurs infrarouges), et 2 sorties (les deux consignes pour les moteurs). Par consquent, e le rseau agent doit avoir 4 entres, et la partie anticipatoire du rseau mod`le doit avoir e e e e 4 sorties. Dautre part, nous avons choisi arbitrairement (apr`s quelques essais initiaux, e cette valeur na plus t modie) de mettre 5 neurones dans chacune des couches caches, ee e e celle du rseau mod`le et celle du rseau agent. e e e En considrant que chaque neurone poss`de un biais, le rseau rsultant poss`de donc e e e e e 55 (`che 1 + biais sur la gure 6.8) (il faut rajouter 45 si on utilise la partie Dirence e e (Delta) (`che 6)) + 6 2 (`che 2 + biais) poids pour le rseau agent, ainsi que 8 5 e e e soumis ` la rtro-propagation base sur les erreurs sur la prdiction des capteurs. a e e e (`ches 3 et 4 + biais) + 6 4 (`che 5) poids pour le rseau mod`le. Tous ces poids sont e e e e

6.7
6.7.1

Architecture AAA, adaptation et robustesse


Conditions exprimentales e

Nous avons utilis ici lexprience de recherche de plot, la mme exp`rience que celle e e e e utilise pour le test des rseaux auto-teaching (section 6.3). La performance des individus e e est toujours value sur 10 poques, le temps calcul pour une exprience est de lordre de e e e e deux jours, ce qui na pas permis deectuer de tr`s nombreux essais. Cependant quelques e rsultats intressants sont apparus. e e

6.7.2

Principaux rsultats e

Douze essais ont donc t eectus pour le rseau AAA de base, ainsi que douze autres ee e e pour le rseau AAA comportant en entres supplmentaires les dirences danticipation e e e e constates (les deltas). Lensemble des rsultats dtaills est fourni dans les annexes A e e e e (AAA de base) et B (AAA avec deltas). Une premi`re synth`se des rsultats du point de vue de lvolution, cest-`-dire e e e e a reprsentant la tness (value sur 10 poques tout au long de lvolution) en fonction e e e e e du nombre dvaluations, est prsente gure 6.9 : on constate immdiatement que les e e e e performances de larchitecture AAA de base sont largement suprieures ` celles de lautoe a teaching, et lg`rement suprieures ` celles de larchitecture AAA avec deltas. e e e a 124

6.7. Architecture AAA, adaptation et robustesse

Le dtail des rsultats montre que les 12 essais de larchitecture AAA de base ont t e e ee tr`s bons (avec les crit`res dnis section 6.3, cest-`-dire atteignant une tness denviron e e e a 2500). Dans le cas de larchitecture AAA avec deltas, 11 essais ont t tr`s bons, mais un a ee e t tr`s mauvais (sa tness stagne ` 1000, voir B.7). Quant ` la mani`re dont ils atteignent ee e a a e leur tness maximale au cours des gnrations, si certains essais montrent quelques dife e cults pour dcoller et stagnent ` 1000 pendant plusieurs dizaines de gnrations, mais e e a e e apr`s 300 gnrations tous atteignent 2500 ` lexception bien entendu de celui qui ne e e e a dpasse jamais 1000. e

2500

2000

1500

1000 Auto-Teaching AAA AAA + deltas 0 100 200 300 400 500 600 700 800 900 1000

500

Fig. 6.9 Rsultats pour les 3 architectures, autoteaching, AAA, et AAA + deltas e

6.7.3

Rsultats sur le long terme e

La principale critique que nous avons mise ` propos des rseaux auto-teaching e a e concerne leur comportement ` long terme, qui, ntant pas pris en compte dans la tness, a e na aucune raison dtre stable ni de continuer ` tre en rapport avec le probl`me pos. e ae e e Nous avons donc test, dans les mmes conditions que les expriences faites sur les rseaux e e e e auto-teaching en section 6.3, les 24 rseaux obtenus apr`s volution des architectures e e e AAA. Tous les essais en gnralisation ont t eectus sur 200000 poques (soit 4 fois e e ee e e plus que le nombre dpoques utilis pour le test des architectures auto-teaching), la e e 125

Chapitre 6. Agir, Anticiper, sAdapter

couleur des murs tait change toutes les 10000 poques et la premi`re couleur est le e e e e blanc. Tous les rsultats dtaills sont visibles en annexes A et B. e e e Les rsultats concernant un rseau donn sont prsents en 2 pages. La premi`re page e e e e e e de chaque essai est compos de 6 gures, la gure en haut ` gauche reprsente ltat du e a e e rseau ` la n des 200000 poques : les neurones verts reprsentent les neurone de biais e a e e (dont la sortie est toujours gale ` 1), les neurones de couleur rouge sont les neurones e a classiques et enn les neurones violets sont uniquement rservs aux neurones dentre e e e reprsentant les deltas. Les poids sont repsents par les traits de connexion entre neurones, e e e avec les conventions suivantes : la couleur reprsente le signe (bleu pour ngatif et rouge e e pour positif), et la taille du trait donne une indication de la valeur du poids (lpaisseur e augmente tous les multiples de 2, avec une limite ` 12 pour permettre une bonne lecture a visuelle des poids (certains peuvent atteindre des valeurs de lordre de 30 ou 40 en valeur absolue). La gure en haut ` droite reprsente la modication des poids du rseau danticipation a e e a ` travers les poques. La gure au milieu ` gauche indique la modication des poids du e a rseau de contrle ` travers les poques. e o a e La gure au milieu ` droite indique lerreur moyenne commise sur chaque prdiction a e des entres ` t + 1 : ces erreurs sont calcules en additionnant toutes les erreurs obtenues e a e pendant lpoque, et en divisant cette somme par le nombre de cycles eectifs (i.e. si le e robot heurte un mur au bout de 20 cycles, le nombre de cycles eectifs est 20). La gure juste en dessous reprsente lerreur maximale obtenue lors de lpoque en question. e e Enn, la derni`re gure, en bas a gauche, utilise la mme representation que celle de la e ` e gure 6.3 section 6.3.2 : un trait de lhistogramme positif indique le temps que que le robot a mis pour trouver la cible (cette valeur est gale ` 500 si la cible na pas t trouve) ; e a ee e sil est ngatif, ceci indique le temps avant le crash contre un mur. e La deuxi`me page reprsente des morceaux choisis de trajectoires du robot lors dune e e poque prcise, les couleurs reprsentant limportance des erreurs de prdictions plus e e e e e la couleur est fonce, plus lerreur est grande. e

6.7.4

Analyse des rsultats e

Signalons tout dabord que, parmi les 24 essais (comprenant ` la fois ceux de larchiteca ture AAA de base et ceux de larchitecture AAA avec deltas), aucun na de comportement aussi catastrophique que les comportements constats pour les rseaux auto-teaching, e e heurtant les murs ds la onzi`me poque. Dix essais en particulier ne heurtent pas du tout e e e les murs en 200000 poques (voir A.7, A.8, A.9, A.10, A.11, A.12, B.2, B.4, B.8, B.10). e Par contre, une dizaine de rseaux se mettent ` heurter les murs avant 5000 poques e a e (cest le cas des essais A.1, A.2, A.3, A.4, A.5, A.7, B.4, B.7, B.11, B.12) et certains 126

6.7. Architecture AAA, adaptation et robustesse

commencent mme ` heurter les murs avant 500 poques). e a e Dans les cas o` le robot ne heurte pas du tout les murs, on pourrait croire ` un comu a portement stable du dbut ` la n de la part du khpra. Cependant, en y regardant de e a e e plus pr`s, les erreurs ne sont pas nulles, et les poids continuent ` se modier. Le robot e a senferme progressivement dans un comportement qui, en quelques centaines dpoques, e commencent ` tourner lg`rement tout en vitant les murs, puis les virages saccentuent, a e e e le robot nissant par tourner en rond. Une fois dans cette phase, les poids ne se modient plus en profondeur, en tout cas pas susamment pour que le comportement du robot se modie : cette phase, que lon retrouve assez frquemment, semble tre un bassin date e traction tr`s large dans lequel le rseau contrleur se trouve assez facilement pig. Il est e e o e e dautant plus dicile den sortir quune fois que le robot se met ` tourner sur lui-mme, a e il se retrouve la plupart du temps ` une distance importante des murs, et les futures sena sations se rduisent ` prdire le bruit des capteurs, qui reste (malgr la mauvaise qualit e a e e e de ceux-ci) tout ` fait ngligeable, et ne sut pas ` modier susamment les poids pour a e a esprer voir le comportement voluer. e e Les autres comportements asymptotiques sont constitus de crashs en allant tout droit, e ou en imprimant une lg`re courbe ` la trajectoire du robot. Finalement lessai le plus e e a stable o` le comportement initial est le plus prserv est lessai B.5 dans lequel le comporu e e tement reste quasiment identique ` celui de la premi`re poque et ne dvie que tr`s peu, a e e e e mme au bout de 200000 poques. e e Ce probl`me nous semble en fait inhrent au principe de lalgorithme de rtroe e e propagation du gradient. En eet, si lon regarde en dtail les poids allant vers les sorties e du rseau en n de priode de gnralisation (apr`s 200000 poques), on sapperoit que ces e e e e e e c poids sont largement et majoritairement bleu, ce qui sature de fait les sorties du neurone a e ` zro. Dans le cas de la sigmo de, les sorties deviennent rapidement, lorsque la valeur absolue de la somme pondre des entres augmente, tr`s proches de 0 ou de 1. Dune ee e e part cela permet davoir des sorties tranches, qui facilite le contrle robotique. Mais en e o contrepartie, dans toutes les tapes du calcul du gradient, la drive de la sigmo qui e e e de intervient dans la mise ` jour des poids devient terriblement proche de zro. Ceci ena e tra un gradient tr`s faible, et malgr les erreurs danticipation (visibles sur les deux ne e e graphiques reproduisant les erreurs moyennes et maximales), la modication des poids seectue ` une vitesse extrmement lente et ne parvient pas ` modier signicativement a e a le comportement : les poids restent pratiquement inchangs. e Nanmoins, on constate en ce qui concerne la 4`me sortie (toujours sur cet essai B.5) e e quune centaine dpoques a sut pour faire basculer la sortie de ce neurone de 1 ` 0. e a Il sut par exemple de regarder les trajectoires pour sen apercevoir : au dbut, la 4`me e e trajectoire est totalement noire (chec total dans lanticipation) puis devient rapidement e 127

Chapitre 6. Agir, Anticiper, sAdapter

normale (violet-rose). Il sagit bien de la sortie la plus instable puisque lquilibre sur cette e 4`me sortie entre les poids positifs et les poids ngatifs nest pas loin. Si les erreurs sur la e e 4`me sortie (jaune sur le graphique et reprsentant les capteurs arri`res du robot) taient e e e e plus importantes, quelques milliers dpoques supplmentaires devraient permettre des e e modications fortes des poids correspondants. Il ne faut bien entendu pas ngliger le fait que les erreurs faibles dans la grande majorit e e des cas sont induites par la nature mme de lexprience : les capteurs du robot sont en e e eet la plupart du temps non activs par la prsence des murs, et il sut alors de prdire e e e des sorties faibles pour atteindre une erreur minime. Cet essai (B.5) est cependant un cas isol puisque dans ce cas, les 3 sorties principales e (les plus sollicits pour les vitement des murs) sont satures du fait dune somme de poids e e e importante. Dans de nombreux autres essais, cependant, on assiste au mme phnom`ne, e e e mais ` lchelle dune seule sortie. La gure 6.10 explique pourquoi certaines des entres a e e ne parviennent pas ` tre anticipes correctement tout au long des 200000 poques : a e e e lactivation arrivant au neurone de prdiction associ est tr`s proche de 1 ou de 0, car les e e e valeurs absolues des poids arrivant ` ces neurones sont grandes (traits largement rouges a (positif) ou bleus (ngatif) suivant les cas. e Ce quil faut retenir avant tout, dans tous ces essais, cest qu` quelques rares a exceptions pr`s, aucun comportement nest stable tr`s longtemps et le comportement du e e robot nit toujours par diverger du comportement initial. Bien que dans de nombreux essais, il nexiste pratiquement aucun crash, cela nempche pas le robot de modier son e comportement en profondeur pour nir par tourner en rond et faire du sur-place. Il ne semble pas y avoir de dirences sensibles ` ce propos entre les deux types de rseaux e a e AAA de base et AAA avec deltas. On constate dailleurs sur les rseaux AAA avec deltas, e que lvolution a mme tendance ` privilgier largement les poids provenant des entres e e a e e standards au dtriment de ceux mettant en jeu les deltas eux-mmes, pour assurer un e e comportement stable au robot.

6.7.5

Ladaptation aux murs noirs et blancs

Mais revenons maintenant sur ce qui tait ` lorigine la principale motivation de e a lexprience de Nol et Parisi que nous avons reprise, ` savoir ladaptation ` un chane a a gement denvironnement, ici le changement de couleur des murs. Sur les gures montrant les erreurs commises par le rseau anticipatoire, on constate e une dirence marque entre les erreurs commises dans le cas de murs noirs et celles e e commises dans le cas de murs blancs (ceci est visible sur tous les essais). On pourrait ` a premi`re vue penser que cela provient dune phase dadaptation aux murs noirs ou aux e murs blancs. Malheureusement, il semble quil nen est rien. 128

6.7. Architecture AAA, adaptation et robustesse

Essai A.3 sortie sature 4 e

Essai A.12 sortie sature 4 e

Essai B.6 sortie sature 4 e

Essai B.10 sortie sature 2 e

Essai B.11 sortie sature 4 e

Essai B.12 sortie sature 3 e

Fig. 6.10 Cas les plus marquant o` une des sorties anticipe faussement la plupart du temps u
pour cause dactivations satures e

129

Chapitre 6. Agir, Anticiper, sAdapter

La gure 6.11 montre les valeurs que peut prendre un capteur infrarouge dans le simulateur en fonction de sa distance au mur (` noter que les capteurs sont lg`rement a e e en retrait dans la carcasse du robot, la distance exacte entre le mur et le robot est sans doute denviron 2 mm plus petite), et la gure 6.12 explique en dtail le fonctionnement du e calcul des capteurs infrarouges dans le simulateur : un capteur infrarouge met ses rayons e dans un cne dangle prcis, en 2 dimensions. Pour le simulateur, une discrtisation de o e e langle en plusieurs faisceaux a t adopte. Chaque faisceau va apporter sa contribution, ee e en fonction de sa distance au mur, ` la valeur du capteur totale. Pour toutes les expriences a e prsentes dans ce travail et utilisant le simulateur WOB, une valeur de 60 degrs a t e e e ee adopte pour le cne de dtection, discrtise en 20 faisceaux. e o e e e Dans le cas de murs noirs, la distance pour une activation maximale est tr`s faible et e lactivation dimimue fortement en lespace de quelques millim`tres seulement (voir gure e 6.11) : il faut vraiment que le capteur infrarouge soit pratiquement coll aux murs noirs e pour tre activ ` fond. Enn, il faut rappeler que les 8 capteurs du Khpra sont coupls e ea e e e deux par deux les deux capteurs situs sur la gauche du robot, les deux capteurs de face, e les deux capteurs situs sur la droite et enn les deux capteurs situs ` larri`re du robot. e e a e Les possibilits que deux capteurs, mme situs cte ` cte, soient activs pleinement e e e o a o e simulatenment, dans le cas des murs noirs, sont extrmement faibles. Cependant, un e e examen dtaill de certaines courbes derreurs avec les murs noirs montre que les sorties e e peuvent nanmoins tre tr`s proches de 1, ce qui ne peut arriver que pour quelques valeurs e e e particuli`res de langle dattaque du robot par rapport au mur (par exemple lorsque le e Khpra arrive parfaitement face au mur, avec une direction orthogonale ` la direction e e a du mur). La gure 6.13 explique comment le Khpra ragit face aux murs respectivement blancs e e e et noirs : le robot est guid par le rseau agent, et durant lvolution, il va apprendre ` e e e a tourner lorsque les sensations atteignent certaines valeurs. Mais de fait, ces valeurs sont totalement indpendantes de la couleur des murs, noire ou blanche. e Ainsi, quasiment tous les essais (A.1, A.2, A.3, A.4, A.5, A.6, A.7, A.8, A.9, A.10, A.11, A.12, B.1, B.2, B.3, B.7, B.9, B.11, B.12) montrent des inexions similaires : changement de direction gnrale des poids aux changements de couleurs des murs, un poids par exemple e e qui est en train de descendre va changer de direction de faon instantane et se mettre ` c e a monter, et inversement. Tous les poids ne prsentent pas cette caractristique mais ceux e e qui la prsentent sont indiremment dans le rseau anticipation et dans le rseau agent. e e e e Lorsque le robot passe dun environnement avec murs blancs a un environnement avec ` murs noirs (toutes les 10000 poques), un changement dans les exemples dapprentissage e a eectivement lieu. On pourrait imaginer, logiquement, que, si le robot avait un comportement susamment ecace pour tourner devant des murs blancs en sen rapprochant 130

6.7. Architecture AAA, adaptation et robustesse

1 mursblancs(x) mursnoirs(x)

0.8

valeur du neurone sensoriel

0.6

0.4

0.2

0 0 10 20 30 distance en mm 40 50 60

Fig. 6.11 Lactivation des neurones dentre dans le simulateur WOB, qui varie avec linverse e
du carr de la distance, auquel il faut ajouter un petit bruit gaussien. Lactivation est sature ` 1 e e a et ne peut tre infrieure ` 0. A noter que les murs noirs utiliss ne le sont pas totalement, mais e e a e quils rchissent 6 fois moins les rayons infrarouges que les murs blancs. e e

susamment pour bien explorer lenvironnement, le passage aux murs noirs devrait engendrer des crashs, ce qui ferait aussi apparaitre de nouveaux exemples dapprentissage. Cependant, notamment, dans les essais o` le robot ne heurte pratiquement jamais les murs u (comme par exemple lessai A.12), certains poids connaissent systmatiquement le type e dinexions dcrit ci-dessus. Cette dirence dans les exemples dapprentissage provient e e bien des erreurs danticipation sur les tats capteurs. e Nanmoins, de nombreux poids, bien que sensibles aux changements de couleur, e montrent des tendances gnrales nettes, ` la baisse ou ` la hausse, sur lensemble des e e a a poques. Un tel phnom`ne peut tre vu par exemple sur lessai A.4, o` le poids de coue e e e u leur noire tout en haut dans le dtail des poids du rseau contrleur montre une tendance e e o nette ` la baisse tout en subissant quelques variations locales dues aux au changement de a couleurs : cela signie que, dans les deux cas (pour les murs noirs comme pour les murs blancs), des gradients assez forts subsistent malgr les changements de couleur, puisque e les tendances ` la baisse ou ` la hausse sont prserves. Dans dautres cas, cependant, a a e e la baisse suscite par une certaine couleur de murs nest pas gale ` la monte gnre e e a e e ee 131

Chapitre 6. Agir, Anticiper, sAdapter

Distance du mur

ANGLE DE PERCEPTION DU CAPTEUR I.R.

Fig. 6.12 Les valeurs des capteurs sont calcules en faisant la somme de toutes les valeur donnes e e
par les faisceaux, dans langle sensoriel donn e

par lautre couleur, et cette dissymtrie entra une baisse ou une monte globale ` long e ne e a terme. Ces baisses ou montes gnralises sur lensemble des poques contribuent donc e e e e e a ` un changement radical de comportement du robot, qui peut ainsi, sil sagit dun poids reli ` un neurone moteur, saturer un neurone de sortie (ou les deux) ` 1 ou ` 0, et par l` ea a a a mme engendrer une drive de trajectoire dans des virages accentus pour nir par tourner e e e sur place (voir encore, si les deux neurones de sortie sont bloqus ` 1, ` pousser le robot e a a a ` aller tout droit dans le mur le plus proche). Mais on constate galement quil peut se faire que, bien que linexion priodique des e e poids au changement de couleur existe, le poids nest pas du tout stabilis. Cest le cas e tout ` fait impressionnant de lexemple A.3, o` certains poids connaissent les plus grandes a u variations de tous les essais lors dun passage dune couleur ` une autre. Les poids ntant a e pas stabiliss, il est facile de dduire que le comportement obtenu avant le changement de e e couleur ntait pas encore stable, et quil faudrait plus de temps ` la rtro-propagation e a e pour stabiliser lensemble du comportement. Cependant ces petites modications de poids ne permettent pas dobtenir des modications du comportement du robot avec des sorties moteurs aussi tranches. Le robot peut e seulement faire la dirence pr`s des murs, grce aux principes de contingences sensorie e a motrices. Nous avons ainsi mis en vidence le gros probl`me de lexprience de recherche e e e 132

6.7. Architecture AAA, adaptation et robustesse

Murs blancs

Zone de dtection du mur pour les capteurs

Zone o lactivation du capteur indique au robot de tourner

Virage

Etat capteur Murs noirs Avec les murs noirs, les rayons IR sont bcp moins rflchis et lactivation est bien moins forte

Distance de dtection des murs beaucoup plus faible Etat capteur identique pour ce mme robot (la dinstinction avec les bruits des capteurs ne peut se faire que lorsque le robot est trs proche du mur)

temps t

temps t+1

temps t+2

Possibilit de distinction des murs grce aux contingences sensorimotrices ici dans le cas des murs blancs, mais les tats capteurs seraient diffrents t+1 et t+2 avec des murs noirs aux mmes vitesses moteurs

Fig. 6.13 Les phnom`nes sensoriels au niveau des murs e e 133

Chapitre 6. Agir, Anticiper, sAdapter

de cible, cest-`-dire le fait que les v`nements intressants (proximit des murs) sont a e e e e tr`s peu frquents compar ` limmense base dexemple dapprentissage correspondant au e e ea robot situ loin des murs, au milieu de lar`ne, l` o` ses capteurs sont quasiment inactivs. e e a u e La seule prdiction valable est alors que les capteurs sont rests quasiment nuls, ce qui e e arrive la plupart du temps. En aucun cas ceci ne peut permettre une relle adaptation e dans des dlais raisonnables. e

6.7.6

La robustesse

Nous avons galement voulu tester la robustesse de larchitecture AAA par rapport e a ` un autre type de changement denvironnement, compl`tement imprvu celui-l` (ceste e a a `-dire ne stant jamais produit lors de lvolution, ` la dirence des changements de e e a e couleur des murs) qui concerne les capteurs du robot. Deux sries de tests ont t mis en place pour simuler une panne dun des capteurs : e ee le capteur donne toujours la mme valeur (blocage du capteur). e le capteur fournit dsormais une valeur alatoire (endommagement du capteur). e e Des tests ont t eectus parmi pour tous les rseaux issus des essais du rseau AAA, ee e e e ainsi que sur les rseaux auto-teaching. A la 500`me poque, on dclenche le dysfonctione e e e nement du capteur. Les rseaux auto-teaching ont montr quils tendaient toujours vers le rseau mod`le, e e e e quel que soit le comportement de celui-ci en prsence de la panne ce qui nest pas du e tout surprenant, et constitue donc une incapacit de ce type darchitecture ` pouvoir ragir e a e lorsquun v`nement imprvu appara e e e t. Dans le premier cas o` le capteur est xe et produit une valeur xe, tous les rseaux u e AAA ont montr une norme capacit ` rapidement anticiper ce dernier de faon quasi e e e a c parfaite et rapide. Bien que ceci soit tr`s intressant dun point de vue de lanticipation, e e cette adaptation tr`s rapide (quelques centaines dpoques) ` cette nouvelle situation e e a empche le rseau contrleur de se modier en profondeur. Celui-ci restant identique, le e e o Khpra rencontre tr`s rapidement les murs, ne pouvant ragir ` cette nouvelle situation. e e e e a Le deuxi`me type dexprience avec un capteur alatoire entra un comportement e e e ne totalement dirent. Dans ce cas, on assiste ` la situation inverse de la prcdente : la valeur e a e e du capteur tant alatoire, elle devient par l` mme totalement impossible ` anticiper. De e e a e a plus dans le cas dun capteur rendu fou (voir gure 6.14), le comportement du robot est terriblement perturb par cette entre du rseau ne signiant plus rien et le comportement e e e en est tr`s aect. La gure 6.14 nous montre une trajectoire totalement chaotique du e e robot. La seule faon pour le robot de se stabiliser serait dannuler les eets de ce capteur. c Malheureusement, la rtro-propagation a peu de chance dy parvenir et risque fort doprer e e des mouvements cycliques, oscillant entre des erreurs ngatives et positives . . . e 134

6.8. Paramtrage de lapprentissage et perspectives e

1000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Fig. 6.14 Cas o` le deuxi`me capteur est rendu fou u e

6.8

Paramtrage de lapprentissage et perspectives e

Il semble donc que lexprience propose par Nol et Parisi [Nol et Parisi, 1997], e e mme si elle a permis de montrer une certaine robustesse dans le long terme de larchitece ture AAA par rapport ` larchitecture auto-teaching, soit en fait inapproprie pour tester a e les capacits dadaptation dune architecture de contrle dun robot autonome. e o Nous avons cependant voulu tester les capacits dapprentissage pur de larchitecture e AAA, et surtout voir si le paramtrage de cet apprentissage pouvait tre amlior pour e e e e augmenter la vitesse dapprentissage, garante dune adaptation ventuelle plus rapide, et e donc, sans doute, plus ecace.

6.8.1

Capacits dapprentissage de larchitecture AAA e

Dans lexprience du recherche de plot de la section prcdente, tr`s peu dexemples e e e e sont nalement prsents au mcanisme dapprentissage, du fait que le Khpra ne voit e e e e e les murs qu` une faible distance. An de vrier si larchitecture AAA que nous avons a e utilise est tout simplement capable danticipation pour des sensations plus varies, nous e e avons remplac les entres sensorielles par des valeurs alatoires comprises entre 0 et 1. Le e e e 135

Chapitre 6. Agir, Anticiper, sAdapter

rseau mod`le avait pour tche de prdire (de retrouver) ces valeurs alatoires des entres. e e a e e e A noter que cette exprience a t inspire par lexprience dite du diabolo, dans e ee e e laquelle un rseau de neurones, compos dune seule couche cache de taille infrieure au e e e e nombre dentres, et dune couche de sortie de mme taille que la couche dentre, doit e e e retrouver en sortie les valeurs des entres (il ne sagit donc plus ici danticipation). Le but e de lexprience du diabolo est de tester la capacit du rseau ` compresser ses entres en e e e a e moins de variables (les neurones de la couche cache) tout en tant ensuite capable de e e les dcompresser de faon satisfaisante. e c

Erreurs moyennes

Erreurs maximales

Fig. 6.15 Exprience inspire du diabolo, cas typique avec param`tres habituels e e e Cette exprience a ici t eectue sur les architectures sans deltas, avec pour poids e ee e initiaux les valeurs rsultant des volutions sur lexprience de recherche de plot. Une e e e poque correspond toujours ` 500 cycles. Les rsultats typiques (erreur de prdiction des e a e e entres par le rseau modele) sont prsents sur la gure 6.15. e e e e e La gure de gauche reprsente lerreur moyenne, qui baisse assez rapidement et atteint e un minimum aux alentours de 20000 poques pour une erreur infrieure ` 0.05 et ceci e e a pour les 4 entres. Les erreurs maximales connaissent galement une forte baisse aux e e alentours de 20000 poques pour stationner ensuite aux environs de 0.1, ce qui constitue e une bonne performance. Ceci montre donc que ce type de rseau est tout ` fait capable e a de retrouver ses entres. Une petite rserve toutefois concerne le passage ` lchelle : si e e a e le nombre dentres augmentait de faon consquente, il faudrait certainement rajouter e c e quelques neurones dans les couches caches (du rseau agent, et du rseau danticipation). e e e Ce test de vrication a donc t concluant. Bien que ce test ne cherche pas ` anticiper, e ee a puisquon se contente de retrouver les valeurs des entres, ceci permet de donner une e bonne ide de ce que pourrait tre un apprentissage en vue dune anticipation des futures e e sensations. Et dans ce cas, on remarque que la vitesse dapprentissage (pr`s de 20000 e poques), reste tr`s lente, ce qui constitue un temps relativement important si lon imagine e e que larchitecture AAA est porte sur des robots rels. A noter que les rsultats des e e e 136

6.8. Paramtrage de lapprentissage et perspectives e

annexes conrment cette tendance, puisque le robot met toujours un temps relativement important pour trouver un comportement stable. Nous allons voir si les param`tres de la e rtro-propagation des erreurs peuvent tre ajusts pour pallier ce dfaut. e e e e 6.8.1.1 Amlioration de la vitesse dapprentissage e

Un coup doeil sur la gure 6.10 permet de constater qu` de nombreuses reprises, une a des sorties du rseau a du mal ` se modier du fait dun gradient trop faible du neurone e a associ. Ceci peut sexpliquer par le fait que lactivation du neurone est trop forte en e valeur absolue, et sa sortie est alors trop proche de 0 ou 1, ce qui donne une drive pour e e la sigmo tr`s proche de zro et inhibe toute progression rapide de lalgorithme. de e e Nous avons donc eectu des tests empiriques sur lexprience dapprentissage e e prcdente : pour augmenter la pente aux endroits de la sigmo o` lactivation est e e de u tr`s prsente, le param`tre (la pente de la sigmo ` lorigine), a t considrablement e e e de a ee e diminu. Cependant, la drive de la sigmo est elle aussi fortement diminue par cette e e e de e baisse du param`tre alpha, aussi avons-nous dans ce cas augment le taux dapprentissage, e e sans quoi lalgorithme restait bien trop lent.
0.7

0.25

0.6 0.2 0.5 0.15 0.4

0.1

0.3

0.05

0.2

0.1 0 50 100 150 200 250 300 0 50 100

Erreurs moyennes

Erreurs maximales

Fig. 6.16 Exprience inspire du diabolo bis, cas typique lorsquon diminue fortement la pente e e
a ` lorigine de la sigmo (0.01 au lieu de 1) et que lon augmente fortement le taux dapprentissage de (500 au lieu de 0.2)) et le taux dinertie (0.8 au lieu de 0.2).

Les rsultats sont visibles sur la gure 6.16, pour la mme architecture que pour e e lexprience prcdente seuls les param`tres dapprentissage ont t changs. On constate, e e e e ee e comme prvu, une augmentation importante de la vitesse dapprentissage, puisque les e mmes erreurs sont maintenant obtenues aux alentours de 70 poques au lieu des 20000 e e prcdentes ! A noter que 70 poques est le minimum, obtenus pour plusieurs jeux de pae e e ram`tres, et pour plusieurs rseaux parmi les 12 rseaux tests. Certains autres parmi les e e e e 12 essais ont mis un peu peu plus de 100 poques pour atteindre le mme niveau derreur, e e mais aucun na dpass 150. Cette progression reste donc tout ` fait remarquable, et le e e a 137

Chapitre 6. Agir, Anticiper, sAdapter

gain obtenu en cot calcul est considrable. u e

6.8.2

Retour ` lexprience dexploration a e

Au vu des rsultats des sections ci-dessus, il est lgitime de penser quen utilisant des e e param`tres doptimisation plus ecaces pour lapprentissage pur, des phnom`nes dadape e e tation pourraient appara susamment rapidement, en entra tre nant des comportements dirents de la part du robot suivant la couleur des murs lorsque loptimisation a atteint e un minimum local paraissant stable. Malheureusement, le fait de modier les param`tres du rseau et de lapprentissage, et e e notamment la pente de la sigmo de, a un prix important et de fait totalement prohibitif. En eet, une dizaine de tests a t ainsi eectue sur lexprience de recherche de plot avec ee e e les param`tres ayant montr les meilleurs rsultats en terme de vitesse dapprentissage, et e e e aucun des essais nest parvenu ` dpasser la pi`tre performance de 1000 ! a e e Lexplication en est relativement simple : la modication de la pente ` lorigine de la a sigmo engendre une presque impossibilit pour le robot dobtenir des sorties tranches. de e e Du coup, une petite modication des entres engendre une tr`s petite modication des e e sorties et le robot prouve toutes les dicults pour arriver ` tourner. e e a Il faudrait donc trouver un compromis entre ractivit du rseau en mode contrle, et e e e o vitesse dapprentissage en mode adaptation.

138

Chapitre 7

Synth`se et conclusions e
7.1 Rsultats et contributions e

Dans cette th`se, deux aspects de la robotique volutionnaire ont t tudis, le premier e e e ee e portait sur ltude de la modularit par une approche symbolique, et le deuxi`me sur e e e une possible application des contingences sensori-motrices ` lanticipation en robotique a volutionnaire. e La premi`re partie de nos contributions (chapitre 5) a t de proposer une approche e ee volutionnaire de la modularit. Apr`s avoir constat les dfauts des approches modulaires e e e e e ` la main de la littrature, en montrant lors de tests pousss que la modularit ntait a e e e e pas vraiment utilise, et que lvolution avait plutt tendance ` privilgier un rseau plutt e e o a e e o quun autre dans lexprience garbage collector, nous avons propos une approche situe e e e a ` mi-chemin entre larchitecture de subsomption de Brooks 2.2 et les approches de type bo noires courantes en robotique volutionnaire [Nol et Floreano, 2000]. Il sagit dun tes e compromis intressant entre des contrleurs totalement dterministes, tels ceux proposs e o e e par larchitecture de subsomption, et tr`s dicile ` mettre en oeuvre, et lapproche totalee a ment boite noire dans laquelle lvolution est laisse sans contrainte, mais sans guide non e e plus. Les contrleurs symboliques, qui mettent en oeuvre des comportements lmentaires o ee simples comme, le fait pour le robot Khpra de tourner sur lui-mme dun ct ou e e e oe de lautre, daller tout droit ou daller en marche arri`re, ont permis dobtenir dans de e simples expriences dvitement dobstacle, des performances comparativement meilleures e e que celles dun rseau de neurones quivalent classique commandant les sorties moteurs e e de bas niveau. Ltape suivante a t concrtise par la cration de superviseurs (section 5.5). Un e ee e e e superviseur est constitu dun rseau de neurones standard et a pour tche, ` chaque cycle e e a a de la vie du robot, de choisir entre des comportements de tr`s haut niveau (comportee 139

Chapitre 7. Synth`se et conclusions e

ments tout ` fait autonomes comme lvitement dobstacles, lexploration de lenvironnea e ment,...). Chaque sortie du superviseur symbolise lutilisation dun des comportements de haut niveau associ, et la sortie la plus forte dcide du comportement qui va tre excut. e e e e e Les rsultats obtenus sur lexprience dexploration avec zones de recharge sest avre e e ee tr`s encourageante, les meilleurs rsultats ont dailleurs t obtenus par lutilisation des e e ee superviseurs. A noter que dune part le superviseur nest pas gn par de nombreux come e portements inutiles ou nuisibles ce qui permet de conseiller, dans le doute, de mettre ` a sa disposition le plus de comportements raisonnables possible. Dautre part, un rsutat ine attendu a t que larchitecture de supervision a t capable de trouver un comportement ee ee permettant daller vers la lumi`re plus ecace que celui propos (obtenu par volution), e e e en utilisant ` chaque cycle, les meilleurs comportements quelle avait ` disposition. a a Une autre exprience (section 5.7.1) montrant lintrt de ces superviseurs, consistait e ee ae ` vacuer des cylindres hors de lar`ne tout en ayant une autonomie limite. Lvolution e e e classique sans superviseur ne parvenait pas ` trouver de comportements ecaces (prise a des cylindres ET recharge). Lutilisation de superviseurs avec deux comportements adapts a montr lmergence dun comportement adquat. De plus, cette exprience a e e e e e t porte avec succ`s sur des Khpra rels. Compte-tenu des dicults techniques que ee e e e e e e cela a reprsent, cela na pas t renouvel pour les autres expriences, bien que nous e e ee e e soyons bien conscients que le passage aux robots rels constitue la validation ultime de e toute exprience en robotique simule. e e La deuxi`me partie de nos contributions a t consacre ` ladaptation, et ` lapprene ee e a a tissage en ligne, durant la vie du robot. Nous avons tout dabord test intensivement e larchitecture auto-teaching [Nol et Parisi, 1997]. Cette architecture est constitue dun e rseau mod`le et dun rseau de contrle, et la rtro-propagation de lerreur est utilise e e e o e e pour modier les poids du rseau mod`le en prenant exemple sur les sorties du rseau e e e mod`le. La tche demande ` ces robots est la recherche dune cible dans deux environe a e a nements dirents, lun avec des murs de couleur noire, lautre avec des murs blancs. Le e comportement ` long terme des rseaux auto-teaching (sur des priodes de temps bien plus a e e grandes que celles utilises pour lvolution) a montr une convergence rapide (en quelques e e e centaines dpoques) du rseau de contrle sur le rseau mod`le. Le comportement obtenu e e o e e est tr`s stable et sapproche fortement de celui du rseau mod`le. Malheureusement, ce e e e rseau mod`le na t, lui, test que par la dynamique quil insue au rseau de contrle, e e ee e e o et le comportement quil induit en direct nest pas prvisible. Ainsi, dans une majorit e e de cas, le robot se met ` heurter les murs. Une premi`re conclusion est que les rseaux a e e auto-teaching ne prsentent que tr`s peu dintrt. e e ee Nous avons alors propos, pour pallier ces dfauts ` long terme, et tenter de retrouver e e a de relles facults dadaptation, larchitecture danticipation AAA (section 6.6). Cest une e e 140

7.2. Perspectives

architecture constitue de deux rseaux, un rseau de contrle dune part, et un rseau e e e o e danticipation dautre part, qui ` partir des perceptions (couche cache) du premier rseau a e e et des sorties moteurs tente de prdire les sensations futures observes par le robot. Lale e gorithme de rtro-propagation est alors utilis pour modier les poids de ces deux rseaux e e e partir des sensations rellement observes au pas de temps suivant. e e Les tests eectus sur la mme exprience que celle utilise pour le rseau auto-teaching e e e e e ont montr tout dabord une meilleure stabilit ` long terme, ainsi quune tendance e e a des rseaux ` ladaptation ` leur environnement. Cependant, les comportements bougent e a a normment au l des poques, et bien que de nombreux individus continuent ` viter les e e e ae murs, ils adoptent souvent apr`s des temps longs des comportements non prvus, comme e e de se mettre ` tourner en rond. Le probl`me, ici comme dans les rseaux auto-teaching, a e e est que ces comportements asymptotiques ne sont absolument pas pris en compte dans la tness durant lvolution, car chaque valuation durerait alors beaucoup trop longtemps. e e Les derniers essais sugg`rent quil faudrait sans doute que la modication des poids soit e beaucoup plus rapide pour que leet dadaptation soit plus important, et donc puisse tre test aussi durant lvolution mais modier les fonctions de transfert des neurones, e e e premi`re ide dans ce sens, ne semble pas non plus tre une solution, puisque cela empche e e e e toute volution vers des tness acceptables. e

7.2

Perspectives

Une autre possibilit pour tenter dune part dacclrer lapprentissage, et dautre e ee part de prserver la stabilit (qui manque par exemple quand on essaye de modier les e e pentes des sigmo des), mais qui na pu tre essaye faute de temps, consisterait bien sr ` e e u a transformer le rseau AAA en superviseur AAA, en reprenant le concept des superviseurs e symboliques (voir section 5.3) au sein de larchitecture danticipation. Cela permettrait de faire dune pierre deux coups : dune part acclrer lvolution (si on extrapole les rsultats ee e e du chapitre 5), et donc peut-tre permettre daller plus loin durant lvaluation du robot) ; e e dautre part, stabiliser le comportement long terme, en utilisant comme sorties du superviseur des comportements stables (aller vers la lumi`re, tourner ` gauche, explorer, . . . ), e a mais surtout non-modiables quelle que soit la dure de lexprience. Dans ce contexte, la e e modication des poids risquerait moins dentra ner des comportements aberrants comme des collisions multiples ou la fcheuse tendance ` tourner en rond. a a Dans le cas des superviseurs symboliques, cest la sortie la plus importante qui permet de savoir quel comportement sera excut ` linstant t. Ainsi, mme si les sorties du e e a e superviseurs ne varient pas beaucoup, elles peuvent varier susamment pour modier de faon signicative ` moyen terme le comportement. c a Une autre mthode pour amliorer lalgorithme pourrait tre dimaginer un delai et e e e 141

Chapitre 7. Synth`se et conclusions e

une dcroissance relaxe des erreurs danticipation. Dans ltat actuel, lorsque le robot e e e parcours lar`ne loin des murs, il ne se passe rien, et les poids nen sont pas modis, e e mme si il y a eu des grandes erreurs danticipation aux pas de temps immdiatement e e prcdents. En talant les erreurs dans le temps, le rseau aurait ` sa disposition plus e e e e a de temps pour apprendre, et pas uniquement les quelques instants quil passe ` proximit a e des murs. An doptimiser encore plus le processus dadaptation, on peut galement e imagner dajuster le taux dapprentissage ` lerreur et dintroduire une diminution du a taux dapprentissage si lerreur devient faible, an de dclencher dans ce cas une recherche e locale approfondie et ne laisser que la place aux bruits dans les erreurs danticipation. Une autre piste ` explorer vient du fait que les erreurs se gent assez rapidement (moins a de 100 poques de 500 cycles sur lexprience du diabolo) : le rseau semble tre dans un e e e e minimum local, ce qui peut laisser augurer de certaines possibilits de mmorisation ` long e e a terme au sein de ce type de rseau. e Reprenons lexprience de Tuci, Harvey et Quinn (cf. section 6.2.2), o` le robot doit, e u lors de la premi`re poque, reprer si la cible et la lumi`re sont du mme ct ou pas, puis, e e e e e oe durant les 14 poques poques suivantes, le robot doit aller directement vers la lumi`re en e e e appliquant ce quil a appris lors de la premi`re poque. e e Il faut, pour que lexprience russisse, ` la fois que le robot puisse modier tr`s e e a e rapidement certains poids, apr`s avoir ralis quil stait tromp la premi`re fois, mais e e e e e e galement quil soit capable de mmoriser de mani`re durable lassociation entre la lumi`re e e e e et la cible. Il est lgitime de penser que cette exprience peut fonctionner car cette fois, lensemble e e de lexprience est excute durant lvolution. Cependant, il faut que les poids se modient e e e e assez rapidement pour que le cas chant le comportement supervis ait le temps dtre e e e e permut dans la premi`re poque. Lvolution doit pour cela crer un rseau dont la e e e e e e conguration des poids est capable de sajuster en moins de 500 cycles. Pour amliorer les e chances de fonctionnement on peut imaginer des techniques damlioration de la vitesse e dans la rtro-propagation comme lalgorithme de Quickprop. e Mais il faut aussi que le rseau se retrouve dans un bassin dattraction susamment e vaste pour quil ne risque pas den ressortir trop vite, avant le prochain signal de renforcement, la prochaine cible trouve. Et la convergence observe dans les derni`res expriences e e e e du chapitre 6 peut donner ` penser quil est possible dobtenir une mmoire susamment a e stable via lanticipation ce qui nest pas le cas, dans les rseaux rcurrents, dans lesquels e e la mmoire (lactivit des neurones due ` un signal ancien) dcroit exponentiellement. Il e e a e serait dailleurs intressant de tester les rseaux obtenus par Tuci, Harvey et Quinn ` tr`s e e a e long terme . . . Bien entendu tout ceci reste ` tester, mais lanticipation pourrait permettre a dobtenir une mmoire ` long terme rellement stable. e a e 142

Annexe A

Les rsultats dtaills avec e e e larchitecture AAA


A.1 essai 1

143

Annexe A. Les rsultats dtaills avec larchitecture AAA e e e

Les poids du rseau ` la n e a

Detail des poids ` travers les poques du rseau dana e e ticipation

Detail des poids ` travers les poques du rseau a e e contrleur o

Erreurs danticipation moyennes ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Evolution de la tness ` travers les poques a e

Erreurs danticipation maximales ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Fig. A.1 Essai 1

144

A.1. essai 1

1 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

500 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

1000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 1

Epoque 500

Epoque 1000

20001 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

50000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

200000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

Epoque 20001

Epoque 50000

Epoque 200000

Fig. A.2 Essai 1

145

Annexe A. Les rsultats dtaills avec larchitecture AAA e e e

A.2

essai 2

146

A.2. essai 2

Les poids du rseau ` la n e a

Detail des poids ` travers les poques du rseau dana e e ticipation

Detail des poids ` travers les poques du rseau a e e contrleur o

Erreurs danticipation moyennes ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Evolution de la tness ` travers les poques a e

Erreurs danticipation maximales ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Fig. A.3 Essai 2

147

Annexe A. Les rsultats dtaills avec larchitecture AAA e e e

1 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

100 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

300 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 1

Epoque 100

Epoque 300

1000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

10000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

200000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

Epoque 1000

Epoque 10000

Epoque 200000

Fig. A.4 Essai 2

148

A.3. essai 3

A.3

essai 3

149

Annexe A. Les rsultats dtaills avec larchitecture AAA e e e

Les poids du rseau ` la n e a

Detail des poids ` travers les poques du rseau dana e e ticipation

Detail des poids ` travers les poques du rseau a e e contrleur o

Erreurs danticipation moyennes ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Evolution de la tness ` travers les poques a e

Erreurs danticipation maximales ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Fig. A.5 Essai 3

150

A.3. essai 3

1 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

100 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

1000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 1

Epoque 100

Epoque 1000

100000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

170000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

200000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

Epoque 100000

Epoque 170000

Epoque 200000

Fig. A.6 Essai 3

151

Annexe A. Les rsultats dtaills avec larchitecture AAA e e e

A.4

essai 4

152

A.4. essai 4

Les poids du rseau ` la n e a

Detail des poids ` travers les poques du rseau dana e e ticipation

Detail des poids ` travers les poques du rseau a e e contrleur o

Erreurs danticipation moyennes ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Evolution de la tness ` travers les poques a e

Erreurs danticipation maximales ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Fig. A.7 Essai 4

153

Annexe A. Les rsultats dtaills avec larchitecture AAA e e e

1 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

10 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

20000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

Epoque 1

Epoque 10

Epoque 20000

30000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

120000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

170000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 20000

Epoque 120000

Epoque 170000

Fig. A.8 Essai 4

154

A.5. essai 5

A.5

essai 5

155

Annexe A. Les rsultats dtaills avec larchitecture AAA e e e

Les poids du rseau ` la n e a

Detail des poids ` travers les poques du rseau dana e e ticipation

Detail des poids ` travers les poques du rseau a e e contrleur o

Erreurs danticipation moyennes ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Evolution de la tness ` travers les poques a e

Erreurs danticipation maximales ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Fig. A.9 Essai 5

156

A.5. essai 5

1 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

100 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

300 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 1

Epoque 100

Epoque 300

500 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

1000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

170000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 500

Epoque 1000

Epoque 170000

Fig. A.10 Essai 5

157

Annexe A. Les rsultats dtaills avec larchitecture AAA e e e

A.6

essai 6

158

A.6. essai 6

Les poids du rseau ` la n e a

Detail des poids ` travers les poques du rseau dana e e ticipation

Detail des poids ` travers les poques du rseau a e e contrleur o

Erreurs danticipation moyennes ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Evolution de la tness ` travers les poques a e

Erreurs danticipation maximales ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Fig. A.11 Essai 6

159

Annexe A. Les rsultats dtaills avec larchitecture AAA e e e

1 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

10 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

100 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 1

Epoque 10

Epoque 100

10000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

30000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

90000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 10000

Epoque 30000

Epoque 90000

Fig. A.12 Essai 6

160

A.7. essai 7

A.7

essai 7

161

Annexe A. Les rsultats dtaills avec larchitecture AAA e e e

Les poids du rseau ` la n e a

Detail des poids ` travers les poques du rseau dana e e ticipation

Detail des poids ` travers les poques du rseau a e e contrleur o

Erreurs danticipation moyennes ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Evolution de la tness ` travers les poques a e

Erreurs danticipation maximales ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Fig. A.13 Essai 7

162

A.7. essai 7

1 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

100 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

500 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 1

Epoque 100

Epoque 500

10000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

100000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

200000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

Epoque 10000

Epoque 100000

Epoque 200000

Fig. A.14 Essai 7

163

Annexe A. Les rsultats dtaills avec larchitecture AAA e e e

A.8

essai 8

164

A.8. essai 8

Les poids du rseau ` la n e a

Detail des poids ` travers les poques du rseau dana e e ticipation

Detail des poids ` travers les poques du rseau a e e contrleur o

Erreurs danticipation moyennes ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Evolution de la tness ` travers les poques a e

Erreurs danticipation maximales ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Fig. A.15 Essai 8

165

Annexe A. Les rsultats dtaills avec larchitecture AAA e e e

1 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

100 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

1000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 1

Epoque 100

Epoque 1000

10000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

100000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

200000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

Epoque 10000

Epoque 100000

Epoque 200000

Fig. A.16 Essai 8

166

A.9. essai 9

A.9

essai 9

167

Annexe A. Les rsultats dtaills avec larchitecture AAA e e e

Les poids du rseau ` la n e a

Detail des poids ` travers les poques du rseau dana e e ticipation

Detail des poids ` travers les poques du rseau a e e contrleur o

Erreurs danticipation moyennes ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Evolution de la tness ` travers les poques a e

Erreurs danticipation maximales ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Fig. A.17 Essai 9

168

A.9. essai 9

1 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

10 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

300 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 1

Epoque 10

Epoque 300

20000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

100000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

150000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 20000

Epoque 100000

Epoque 150000

Fig. A.18 Essai 9

169

Annexe A. Les rsultats dtaills avec larchitecture AAA e e e

A.10

essai 10

170

A.10. essai 10

Les poids du rseau ` la n e a

Detail des poids ` travers les poques du rseau dana e e ticipation

Detail des poids ` travers les poques du rseau a e e contrleur o

Erreurs danticipation moyennes ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Evolution de la tness ` travers les poques a e

Erreurs danticipation maximales ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Fig. A.19 Essai 10

171

Annexe A. Les rsultats dtaills avec larchitecture AAA e e e

1 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

200 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

1000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 1

Epoque 200

Epoque 1000

10001 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

100000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

150000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 10001

Epoque 100000

Epoque 150000

Fig. A.20 Essai 10

172

A.11. essai 11

A.11

essai 11

173

Annexe A. Les rsultats dtaills avec larchitecture AAA e e e

Les poids du rseau ` la n e a

Detail des poids ` travers les poques du rseau dana e e ticipation

Detail des poids ` travers les poques du rseau a e e contrleur o

Erreurs danticipation moyennes ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Evolution de la tness ` travers les poques a e

Erreurs danticipation maximales ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Fig. A.21 Essai 11

174

A.11. essai 11

1 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

11 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

10000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 1

Epoque 11

Epoque 10000

20000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

50000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

200000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

Epoque 20000

Epoque 100000

Epoque 200000

Fig. A.22 Essai 11

175

Annexe A. Les rsultats dtaills avec larchitecture AAA e e e

A.12

essai 12

176

A.12. essai 12

Les poids du rseau ` la n e a

Detail des poids ` travers les poques du rseau dana e e ticipation

Detail des poids ` travers les poques du rseau a e e contrleur o

Erreurs danticipation moyennes ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Evolution de la tness ` travers les poques a e

Erreurs danticipation maximales ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Fig. A.23 Essai 12

177

Annexe A. Les rsultats dtaills avec larchitecture AAA e e e

1 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

11 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

100 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 1

Epoque 11

Epoque 100

300 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

10000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

50000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 300

Epoque 10000

Epoque 50000

Fig. A.24 Essai 12

178

Annexe B

Les rsultats dtaills avec e e e larchitecture AAA avec les DELTA en plus
B.1 essai 1

179

Annexe B. Les rsultats dtaills avec larchitecture AAA avec les DELTA en plus e e e

Les poids du rseau ` la n e a

Detail des poids ` travers les poques du rseau dana e e ticipation

Detail des poids ` travers les poques du rseau a e e contrleur o

Erreurs danticipation moyennes ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Evolution de la tness ` travers les poques a e

Erreurs danticipation maximales ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Fig. B.1 Essai 1

180

B.1. essai 1

1 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

1000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

10000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 1

Epoque 1000

Epoque 10000

20000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

100000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

170000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 20000

Epoque 100000

Epoque 170000

Fig. B.2 Essai 1

181

Annexe B. Les rsultats dtaills avec larchitecture AAA avec les DELTA en plus e e e

B.2

essai 2

182

B.2. essai 2

Les poids du rseau ` la n e a

Detail des poids ` travers les poques du rseau dana e e ticipation

Detail des poids ` travers les poques du rseau a e e contrleur o

Erreurs danticipation moyennes ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Evolution de la tness ` travers les poques a e

Erreurs danticipation maximales ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Fig. B.3 Essai 2

183

Annexe B. Les rsultats dtaills avec larchitecture AAA avec les DELTA en plus e e e

1 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

300 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

10001 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

Epoque 1

Epoque 300

Epoque 10001

30000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

100000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

200000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

Epoque 30000

Epoque 100000

Epoque 200000

Fig. B.4 Essai 2

184

B.3. essai 3

B.3

essai 3

185

Annexe B. Les rsultats dtaills avec larchitecture AAA avec les DELTA en plus e e e

Les poids du rseau ` la n e a

Detail des poids ` travers les poques du rseau dana e e ticipation

Detail des poids ` travers les poques du rseau a e e contrleur o

Erreurs danticipation moyennes ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Evolution de la tness ` travers les poques a e

Erreurs danticipation maximales ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Fig. B.5 Essai 3

186

B.3. essai 3

1 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

200 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

300 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 1

Epoque 200

Epoque 300

1000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

10000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

200000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

Epoque 1000

Epoque 10000

Epoque 200000

Fig. B.6 Essai 3

187

Annexe B. Les rsultats dtaills avec larchitecture AAA avec les DELTA en plus e e e

B.4

essai 4

188

B.4. essai 4

Les poids du rseau ` la n e a

Detail des poids ` travers les poques du rseau dana e e ticipation

Detail des poids ` travers les poques du rseau a e e contrleur o

Erreurs danticipation moyennes ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Evolution de la tness ` travers les poques a e

Erreurs danticipation maximales ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Fig. B.7 Essai 4

189

Annexe B. Les rsultats dtaills avec larchitecture AAA avec les DELTA en plus e e e

1 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

11 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

100 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 1

Epoque 11

Epoque 100

1000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

10000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

100000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

Epoque 1000

Epoque 10000

Epoque 100000

Fig. B.8 Essai 4

190

B.5. essai 5

B.5

essai 5

191

Annexe B. Les rsultats dtaills avec larchitecture AAA avec les DELTA en plus e e e

Les poids du rseau ` la n e a

Detail des poids ` travers les poques du rseau dana e e ticipation

Detail des poids ` travers les poques du rseau a e e contrleur o

Erreurs danticipation moyennes ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Evolution de la tness ` travers les poques a e

Erreurs danticipation maximales ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Fig. B.9 Essai 5

192

B.5. essai 5

1 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

10 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

100 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 1

Epoque 10

Epoque 100

10001 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

20000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

150000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 10000

Epoque 20000

Epoque 150000

Fig. B.10 Essai 5

193

Annexe B. Les rsultats dtaills avec larchitecture AAA avec les DELTA en plus e e e

B.6

essai 6

194

B.6. essai 6

Les poids du rseau ` la n e a

Detail des poids ` travers les poques du rseau dana e e ticipation

Detail des poids ` travers les poques du rseau a e e contrleur o

Erreurs danticipation moyennes ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Evolution de la tness ` travers les poques a e

Erreurs danticipation maximales ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Fig. B.11 Essai 6

195

Annexe B. Les rsultats dtaills avec larchitecture AAA avec les DELTA en plus e e e

1 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

10 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

200 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 1

Epoque 10

Epoque 200

1000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

10000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

150000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 1000

Epoque 10000

Epoque 150000

Fig. B.12 Essai 6

196

B.7. essai 7

B.7

essai 7

197

Annexe B. Les rsultats dtaills avec larchitecture AAA avec les DELTA en plus e e e

Les poids du rseau ` la n e a

Detail des poids ` travers les poques du rseau dana e e ticipation

Detail des poids ` travers les poques du rseau a e e contrleur o

Erreurs danticipation moyennes ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Evolution de la tness ` travers les poques a e

Erreurs danticipation maximales ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Fig. B.13 Essai 7

198

B.7. essai 7

1 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

10 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

300 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 1

Epoque 10

Epoque 300

10000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

20000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

100000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

Epoque 10000

Epoque 20000

Epoque 100000

Fig. B.14 Essai 7

199

Annexe B. Les rsultats dtaills avec larchitecture AAA avec les DELTA en plus e e e

B.8

essai 8

200

B.8. essai 8

Les poids du rseau ` la n e a

Detail des poids ` travers les poques du rseau dana e e ticipation

Detail des poids ` travers les poques du rseau a e e contrleur o

Erreurs danticipation moyennes ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Evolution de la tness ` travers les poques a e

Erreurs danticipation maximales ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Fig. B.15 Essai 8

201

Annexe B. Les rsultats dtaills avec larchitecture AAA avec les DELTA en plus e e e

1 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

10 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

300 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 1

Epoque 10

Epoque 300

500 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

10000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

150000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 500

Epoque 10000

Epoque 150000

Fig. B.16 Essai 8

202

B.9. essai 9

B.9

essai 9

203

Annexe B. Les rsultats dtaills avec larchitecture AAA avec les DELTA en plus e e e

Les poids du rseau ` la n e a

Detail des poids ` travers les poques du rseau dana e e ticipation

Detail des poids ` travers les poques du rseau a e e contrleur o

Erreurs danticipation moyennes ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Evolution de la tness ` travers les poques a e

Erreurs danticipation maximales ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Fig. B.17 Essai 9

204

B.9. essai 9

1 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

10 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

200 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 1

Epoque 10

Epoque 200

1000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

10000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

100000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

Epoque 1000

Epoque 10000

Epoque 100000

Fig. B.18 Essai 9

205

Annexe B. Les rsultats dtaills avec larchitecture AAA avec les DELTA en plus e e e

B.10

essai 10

206

B.10. essai 10

Les poids du rseau ` la n e a

Detail des poids ` travers les poques du rseau dana e e ticipation

Detail des poids ` travers les poques du rseau a e e contrleur o

Erreurs danticipation moyennes ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Evolution de la tness ` travers les poques a e

Erreurs danticipation maximales ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Fig. B.19 Essai 10

207

Annexe B. Les rsultats dtaills avec larchitecture AAA avec les DELTA en plus e e e

1 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

10 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

200 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 1

Epoque 10

Epoque 200

500 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

1000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

200000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

Epoque 500

Epoque 1000

Epoque 200000

Fig. B.20 Essai 10

208

B.11. essai 11

B.11

essai 11

209

Annexe B. Les rsultats dtaills avec larchitecture AAA avec les DELTA en plus e e e

Les poids du rseau ` la n e a

Detail des poids ` travers les poques du rseau dana e e ticipation

Detail des poids ` travers les poques du rseau a e e contrleur o

Erreurs danticipation moyennes ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Evolution de la tness ` travers les poques a e

Erreurs danticipation maximales ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Fig. B.21 Essai 11

210

B.11. essai 11

1 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

10 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

100 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 1

Epoque 10

Epoque 100

20000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

100000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

200000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

Epoque 20000

Epoque 100000

Epoque 200000

Fig. B.22 Essai 11

211

Annexe B. Les rsultats dtaills avec larchitecture AAA avec les DELTA en plus e e e

B.12

essai 12

212

B.12. essai 12

Les poids du rseau ` la n e a

Detail des poids ` travers les poques du rseau dana e e ticipation

Detail des poids ` travers les poques du rseau a e e contrleur o

Erreurs danticipation moyennes ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Evolution de la tness ` travers les poques a e

Erreurs danticipation maximales ; capteur 0=rouge, 1=vert, 2=bleu, 3=jaune

Fig. B.23 Essai 12

213

Annexe B. Les rsultats dtaills avec larchitecture AAA avec les DELTA en plus e e e

1 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

500 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

1000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

Epoque 1

Epoque 500

Epoque 1000

10000 - AntiDelta - Begin : White - BPStopped : -1 - Current : White

100000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

200000 - AntiDelta - Begin : White - BPStopped : -1 - Current : Black

Epoque 10000

Epoque 100000

Epoque 200000

Fig. B.24 Essai 12

214

Bibliographie
[Angeline et al., 1993] P. J. Angeline, G. M. Saunders, et J. B. Pollack. An evolutionary algorithm that constructs recurrent neural networks. IEEE Transactions on Neural Networks, 5(2) :8691, 1993. [Baldwin, 1896] J. M. Baldwin. A new factor in evolution. In American Naturalist, pages 441451, 1896. [Banzhaf et al., 1998] W. Banzhaf, P. Nordin, R.E. Keller, et F.D. Francone. Genetic Programming An Introduction On the Automatic Evolution of Computer Programs and Its Applications. Morgan Kaufmann, 1998. [Barto et al., 1983] A.G. Barto, R.S. Sutton, et C.W. Anderson. Neuronlike elements that can solve dicult learning control problems. In IEEE Transactions on Systems, Man, and Cybernetics, 13 :835-846. Reprinted in J. A. Anderson and E. Rosenfeld, Neurocomputing : Foundations of Research, MIT Press, Cambridge, MA, 1988., 1983. [Bentley, 1999] P. J. Bentley, editor. Evolutionary Design by Computers. Morgan Kaufman Publishers Inc., 1999. [Blynel et Floreano, 2003] Jexper Blynel et Dario Floreano. Exploring the t-maze : Evolving learning-like robot behaviors using ctrnns. In Applications of Evolutionary Computing, pages 593604. Springer, 2003. [Brooks, 1986] R. A. Brooks. A robust layered control system for a mobile robot. Journal of Robotics and Automation, 2(1) :1423, 1986. [Brooks, 1990] Rodney A. Brooks. Elephants dont play chess. Robotics and Autonomous Systems, 6(1&2) :315, June 1990. [Brooks, 1991] R. A. Brooks. How to build complete creatures rather than isolated cognitive simulators. In Kurt VanLehn, editor, Architectures for Intelligence : The Twentysecond Carnegie Mellon Symposium on Cognition, pages 225239. Lawrence Erlbaum Associates, 1991. [Bck, 1995] T. Bck. Evolutionary Algorithms in Theory and Practice. New-York :Oxford a a University Press, 1995. 215

Bibliographie

[Cramer, 1985] N.J. Cramer. A representation for the adaptive generation of simple sequential programs. In Proceedings of the 1st International Conference on Genetic Algorithms, pages 183187. Laurence Erlbaum Associates, 1985. [Cun, 1987] Y. Le Cun. Mod`les connexionnistes de lapprentissage. PhD thesis, Universit e e Pierre et Marie Curie, Paris VI, 1987. [Darwin, 1859] Charles Darwin. The Origin of Species. 1859. [Dawkins, 1988] R. Dawkins. The blind watchmaker. Norton, W. W. and Company, 1988. [Doncieux, 2003] S. Doncieux. Evolution de contrleurs neuronaux pour animats volants : o mthodologie et applications. PhD thesis, LIP6/AnimatLab, Universit Pierre et Marie e e Curie, Paris, France, 2003. Spcialit Informatique. e e [Dorigo et Bersini, 1994] M. Dorigo et H. Bersini. A comparaison of q-learning and classier systems. pages 248255. Cli et al., 1994. [Eiben et Smith, 2003] A.E. Eiben et J.E. Smith. Introduction to Evolutionary Computing. Springer Verlag, 2003. [Elman, 1990] J.L. Elman. Finding structure in time. Cognitive Science, pages 179211, 1990. [Fadda et Schoenauer, 1995] A. Fadda et M. Schoenauer. Evolutionary chromatographic law identication by recurrent neural nets. In J. R. McDonnell, R. G. Reynolds, et D. B. Fogel, editors, Proceedings of the 4th Annual Conference on Evolutionary Programming, pages 219235. MIT Press, March 1995. [Floreano et Mondada, 1994a] Floreano et Mondada. Automatic creation of an autonomous agent : genetic evolution of a neural-network driven robot. In Cli D., Husbands P., Meyer J., et Wilson S.W., editors, From animals to animats 3. Proceedings of the Third International Conference on Simulation of Adaptive Behavior. The MIT Press/Bradford Books, 1994. [Floreano et Mondada, 1994b] D. Floreano et F. Mondada. Evolution of homing navigation in a real mobile robot. IEEE Transactions on Systems, Man, and Cybernetics, 26 :396407, 1994. [Floreano et Mondada, 1996] D. Floreano et F. Mondada. Evolution of homing navigation in a real mobile robot. IEEE Transactions on Systems, Man, and Cybernetics, pages Part B : Cybernetics, 396407, 1996. [Floreano et Urzelai, 2001] D. Floreano et J. Urzelai. Neural morphogenesis, synaptic plasticity, and evolution. Theory in Biosciences, 120(3-4) :225240, 2001. [Fogel et al., 1966] L. J. Fogel, A. J. Owens, et M. J. Walsh. Articial Intelligence through Simulated Evolution. New York : John Wiley, 1966. 216

[Fogel, 1995] D. B. Fogel. Evolutionary Computation. Toward a New Philosophy of Machine Intelligence. IEEE Press, Piscataway, NJ, 1995. [Godzik et al., 2004] N. Godzik, M. Schoenauer, et M. Sebag. Robustness in the long run : Auto-teaching vs anticipation in evolutionary robotics. In X. Yao et al., editor, Parallel Problem Solving from Nature VIII, pages 932941. LNCS 3242, Springer Verlag, 2004. [Goldberg, 1989] D. E. Goldberg. Genetic Algorithms in Search, Optimization and Machine Learning. Addison Wesley, 1989. [Gruau, 1994] F. Gruau. Neural Network Synthesis using Cellular encoding and the Genetic Algorithm. PhD thesis, Ecole Normale Superieure de Lyon, 1994. [Harvey, 1993] I. Harvey. The Articial Evolution of Adaptive Behaviour. PhD thesis, University of Sussex, 1993. [Hebb, 1949] D. Hebb. The Organisation of Behaviour. John Wiley (New York), 1949. [Holland et Reitman, 1978] J.H. Holland et J.S. Reitman. Cognitive systems based on adaptive algorithms. In Pattern directed inference systems, pages 125149, 1978. [Holland, 1975] J. H. Holland. Adaptation in Natural and Articial Systems. University of Michigan Press, Ann Arbor, 1975. [Hornik et al., 1989] K. Hornik, M. Stinchcombe, et H. White. Multilayer feedforward networks are universal approximators. Neural Networks, pages 359366, 1989. [Jacobi, 1997] N. Jacobi. Half-baked, ad-hoc ans noisy : Minimal simulations for evolutionnary robotics. Fourth European Conference on Articial Life, ECAL, pages 348357, 1997. [Jacobi, 1998] N. Jacobi. Minimal Simulations for Evolutionary Robotics. PhD thesis, University of Sussex, Great Britain, 1998. [Keijzer et al., 2002] M. Keijzer, J. J. Merelo, G. Romero, et M. Schoenauer. Evolving Objects : a general purpose evolutionary computation library. In P. Collet, E. Lutton, M. Schoenauer, C. Fonlupt, et J.-K. Hao, editors, Articial Evolution01, pages 229241. Springer Verlag, LNCS 2310, 2002. URL : http ://eodev.sourceforge.net/. [Klopf, 1972] A. H. Klopf. Brain function and adaptive systemsa heterostatic theory. In Technical Report AFCRL-72-0164, Air Force Cambridge Research Laboratories, Bedford, MA. A summary appears in Proceedings of the International Conference on Systems, Man, and Cybernetics, 1974, IEEE Systems, 1972. [Klopf, 1975] A. H. Klopf. A comparison of natural and articial intelligence, 1975. [Klopf, 1982] A. H. Klopf. The hedonistic neuron : A theory of memory, learning, and intelligence, 1982. 217

Bibliographie

[Kodjabachian et Meyer, 1998] J. Kodjabachian et J.A Meyer. Evolution and development of modular control architectures for 1-d locomotion in six-legged animats. Connection Science, 10 :211237, 1998. [Koza et al., 1999] J. R. Koza et al. Genetic Programming III : Automatic Synthesis of Analog Circuits. MIT Press, Massachussetts, 1999. [Koza, 1992] J. R. Koza. Genetic Programming : On the Programming of Computers by means of Natural Evolution. MIT Press, Massachusetts, 1992. [Koza, 1994] J. R. Koza. Genetic Programming II : Automatic Discovery of Reusable Programs. MIT Press, Massachussetts, 1994. [Lamarck, 1914] J. B. Lamarck. 1914. [Lenat et Guha, 1990] D. Lenat et R. V. Guha. Building large knowledge-based systems : Representation and inference in the cyc project. Addison Wesley Publ. Co., 1990. [Maes, 1989] P. Maes. The dynamics of action selection. In Proceedings of the 11th International Joint Conference on Articial Intelligence, 1989. [McCulloch et Pitts, 1943] W. McCulloch et W. Pitts. A logical calculus of the ideas immanent in nervous activity. Bulletin of Mathematical Biophysics, 5(115), 1943. [Meyer et Guillot, 1991] J.A. Meyer et A. Guillot. Simulation of adaptive behavior in animats : review and prospect. In S. Meyer, J.A. et Wilson, editor, Proc. First Intl Conf. on Simulation of Adaptive Behavior. MIT Press, 1991. [Michie et Chambers, 1968] D. Michie et R. A. Chambers. Boxes : An experiment in adaptive control. In E. Dale et D. Michie, editors, Machine Intelligence 2, pages 137 152. Oliver and Boyd, 1968. [Michie, 1961] D. Michie. Trial and error. pages 129145. Harmondsworth, 1961. [Michie, 1963] D. Michie. Experiments on the mechanisation of game learning. characterization of the model and its parameters., 1963. [Minsky et Papert, 1969] Marvin L. Minsky et Seymour A. Papert. Perceptrons. MIT Press, 1969. [Mondada et Floreano, 1995] F. Mondada et D. Floreano. Evolution of neural control structures : Some experiments on mobile robots. Robotics and Autonomous Systems, 16 :183195, 1995. [Munos et Moore, 1999] R. Munos et A. Moore. Variable resolution discretization for high-accuracy solutions of optimal control problems. In Proc. IJCAI99, 1999. [Munos, 2000] R. Munos. A study of reinforcement learning in the continuous case by the means of viscosity solutions. Machine Learning Journal, 40 :265299, 2000. 218

[Nguyen et Widrow, 1990] D. Nguyen et B. Widrow. Neural networks for control, chapitre The truck backer-upper : an example of self-learning in Neural Networks, pages 287300. MIT Press, 1990. [Nol et al., 1994a] S. Nol, J.L. Elman, et D. Parisi. Learning and evolution in neural networks. Adaptive Behavior, 3(1) :528, 1994. [Nol et al., 1994b] S. Nol, D. Floreano, O. Miglino, et F. Mondada. How to evolve autonomous robots : Dierent approaches in evolutionary robotics. In R. Brooks et P. Maes, editors, Articial Life IV, pages 190197. MIT Press/Bradford Books, 1994. [Nol et Floreano, 2000] S. Nol et D. Floreano. Evolutionary Robotics, The Biology, Ingelligence, and Technologie of Self-Organizing Machines. MIT Press, 2000. [Nol et Parisi, 1993] S. Nol et D. Parisi. Auto-teaching : networks that develop their own teaching input. In J. Deneubourg, H. Bersini, S. Goss, G. Nicolis, et R. Dagonnier, editors, Proc. Second European Conference on Articial Life, 1993. [Nol et Parisi, 1997] S. Nol et D. Parisi. Learning to adapt to changing environments in evolving neural networks. Adaptive Behavior, 5(1) :7598, 1997. [ORegan et No, 2001] J. Kevin ORegan et Alva No. A sensorimotor account of vision e e and visual consciousness. Behavioral and Brain Sciences, 24(5), 2001. [Pavlov, 1927] Pavlov. Conditionned reexes. Oxford University Press, 1927. [Rechenberg, 1972] I. Rechenberg. Evolutionstrategie : Optimierung Technisher Systeme nach Prinzipien des Biologischen Evolution. Fromman-Hozlboog Verlag, Stuttgart, 1972. [Ronald et Schoenauer, 1994] E. Ronald et M. Schoenauer. Genetic lunar lander : an experiment in accurate neuro-control. In Y. Davidor, H.-P. Schwefel, et R. Manner, editors, Proceedings of the 3rd Conference on Parallel Problems Solving from Nature, pages 452461. Springer-Verlag, LNCS 866, 1994. [Rosen, 1985] R. Rosen. Anticipatory systems. Pergamon Press, 1985. [Rumelhart et al., 1986] Rumelhart, Hinton, et Williams. Learning internal representations by error propagation. In Parallel distributed processing - Explorations in the microstructure of cognition, pages 318362. MIT Press, 1986. [Rumelhart et McClelland, 1986] D.E. Rumelhart et J.L. McClelland. Parallel Distributed Processing. MIT Press, 1986. [Schwefel, 1981] H.-P. Schwefel. Numerical Optimization of Computer Models. John Wiley & Sons, New-York, 1981. 1995 2nd edition. [Searle, 1980] J. Searle. Minds, brains, and programs. Behavorial and Brain Sciences, pages 417424, 1980. 219

Bibliographie

[Sims, 1994] K. Sims. Evolving virtual creatures. In SIGGRAPH94 Proceedings, pages 1522. Computer Graphics, Annual Conference Series, July 1994. [Skinner, 1948] B.F. Skinner. superstition in the pigeon. 1948. [Smith, 1980] S. F. Smith. A learning system based on genetic adaptive algorithms. PhD thesis, University of Pittsburgh, 1980. [Stanley et Miikkulainen, 2002] K. O. Stanley et R. Miikkulainen. Evolving neural networks through augmenting topologies. Evolutionary Computation, 10(2) :99127, 2002. [Stolzmann, 1998] W. Stolzmann. Anticipatory classier systems. 1998. [Surry et Radclie, 1996] P.D. Surry et N.J. Radclie. Inoculation to initialize evolutionary search. In Evolutionary Computing : AISB workshop, number 1141 in LNCS, pages 269285. Springer Verlag, 1996. [Sutton et Barto, 1998] R.S. Sutton et A. G. Barto. Reinforcement learning. MIT Press, 1998. [Sutton, 1984] R. S. Sutton. Temporal Credit Assignment in Reinforcement Learning. PhD thesis, University of Massachusetts, 1984. [S.W.Wilson, 1995] S.W.Wilson. Classier tness based on accuracy. Evolutionary Computation, 3(2) :149175, 1995. [Tani et Kukumura, 94] J. Tani et N. Kukumura. Learning goal-directed sensory-based navigation of a mobile robot. Neural Networks : The Ocial Journal of the International Neural Networks Society, 7(3) :553564, 94. [Tesauro et Sejnowski, 1987] G. Tesauro et T.J. Sejnowski. A neural network that learns to play backgammon. In NIPS, pages 794803, 1987. [Tuci et al., 2002] E. Tuci, I. Harvey, et M. Quinn. Evolving integrated controllers for autonomous learning robots using dynamic neural networks. In B. Hallam et al., editor, Proc. of SAB02. MIT Press, 2002. [Vapnik, 1998] V. N. Vapnik. Statistical Learning Theory. Wiley, 1998. [W. T. Miller et al., 1990] III W. T. Miller, R. S. Sutton, et P. J. Werbos, editors. Neural networks for control. MIT Press, 1990. [Watkins, 1989] C. J. Watkins. Learning from Delayed Rewards. PhD thesis, Cambridge University, 1989. [Wilson, 2000] S. W. Wilson. Get real ! xcs with continuous-valued inputs. In P. L. Lanzi, W. Stolzmann, et S. W. Wilson, editors, Learning Classier Systems : From Foundations to Applications, number 1813 in LNAI, pages 209220. Springer Verlag, 2000. [Yamauchi et Beer, 1994] B.M. Yamauchi et R.D. Beer. Integrating reactive, sequential, and learning behavior using dynamical neural network. In D. Cli et al., editor, Proc. SAB94. MIT Press, 1994. 220

[Yao et Liu, 1997] X. Yao et Y. Liu. A new evolutionary system for evolving articial neural networks. IEEE Transactions on Neural Networks, 8(3) :694713, 1997. [Yao, 1999] X. Yao. Evolving articial neural networks. Proceedings of the IEEE, 87(9) :14231447, 1999.

221

S-ar putea să vă placă și