Université de CERGY-PONTOISE Universitatea Politehnica TIMISOARA Apprendre par imitation: une nouvelle voie d’apprentissage pour les robots autonomes THESE présentée et soutenue publiquement le 19 decembre 2000 pour l’obtention du Titre de DOCTEUR EN SCIENCES TRAITEMENT DE L’IMAGE ET DU SIGNAL par Sorin MOGA Composition du jury Rapporteurs : Frederic Alexandre, Directeur de Recherche à l’INRIA. Raja Chatila, Directeur de Recherche au CNRS. Examinateurs : Monica Borda, Professeur à l’Université Tehnica de Cluj Jean-Pierre Cocquerez, Professeur à l’Université de Campiegne Jaqueline Nadel, Directeur de Recherche au CNRS Gregor Schöner, Directeur de Recherche au CNRS Directeur cotutelle : Ioan Nafornita, Professeur à l’Université Politehnica de Timisoara Directeur : Philippe Gaussier, Professeur à l’Université de Cergy-Pontoise Je dédie cette thèse à Mihaela, à mes parents. Dedic aceasta teza Mihaelei, parintilor mei. Remerciements Je tiens tout d’abord à exprimer mes sincères remerciements à Philippe Gaussier qui a assure l’encadrement de ma thèse. Je le remercie pour la confiance accordé et la patience avec laquelle il a suivi de très près mes tâtonnements et mes hésitations pendant ces années de thèse. Je tiens vivement à remercier Jean-Pierre COCQUEREZ qui a eu la double responsabilité de m’accueillir en tant que directeur au sein du laboratoire ETIS et de présider mon jury de thèse. Je remercie les membres du jury pour le temps consacré à l’évaluation de mes travaux, en particulier Raja Chatila et Frederic Alexandre pour avoir accepté les fonctions de rapporteur d’un si gros manuscrit. Je remercie aussi Gregor Schöner, Jacqueline Nadel pour l’intérêt qu’ils ont porté à mon travail et pour leurs disponibilité lors de nos discussions extrêmement enrichissantes pour moi. Je remercie M. Ioan Nafornita d’avoir rendu possible cette thèse en cotutelle. Je remercie aussi Mme Monica Borda d ’avoir accepté d’assister à ma soutenance bien que la langue française ne soit pas sa langue maternelle. Je tiens particulièrement à remercier M. Jean-Paul BANQUET, pour les discussions stimulantes que nous avons eu, car c’est grâce à ses connaissances en neurobiologie que nous avons pu développer notre mécanisme de prédiction. Et puis, je tiens à remercier mes amies, mes amis, mes proches, mes copains, mes collègues qui m’ont donné du temps, de l’écoute et du soutien à tous les moments opportuns et qui ont réussi à supporter mon humeur roumaine. Résumé L’objectif de la thèse est de concevoir une architecture neuronale permettant à un robot autonome d’apprendre par imitation. Cet objectif s’inscrit dans une problématique plus générale de l’intelligence artificielle : l’apprentissage autonome. Le manuscrit présente des travaux qui ont avancés en parallèle sur 4 axes de recherches afin d’obtenir une architecture implanté sous un robot de type KOALA. Un premier axe de travail consistait dans l’évaluation des apports possibles des interactions sociales entre robots autonomes ou entre les robots et les humains avec un accent mis sur l’étude et la modélisation des mécanismes d’imitation. Pour réussir une telle expérience, il est indispensable de disposer d’un cadre théorique pour les processus d’imitation (construit à partir des données neurobiologiques et éthologiques). Nous allons montrer qu’une capacité d’imitation (la proto-imitation) est une capacité émergente d’un système simple. Un deuxième axe de travail est l’apprentissage de séquences. Nous allons présenter une architecture neuronale permettant l’apprentissage en temps réel d’une séquence (enchaı̂nement des actions et la durée entre les actions) des mouvements d’un robot mobile. L’architecture permet la prédiction des actions ce qui nous permet de disposer d’un détecteur de nouveauté puissant. Le troisième axe, est l’étude de la vision comme source principale d’information dans un système robotique. Le point de départ est le développement d’une architecture permettant la détection et la segmentation des objets en mouvement en utilisant le flot optique. Par la suite, nous allons présenter l’importance des mécanismes dynamiques dans la perception mais aussi dans la prise de décision en étudiant les champs dynamiques. Enfin, l’implantation d’un mécanisme de reconnaissance de formes visuelles nous a permis d’étudier l’aspect forme de la vision. Le quatrième axe, moins visible mais tout aussi important, est l’étude de l’architecture robotique. Implanter des architectures pour un robot autonome a soulevé plusieurs aspects qui ne peuvent pas être relevés au cours des simulations (plus de 90% des expériences ont été réalisées en temps réel). Les contraintes de temps réel nous ont amenées à étudier la parallélisation des tâches. Le choix des champs dynamiques pour coder les ordres moteurs s’est avéré très judicieux car ses propriétés mathématiques garantissent la possibilité de fusionner le résultat de processus de calculs non synchronises. Nu-ţi fie frică de ridicol ; dacă simţi ce spui, dacă te pui pe tine curat ı̂n cuvinte, n-ai cum să fii ridicol. Fă-l pe cel de lı̂ngă tine să simtă ce simţi – dinăuntrul lui. Din afară poţi convinge, şi poţi ı̂nţelege lucrurile, dar fară să le simţi. Lucrurile pe care nu le simţi se uită, sau te poţi obişnui pı̂nă la urmă cu ele, ceea ce e şi mai rău. Ce pleacă din tine nu se poate uita, şi nu te ı̂nşală, şi atunci nu se poate ı̂ntoarce niciodată ı̂mpotriva ta ; dar pentru asta trebuie să fii foarte curat cu tine, şi asta iar e greu. Ca un zbor cu motorul defect. Doru Davidovici – Ridică-te şi mergi! N’ai pas peur d’être ridicule ; si ce que tu dis, tu le sens dans ton coeur, si tu transposes ta pureté dans des mots, il n’y a aucun moyen de te sentir ridicule. Essaye de faire sentir à celui en face de toi ce que tu ressens, et qu’il le sente vraiment de son propre être. Vu de l’extérieur, on peut convaincre et on peut comprendre les choses, mais sans les sentir vraiment. Les choses qu’on ne ressent pas s’oublient ou bien on peut s’y habituer à un moment donné, ce qui est pire. Ce qui surgit du plus profond de toi-même ne peut pas s’oublier et ne peut pas te décevoir, et donc ne se retournera jamais contre toi ; mais pour cela il faut que tu soit pur avec toi même et ceci n’est pas facile. Ce serait comme un vol avec le moteur en panne. Doru Davidovici – Leve-toi et marche! Sommaire 1 Introduction 15 2 Introduction aux mécanismes d’imitation 2.1 Différentes approches de l’imitation . . . . . . 2.1.1 L’approche développementale . . . . . 2.1.2 L’approche primatologiste . . . . . . . 2.1.3 L’approche neurobiologique . . . . . . 2.2 Techniques d’imitation . . . . . . . . . . . . . 2.2.1 Stimulus enhancement . . . . . . . . . 2.2.2 L’émulation . . . . . . . . . . . . . . . 2.2.3 L’imitation . . . . . . . . . . . . . . . 2.2.4 La réponse facilité . . . . . . . . . . . 2.2.5 L’imitation au niveau du programme . 2.3 Les mécanismes d’imitation en robotique . . . 2.4 Cadre de notre processus de ”proto-imitation” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 20 21 23 25 27 27 27 28 28 29 30 34 3 Réseaux de neurones et systèmes dynamiques 3.1 Du neurone réel à son modèle . . . . . . . . . . . . 3.1.1 Modéliser les potentiels d’action ? . . . . . . 3.1.2 Le neurone artificiel . . . . . . . . . . . . . . 3.1.3 Apprentissage associatif et conditionnement 3.2 Données neurobiologiques et anatomiques . . . . . . 3.2.1 Vision d’ensemble de l’anatomie du cerveau 3.2.2 Données neurobiologiques sur la vision . . . 3.2.2.1 La rétine . . . . . . . . . . . . . . 3.2.2.2 Le corps génicullé latéral . . . . . . 3.2.2.3 Le cortex visuel . . . . . . . . . . . 3.2.3 Le cortex limbique et l’hippocampe . . . . . 3.3 Modèles de réseaux de neurones . . . . . . . . . . . 3.3.1 Winner Take All (WTA) . . . . . . . . . . . 3.3.2 Le réseaux ART . . . . . . . . . . . . . . . . 3.3.3 Les cartes topologiques auto-adaptatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 40 42 43 45 48 48 51 51 53 54 57 61 61 62 65 11 . . . . . . . . . . . . . . . . . . . . . . . . 3.3.4 3.4 3.5 La carte topologique probabiliste (Probabilistic Topological Map - PTM) . . . . . . . . . . . . . . . 3.3.5 L’architecture PerAc . . . . . . . . . . . . . . . . . . . . . . . . . Les systèmes dynamiques . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1 Introduction aux systèmes dynamiques . . . . . . . . . . . . . . . 3.4.1.1 Les attracteurs stables (leur position n’évolue pas au cours du temps) . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1.2 Les attracteurs mobiles (leur position évolue au cours du temps) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.2 Les champs neuronaux . . . . . . . . . . . . . . . . . . . . . . . . 3.4.2.1 Les propriétés mathématiques du modèle d’Amari . . . . 3.4.2.2 Importance des champs neuronaux . . . . . . . . . . . . 3.4.3 Applications robotiques des champs neuronaux . . . . . . . . . . 3.4.3.1 L’intégration d’un champ neuronal dans une application de suivi . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.3.2 Résultats expérimentaux . . . . . . . . . . . . . . . . . . Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 71 73 73 . 74 . . . . . 75 75 77 79 79 . 82 . 85 . 90 4 Perception du mouvement et flot optique 4.1 Principe et formalisation du flot optique . . . . . . . . . . . . . . . . . . 4.2 Méthodes pour l’extraction du flot optique . . . . . . . . . . . . . . . . . 4.2.1 Méthode empirique - la différence entre images . . . . . . . . . . . 4.2.2 Le modèle de Reichardt . . . . . . . . . . . . . . . . . . . . . . . 4.2.3 Les méthodes de mise en correspondance . . . . . . . . . . . . . . 4.2.3.1 Implantation de certaines variantes de la méthode de mise en correspondance . . . . . . . . . . . . . . . . . . . . . 4.2.4 Techniques différentielles . . . . . . . . . . . . . . . . . . . . . . . 4.2.5 Techniques énergétiques . . . . . . . . . . . . . . . . . . . . . . . 4.2.6 Estimation de la composante de rotation du flot optique . . . . . 4.3 Du problème de suivi à la perception de mouvements par transparence . 4.3.1 Expérience psychovisuelle . . . . . . . . . . . . . . . . . . . . . . 4.3.1.1 Méthode . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.1.2 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.1.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.2 Un modèle neuronal pour la perception du mouvement . . . . . . 4.3.2.1 Architecture et équations . . . . . . . . . . . . . . . . . 4.3.2.2 Étude de la stabilité . . . . . . . . . . . . . . . . . . . . 4.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 92 95 95 98 99 . . . . . . . . . . . . . 101 104 106 110 114 116 116 117 118 118 119 122 126 5 Apprentissage de séquences temporelles 5.1 Modèles pour l’apprentissage de séquences temporelles . . . . . . . . . . 5.1.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.2 Modélisation mathématique d’une séquence temporelle . . . . . . 129 . 130 . 130 . 132 5.1.3 5.2 5.3 5.4 Les modèles utilisés dans l’audition . . . . . . . . . . . . 5.1.3.1 Les modèles d’horloges internes . . . . . . . . . 5.1.3.2 Le modèle de la perception du rythme . . . . . 5.1.4 Les modèles d’inspiration neurobiologiques . . . . . . . . 5.1.4.1 Le modèle de Reiss et Taylor . . . . . . . . . . 5.1.4.2 Le modèle de Grossberg, Schmajuk et Merrill . 5.1.4.3 Le modèle de Levy . . . . . . . . . . . . . . . . Proposition d’un modèle pour l’apprentissage du timing . . . . . 5.2.1 Description du modèle . . . . . . . . . . . . . . . . . . . 5.2.2 Analyse mathématique des conditions de prédiction . . . Simulations du modèle . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 Considérations sur la base de cellules à réponses retardés 5.3.2 Apprentissage de la “forme” d’une entrée analogique . . 5.3.3 Apprentissage de séquences simples . . . . . . . . . . . . Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Une architecture minimale pour l’apprentissage par imitation 6.1 Architecture pour apprendre l’aspect temporel d’une trajectoire . . 6.1.1 Mécanisme de poursuite réflexe . . . . . . . . . . . . . . . . 6.1.1.1 Limitations du mécanisme de suivi simple . . . . . 6.1.1.2 Filtrage actif pour la segmentation du mouvement 6.1.2 Exemple d’apprentissage d’une séquence . . . . . . . . . . . 6.2 Apprendre à reconnaı̂tre le “professeur” . . . . . . . . . . . . . . . . 6.2.1 Mécanisme de focalisation de l’attention . . . . . . . . . . . 6.2.2 Mécanisme d’apprentissage de vue locales . . . . . . . . . . 6.2.3 Intégration des architectures . . . . . . . . . . . . . . . . . . 6.2.4 Parallélisation de l’architecture . . . . . . . . . . . . . . . . 6.2.5 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 133 134 135 135 138 139 142 142 145 149 149 154 156 160 . . . . . . . . . . . . 161 . 164 . 164 . 167 . 169 . 173 . 178 . 178 . 181 . 183 . 185 . 188 . 192 7 Conclusions et Perspectives 193 7.1 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 7.2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 A Description du robot KOALA 199 B PVM B.1 Introduction . . . . . . . . . B.2 Designing NN architectures B.3 Running NN architectures . B.4 Results and discussions . . . 203 . 203 . 204 . 206 . 208 C Liste de publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Chapitre 1 Introduction Precision is not truth. Anonymous Depuis plus d’une quarantaine d’années déjà, les chercheurs en Intelligence Artificielle (IA) et en robotique essaient de créer des systèmes capables d’apprendre par eux mêmes. Le bilan de ces travaux est très contrasté. Un grand nombre d’algorithmes ayant recourt à l’analyse combinatoire et à l’optimisation ont vu le jour. Dans la plupart des cas, apprendre à résoudre un problème donné revient à adapter un certain nombre de paramètres de manière à optimiser la fonction associée au comportement désiré. La difficulté réside alors dans la caractérisation de la fonction d’évaluation et dans le choix du modèle à optimiser. Pour un problème bien posé, les résultats de ces techniques sont impressionnants et dépassent largement ce qu’un humain est capable de faire (jouer aux échecs par exemple). Malheureusement, dans le cas d’un système laissé à lui même dans un environnement a priori inconnu, un double problème apparaı̂t : il faut à la fois identifier les nouvelles situations en tant que telles (créer ou gérer de nouvelles variables) et gérer l’explosion combinatoire des associations entre situations et actions possibles sachant que le signal de renforcement peut ne parvenir que longtemps après l’exécution des actions. Cette thèse s’inscrit, donc, dans le cadre de la recherche de nouvelles voies pour la conception de systèmes capables d’apprendre de manière autonome. Les techniques d’apprentissage par renforcement permettant à un robot de “découvrir” par lui même la solution à un problème donné ne pouvant être utilisées seules, le cadre de l’apprentissage par imitation s’impose. En effet, même s’il est possible d’apprendre à un robot un jeu arbitraire d’associations sensori-motrices [159], il n’est pas imaginable d’utiliser ce type de technique pour apprendre un comportement très élaboré, comme manipuler un outil, créer une structure complexe... (le temps d’exploration de l’ensemble des actions possibles deviendrait très rapidement prohibitif et le risque de réaliser une action fatale très grand!). De plus, nous verrons qu’étudier les mécanismes d’imitation sur des robots réels (et non réduits à l’état de jouets) impose de s’intéresser à l’imitation, non pas comme un processus cognitif particulier, mais comme le résultat d’un système dynamique 15 Introduction comprenant des aspects de perception, d’action et de raisonnement. Dans notre travail, nous insisterons sur le fait que certains modèles de perception et de commande motrice sont plus facile à intégrer dans une architecture d’apprentissage par imitation que d’autres. Sur le versant perception, la vision aura une place toute particulière car elle est l’une des sources d’information principale pour connaı̂tre à distance ce que “l’autre” est en train de faire. Sur le versant moteur, nous montrerons que l’utilisation de champs neuronaux dynamiques1 simplifie très grandement les problèmes de contrôle et de prise de décision dynamique. Pour résumer, notre discussion s’articulera autour des notions suivantes : l’imitation, la vision, la prédiction de séquences, la modélisation neurobiologique, la reconnaissance de formes et les architectures parallèles; le tout étant chapeauté par le contexte des applications en robotique mobile. Nous serons amenés à intégrer la notion de dynamique à tous les niveaux de conception de la boucle Perception-Action : dynamique des processus perceptifs (la vision), dynamique des processus moteurs (les champs neuronaux) et une dynamique globale du système (apprentissage de séquences). Le plan de la thèse est le suivant : Le chapitre 2 est consacré à une introduction aux mécanismes d’imitation. Les différentes approches développées depuis plus d’un siècle par les développementalistes, les psychologues, les primatologues et plus récemment les neurobiologistes, seront présentées. Les techniques d’apprentissage par imitation développées en robotique seront aussi étudiées dans ce chapitre. Nous verrons que, malgré l’enjeu scientifique et technique que représente l’apprentissage par imitation (applications à la robotique personnelle, enseignement plutôt que programmation de robots très complexes tels que les nouveaux robots humanoı̈des...), très peu de projets l’utilise en robotique d’une manière satisfaisante. En effet, la plupart des techniques actuelles présupposent le problème de l’identification de l’agent à imiter comme déjà résolu (câblé par les concepteurs du système). Elles supposent aussi que le processus d’imitation se limite à une copie d’un professeur parfait dont le répertoire comportemental est parfaitement connu. Imiter revient ainsi à une sorte de “copier coller” robotique dans lequel le “symbol grounding problem” est ignoré [91, 92]. A l’opposé de ces techniques, nous proposerons une architecture permettant de réaliser des “proto-imitations” à partir d’un système n’ayant aucune notion de l’existence d’un autre système que lui même. Le “bootstrap” de l’imitation sera le résultat d’un effet de bord d’une architecture conçue au départ pour permettre au robot de garder un état d’homéostasie. Nous essayerons de montrer que l’ambiguı̈té de la perception, bien loin d’être une limitation, peut être utilisée de manière constructive pour concevoir une architecture de contrôle évoluée. Dans tout notre travail, l’importance du corps par rapport aux processus cognitifs sera omniprésente (“embodiement” [55, 145, 144]). Les mécanismes de cognition n’auront de sens que situés dans un univers physique particulier. 1 Les champs neuronaux dynamiques sont aussi très utiles pour résoudre les problèmes et les ambiguı̈tés liés à la perception. - 16 - Chapitre 1 Figure 1-1. Exemple de robots pour lesquels l’apprentissage par imitation deviendra une nécessité. a) Robot personnel de Sony qui devrait être utilisable par des non informaticiens. b) Robot humanoı̈de de Honda. Si son utilisation en téléopération peut se faire sans trop de problèmes (dispositifs de réalité virtuelle), la programmation de ce robot pour la réalisation de tâches complexes paraı̂t très délicate. Dans les 2 cas, il serait bien plus pratique de développer une architecture de contrôle permettant au robot de s’adapter et d’acquérir par lui même des comportements particuliers plutôt que de devoir les programmer de manière ad hoc. Le chapitre 3 s’intéressera à la présentation des “briques de base” utilisées pour le développement de notre architecture. Après une brève présentation des notions élémentaires en neurobiologie, nous présenterons les modèles de réseaux de neurones artificiels (RN) nécessaires à la compréhension de l’exposé. Du fait de l’incapacité des modèles de RNs classiques à intégrer correctement des informations temporelles et spatiales, nous serons amenés à introduire de notions de base sur les systèmes dynamiques. L’intérêt d’une approche dynamique des réseaux de neurones sera illustrée à partir d’exemples simples de poursuite de cibles que nous réutiliserons par la suite dans l’architecture globale de notre système (stabilité de la prise de décision, fusion d’informations multimodales et non synchronisées...). Afin de percevoir à distance les effets d’une action, nous serons amenés à nous intéresser, dans le chapitre 4, aux algorithmes permettant de détecter des mouvements dans une image et d’estimer des flots optiques. Les grandes familles d’algorithmes seront présentées et les algorithmes les plus adaptés à des applications robotiques seront illustrés par des tests sur nos robots. Ensuite, nous proposerons un modèle de RN très simple permettant d’estimer la composante de rotation du mouvement propre du robot. Ce RN sera utilisé pour constituer un mécanisme d’asservissement visuel dont un effet de bord résidera dans la possibilité de l’utiliser comme mécanisme de suivi réflexe. La dernière partie de ce chapitre abordera le problème de l’extraction des mouvements dans la scène - 17 - Introduction lorsque le robot est lui même en mouvement. En effet, s’il faut suivre un professeur pour l’imiter, alors le flot perçu contiendra des informations liées au mouvement propre, superposées à des informations liées au mouvement du professeur, rendant une utilisation directe du flot optique très délicate (notamment lorsque la composante de rotation du mouvement propre du robot est grande). Pour comprendre comment notre cerveau résout ce problème, nous avons réalisé une expérience de psychophysique montrant que le cerveau a une capacité limitée à la perception d’au plus 3 ou 4 flots superposés (mouvements par transparence). Un modèle dynamique rendant compte de ces propriétés sera présenté et illustré par des simulations. Les simulations montrent que le modèle pourrait être utilisé dans de versions futures de notre système lorsque les problèmes de puissance de calcul seront devenus moins aigus. L’objectif du cinquième chapitre est de présenter une architecture neuronale d’inspiration neurobiologique qui permette l’apprentissage de séquences temporelles. Dans un premier temps, nous présenterons une vue d’ensemble des modèles d’apprentissage de séquences en remarquant la grande diversité de ces modèles : mathématiques, d’inspiration neurobiologique, de psychologie auditive, ... Ensuite, nous proposerons un modèle neuronal permettant l’apprentissage en un coup de séquences temporelles et de leur timing. Ce RN est inspiré de modèles du cervelet et de l’hippocampe sur lesquels nous avons par ailleurs travaillé. L’analyse des performances de notre modèle sera étudiée théoriquement, puis, sur des exemples des séquences réelles. Nous nous attacherons plus particulièrement à étudier sous quelles conditions notre réseau est capable de prédire l’arrivée d’un stimulus particulier. Il s’agit d’une caractéristique importante pour reproduire correctement une séquence mais aussi pour détecter de la nouveauté ou fabriquer un signal de renforcement implicite. Le chapitre 6 est consacré à l’intégration de tous les mécanismes déjà présentés : protoimitation, perception du mouvement, apprentissage de séquences, champs neuronaux et à l’intégration d’un mécanisme permettant d’apprendre à reconnaı̂tre l’image du professeur par le biais même du processus d’imitation. Dans la première partie du chapitre, les résultats obtenus pour l’apprentissage par imitation de séquences de mouvements de type “pas de danse”, seront présentés. La deuxième partie sera consacrée au développement du mécanisme de reconnaissance de formes. Pour finir, nous montrerons que grâce à l’utilisation de champs neuronaux dynamiques pour la représentation des actions motrices, les trois niveaux (proto-imitation, apprentissage de séquences, reconnaissance de formes) peuvent fonctionner en parallèle et de manière coordonnée sans nécessiter l’introduction d’un mécanisme de synchronisation explicite. L’implémentation parallèle utilisant la librairie PVM (Parallel Virtual Machine) sera aussi décrite. La conclusion reprendra les principaux résultats obtenus, mettra en évidence les points qu’il faudrait encore améliorer et proposera des perspectives permettant de rendre nos robots toujours plus autonomes dans leurs capacités d’apprentissage. - 18 - Chapitre 2 Introduction aux mécanismes d’imitation Par trois méthodes nous pouvons apprendre la sagesse : d’abord, par la réflexion qui est la plus noble; en second lieu, par l’imitation, qui est la plus facile; et troisièmement, par l’expérience, qui est la plus amère. D’après Confucius [115] Dans la culture occidentale, l’imitation a souvent une connotation négative. Les idées de Platon [149], selon lesquelles l’imitation contient un aspect dangereux pour l’identité individuelle (ou même le fait que l’imitation d’autrui détruit l’intelligence) peuvent se retrouver de nos jours, quand le manque d’initiative est souvent associé à l’imitation (“inovate, don’t imitate”) et quand “singer” a une connotation péjorative. Pourtant, les nombreuses études [146, 116, 193], notamment en psychologie, montrent que l’imitation est présente dès le début de notre vie et accompagne notre enfance. Afin de tenter d’éclaircir nos idées, nous présenterons dans ce chapitre quelques notions sur l’imitation. Dans un premier temps, nous survolerons les différentes approches de l’imitation qui, depuis plus d’un siècle, ont été dévoilées par les développementalistes, les primatologues, les psychologues et dernièrement par les neurobiologistes et les roboticiens. Nous continuerons avec la présentation de quelques techniques d’apprentissage par imitation. Les techniques présentées nous permettront d’avoir un aperçu général sur l’apprentissage par imitation et d’envisager leurs utilisations en robotique. Ensuite, nous présenterons les mécanismes d’imitation en robotique. Enfin, nous présenterons le cadre de notre approche de l’imitation, ce qui permettra de nous situer parmi les autres approches, de poser les questions auxquelles nous tenterons de répondre dans le manuscrit et de présenter et justifier le schéma global de l’architecture que nous développerons par la suite. 19 Section 2.1 2.1 Différentes approches de l’imitation Différentes approches de l’imitation Les premières études sur l’imitation ont été réalisées par les psychologues développementalistes à la fin du 19ème siècle [183]. Mais l’imitation est de plus en plus étudiée dans d’autres disciplines scientifiques : la primatologie, la philosophie, la neurobiologie, la robotique tant et si bien qu’elle se trouve au coeur des sciences cognitives. Le fait que l’imitation est une manifestation de “l’intelligence” semble être communément accepté par la plupart des approches de l’imitation. Cependant, nous ne proposerons pas d’introduire ici une définition de l’intelligence, ni d’orienter la discussion vers ce domaine. Nous utiliserons donc la notion d’intelligence dans son acceptation la plus large. Pour des raisons diverses (formation scientifique, religion, histoire, ...) les chercheurs ont des opinions très différentes sur le fait que l’imitation soit ou non un attribut exclusif de l’espèce humaine (des études récentes [205, 125] montrent l’existence de ce mécanisme même chez les nouveau-nés). L’acceptation de l’imitation comme critère de l’intelligence dans les sciences cognitives est aussi due aux nombreux arguments qui suggèrent que les espèces non-humaines soient incapables d’apprendre par imitation des actions qu’elles voient. En revanche, plusieurs espèces utilisent des mécanismes astucieux, ressemblant à l’imitation, pour simuler des capacités intellectuelles qui leur font défaut. Les définitions de l’imitation sont très nombreuses, mais il n’en existe pas une qui soit unanimement acceptée. Parmi toutes les définitions, nous présentons d’abord celle de Thorndike [183] qui définit l’imitation comme “apprendre à faire un acte en regardant quelqu’un le faire”. Nous observons tout de suite l’aspect visuel de la définition. Cependant, si nous nous intéressons au cas du chant des oiseaux par exemple, nous nous rendrons compte qu’une définition complète de l’imitation doit aussi prendre en compte un aspect polysensoriel. Une autre définition est celle de Bandura [195], qui définit l’imitation comme une technique d’apprentissage sans récompense (sans renforcement). Parmi toutes les définitions, nous retiendrons celle de Whiten [197], qui peut s’exprimer ainsi : “L’imitation est le processus par lequel l’imitateur apprend quelques caractéristiques du comportement du modèle.” Le processus d’apprentissage par imitation suppose toujours l’existence d’un “élève” et d’un ou plusieurs “professeurs”. Le professeur, que nous appellerons aussi le modèle, la copie ou l’imité est celui qui a le comportement qui doit être imité ou copié. L’élève ou l’imitateur est celui qui essaie d’apprendre quelques caractéristiques du comportement du modèle. Dans le cas de l’imitation humaine, nous utilisons souvent la notation professeur/élève (mais un professeur n’est pas un bon modèle, il peut enseigner des mauvais comportements) tandis que pour les animaux (primates, oiseaux) nous utilisons la notation modèle/imitateur. Dans un premier temps, il faut faire la différence entre la proto-imitation et la “vraie” imitation. La proto-imitation regroupe des mécanismes simples (voir section 2.2) que nous trouvons chez les primates et qui donnent à un observateur extérieur l’impression de voir un apprentissage par imitation. Cependant, dans la définition de l’imitation - 20 - Chapitre 2 Introduction aux mécanismes d’imitation chez les primates, nous pouvons nous poser la question de la signification de la tâche pour l’animal. La “vraie” imitation est associée à l’imitation différée, qui est la capacité d’imiter le comportement du modèle après un délai, et surtout, en l’absence de celuici. Elle est surtout liée à la capacité de prêter des intentions à l’autre et elle est donc aussi liée à la notion d’agentivité [17]. Il est clair que de telles considérations sont pour l’instant inaccessibles à une approche de modélisation ascendante des processus cognitifs. Nous laisserons donc plus ou moins de coté la vraie imitation pour nous intéresser aux prémisses. 2.1.1 L’approche développementale Une des premières théories sur l’imitation, proposée par Baldwin [12] au début de siècle, fait le lien entre l’évolution darwiniste et l’imitation. Si on considère l’imitation en tant que mécanisme d’adaptation individuelle, elle peut permettre à des individus dont certains instincts ne sont pas “performants” à la naissance, d’améliorer leur performances et donc de leur assurer la survie. En même temps, l’imitation permet la diffusion dans une population des variations adaptatives survenues chez un petit nombre de membres de la population. Ce point de vue a été repris par Donald [58] qui suggère que l’imitation a été le principal mécanisme de transmission culturel chez l’Homo erectus pendant plusieurs millions d’années, jusqu’à l’utilisation du langage. L’approche développementale dans l’étude de l’imitation a été largement traitée par le psychologue Jean Piaget qui a consacré plusieurs ouvrages au développement de l’enfant. Dans ses travaux sur le développement de l’intelligence chez l’enfant [146], il stipule que celle-ci dérive en partie de l’imitation. Plus tard, Piaget [147] s’intéresse plus intimement à l’imitation dans son étude sur la formation de la représentation chez l’enfant. Dans ses travaux, la représentation est définie à deux niveaux : dans une approche globale, c’est la pensée et dans une approche restreinte, c’est une mémoire “imagée” de l’environnement. La mémoire imagée permet la reconstitution mentale d’objets et d’événements passés. C’est l’imitation différée, dans cette approche, qui constitue le comportement témoin du développement cognitif humain. Ainsi, Piaget définit l’imitation comme “l’acte par lequel un modèle est reproduit”. Toutefois, il admet le fait que l’imitation puisse exister sans que l’élève n’ait de représentation du modèle. Selon Piaget, le développement de l’imitation est basé sur l’existence de 4 mécanismes qui interagissent avec l’environnement: l’exploration, la réaction circulaire, l’assimilation et l’accommodation. Durant la phase d’exploration, l’enfant découvre le répertoire des actions motrices possibles. Les réflexes, ou les schèmes réflexes, dans la mesure où ils conduisent à des répétitions qui durent au-delà de l’excitation initiale, jouent un rôle important dans le développement du répertoire de comportements qui ultérieurement sera utilisé pour comparer et reconnaı̂tre les comportements perçus. La réaction circulaire est caractérisée par le fait que les schèmes réflexes s’enrichissent par l’assimilation des éléments extérieurs. Elle motive le bébé à entretenir la réponse liée à l’excitation initiale même si celle-ci a cessé. Par exemple, supposons que nous produisions un cri qui peut - 21 - Section 2.1 Différentes approches de l’imitation être reconnu par le bébé et qui déclenche une réponse vocale (le plus souvent un cri) de la part de celui-ci. L’arrêt de notre cri ne détermine pas l’arrêt de celui du bébé parce que celui-ci entend toujours son propre cri : il continue à crier. L’assimilation suppose la classification d’un comportement observé dans le voisinage d’un comportement déjà connu. La pauvreté du répertoire comportemental implique l’assimilation d’un comportement avec un autre qui nous semble très diffèrent. C’est l’assimilation qui confère une signification à la perception et qui détermine ainsi la répétition. L’accommodation réside dans la possibilité de détecter et de corriger la différence entre un comportement perçu et la reproduction propre de celui-ci. Utilisant les données issues de l’observation de ses 3 enfants, Piaget distingue 6 niveaux de développement de l’imitation chez l’enfant : • stade 1 (0-1 mois) : La préparation réflexe : à la naissance, l’enfant n’est pas capable d’imiter. Ainsi, la première étape consiste dans l’acquisition des réflexes sans lesquels l’imitation ne peut pas apparaı̂tre en tant que technique. • stade 2 (1-4 mois) : L’imitation sporadique caractérisée par un phénomène de contagion par lequel les comportements réflexes s’enrichissent d’éléments nouveaux. • stade 3 (4-9 mois) : L’imitation systématique où l’enfant devient capable d’imiter des sons qu’il sait émettre spontanément. De même, il peut imiter tous les gestes de personnes qu’il connaı̂t et qui restent dans son champ de perception visuelle. • stade 4 (9-12 mois) : L’imitation des mouvements déjà exécutés mais qui ne sont plus dans le champ de perception visuelle de l’enfant. De même, l’enfant cherche à copier des gestes et des sons nouveaux. • stade 5 (12-24 mois) : L’imitation systématique de nouveaux modèles, mais uniquement en présence des modèles. • stade 6 (2-7 ans) : Imitation différée pour laquelle la reproduction du modèle ne se fait pas nécessairement en présence de celui-ci. L’enfant devient capable d’imiter intérieurement un modèle en se détachant de l’action actuelle. Avec l’âge, l’imitation va vers une imitation du détail (analyse du détail) et vers la conscience d’imiter. En conclusion, selon Piaget, l’imitation est une technique d’apprentissage sensorimotrice qui conduit à la “construction” de l’intelligence. L’utilisation de l’imitation, comme témoin de l’émergence de la représentation, a concentré longtemps les chercheurs développementalistes uniquement sur l’aspect différé de l’imitation. Les premières données contradictoires à la position de Piaget sur l’imitation chez les jeunes bébés datent de 1945 (mais rendues publiques seulement quelques années plus tard [205]) quand Zazzo fait pour la première fois des observations sur l’imitation néonatale (chez les bébés de 25 jours). Après les observations isolées de Zazzo, les premières études avec des documents filmés sont réalisées par Moore et Melzoff en 1977 [125, 126]. Ils ont testé l’imitation des 4 gestes - la protusion des lèvres, l’ouverture de la bouche, la protusion - 22 - Chapitre 2 Introduction aux mécanismes d’imitation de la langue et les mouvements séquentiels des doigts - avec 6 bébés de 2 semaines. Ils concluent qu’il y a présence d’imitation néonatale - les bébés peuvent imiter des gestes faciaux et manuels - ce qui remet en question la thèse de Piaget1 . Il faut cependant noter que les expériences de Moore et Melzoff ont généré beaucoup de critiques (sur le fond et sur la validité des résultats) dans le monde de la psychologie. Une étude menée par Jacobson [105], tend plus à faire apparaı̂tre le mécanisme d’imitation néonatale comme une réponse réflexe, basée sur une perception encore non affinée de la dynamique du stimulus présenté (même réponse imitative si l’enfant voit un humain tirer la langue ou un stylo saillir). Le débat est loin d’être clos, mais il semble unanimement admis [138, 40, 193] que la capacité d’imitation néonatale, si elle existe, disparaisse vers l’âge de 3-4 mois bien avant que l’imitation différée ne soit présente. 2.1.2 L’approche primatologiste Les primatologues ont une approche différente de l’imitation. Ils considèrent la manifestation de ce phénomène complexe comme une manifestation de l’intelligence. Pour introduire une caractérisation des espèces selon leur “intelligence”, plusieurs classifications de phénomènes d’imitation ont été proposées. Parmi ces classifications, nous avons choisi celle de Whiten [197] qui nous semble la plus complète. Nous présentons (voir tableau 1) une “correspondance” entre les terminologies utilisées dans les taxonomies les plus utilisées. Selon Whiten, il existe des processus d’imitation sociaux et non-sociaux. Les processus non-sociaux, où il n’y a pas d’interactions entre l’imitateur et d’autres organismes, ne présentent pas un grand intérêt. Dans l’intention de présenter une vue d’ensemble des processus d’imitation, nous présentons quelques exemples : • l’hérédité - le même comportement existe parmi les membres de la même espèce, • le mimétisme - la sélection naturelle a développé chez l’espèce A un comportement semblable à celui de l’espèce B en vue de la survie de l’espèce A (ex. la reproduction du son de la femelle de l’espèce B pour attirer les mâles qui constituent une source de nourriture pour A, [87]), • la convergence - deux espèces qui occupent la même niche écologique ont développé des comportements semblables, • l’apprentissage individuel - 2 individus apprennent indépendamment l’un de l’autre le même comportement. Le mimétisme est le plus représentatif des processus d’imitation non-sociaux et Mitchell [129] l’identifie avec le premier niveau d’imitation. 1 La classification de Piaget interdit d’avoir de la protusion de la langue (stade 4, mouvements qui ne sont plus dans le champ de perception visuelle de l’enfant) avant le pointage avec l’index (stade 3, mouvements qui restent dans le champ de perception visuelle de l’enfant). - 23 - Section 2.1 Différentes approches de l’imitation Notation préférée Notions utilisées Mimétisme [199] Processus de mimétisme social [197] Influence sociale [197] Contagion [184] Stimulus enhancement [199] Imitation [197] Niveau 6 d’imitation [147] Premier niveau d’imitation [129] Apprentissage par observateur [90] Imitation [137] Apprentissage social [36] Social enhancement [62] Imitation instinctive [137] Imitation [104] Suggestion imitative [86] Allelominesis [10] Niveaux 2 et 3 d’imitation [147] Niveau 2 d’imitation [129] Local enhancement [184] Imitation intelligente [137] Imitation persistante[12] Imitation par essai et erreur [86] Niveaux 4 et 5 d’imitation [147] Niveau 3 d’imitation [129] Imitation réflective [137] Imitation interne persistante[12] Imitation symbolique [86] Niveau 4 d’imitation [129] Tableau 1. Quelques notations utilisées dans la description de processus d’imitation. Il ne s’agit pas d’une liste exhaustive et les notations ne sont pas forcément synonymes [197]. Les phénomènes d’imitation avec interactions sociales sont divisés en phénomènes avec “influences sociales” (la contagion, l’exposition et le support social) et en phénomènes “d’apprentissage social” (stimulus enhancement, émulation, imitation). La contagion est définie comme étant la prédisposition instinctive d’un animal à avoir le même comportement qu’un autre animal. Une variation de la contagion est le “support social” qui implique le fait que l’imitateur soit plus disposé à avoir le même comportement que son modèle à cause de la présence physique du modèle qui modifie ses motivations. L’exposition relève du fait que deux individus qui ont le même environnement et les mêmes conditions d’apprentissage ont beaucoup de chances de finir par adopter le même comportement. Dans la catégorie des phénomènes “d’apprentissage social” on trouve le stimulus enhancement qui suppose que l’imitateur apprend de son modèle vers quel endroit ou vers quel objet orienter son attention. Une variation du stimulus enhancement, nommée parfois observational conditioning, correspond au cas où l’imitateur apprend dans quelles circon- 24 - Chapitre 2 Introduction aux mécanismes d’imitation stances un comportement doit être une réponse. L’imitation implique que l’imitateur apprend certaines parties du comportement de son modèle. Enfin, lors d’une émulation, l’imitateur apprend de son modèle le but à atteindre. Nous reviendrons plus tard (section 2.2) sur les phénomènes “d’apprentissage social” en tant que techniques d’apprentissage par imitation. Par ailleurs, il faut souligner que des processus d’imitation ont été observés seulement chez les singes [41, 197], les rats [99] et les dauphins (mais la qualité des observations reste pauvre [41]). Un cas plus particulier est celui de chant des oiseaux. Certaines espèces d’oiseaux (merles, étourneaux, ...) sont capables de copier et d’assimiler des sons qui n’appartiennent pas obligatoirement à leur espèce. Le cas le plus connu est celui des perroquets dont les capacités d’imitation sont globalement connues. Il existe aussi les duos (genre Laniarius) [87] dans lesquels chaque partenaire se révèle capable de contribuer, pour une partie, à un tout (une séquence de sons) apprise en commun. Par contre, il n’y a pas de processus d’imitation visuelle chez les oiseaux. 2.1.3 L’approche neurobiologique L’approche neurobiologique de l’imitation existe depuis les années 1980. Une grande percée de l’approche neurobiologique de l’imitation a été faite par la découverte de neurones miroir par Rizzolatti [161, 160]. Les expériences de préhension d’objets effectuées avec des singes, ont mis en évidence l’activation de neurones situés dans l’aire corticale F5 - l’aire F5 chez le singe peut “cadrer” avec l’aire de Broca chez l’homme2 (voir figure 3-6). Les neurones qui s’activent pendant les tâches de préhension peuvent être classifiés en 2 catégories : ceux qui s’activent quand le singe observe les objets qui peuvent être saisis et ceux qui s’activent pendant que la singe observe quelqu’un d’autre effectuant une action de préhension devant soi. Ce deuxième type de neurones, appelés des neurones miroirs, sont ceux qui nous intéressent. Ils ne s’activent pas pour des stimuli visuels conventionnels (la nourriture, par exemple) ou pour un mouvement sans objet mais seulement quand l’expérimentateur (humain ou un autre singe) exécute une action avec sa main sur l’objet. Les neurones s’activent durant l’action motrice indépendamment du fait que l’action soit faite avec la main gauche ou la main droite. Une partie des neurones qui s’activent pendant les tâches de préhension s’active aussi dans des tâches de manipulation et de déplacement des objets. Les actions effectuées avec des outils (par exemple, le modèle utilise une baguette en bois pour déplacer l’objet) n’activent pas les neurones miroirs. Les actions qui activent le plus souvent les neurones miroirs sont le “grasping” (la préhension d’un objet avec les mains), “placing” (placer un objet avec les mains) et la manipulation des objets. L’existence de neurones miroirs montre la possible existence d’une base neuronale de l’imitation, ce qui laisse supposer que l’évolution a sélectionné cette technique d’apprentissage et, en plus, l’a “codée” génétiquement. On peut noter que des expériences 2 Cette correspondance a donné lieu à une thèse selon laquelle l’apprentissage par imitation présent chez les singes à été remplacé par le langage chez les humains. - 25 - Section 2.1 Différentes approches de l’imitation récentes de neuro-imagerie confirment chez l’homme l’idée que, entre autre, le cortex moteur puisse être activé aussi bien lorsque l’on réalise une action que lorsque l’on voit quelqu’un d’autre effectuer la même action [49]. Nous pouvons nous poser des questions sur le rôle fonctionnel des neurones miroir. On peut penser que les neurones miroir ont un rôle lié à la préparation de l’action: l’observation de l’action démarre la préparation de la même action ce qui permettra à un individu de devenir plus habile, plus rapide donc ayant plus de chances de survie. Mais le fait que les neurones miroirs peuvent s’activer (démarrer la préparation) sans qu’il y ait une action et que les neurones ne s’activent plus si on approche la nourriture qui devient accessible (il n’y a plus de préparation) nous permet de rejeter cette idée [160]. Une autre proposition, faite par Jeannerod [107], suppose que dans le cerveau il y a la création d’une image “mentale” des actions vues et qui seront ensuite apprises. Dans ce cas, les neurones miroir constituent la représentation interne d’une action et donc leur activation peut se faire sans qu’il y ait d’action. Rizzolatti suppose que les neurones miroir ont un rôle dans la compréhension de l’action et non dans l’apprentissage. Dans ce cas, la compréhension n’implique pas la conscience! Les mouvements, ou les actions, impliquent un changement de la relation d’un individu avec son environnement. Généralement, les changements sont perçus par celui-ci grâce à la proprioception, la vision, le touché, l’olfaction, ... Les résultats du mouvement, négatifs ou positifs, sont associés au mouvement. Quand quelqu’un fait le même mouvement, l’individu prédit les conséquences [63]; la représentation de l’action et les conséquences sont associées [160]. L’auteur suppose que les neurones miroir font partie de cette association. Soit A l’activité neuronale générée en “interne” par une action et soit C la conséquence de cette action. Si un stimulus externe (voir quelqu’un d’autre faire la même action, par exemple) génère la même activité neuronale A, alors on peut supposer que la conséquence du stimulus externe est C. A travers ce mécanisme, on peut “comprendre” les conséquences des actions des autres. - 26 - Chapitre 2 2.2 Introduction aux mécanismes d’imitation Techniques d’imitation Nous continuons avec la présentation des mécanismes d’imitation les plus souvent utilisés. La grande majorité des mécanismes dits “d’imitation” peut être expliquée par une des techniques présentées par la suite. Si le stimulus enhancement et l’émulation sont des mécanismes très courants dans le monde animal, la vraie imitation, la réponse facilité et l’imitation au niveau du programme restent l’attribut des primates et plus particulièrement des singes et des humains. 2.2.1 Stimulus enhancement Le stimulus enhancement est la tendance à orienter son attention vers un endroit particulier dans l’environnement en fonction de l’observation des actions d’un congénère. Cette tendance est renforcée dans le cas où le congénère obtient une récompense à la suite des actions observées. La réduction de l’espace de focalisation de l’attention augmente la probabilité d’obtenir la même récompense que celle du congénère observé tout en utilisant un mécanisme classique d’apprentissage par essai et erreur. Whiten [197] propose une subdivision en local enhancement où l’attention est focalisé vers un endroit de l’environnement et le stimulus enhancement où l’attention est focalisée vers un objet ou une partie d’un objet. Prenons un exemple simple (plusieurs exemples réels dans le monde animal sont décrits dans certaines études sur les primates [197, 41]) : un singe B regarde un autre singe A en train de manger des noix de coco sur un cocotier. Le stimulus enhancement oriente l’attention du singe B vers les noix qui se trouvent par terre; il commence à “jouer” avec les noix et il découvre une méthode pour les ouvrir en utilisant des actions qu’il connaı̂t déjà. Il apprend plus vite à manger des noix de coco que dans le cas où il découvrirait seul des noix de coco sur un cocotier. Il se peut également que le singe B finisse par utiliser la même technique pour ouvrir les noix que celle de son congénère mais ce n’est pas à cause du fait qu’il ait vu cette technique. Une variation de cette techniques est le le conditionnement par observation où le modèle apprend une aversion à l’encontre d’une situation ou d’un objet. Cette technique a été illustrée par Mineka [128] dans le cas où de jeunes singes ont développé un comportement de peur dans les situations similaires à celles où leur mère a été effrayée. Nous ne pouvons pas parler d’apprentissage par imitation mais d’apprentissage à orienter son comportement vers des objets particuliers permettant d’obtenir une récompense. 2.2.2 L’émulation L’émulation est une variante de l’hypothèse du stimulus enhancement où le but n’est pas de reproduire le comportement du modèle mais d’essayer plutôt d’obtenir les mêmes résultats (récompense) que le modèle (sans avoir obligatoirement les mêmes comportements). Tomasello [185, 186] suppose que dans ce cas l’élève apprend quelque chose sur l’environnement et non sur le comportement du modèle. Il utilise ses propres techniques sans se soucier du comportement du modèle. Des expériences sur les orangs-outans ont mis - 27 - Section 2.2 Techniques d’imitation en évidence ce mécanisme : un modèle (humain) utilisant un outil avec une procédure spécifique, avait extrait de la nourriture d’un récipient. Les élèves, qui ont regardé le modèle, ne sont pas arrivés à ouvrir le récipient, leur utilisation de l’outil n’étant pas appropriée. Ils avaient essayé d’ouvrir le récipient avec leurs propres méthodes. L’émulation demande assez d’intelligence afin de reconnaı̂tre l’accomplissement de l’action d’autrui comme un but en soi. Parfois, l’existence de l’émulation chez une espèce particulière est considérée comme une marque d’intelligence [186]. 2.2.3 L’imitation L’imitation proprement dite, ou la vraie imitation, correspond au cas où l’imitateur apprend quelques caractéristiques du comportement du modèle. C’est le cas des humains et des chimpanzés qui semblent être les seuls à développer de tels comportements. La notion de “quelques caractéristiques” a posé des problèmes d’interprétation quant à la mesure de la vraisemblance entre deux ou plusieurs comportements. On peut s’intéresser à la forme, la posture, le séquencement, le tempo d’un comportement et décider s’il y a imitation ou non. L’imitation suppose surtout d’avoir la reproduction du comportement du modèle en l’absence de ce dernier (imitation différée). Cette définition correspond a celle de l’imitation du niveau 6 de Piaget , la “vraie imitation” de Thorpe [184] ou à “l’imitation de niveau 4” du Mitchell [129] (voir tableau 1). 2.2.4 La réponse facilité Pour déterminer quand un comportement spécifique a été copié - et donc appris par imitation - certains chercheurs ont réalisé une reinterprétation des résultats obtenus. Lorsqu’un individu observe un modèle en train d’effectuer une tâche spécifique, la probabilité que le même individu exécute la tâche observée est comparée avec la probabilité que la même tâche soit exécutée par un individu qui n’a pas regardé la démonstration. L’imitation par la réponse facilité est définie comme une augmentation de la fréquence de répétition de la tâche observée chez les individus de test par rapport à la probabilité “normale” observée chez les individus témoins. Cette technique a été utilisée pour mettre en évidence des capacités d’imitation chez les nouveau-nés [125]. Une variante de cette technique consiste à avoir 2 groupes d’individus qui regardent la même action mais chaque groupe voit l’action exécutée avec des procédures différentes. En plus du rapport entre la fréquence de répétition de l’action observée chez les membres de chacun des 2 groupes et la fréquence de répétition de l’action chez les membres d’un groupe témoin, on calcule le rapport entre les fréquences de répétition de l’action chez les 2 groupes d’individus qui ont regardé l’action. On conclut qu’il y a apprentissage par la réponse facilité si ce dernier rapport est assez différent de 1. Ce protocole est utilisé pour des actions qui font parties du répertoire d’actions de chaque individu et quand la probabilité d’effectuer cette action d’une manière spontanée est élevée. Généralement, les psychologues et les développementalistes s’accordent sur le fait que la réponse facilité est une technique d’imitation efficace. - 28 - Chapitre 2 2.2.5 Introduction aux mécanismes d’imitation L’imitation au niveau du programme Sous un aspect différent, les techniques d’apprentissage par imitation peuvent être partagées en imitation au niveau de l’action et l’imitation au niveau du programme. L’imitation au niveau de l’action correspond au stimulus enhancement, à l’émulation ou encore à la réponse facilité. En revanche, selon Byrne [41], l’imitation au niveau du programme définit la situation dans laquelle l’imitateur apprend l’organisation structurelle d’un comportement complexe en observant le comportement d’un congénère. Un comportement complexe est ici défini par la capacité à générer des séquences d’actions supposant l’existence de sous-tâches ou de coordination bi-manuelle. La notion de programme au niveau d’un comportement est caractérisée par l’enchaı̂nement des actions et de leur coordination. Il faut souligner que l’apprentissage des mouvements de chaque action atomique est fait par des techniques propres à l’imitateur, issues de son apprentissage individuel. L’imitation au niveau programme est la copie d’un nouvel arrangement des actions qui existent dans le répertoire des actions de l’imitateur. L’existence d’apprentissage au niveau programme a été mise en évidence chez les gorilles dans les comportements de préparation de la nourriture [41]. En effet, le comportement de préparation de la nourriture diffère (au niveau programme) en fonction de la plante à préparer mais toutes ces préparation se font à partir d’actions “atomiques” identiques. La présence de ces techniques de préparation seulement dans certains petits groupes de gorilles ayant un recouvrement géographique restreint prouve que ces comportements sont, sans doute, appris. Le séquencement des tâches, la répétition itérative des tâches jusqu’à l’achèvement d’un but et le fait que la même tâche utilisée dans des processus de préparation différents ne génère pas de confusion, exprime le caractère hiérarchique de l’organisation d’un tel comportement. Le fait que dans une famille on trouve la même technique de préparation de la nourriture est l’élément qui indique un apprentissage par imitation de cette technique. Mais le fait qu’un petit gorille n’exécute pas les même actions motrices que sa mère ou le chef de la famille (les seuls modèles qui puissent être imités) pour réaliser la même tâche nous indique qu’il s’agit d’un apprentissage par imitation au niveau “programme”. L’apprentissage au niveau actions peut engendrer aussi la copie d’une séquence d’actions, mais la structure du comportement reste toujours linéaire. Après avoir vu quelles sont les techniques d’apprentissage par imitation, nous allons voir comment les appliquer. Nous allons présenter un aperçu des projets en robotique qui utilisent des mécanismes d’imitation. - 29 - Section 2.3 2.3 Les mécanismes d’imitation en robotique Les mécanismes d’imitation en robotique Dans le cas d’un système laissé à lui même dans un environnement a priori inconnu, un double problème apparaı̂t. Il faut à la fois identifier les nouvelles situations en tant que telles (créer ou gérer de nouvelle variables) et gérer l’explosion combinatoire des associations entre situations et actions possibles sachant que le signal de renforcement peut ne parvenir que longtemps après l’exécution des actions. Dans un premier temps, l’apprentissage par imitation en robotique a été envisagé pour réduire l’espace des actions possibles et permettre un bon fonctionnement des techniques existantes. Ensuite, la création des premiers robots humanoı̈des (voir figure 2-1) rend nécessaire l’utilisation de techniques d’apprentissage par imitation pour leur contrôle. En effet, comment imaginer de conserver une approche de programmation classique pour de telles systèmes ? La définition a priori d’un répertoire de comportements nécessaire et suffisant à un fonctionnement autonome de ces robots parait très délicate (énorme quantité de code spécifique à développer et tester). Figure 2-1. Les prototypes P2 et P3 de robots (http://www.honda.co.jp/english/technology/robot/). humanoı̈des développés par Honda Les premières expériences robotiques faisant intervenir l’imitation se sont limitées à des tâches et des robots très simples. Parmi ces expériences on peut citer le projet développé à Forschungszentrum Informationstechnik GmbH (Allemagne) [47]. Il s’agit d’un ensemble hétérogène de robots mobiles qui doivent monter en haut d’une colline en se collant côte à côte à un robot professeur afin d’imiter sa trajectoire et trouver le sommet. L’imitateur a la possibilité de reconnaı̂tre les autre robots, d’initier une procédure d’approche et suivi et d’apprendre les mouvements qu’il exécute. Une fois que l’imitateur a trouver le sommet, il peut à l’avenir trouver des trajectoires différentes afin d’atteindre le même sommet par des chemins plus courts. De même, le robot imitateur peut utiliser son expérience antérieure afin d’éviter un “modèle” dont le suivi n’a pas abouti à atteindre un sommet dans le passé. Le répertoire des actions possibles est très limité (suivre ou se balader aléatoirement), ce qui nous fait dire qu’il s’agit d’un mécanisme de très bas niveau. Par - 30 - Chapitre 2 Introduction aux mécanismes d’imitation ailleurs, l’architecture est figée, ne permettant pas d’avoir d’apprentissage. Le projet avait prévu la possibilité d’apprendre en utilisant le stimuli enhancement, mais il a été arrêté, sans avoir de suite. Dans le projet développé par le Département d’Intelligence Artificielle de l’Université d’Edinburgh (UK) [93, 52] un robot suit un professeur dans un labyrinthe en détectant les actions ”significatives” du professeur et en les associant à la situation perçue. L’élève utilise un module qui extrait une information sur la position et l’orientation du professeur à partir de l’information visuelle. Un module de proprioception fournit une information comparable sur la position et l’orientation de l’imitateur. Ensuite, un calcul de la distance entre les 2 orientations est effectué. Le bloc d’analyse du mouvement détermine le type de mouvement exécuté par le professeur entre 2 positions successives. A chaque mouvement du professeur, l’imitateur doit recalculer un mouvement afin de garder la même orientation et distance par rapport à son professeur. L’élève a 2 possibilités: chercher dans son répertoire de mouvements possibles celui qui a l’effet souhaité (imiter) ou sélectionner aléatoirement un mouvement et apprendre à l’associer ou non à la situation rencontrée (apprentissage associatif). Les auteurs ont ainsi proposé une expérience mettant en avant ces 2 types de comportements. Dans une première phase, le professeur et l’imitateur exécutent chacun à son tour un mouvement dans le labyrinthe, le professeur restant toujours dans le champ de “vision” (il y a une ampoule électrique montée sur le professeur ce qui facilite sa détection) de l’imitateur. Dans la phase suivante, l’imitateur parcourt seul le labyrinthe. Malgré l’implantation de l’architecture sur un robot mobile, la plupart des résultats publiés concernent ses simulations. Ultérieurement [53], le modèle a été complexifié, en introduisant le traitement de plusieurs caractéristiques de la posture. Le modèle complexe est en train d’être testé, en simulation, sur un robot “humanoı̈de” avec 13 degrés de liberté mais les distances d’observation du professeur, les types de postures possibles sont pré-définis. Le projet développé à l’Electrotechnical Laboratory (Japon) [117, 24, 25] a aussi pour but de construire une architecture de contrôle pour un robot humanoı̈de. Plus précisément, il s’agit d’un projet dans lequel le robot doit regarder un humain réaliser une tâche d’assemblage simple et tenter de reproduire ultérieurement la même séquence d’actions. Par une approximation du développement des enfants (approche piagétien), le robot pouvoir apprendre de nouveaux comportements en utilisant l’imitation. Par ailleurs, dans [11], les auteurs essayent d’introduire un cadre théorique du “développement” de l’imitation robotique. Selon eux, l’imitation robotique est composée d’au moins 3 processus fondamentaux: l’observation, la compréhension et l’exécution de l’action. L’observation de l’action doit résoudre plusieurs problèmes: motiver l’élève à observer le professeur, trouver un professeur à observer, déterminer quand le professeur fait une action qui doit être apprise. L’observation du professeur doit s’accompagner de l’intégration des informations sur l’environnement. La représentation de l’action suppose une conversion de l’action perçue dans une représentation interne qui doit être bien choisie. De même, l’élève doit “comprendre” ce que son professeur fait! La reproduction de l’action doit motiver l’élève à reproduire une action apprise, à choisir le bon contexte pour reproduire l’action - 31 - Section 2.3 Les mécanismes d’imitation en robotique et à adapter l’action à l’environnement dans lequel elle est reproduite. Ultérieurement, le système a été très modifié afin de permettre une formalisation de l’imitation en tant qu’un processus d’interactions dynamiques entre des structures émergentes. Selon les auteurs, [118], l’assimilation, l’accommodation et les réaction circulaires peuvent être (partiellement) reproduites par un mécanisme dynamique. Si on considère un système avec un seul attracteur dans lequel coexistent la perception et l’action, alors devrait y avoir convergence de la perception et de l’action vers cet attracteur. L’exploration est interprétée comme étant une combinaison d’une dynamique spontanée et un apprentissage spatiotemporel. Une dynamique spontanée correspond à l’activation spontanée des neurones moteurs. La coordination est attribuée à l’émergence de structures ordonnées dans des processus dynamiques couplés. Un mécanisme neural d’apprentissage rapide permet une adaptation rapide dans le cas d’un changement. La pièce maı̂tresse de leur robot est constituée par un système de vision active, composé d’une paire de caméras montés sur une plate-forme avec 6 degrés de liberté [26, 25]. Pour l’apprentissage, les auteurs utilisent une réseaux de neurones de type “Spike Accumulation and Delta-Modulation” [118] avec une règle d’apprentissage de type hebbienne. Actuellement des tests sont en cours sur un robot humanoı̈de complet mais l’architecture retenue est beaucoup plus classique. Les problèmes de stabilité et scalabilité du modèle neuronal, pourtant très intéressant, ne semblent pas avoir été résolus. Une autre direction de recherche a été lancée sur les interactions entre les humains et les ordinateurs par le Laboratoire Sony à Paris [143]. Dans un premier temps, “la machine” imite (copie) le modèle humain afin de trouver les points essentiels de son comportement. Dans un deuxième temps, “la machine” utilise le résultat de son “apprentissage” afin de proposer à l’humain de l’information sensée l’intéresser. Même si les travaux sont à leur début, ils mettent en évidence l’importance d’un comportement “imitatif” dans la construction de “relations sociales” dans une interface homme-machine. Dans un projet développé à l’Université d’Edinburgh (UK) [32, 31, 33, 30], une architecture neuronale commande un robot qui apprend des séquences de mouvements exécutées par un professeur. Le robot a la forme d’une poupée et il a été construit avec des composants LEGO. Il peut exécuter quelques actions (ex. tourner la tête, lever les bras). Il est équipé de 4 senseurs infrarouge qui permettent la détection des mouvements du professeur. Le professeur est équipé d’émetteurs en infrarouge dans chaque main et 2 sur sa tête. Un mécanisme réflexe assure une coordination entre les mouvements du professeur et les mouvements du robot (ex. si le professeur déplace sa main gauche devant le robot, le robot lève sa main gauche). Le robot est aussi équipé avec un clavier de 8 touches qui lui permet de communiquer. Le comportement “imitatif” du robot est réalisé par une architecture pré-cablée qui relie les senseurs infrarouge et les moteurs. Le robot peut apprendre des séquences simples, de 2 à 8 actions par séquence. Le professeur exécute une séquence de mouvements devant le robot et celui-ci fait des mouvements. À la fin de la séquence, le professeur appuie sur une touche. Chaque séquence est répétée jusqu’à l’association correcte entre la touche pressée et la séquence de mouvements. L’architecture de contrôle utilisée est basée sur une mémoire associative récurrente. Il s’agit d’une ver- 32 - Chapitre 2 Introduction aux mécanismes d’imitation sion modifiée du modèle d’inspiration neurobiologique proposé par Willshaw [201]. Le réseau est symétrique, totalement connecté, avec une modification des poids selon une loi de hebbienne. Les entrées et les sorties sont des vecteurs binaires. Le robot-poupée a été utilisé dans une expérimentation avec des enfants de 4-5 ans. Les enfant ont dû apprendre à la poupée à associer une séquence de mouvements avec une phrase. Le protocole est simple: l’enfant fait un mouvement et presse le bouton associé à ce mouvement. Chaque bouton a un mot qui lui est associé. Après l’apprentissage, le robot exécute la séquence en prononçant la “phrase” associée. L’expérience a montré que les enfants sont très captivés par le jeu avec la poupée. L’auteur en déduit que les jeunes enfants aiment jouer à des jeux avec d’autres enfants qui les imitent. La forme de poupée a largement contribué aux résultats obtenus dans l’expérimentation avec des enfants. Le système de vision semble être nécessaire afin de pouvoir initier une communication avec les enfants. Dans cette étude, comme dans la plupart des études précédentes, le système de vision est court-circuitée par l’utilisation des “trucs” permettant au système d’accéder directement à une information de nature symbolique sur la posture du professeur (diodes infrarouges par exemple). A l’opposé de la plupart des travaux [123, 93], notre motivation est de créer une architecture neuronale générique qui permette à un robot d’apprendre par imitation sans la moindre aide extérieure (pas d’intervention du programmeur pour corriger un défaut...). La prise en compte de l’imitation sur des robots réellement autonomes d’un point de vue cognitif nécessite qu’il n’y ait pas d’intrusion dans le ”cerveau” du robot durant l’apprentissage. Les robots doivent être capable de sélectionner quelles informations apprendre. Ainsi le problème devient: comment initier le mécanisme de communication entre un robot élève et son professeur (robot ou humain). Une autre contrainte est que l’architecture neuronale contrôlant l’élève doit être de la même nature que celle du professeur (un professeur pouvant devenir un élève à n’importe quel moment et réciproquement). En effet, le but à long terme est de créer des robots capable de découvrir des solutions par eux même et/ou capables d’imiter d’autres robots afin de compléter leur propre répertoire de comportements appris. Les contraintes et les idées utilisées pour concevoir nos architectures neuronales sont inspirées de modèles neurobiologiques et psychologiques du cerveau des mammifères. Dans la section suivante, nous allons introduire un modèle possible de la proto-imitation. Ce modèle (volontairement et nécessairement) simpliste essaiera de ne pas faire l’impasse sur les aspects perception liés à l’imitation. - 33 - Section 2.4 2.4 Cadre de notre processus de ”proto-imitation” Cadre de notre processus de ”proto-imitation” Malgré le grand potentiel de l’imitation, nous avons vu qu’il y a fort peu des projets utilisant l’imitation en robotique mobile. Cette problématique semble en effet difficile “à appréhender” de par les notions à priori complexes qu’elle implique. D’une part, imiter semble première vue nécessiter la compréhension de “soi” et des “autres”. D’autre part implanter un processus d’imitation nécessite la maı̂trise de concepts tels que la conscience du monde extérieur, la mise à jour de représentations internes, ... Néanmoins, nous allons montrer qu’il est possible de réaliser un mécanisme de proto-imitation presque trivial, mais respectant les principes de base de l’apprentissage par imitation. Dans notre perspective de réaliser une architecture neuronale capable d’imitation sensori-motrice, nous nous concentrerons d’abord sur des capacités d’imitation très simples - une imitation spontanée d’actes moteurs simples - sans intervention de niveau cognitif élevé, de notion de soi, ou d’achèvement de plan complexe. Nous désignons une telle imitation “simple” sous le terme de “proto-imitation”. Le but final de nos travaux est en effet de réaliser une architecture de contrôle simple, capable de proto-imitation(s), rendant déjà compte de capacités d’apprentissage sensori-moteur, tout en étant un support possible à la communication entre des systèmes (apprentissage et échange d’actes moteurs simples entre plusieurs systèmes identiques). Cette architecture sera alors le point de départ d’exploration de comportements imitatifs de plus haut niveau [9]. Pour le comportement d’imitation, nous commençons avec l’hypothèse suivante : la proto-imitation est déclenchée par une erreur de perception et est une propriété fondamentale de toute boucle sensori-motrice. Par exemple, un comportement d’imitation entre 2 bras de robots contrôlés par la vision pourrait être expliqué comme suit. Un premier robot apprend la coordination visuo-motrice entre sa caméra et la position de son bras ou pour simplifier l’extrémité de sa pince. Il crée une correspondance entre une position donnée de sa pince dans la scène visuelle et les positions angulaires que doivent prendre ses différentes articulations. Si le robot regarde alors ailleurs et voit dans son champs de vision non pas sa pince mais la pince d’un autre robot similaire à la sienne (voir figure 2-2), il réalisera les mêmes mouvements que le deuxième bras en tentant simplement de réduire la différence entre les 2 représentations qu’il a de son bras (visuelle et proprioceptive). Finalement, si les mouvements de son bras induisent une réduction d’un besoin interne (associé par exemple à la satisfaction d’un besoin particulier), un signal de renforcement positif peut être déclenché. La séquence de mouvements sera alors enregistrée et associée avec la satisfaction de ce besoin interne. Plus tard, si le besoin associé est suffisamment fort, la séquence de mouvements sera déclenchée et un observateur externe considérera que le robot élève a appris par imitation le comportement du robot professeur. Si nous revenons à notre problème d’imitation avec un robot mobile, il est complexe d’imaginer un programme qui permette au robot d’apprendre à visualiser ce qu’un autre robot est en train de faire3 . Cependant, il est simple de permettre à un robot élève 3 C’est quelque chose que les primates et peut être d’autre mammifères réussissent à faire, mais en premier lieu, nous voudrions comprendre quel type de mécanisme d’imitation pourrait être mis en oeuvre - 34 - Chapitre 2 Introduction aux mécanismes d’imitation Système de vision Contrôleur Changement du point de focalisation Bras de l’élève Bras du professeur Figure 2-2. Le robot élève a déjà appris la correspondance entre la représentation interne de son bras et la position qu’il doit occuper dans son champ de vision. Si l’élève focalise son attention sur le bras du professeur, il reproduira les mouvements du professeur simplement parce qu’il percevra une différence entre ses informations proprioceptives et visuelles. Il essaiera de réduire l’erreur proprioceptive de son bras en fonction de ce qu’il croit être les informations visuelles liées à son bras! Un observateur externe en déduira à tort que le robot élève est en train d’imiter son professeur. de suivre ou poursuivre son professeur (humain ou robot) comme un moyen de réduire la différence entre sa perception et sa proprioception. Comme dans l’exemple du bras de robot, l’élève essaie de réduire la différence entre le mouvement perçu (au travers des informations de flot optique) et les informations de proprioception obtenues par la mesure de la vitesse de rotation réelle de ses roues. Par exemple, si le professeur se rapproche de l’élève un foyer d’expansion de flot optique apparaı̂t, le robot ayant appris par lui même qu’une expansion est associée à un mouvement vers l’avant, il reculera pour supprimer cette impression de mouvement et revenir dans l’état de “non mouvement” qui est donné en consigne de son contrôleur. Suivre l’autre robot n’est ainsi que la conséquence directe d’un principe d’homéostasie [27] (volonté de rester dans le même état, voir figure 2-3). Ainsi, un simple mécanisme de régulation de la vitesse de rotation des roues par une information de flot optique peut être utilisée pour un comportement de suivi et peut déterminer l’émergence d’un comportement de proto-imitation. Il est donc tout à fait légitime de retrouver un tel mécanisme dans l’architecture globale que nous proposons (voir figure 2-4). Le mécanisme de suivi, réalisé sous la forme d’un couplage réflexe entre la perception du mouvement et la sortie motrice, coı̈ncide avec le premier niveau de notre architecture. Un fois assuré le succès du processus d’imitation, nous pouvons imaginer qu’il existe par un robot qui n’aurait pas de représentation complexe du monde et de lui même. - 35 - Section 2.4 Cadre de notre processus de ”proto-imitation” Changements de l’environnement Entrée visuelle Sortie motrice Système homéostatique Information proprioceptive Figure 2-3. Représentation schématique du mécanisme de poursuite visuelle utilisant le principe d’homéostasie. des situations particulières pour lesquelles seul le système de suivi ne réponde pas aux exigences d’un processus d’imitation. Prenons par exemple le cas ou le professeur s’est arrêté pour quelques minutes. L’absence du mouvement conduirait à l’arrêt du processus d’imitation, ce qui n’est pas souhaitable. Mais, l’utilisation de la vision comme source d’information principale nous vient à l’aide et nous permet d’introduire d’une manière naturelle un système de vision locale. Ce système permettra l’apprentissage et la reconnaissance de la forme visuelle du professeur. Une fois la forme du professeur apprise, l’absence de mouvement ample du professeur ne constitue plus un problème. De même, le choix du bon professeur peut se faire au même niveau à l’aide du mécanisme de focalisation de “l’attention”. Motivations Apprentissage de sequences Apprentissage de sequences Vision locale Reconnaissance visuelle Reconnaissance du professeur Perception du mouvement Actions Proto imitation Figure 2-4. Architecture globale du système développé. Si nous nous situons à un niveau plus “élevé”, en supposant qu’un comportement ou une habileté est caractérisée par une séquence de mouvements (séquence temporelle), l’ajout - 36 - Chapitre 2 Introduction aux mécanismes d’imitation d’un troisième niveau qui fera l’apprentissage d’actions ”atomiques” que le robot élève doit mimer et apprendre parait évident. L’apprentissage des séquences devient ainsi une nouvelle couche de notre architecture. Tout apprentissage peut être associé au besoin qui l’a déclenché et donc élargir le répertoire de comportements de l’élève. L’introduction de “motivations”, qui peuvent intervenir à tous les niveaux, dans notre architecture découle logiquement de ce qui précède. Nous avons développé le plan de notre manuscrit autour de l’architecture qui vient d’être exposée et notre discussion s’articulera autour de trois parties principales : la perception du mouvement (voir chapitre 4), l’apprentissage de séquences (voir chapitre 5) et la reconnaissance du professeur (voir chapitre 6). Pour les introduire, nous allons présenter quelques notions de neurobiologie, réseaux de neurones, systèmes dynamiques (voir chapitre 3). Les 3 niveaux de notre architecture devront fonctionner en parallèle, une partie de cette thèse abordera des aspects de calcul et de programmation parallèle (voir section 6.2). Le processus de perception/action est par essence un processus dynamique. Nous ne pouvons pas envisager d’avoir un système totalement réactif car toute tentative est vouée à l’échec. Ainsi, en utilisant la notion de champs dynamiques, nous avons introduit plusieurs boucles dynamiques à tous les niveaux: la dynamique motrice pour le premier niveau, la dynamique visuelle au deuxième et la dynamique globale du système car il s’agit bien d’un système global et non pas d’un somme de sous-systèmes. On peut déjà constaté que la reconnaissance du professeur n’est pas le point de départ de notre architecture mais, au contraire, l’aboutissement d’une démarche intégrant des processus perception/action de plus en plus complexes. - 37 - Section 2.4 Cadre de notre processus de ”proto-imitation” - 38 - Chapitre 3 Réseaux de neurones et systèmes dynamiques My brain, that’s my second favorite organ. Woody Allen L’objectif de ce chapitre est de présenter les éléments de neurobiologie, les modèles de réseaux de neurones (R.N.) et les systèmes dynamiques qui serviront de base à la compréhension du reste de notre discussion. La première partie est consacré à la présentation du neurone biologique et de son modèle algorithmique, le neurone formel. Les règles d’apprentissage les plus courantes seront aussi présentées : Hebb, LMS et mécanisme de conditionnement. La deuxième partie proposera une vue d’ensemble de l’architecture du cerveau. Nous allons présenter quelques structures corticales et sous corticale dont le fonctionnement sera une source d’inspiration dans nos modèles. La troisième partie est consacré aux modèles de réseaux de neurones non-supervisés les plus utilisés. Nous présenterons le mécanisme de Winner Take All (WTA), le modèle ART de Grossberg, le modèle de carte topologique auto-adaptative introduit par Kohonen ainsi que le modèle de carte topologique probabiliste (PTM) proposée par Gaussier et Zrehen. Enfin, nous présenterons l’architecture neuronale générique PerAc. Dans la quatrième partie nous donnerons un aperçu général des systèmes dynamiques. Nous commencerons avec la présentation de leurs propriétés mathématiques. Nous mettrons l’accent sur un cas particulier de système dynamique : le champ neuronal. Nous continuerons avec la présentation de certaines applications des champs neuronaux à la robotique mobile. Enfin, nous présenterons les résultats obtenus et les comportements dynamiques observés avec notre implantation de champs neuronaux. 39 Section 3.1 3.1 Du neurone réel à son modèle Du neurone réel à son modèle Le cerveau humain est l’exemple par excellence du système complexe. Il possède approximativement 1010 neurones, chaque neurone ayant, en moyenne, 104 connexions avec les autres neurones. Par ailleurs, on estime qu’il existe environ 50 neurotransmetteurs différents. Considérer que les seules cellules impliquées dans la “production de la pensée” sont les neurones constitue déjà une hypothèse importante. Si l’on est en effet maintenant tout à fait persuadé que le lieu de cette production est bien le cerveau, celui-ci n’est pas moins composé d’un grand nombre d’éléments. Le système nerveux central est en effet constitué : des cellules dont les neurones, mais aussi les atrocytes, oligodendroglies et microglies, regroupés sous le nom de cellules gliales, des membranes la pie-mère et la dure-mère, les liquides le liquide céphalorachidien permettant, entre autre, de maintenir le cerveau à une pression constante. Limiter l’activité du cerveau aux seuls neurones est donc réducteur, même lorsque l’on ne s’intéresse qu’aux “productions mentales”. Le rôle joué par les cellules gliales dans ces productions n’est, en particulier, pas encore très clairement élucidé. Il n’est pas du tout sur qu’il soit nul, ni même négligeable ! En ce qui concerne les neurones, il faut avant tout savoir qu’il n’existe pas un seul, mais bien plusieurs types de neurones. Ceux-ci présentent, en effet, une grande diversité, ne serait-ce que par leur forme (pyramidale, étoilée, en grain, ...), leur fonctionnement ou caractéristiques physiques. La longueur de l’axone, par exemple, peut varier du millimètre (pour les cellules bipolaires de la rétine humaine) au mètre (chez certains moto-neurones) et le diamètre du soma de 2 à 500 microns. Cette diversité morphologique n’empêche cependant pas de définir un modèle commun, le neurone typique. Le neurone typique, dont le schéma est proposé dans la figure 3-1, est composé de : dendrites les arborescences qui amènent l’information vers le corps cellulaire, le corps cellulaire qui permet un traitement spécifique de l’information, l’axone c’est un prolongement conductif du corps cellulaire qui permet de véhiculer l’information; l’extrémité de l’axone se divise en une multitude de ramifications, les synapses qui sont les “articulations” entre les neurones ou avec les divers types de cellules nerveuses. Le transport de l’information dans le neurone s’effectue des dendrites aux synapses, sous forme d’influx nerveux le long de l’axone. On les appelle potentiels d’action ou “spikes”. Il s’agit d’une dépolarisation électrique de la membrane du neurone, d’environ - 40 - Chapitre 3 Réseaux de neurones et les systèmes dynamiques Noyau cellulaire Corps cellulaire Axone Synapse Dendrites Figure 3-1. Représentation schématique d’un neurone typique. 100mV crête à crête et d’1ms de durée (voir la figure 3-2). Ce potentiel d’action se propage à vitesse constante sans dégradation ni atténuation le long de l’axone (du soma aux synapses). Il existe cependant des bifurcations sur l’axone qui peuvent jouer le rôle de filtres et modifier la fréquence (ou d’autres types d’informations, telle l’écart interspike) des potentiels d’action. Ainsi les informations atteignant deux neurones, par deux sous branches différentes d’un même axone, peuvent être différentes et ne pas refléter les mêmes caractéristiques. V 1 V(mV) 40 0.5 -65 -80 0 5 t (ms) 10 0 0 2 4 6 8 t Figure 3-2. A gauche, un potentiel d’action ou “spike”. A droite, un potentiel postsynaptique.. Ce potentiel d’action présynaptique est alors transmis par la synapse à la dendrite du neurone postsynaptique sous la forme d’un potentiel postsynaptique (voir figure 3-2) qui peut être excitateur ou inhibiteur pour le neurone postsynaptique. Sa modélisation simplifiée conduit au poids des liaisons dans les modèles connexionnistes (voir section 3.3). Il est bien évident que biologiquement, la synapse réalise bien plus que cette modulation : il s’agit d’une véritable fonction de transfert (transformation de potentiel d’actions en - 41 - Section 3.1 Du neurone réel à son modèle potentiel postsynaptique) dont les caractéristiques ne sont pas encore bien connues. Les synapses peuvent, en particulier, introduire un retard variable dans le temps de transmission de l’information. Elles sont, en plus, modifiables dans le temps et sujettes à l’apprentissage. Cette plasticité synaptique se traduit au niveau des modèles connexionnistes par les algorithmes d’apprentissage portant sur les poids. 3.1.1 Modéliser les potentiels d’action ? Pour extraire un modèle de neurone formel de la réalité biologique connue, il faut choisir ce que l’on modélise et ce qu’on néglige. Un compromis entre précision de modélisation et temps de calcul doit en effet être trouvé si l’on veut pouvoir se servir à grande échelle du modèle. Ce qui semble réellement important est de savoir si oui ou non un potentiel d’action a été émis et à quel moment. La façon dont il l’a été et dont il se propage semblent peu important pour le traitement de l’information. Modéliser le fonctionnement des neurones revient alors à ne modéliser que cette information, indépendamment de la façon dont elle est biologiquement véhiculée. Cependant, il n’est pas sûr que tous les neurones postsynaptiques d’un même axone reçoivent la même information. Le neurone postsynaptique perçoit finalement une traduction du potentiel d’action par la synapse qui le lui amène. Propagation (spike) Propagation (spike) Integration Transformation synaptique Figure 3-3. Les principales étapes de la chaı̂ne de traitement de l’information entre 2 neurones. Le rôle des dendrites est ici négligé on supposant qu’il y a propagation sans déformation. La chaı̂ne de traitement peut se résumer par la figure 3-3. Elle est équivalente à une chaı̂ne où le transport d’information regrouperait : l’émission du potentiel d’action, sa transformation en potentiel postsynaptique et l’intégration des potentiels postsynaptiques en vue de l’émission d’un potentiel d’action. Pour parvenir à une réduction où, finalement, le potentiel d’action disparaı̂t, deux aspects sont à modéliser : l’intégration (le lien entre un courant synaptique entrant dans un neurone et le potentiel postsynaptique sortant de ses synapses) et la transmission synaptique. La solution, et donc la façon de s’affranchir des potentiels d’actions, est d’utiliser les fréquences moyennes d’émission. Mais alors l’information de phase qui peut être primordiales dans bien des cas est perdue (mécanismes - 42 - Chapitre 3 Réseaux de neurones et les systèmes dynamiques de synchronisation entre neurones pour le binding notamment [171]). Le passage d’un neurone biologique à un neurone formel n’est donc pas une chose aisée. 3.1.2 Le neurone artificiel Lorsque l’on parle de réseaux de neurones, il s’agit essentiellement de réseaux d’automates très simples portant abusivement le nom de “neurone” suite à une lointaine analogie et à une réalité biologique encore mal connue. Le modèle de neurone artificiel le plus employé est le célèbre neurone de McCulloch et Pitts dérivant de leur article de 1943 [124]. Les caractéristiques essentielles qui fondent ce modèle sont: • la non-linéarité (binaire) de la relation entrée-sortie • l’existence d’un seuil paramètrant cette non-linéarité • une grande connectivité (beaucoup d’entrées) • une plasticité de la fonction réalisée : possibilité d’apprentissage, d’adaptation Dans la majorité des modèles de neurone formel, l’activité du neurone est représentée par une valeur analogique qui peut être identifiée à la fréquence d’émission des potentiels d’action sur son axone. Cette représentation, qui ne tient pas compte de la réalité biologique de l’activation et de la transmission de l’information dans les neurones biologiques, est suffisante dans la plupart des applications. D’une façon générale, un neurone formel i reçoit des entrées des neurones auxquels il est connecté. Il calcule alors une somme pondérée de ses entrées qui correspond à son activation. En fonction de son activité et de son seuil, sa sortie est ensuite calculé. Cette sortie est transmise aux neurones auxquels le neurone i est connecté a son tour (voir figure 3-4). e1 ω1i ej ωji E S Si ωni en Figure 3-4. Représentation schématique d’un neurone formel. Ainsi, un neurone formel est caractérisé par : • la nature de ses entrées (ej )j=1..n , qui peuvent entre binaires ou réelles, • les poids synaptiques ωji qui pondèrent l’influence de l’entrée ej . La nature des poids synaptiques peut être binaire ou réelle, - 43 - Section 3.1 Du neurone réel à son modèle • la nature des liaisons qui peuvent excitatrices si ωji > 0 ou inhibitrices si ωji < 0, • l’entrée totale, E, qui peut être: – linéaire n X E= ωji · ej j=1 – affine E= n X ωji · ej − a j=1 – polynomiale E= n X j=1 avec x ∈ IN . x ωji · ej • la fonction d’activation, f qui caractérise la réaction du neurone aux entrées E, peut être: – la fonction de Heaviside : H(x) = – la fonction signe : Sign(x) = ( ( 1 si x ≥ 0 0 si x < 0 1 si x ≥ 0 −1 si x < 0 1 si x > a – une fonction linéaire à seuil :f (x) = a1 x si x ∈ [−a, a] −1 si x < a – une fonction sigmoı̈de : f (x) = tanh(kx) ou 1 1+e−kx – une fonction à base radiale (Radial Basis Functions - RBF) : f (x) = exp(− , f (x) = 1+ 1 kx−t2 k 2 x σ ) ,... σ2 1 avec la probabilité P (x) = – ou une fonction stochastique : f (x) = 0 sinon Q avec x = ni=1 ωi · ei • la sortie S = f (E) et de sa nature qui peut être binaire ou réelle. - 44 - 1 x 1+e− t Chapitre 3 Réseaux de neurones et les systèmes dynamiques Figure 3-5. Le réseau totalement interconnecté (a), le réseau à connectivité locale (b) et à le réseau à couches (c). Un réseau de neurone est défini comme un ensemble de neurones connectés entre eux selon un schéma préétabli. Le traitement de l’information est réparti sur l’ensemble des neurones et des voies constituant le réseau. Le comportement propre d’un réseau dépend des paramètres utilisés comme caractéristiques des neurones composant le réseau ainsi que de la valeur des poids associés aux synapses entre neurones formels. Les neurones formels peuvent former 3 types de réseaux (voir la figure 3-5) : totalement interconnectés (chaque neurone est connecté à tous les autres avec des connexions bidirectionnelles), à connectivité locale (chaque neurone est connecté à quelques voisins) ou à couche(s) (les neurones d’une même couche ne sont pas connectés entre eux mais sont connectés aux neurones de la couche suivante). 3.1.3 Apprentissage associatif et conditionnement Dans les réseaux de neurones, l’apprentissage est défini par la règle de changement de la valeur des poids de connexion entre neurones. Lorsque l’apprentissage est non supervisé, le principe est de détecter automatiquement des régularités dans les exemples présentés à l’entrée. Les poids sont modifiés afin d’avoir la même sortie pour des exemples ayant les mêmes caractéristiques. Ces réseaux sont capables de répondre à des interrogations inconnues mais proches d’un exemple déjà présenté. Cette capacité de généralisation est très importante, et permet de résoudre des tâches complexes de manière autonome. La plupart des algorithmes d’apprentissage utilisent la règle d’apprentissage de Hebb [95] qui peut s’exprimer ainsi : “Quand une cellule A excite par son axone une cellule B et que, de manière répétée et persistante, elle participe à la genèse d’une impulsion dans B, un processus de croissance ou un changement métabolique a lieu dans l’une ou dans les deux cellules, de telle sorte que l’efficacité de A à déclencher une impulsion dans B est, parmi les autres cellules qui ont cet effet, accrue.” Dans le cas de neurones formels, on peut décrire la règle de Hebb par l’équation (1) : ωij (t + δt) = ωij (t) + ǫ · Ei · Sj - 45 - (1) Section 3.1 Du neurone réel à son modèle si les 2 neurones qui sont reliés par la même liaison sont activés en même temps, alors la valeur du poids associé à la liaison est renforcée. Les mécanismes d’apprentissage par conditionnement différent de l’apprentissage associatif par la présence d’un signal permettant de “diriger” l’apprentissage du neurone. Ils permettent de comprendre comment certaines architectures de contrôle peuvent tirer parties de certaines corrélations sensorielles afin d’améliorer leur efficacité. Au début du siècle, grâce aux expériences de psychologie expérimentale du psychologue russe Pavlov, le phénomène de conditionnement chez les animaux a pu être formalisé. Dans l’expérience la plus célèbre (celle du chien et de la clochette) on présente de la nourriture à un chien qui n’a pas mangé depuis 24 heures. Sa réaction “réflexe” à la vue de la nourriture est de saliver. Le protocole du conditionnement consiste alors à faire tinter une clochette à chaque fois que l’on présente la nourriture. Après plusieurs présentations concomitantes de la nourriture et de la clochette, le chien se met à saliver dès qu’il entend la clochette, même si la nourriture n’est plus présentée. On dit alors que le chien a été conditionné à saliver lorsqu’il entend la clochette. Il faut remarquer ici qu’un lien stimulus-réponse existe déjà avant tout conditionnement : lorsque le chien affamé voit la nourriture, il salive forcément. Par la suite, grâce à la concomitance du Signal Inconditionnel (SI) et du Signal Neutre (SN) la réaction de conditionnement peut s’établir. En fait, l’animal “se rend compte” que le Signal Neutre (SN) (qui devient le Signal Conditionnel (SC) lorsque le conditionnement est réalisé) prédit l’arrivée de la nourriture. La réaction de salivation conditionnée (RC) est donc la conséquence de cette attente de la nourriture. Le conditionnement classique agit ainsi comme un moyen de généraliser le cadre de déclenchement des réactions “réflexes” (Réaction Inconditionnelle — RI) à l’ensemble des indices “pertinents” (dans le sens où ils indiquent l’arrivée de la nourriture) présents dans l’environnement. Ce phénomène souligne les capacités d’adaptation d’un individu à son environnement. Si on suit ce raisonnement, on peut se demander ce qu’il advient dans le cas où le SC continue d’être présenté alors que la nourriture n’est plus présente. On s’aperçoit alors qu’il existe un mécanisme d’oubli du conditionnement appelé extinction. Dans l’expérience du chien de Pavlov, par exemple, si on continue à faire sonner la clochette mais que la nourriture n’est plus donnée, le chien salive de moins en moins, jusqu’à ce qu’il n’y ait plus salivation du tout. On dit alors que le conditionnement a été éteint (dés-apprentissage). A l’inverse, si l’on continue de donner de la nourriture au chien tout en conservant le SC, on observe alors que l’intensité de la réaction conditionnée croı̂t jusqu’à atteindre un seuil. On parle alors de saturation de la réaction conditionnée. Toutes ces propriétés s’expliquent très simplement par le modèle proposé indépendamment par Rescorla et Wagner en psychologie [158] et Widrow en Sciences pour l’Ingénieur (algorithme des moindre carrés) [200] qui peut être formalisé selon l’expression suivante : Wij [t + 1] = Wij [t] + αi · Ei · β · (Sd − Sj ) (2) avec αi · Ei l’intensité du SC (αi est la constante d’apprentissage); β le coefficient - 46 - Chapitre 3 Réseaux de neurones et les systèmes dynamiques d’apprentissage; Sd , la réponse souhaitée; Sj , la réponse effective. Si l’on dispose d’une architecture adéquate alors un simple mécanisme d’apprentissage permet donc d’apprendre une très grande variété de comportements (voir thèse de A. Revel [159]). Il est donc important de s’intéresser aussi à l’organisation anatomique et fonctionnelle du cerveau pour comprendre comment sans apprentissage réellement supervisé nous réussissons à apprendre des tâches très complexes. - 47 - Section 3.2 3.2 Données neurobiologiques et anatomiques Données neurobiologiques et anatomiques La connaissance du cerveau est encore incomplète et controversée, même au sein de la communauté des neurobiologistes de nombreuses observations peuvent être interprétées différemment. Nous ne présentons ici que des données relativement consenseuelles sur le système nerveux central humain (S.N.C.). Nous détaillerons plus particulièrement le cortex visuel et le système limbique, avec en particulier l’hippocampe, dont nous reparlerons dans les chapitres suivantes. 3.2.1 Vision d’ensemble de l’anatomie du cerveau Le système nerveux assure le contrôle des activités rapides du corps, les événements viscéraux de survenue rapide et même la sécrétion de certaines glandes endocrines. La plupart des activités du système nerveux sont initiées par des expériences émanant de récepteurs sensoriels, visuels, auditifs ou d’autres, situés à la surface ou à l’intérieur du corps. Ces expériences sensorielles entraı̂nent le plus souvent une réaction immédiate et sont mémorisées par le cerveau. Cette mémorisation d’un état perceptivo-moteur associée à une “valeur” de renforcement (positive ou négative par rapport à la satisfaction de certains besoins) peut ainsi aider à déterminer les réactions de l’organisme dans le futur. Le rôle le plus important du système nerveux est de commander les différentes activités de l’organisme. Ceci est réalisé par le contrôle de la contraction des muscles squelettiques à travers le corps, la contraction des muscles lisses au niveau des organes internes. Ces activités sont appelées dans leur ensemble, fonctions motrices du système nerveux, et les muscles sont appelés effecteurs, car ils exécutent les fonctions dictées par les signaux nerveux. La fonction majeure du système nerveux est de traiter les informations de manière à ce que les réactions motrices appropriées puissent se produire. Les grandes divisions du système nerveux central humain, dans la terminologie la plus largement utilisée, sont: le cerveau hémisphérique est composé du cortex cérébral, des noyaux profonds, des structures limbiques et de la substance blanche. Ces structures sont impliquées dans plusieurs mécanismes de cognition. le diencéphale est le cerveau intermédiaire qui contient, parmi d’autre structures, le thalamus et l’hypothalamus. Le thalamus est essentiellement une importante station de relais dirigeant à la fois les signaux sensoriels (somesthésiques, visuels, auditifs, de contrôle musculaire) vers les zones appropriées du cortex cérébral. L’hypothalamus est essentiellement impliqué dans la régulation de la température corporelle et la sécrétion neuronale de plusieurs hormones. le mésencéphale ou cerveau moyen, participe dans la stimulation de l’ensemble du cerveau et le contrôle du tonus musculaire, contrôle des mouvements oculaires, relais des signaux issus du cervelet et transmission des signaux vers le thalamus. - 48 - Chapitre 3 Réseaux de neurones et les systèmes dynamiques le cervelet est une composante importante du système de contrôle de la motricité. Sa fonction principale est la définition, lors d’un mouvement complexe, des séquences chronologiques de contraction des différents muscles d’une région du corps, en particulier lors des mouvements rapides. la protubérance ou le pont : participe aussi au tonus musculaire ainsi qu’aux mouvements oculaires et faciaux (sensibilité de la face, audition et équilibration). Elle est aussi un relais pour le cervelet. la moelle épinière a deux fonctions : c’est un conduit pour les fibres afférentes qui transmettent les informations sensorielles au cerveau et pour les fibres efférentes qui transmettent les signaux moteurs du cerveau à la périphérie. En même temps, c’est une zone intégratrice permettant de coordonner de nombreuses activités subconscientes tel que certains réflexes (le réflexe de flexion, ...). Les neurochirurgiens et les neurologues ont rassemblé avec attention les modifications de la fonction cérébrale provoquée par des tumeurs ou des lésions spécifiques. Ainsi, ils ont mis en évidence les principales aires fonctionnelles du cortex cérébral (voir figure 3-6). Cortex moteur Cortex prémoteur Sens primaire somesthésique secondaire Aire préfrontale secondaire Vision primaire Aire de Broca primaire secondaire Aire de Wernicke Audition Figure 3-6. Les aires fonctionnelles du cortex cérébral. Les aires motrices est divisée en trois parties : le cortex moteur primaire, le cortex prémoteur et l’aire de Broca tous concernés par l’activité musculaire. Elles occupent la moitié postérieure du lobe frontal. Le cortex moteur primaire contrôle des muscles spécifiques du corps, particulièrement ceux qui sont à l’origine des mouvements fins, tels que ceux des lèvres et de la bouche (pour parler et manger), des doigts et du pouce. Le cortex - 49 - Section 3.2 Données neurobiologiques et anatomiques pré-moteur provoque les mouvements coordonnés qui comprennent à la fois les séquences de mouvements de muscles individualisés ou de mouvements combinés et simultanés de plusieurs muscles. C’est dans cette aire que la plupart de nos connaissances nécessaires au contrôle de l’habileté motrice sont emmagasinées (exemple : les mouvements de la marche). L’aire de Broca contrôle la coordination des mouvements du larynx et de la bouche générant l’expression des mots. Cette aire est le centre du langage et elle est présente seulement dans un des deux hémisphères cérébraux. Les sensations somesthésiques sont celles qui proviennent du corps, telles que le toucher, la pression, la température et la douleur. Elles sont représentées par les aires sensorielles somesthésiques qui occupent presque la totalité du lobe pariétal. Cette aire est divisée en une aire primaire et une aire secondaire. Ceci reste vrai pour toutes les autres aires sensorielles. L’aire sensorielle somesthésique primaire est la partie du cortex qui reçoit directement les signaux des différents récepteurs sensitifs de l’organisme. Au contraire, les signaux parvenant à l’aire sensorielle somesthésique secondaire sont partiellement traités par les structures profondes du cerveau ou par l’aire somesthésique primaire. L’aire primaire est capable de reconnaı̂tre les types particuliers de sensations en provenance de régions distinctes du corps. Le rôle de l’aire secondaire est essentiellement d’interpréter le signal sensitif. Les aires visuelles détectent de manière spécifique les points sombres et lumineux, ainsi que la couleur, l’orientation des lignes et le contour de la scène visuelle. Elles occupent la totalité du lobe occipital. Les aires visuelles secondaires ont pour fonction d’interpreter l’information visuelle. Étant donnée que la vision occupe une place importante dans notre document, nous en faisons une présentation plus détaillée dans la section 3.2.2. Les aires auditives sont situées dans la moitié supérieure des deux tiers antérieurs du lobe temporal. C’est dans les aires primaires que les sons spécifiques, la sonorité et d’autres qualités du son sont perçus. C’est dans les aires auditives secondaires que le sens des mots est interprété et que la reconnaissance de la musique a lieu. Le lobe temporal semble être implique dans des tâches de reconnaissance de formes (neurones répondants de manière spécifique à des visages, formes, ... dans le cortex inferotemporal) et participer à la mémoire à court terme. Le lobe pariétal s’intéresse plus particulièrement à l’aspect spatial des informations traitées par le cerveau. Si le lobe temporal s’intéresse au “quoi” (reconnaissance des objets par exemple) alors le lobe pariétal s’intéresse au “où”. C’est dans l’aire de Wernicke que les signaux sensoriels en provenance de trois lobes - temporal, occipital et pariétal - se rencontrent. Cette aire est située dans la partie postéro-supérieure du lobe temporal. Cette aire est d’une importance extrême pour l’interprétation finale de la signification de ces différents signaux, c’est à dire les phrases et les pensées, qu’elles soient lues, entendues, senties, voire générées à l’intérieur même du cerveau. Ainsi, la destruction de cette zone induit des pertes importantes dans la capacité de penser. Cette aire n’est bien développée que dans un seul des hémisphères ce qui, on le suppose, [88], évite la confusion du traitement de la pensée entre les deux moitiés du cerveau. - 50 - Chapitre 3 3.2.2 Réseaux de neurones et les systèmes dynamiques Données neurobiologiques sur la vision La vision est sans conteste le sens jouant le rôle le plus important dans les mécanismes de survie et d’adaptation des espèces animales les plus évoluées. Il est bien sûr vital pour les animaux diurnes de posséder une vision pour pouvoir échapper aux prédateurs ou au contraire se lancer à la poursuite de proies. Les animaux nocturnes, cependant, ne sont pas en reste; l’affinement de l’acuité visuelle leur donnant un atout décisif vis à vis de leur ennemis ou proies moins bien équipés. En ce qui concerne l’homme, même si la vision n’a plus ce caractère vital, ce sens reste tout de même celui qui semble le plus mis en valeur, car c’est lui qui permet de guider la plupart de nos actions. La compréhension des processus de perception visuelle requiert de bonnes connaissances des bases neurobiologiques de la vision [39]. Nous allons ici résumer les circuits neurobiologiques qui permettent de traiter l’information lumineuse de manière à pouvoir l’utiliser, par exemple, pour effectuer une action motrice. 3.2.2.1 La rétine Le globe oculaire est le point de départ de la chaı̂ne de traitement de l’information visuelle. L’oeil constitue un formidable système optique permettant de former une image nette de tout objet présent dans l’environnement sur une surface interne photo-sensible appelée la rétine. L’image est amenée au foyer de la rétine grâce à l’intervention de sortes de lentilles intermédiaires, la cornée et le cristallin. Les objets pouvant être évidemment situés à différentes distances, la courbure du cristallin est adaptée par l’intermédiaire des muscles ciliaires de manière à réajuster la netteté (phénomène d’accommodation). Par ailleurs, la quantité de lumière pénétrant dans l’oeil est régulée par la fermeture d’un diaphragme appelé iris. Enfin, le milieu intra-oculaire est formé d’un liquide qui absorbe des longueurs d’ondes spécifiques de manière à filtrer la distribution de fréquences lumineuses parvenant à la rétine (voir figure 3-7). La rétine est un élément essentiel au codage et à la compression de l’information contenue dans le spectre lumineux. On peut tout d’abord dire qu’elle est l’interface nécessaire pour permettre au cerveau d’appréhender les ondes lumineuses comme des signaux pourvus d’informations. Par ailleurs, la répartition topographique et la différenciation fonctionnelle des éléments photo-sensibles conditionnent totalement les représentations que fabrique le cerveau. La rétine est constituée de deux types principaux de récepteurs permettant la phototransduction (transformation du signal lumineux en signal électrique). Ces récepteurs possèdent des sensibilités distinctes et des répartitions topographiques différentes [106]. Les bâtonnets sont des éléments sensibles aux faibles niveaux lumineux principalement présents dans les zones périphériques de la rétine (et donc du champ visuel). On en compte environ 120 millions. Ils sont insensibles aux différences de couleurs et répondent sur une gamme de fréquence très étendue. Les cônes, par contre, sont sensibles aux fortes intensités de lumières ayant une fréquence particulière. On trouve trois sous-catégories de cônes : les cônes sensibles au bleu, au vert ou au jaune-vert. Les 6 millions de cônes - 51 - Section 3.2 Données neurobiologiques et anatomiques nerf optique cornée cristallin axe visuel iris fovea Figure 3-7. Schéma du globe oculaire faisant apparaı̂tre la cornée, l’iris, la rétine et le nerf optique. que compte la rétine sont principalement présents dans la zone centrale du champ visuel (là où se forme l’image) appelée fovéa. Les cônes ou les bâtonnets sont ensuite reliés à des cellules bipolaires elles-mêmes connectées aux cellules ganglionnaires dont les axones forment le nerf optique. Une forte compression de l’information est réalisée puisqu’on ne trouve environ qu’un million de cellules ganglionnaires. En fait, sur la périphérie du champ visuel de nombreux bâtonnets sont reliés à la même cellule ganglionnaire. Plus on se rapproche de la fovéa, moins le nombre de cellules photo-sensibles reliées à la même cellule ganglionnaire est important. Par ailleurs, des inhibitions latérales entre cellules photo-sensibles sont réalisées par les cellules horizontales et les cellules amacrines. Ces types de cellules participent au rehaussement du contraste aussi bien localement que globalement [148]. C’est aussi grâce à ces mécanismes que les cellules bipolaires donnent des réponses qui sont fonction du logarithme du rapport de la réponse d’un photo-récepteur et de la moyenne des réponses des photo-récepteurs dans un voisinage. On distingue deux types de cellules ganglionnaires différenciées par la réponse qu’elles donnent à un rayon lumineux projeté sur le centre de leur champ récepteur. Les cellules dites “center-ON” produisent une réponse lorsqu’on présente de la lumière au centre du champ. Par contre, elles sont inhibées lorsque la lumière est présentée sur le pourtour. Les cellules “center-OFF” présente la caractéristique inverse. Par ailleurs, on distingue encore deux sous catégories de cellules ganglionnaires en fonction du temps pendant lequel réagissent ces cellules. Les cellules X sont dites toniques. Elles répondent tant qu’elle sont activées par un stimulus lumineux. À l’inverse, les cellules Y sont dites phasiques car elles ne donnent qu’une réponse transitoire (détection de mouvements). Les cellules X sont surtout présentes dans la fovéa où l’acuité visuelle est la plus importante et les cellules Y sont réparties principalement sur les zones périphériques du champ de vision La rétine est donc un filtre incroyablement complexe servant d’interface entre les informations visuelles provenant du monde extérieur et la perception qu’en a le cerveau. La rétine effectue une préservation de topographie mais une importante compression de - 52 - Chapitre 3 Réseaux de neurones et les systèmes dynamiques l’information est faite (rapport 1/125!). Par ailleurs la rétine fait apparaı̂tre des cellules possédant des fonctionnalités bien distinctes, dont les voies efférentes sont parfaitement différenciées, ce qui laisse présager que les relais cérébraux suivant utiliseront les spécificités de ces cellules pour filtrer et spécialiser l’information. 3.2.2.2 Le corps génicullé latéral Considérons l’oeil droit par exemple. La partie gauche du champ visuel de l’oeil droit est projetée dans l’hémisphère gauche, par contre, la partie droite du champ visuelle reste dans le même hémisphère. Ainsi, toutes les fibres concernant la partie droite du champ de vision se retrouvent dans l’hémisphère droit, et inversement pour la partie gauche (voir figure 3-8). Presque toutes les fibres du nerf optique se terminent dans le noyau génicullé , aussi fréquemment appelé corps genouillés latéraux. Certaines fibres aboutissent, elles, dans les tubercules quadrijumeaux antérieurs du mésencéphale. Enfin, quelques fibres aboutissent aux noyaux du diencéphale qui joue un rôle dans les rythmes circadiens. Le noyau génicullé latéral a deux fonctions principales : celle de relais pour l’information visuelle allant de l’oeil vers le cortex (ils permettent de différencier les différentes voies provenant de cellules aux fonctions distinctes de la rétine) et celle de canal de communication “parfait”. Il réalise une transmission exacte point par point de la rétine jusqu’au cortex visuel). radiation optiques corps genouillé latéral chiasma optique nerf optique cortex visuel Figure 3-8. Les principales voies optiques des yeux au cortex visuel. Les corps genouillés possèdent six couches de neurones. Chacune de ces couches ne reçoit que les fibres issues d’un seul oeil en alternant d’une couche à l’autre. Les couches 1,4 et 6 reçoivent les fibres provenant du coté opposé alors que les couches 2,3 et 5 reçoivent les fibres du coté correspondant au même hémisphère. Chaque couche perçoit la totalité du champ visuel, et deux neurones se correspondant dans deux couches différentes perçoivent la même portion de champs (voir figure 3-8). Hubel et Wiesel ont montré, de plus, que les - 53 - Section 3.2 Données neurobiologiques et anatomiques neurones du corps genouillé ont les mêmes caractéristiques que les cellules ganglionnaires [103, 102]. En particulier, on retrouve des neurones center-ON et des neurones centerOFF. Par ailleurs, il a été montré qu’on retrouve aussi la dichotomie entre cellules X et cellules Y. Les couches 1 et 2 sont appelées couches magnocellulaires parce qu’elles contiennent des neurones de grande taille. Presque tous leurs signaux afférents prennent leur origine dans les grandes cellules ganglionnaire de type Y. Ce système magnocellulaire constitue une voie de conduction très rapide jusqu’au cortex visuel. Par contre, cette voie est “aveugle” au couleurs, et transmet uniquement l’information en noir et blanc. Les couches 3 à 6 sont appelées couches parvocellulaires parce qu’elles contiennent de nombreux neurones de petite taille. Presque tous leur signaux afférents prennent leur origine dans les cellules ganglionnaires de type X qui transmettent la couleur et qui sont capables de transmettre une information spatiale très précise, point par point, bien que la vitesse de transmission soit modérée. 3.2.2.3 Le cortex visuel Le cortex visuel est situé au niveau des lobes occipitaux. Il se divise en cortex visuel primaire et cortex visuel secondaire. Le cortex visuel primaire coı̈ncide dans son étendue avec l’aire corticale 17 de Brodmann. Elle est également fréquemment appelée aire V1. Les aires visuelles secondaires, appelées aires d’association visuelle, se trouvent situées devant, au-dessous et au-dessus du cortex visuel primaire. Sur ces aires sont transmis des signaux permettant l’analyse de la signification visuelle. Par exemple, l’aire 18 de Brodmann constitue une aire d’association par laquelle transitent pratiquement tous les signaux provenant du cortex visuel primaire. Par conséquent, elle est appelée aire V2, les autres aires visuelles secondaires ont des dénominations spécifiques: V3, V4. Leur importance tient à leur capacité à traiter point par point et progressivement l’image visuelle. Les axones des neurones du corps genouillé forment les radiations optiques qui aboutissent dans le cortex visuel primaire V1. Les projections des axones provenant des corps genouillés latéraux ont des propriétés topologiques très intéressantes. En particulier, pour une zone de l’aire visuelle correspondant à une partie du champ visuel, on va trouver un alignement de cellules correspondant à l’oeil situé dans le même hémisphère cérébral (ipsilatéral) juste à coté d’un alignement de cellules correspondant à l’oeil opposé (controlatéral). Comme beaucoup d’autre portions du cortex cérébral, le cortex visuel comporte six couches de neurones superposées, numérotées de I à VI dans l’aire visuelle primaire (la couche I est la plus externe) illustrées sur la figure 3-9. Les axones issus du corps genouillé latéral viennent plonger principalement au sein de la couche IV et se projettent en respectant la topologie de la rétine. Il est intéressant de noter que les cellules X et Y ne se terminent pas au même endroit mais dans des sous-couches distinctes. Les neurones provenant de cellules ganglionnaires Y se terminent sur la couche 4ca d’où il sont dirigés verticalement vers la surface du cortex ou vers sa profondeur. Les neurones provenant de cellules ganglionnaires X se terminent sur les couches 4b et 4cb. Les neurones de la couche IV envoient à leur tour des prolongements axonaux vers les couches II et III. Ces derniers - 54 - Chapitre 3 Réseaux de neurones et les systèmes dynamiques II III IV (a) (b) (ca) (cb) V VI (Y) magnocellulaire (rapide, noir et blanc) (X) parvocelullaire (grande précision, couleur) Figure 3-9. Le six couches du cortex visuel primaire. sont connectés à la couche V qui est elle-même liée à la couche VI. Enfin, la couche VI connecte la couche IV par une branche collatérale. Par ailleurs, des axones sont envoyés dans des zones à l’extérieur de l’aire 17. En particulier, les couches II et III tissent des liens avec les aires visuelles secondaires 18 et 19. La couche V envoie des axones vers les tubercules quadrijumeaux et la couche VI vers les corps genouillés latéraux. La figure 3-10 montre l’analyse de l’information visuelle dans les aires visuelles secondaires, après son passage par le cortex primaire, à travers deux voies principales. Une des voies analyse les positions des objets visuels dans les trois dimensions. A partir de cette information, cette voie analyse également la forme globale de la scène visuelle ainsi que son mouvement. Autrement dit, cette voie rend compte d’“où” se trouve chaque objet à chaque instant et s’il est en mouvement. Les signaux transmis par cette voie de position-forme-mouvement proviennent principalement des grandes fibres Y. L’autre voie prend en charge l’analyse du détail visuel ainsi que le traitement de l’information visuelle concernant la couleur. C’est ainsi que cette voie s’occupe de capacités visuelles telles que reconnaı̂tre des lettres, lire, déterminer la texture de surfaces et, à partir de toutes ces informations, ce qu’est l’objet et ce qu’il signifie. Il s’agit de la voie “quoi” de traitement de l’information visuelle. Les signaux transmis par cette voie associée à la signification de l’objet, proviennent principalement des fibres X. Dans le chapitre 6, nous utiliserons ces informations pour développer une architecture permettant à notre élève d’apprendre à reconnaı̂tre la forme visuelle de son professeur. Hubel et Wiesel se sont aperçu qu’il existait trois types de cellules dans le cortex, - 55 - Section 3.2 Données neurobiologiques et anatomiques aires visuelles secondaires position mouvement aire V2 (18) aire V1 (17) detail visuel couleur Figure 3-10. Le cortex visuel avec la transmission des signaux visuels du cortex visuel primaire (V1) aux aires visuelles secondaires. répondant de manière différente en fonction du type de stimulus utilisé. Les cellules simples, sont principalement présentes dans la couche IV. Comme pour les cellules ganglionnaires elles présentent deux zones ON et OFF dans leur champ récepteur. Cependant ces champs ne sont pas circulaires mais allongés dans une direction particulière. Ces cellules sont donc sensibles à une différences de contraste selon une orientation donnée et pour un point précis du champ visuel. Les cellules complexes, quant à elles, sont présentes en dehors de la couche IV. Elles aussi sont sensibles à une différence de contraste orientée, mais cette fois quelle que soit la position dans le champ visuel. Enfin, les cellules hypercomplexes ont une réponse semblable aux cellules complexes mais elles répondent plus préférentiellement à des stimuli d’une longueur donnée. Par ailleurs, elles sont sensibles au mouvement dans la direction perpendiculaire à l’orientation du stimulus. Par ailleurs, les neurones de différentes couches situés dans une colonne corticale à la surface de la couche, ont tendance à tisser des liens de manière préférentielle avec d’autres neurones situés dans la même colonne. Cette organisation en colonnes se retrouve dans tout le cortex cérébral. Chaque colonne représente une unité fonctionnelle, chaque colonne contiendrait autour de 1000 neurones [88]. Dans le cortex visuel, ces colonnes sont appelées, Colonnes de Dominance Oculaire (CDO). Au sein d’une même CDO, il a été montré qu’il existait des blocs individuels dont les neurones répondaient préférentiellement à une orientation donnée de stimuli visuels. En passant d’un bloc à un autre, toujours pour la même CDO, l’axe préférentiel d’orientation du stimulus change d’environ 10 degrés. En plus des CDO, on trouve des régions en forme de cheville qui interrompent la progression des colonnes d’orientation. Les neurones situés dans ces régions ne réagissent pas à l’orientation mais aux couleurs. Ce sont des cellules à double opposition (excitées par le rouge et inhibée par le vert par exemple). On les trouve surtout dans les zones du cortex visuelle primaire qui codent le centre du champ visuel. Pour résumer, l’ensemble des caractéristiques vues ci-dessus, nous considérons une CDO comme un module fonctionnel de base du cortex visuel capable d’effectuer l’ensemble des opérations élémentaires de traitement du stimulus visuel. - 56 - Chapitre 3 3.2.3 Réseaux de neurones et les systèmes dynamiques Le cortex limbique et l’hippocampe A l’origine, le terme “limbique” était utilisé pour décrire les structures limites situées autour des régions basales du cerveau, mais au fur et à mesure que les connaissances neurobiologiques ont progressées, la signification du terme “système limbique” s’est étendue à l’ensemble du circuit neuronal qui contrôle les comportements émotionnels et les conduites motivationnelles. Les afférences du système limbique proviennent de l’ensemble des aires sensorielles supérieures et ses projections comprennent la majorité des aires corticales, y compris le cortex pré-frontal. Une grande partie du système limbique est constituée par l’hypothalamus et ses structures associées. Autour de l’hypothalamus se trouvent les structures sous-corticales du système limbique comprenant le septum, l’aire paraolfactive, une partie des noyaux gris centraux, les corps mamillaires, l’amygdale et l’hippocampe. Dans la suite de ce paragraphe, nous nous intéressons plus spécifiquement à l’hippocampe qui joue un rôle primordial au niveau de la mémoire déclarative et qui semble très important pour permettre l’apprentissage dans d’autres structures du cerveau (il aurait par exemple un rôle important même pour l’acquisition de simples conditionnements comme nous le verrons par la suite [182]). Son étude est donc tout à fait justifié dans le cadre d’une étude sur l’apprentissage par imitation. L’hippocampe a de nombreuses connexions, principalement indirectes, avec de nombreuses parties du cortex cérébral, mais aussi aussi avec les principales structures du système limbique (l’amygdale, l’hypothalamus, le septum et les corps mamillaires). Presque toutes les expériences sensorielles entraı̂nent l’activation d’au moins une partie de l’hippocampe. Sa connectivité permet à l’hippocampe d’envoyer de nombreux signaux dans presque toutes les structures dont il reçoit des entrées (capacité de fusion multimodale). L’hippocampe est une structure ayant un rôle important dans l’apprentissage à long terme, plus particulièrement dans le transfert des informations de la mémoire à court ou moyen terme vers la mémoire à long terme qui est considérée comme étant plutôt de nature corticale. Dans certains cas d’épilepsie chez l’être humain, les hippocampes ont été enlevés bilatéralement par voie chirurgicale. Dans ce cas, les sujets peuvent se souvenir de façon satisfaisante de la plupart des faits antérieurement appris et mémorisés. Cependant, ils ne peuvent retenir aucune nouvelle information. En fait, ils ne peuvent même pas apprendre les noms de personnes avec lesquelles ils entrent en contact chaque jour. Toutefois, ils sont capables de se souvenir un instant de ce qui vient de se passer au cours de leurs activités courantes. Ainsi, ils sont en possession d’un type de mémoire à très court terme, même s’ils n’ont plus de mémoire de durée plus longue, supérieure à quelques secondes. Ce phénomène est qualifié d’amnésie antérograde1 . Une autre caractéristique de l’hippocampe est que de très faibles stimulations électriques déclenchent des crises qui persistent pendant quelque temps après la fin de 1 Les patients ayant des lésions hippocampique conservent leur anciens souvenirs et sont capables peu à peu d’apprendre par exemple de nouvelles habiletés manuelles sans être capables de se rappeler les avoir apprises (apprentissage au niveau cortical). - 57 - Section 3.2 Données neurobiologiques et anatomiques la stimulation, ceci suggérant que l’hippocampe présente la capacité de potentiation à long terme (Long Term Potentiation - LTP) de la plupart de ses connexions internes. On entend par potentiation, la facilitation d’une réponse postsynaptique par excitations successives des voies afférentes sollicitant cette synapse. La LTP peut durer 3s,15s, quelques minutes, voire même parfois jusqu’à plusieurs semaines ! Cette caractéristique des fibres perforantes semblerait être la source des capacités de mémorisation rapide qui font la force de l’hippocampe. La formation hippocampique est constituée de deux éléments : le Gyrus Dentelé (Dentate Gyrus - DG) et la Corne d’Ammon (CA). Au niveau de CA, il existe une subdivision fonctionnelle entre CA1, CA2 et CA3. Souvent, on associe le subiculum (SUB ) et le cortex entorhinal (Entorhinal Cortex - EC ) à la formation hippocampique (voir figure 3-12). La plupart des afférences de l’hippocampe proviennent des aires sensorielles supérieures et des aires associatives et sont relayées par le cortex entorhinal. Par ailleurs, l’hippocampe envoie lui-même des efférences dans l’ensemble des aires associatives. Il y a approximativement 108 cellules dans le DG de l’homme [192]. La réponse des neurones du DG, appelées cellules granulaires, présente une particularité : la taille de la cellule détermine l’amplitude et la durée de la réponse. Dans la figure 3-11, nous présentons un aperçu de cette particularité: plus la taille de la cellule granulaire est grande, plus l’amplitude de son potentiel postsynaptique sera faible et la durée de son activation longue (voir section 5.2 pour plus de détails sur le modèle que nous avons développé). Plus de 70% des efférences de l’EC constituent des afférences pour DG, ce qui implique toujours une activation de DG suite à une activation de EC. De cette manière, le comportement du gyrus dentelé a été souvent comparé avec des bases de retards [38]. Intensité d’activation 1 0.9 0.8 Cellule 1 0.7 0.6 Cellule 2 0.5 0.4 0.3 0.2 0.1 0 0 1000 2000 3000 4000 5000 ms 6000 7000 8000 9000 10000 temps en ms Figure 3-11. Le potentiel post-synaptique des cellules granulaires, tel que nous le simulons, en fonction de leur taille. CA3 contient environ 2.6 × 106 neurones [192]. La caractéristique principale de CA3 - 58 - Chapitre 3 Réseaux de neurones et les systèmes dynamiques est qu’elle reçoit des afférences des 3 formations différentes : le cortex entorhinal, le gyrus dentelé et d’elle-même. Mais les synapses entre les neurones de CA3 et les autres formations sont différentes, ce qui laisse supposer un rôle différent des signaux qui passent par elles. Selon [3], le circuit neuronal au sein de l’hippocampe est le suivant : les afférences en provenance des autres aires cérébrales se projettent sur EC. Par l’intermédiaire des fibres perforantes, des afférences en provenance de la couche II de EC induisent une activité dans le DG et CA3. DG projette ses efférences sur CA3, via des fibres moussues (MF). Par ailleurs, CA3 projette des liaisons collatérales sur lui-même. De la même manière CA3 possède des liens avec CA1 qui reçoit cependant, aussi, des afférences du niveau III de EC. Le subiculum reçoit des liens en provenance de CA1 mais aussi de la couche III de EC. Finalement, des projections de CA1 et du subiculum viennent atteindre en retour les niveaux V et VI de EC [3, 192]. Représentation du spectre temporel DG Cortex associatif (nucleus accumbens) Cortex associatif et préfrontal EC2 Sélection de la prochaine action CA3 Prédiction des séquences CA1 Sub EC3 Subiculum (ACh) Septum Détection de nouveauté Figure 3-12. Structures et liens au sein de l’hippocampe. Dans la figure 3-12 nous avons un aperçu des liaisons au sein de l’hippocampe. Les interprétations fonctionnelles des différentes structures sont dérivées du modèle de Banquet et Gaussier [15]. En parallèle, il a été montré qu’au cours du conditionnement (voir section 3.1.3), certains neurones de l’hippocampe réagissaient de manière identique à celui de la réponse conditionnée et que l’augmentation de l’activité de ces neurones précédait l’acquisition même du comportement. Par ailleurs, les neurones qui répondent au Signal Conditionnel (SC) sont différents de ceux activés par la Réponse Conditionnelle (RC) ou encore le Signal Inconditionnel (SI) [20]. De plus, les cellules de l’hippocampe ne répondent pas seulement aux simples stimuli, mais aussi aux combinaisons de stimuli [198]. Ces faits, - 59 - Section 3.2 Données neurobiologiques et anatomiques et des expériences de lésions hippocampiques, sembleraient montrer une implication de l’hippocampe dans le conditionnement. En effet, certains types de conditionnements sont impossibles sur des animaux donc l’hippocampe est lésé. En particulier, lors d’expériences de réacquisition, les animaux lésés ont plus de difficultés à réapprendre [61, 173]. De même, les lapins avec des lésions hippocampiques ont des difficultés à apprendre le blocage [175]. Par ailleurs, les animaux lésés sont incapables d’apprendre un conditionnement inversif [151][21], un problème de discrimination positive [164], ou bien de “negative patterning” [19]. Dans la suite de notre discussion, nous nous appuierons sur les données biologiques que nous venons de présenter à la fois pour élaborer nos architectures de contrôle robotique et pour envisager dans quelle mesure elles peuvent être des modèles de phénomènes biologiques. Nous avons insisté, en particulier, sur l’hippocampe car nous suggérerons dans le chapitre 5 son implication dans l’apprentissage de séquences temporelles et de conditionnements. Par ailleurs, nous proposerons au paragraphe 5.2 un modèle simplifié de l’hippocampe qui peut prédire l’arrivée des événements constituant une séquence. - 60 - Chapitre 3 3.3 Réseaux de neurones et les systèmes dynamiques Modèles de réseaux de neurones Dans ce paragraphe, nous présentons différents modèles de réseaux de neurones. Nous introduisons le mécanisme du Winner Take All (WTA) [166, 121]. Par la suite, nous présentons le modèle ART de Grossberg [84, 81] qui tente de trouver un compromis entre l’adaptabilité et stabilité ainsi que le modèle de carte topologique auto-adaptative introduit par Kohonen [112, 113]. Enfin, nous décrivons le modèle de carte topologique probabiliste à apprentissage autonome et l’architecture PerAc proposée par Gaussier et Zrehen. 3.3.1 Winner Take All (WTA) Un réseau de type WTA essaie de reproduire les mécanismes de compétition qu’on peut trouver entre les neurones d’une même colonne ou entre des colonnes de neurones. Le processus de compétition est simulé par des connexions latérales inhibitrices entre les neurones. Les neurones utilisés dans un réseau WTA sont, dans la plupart des cas, des neurones formels dont l’apprentissage est défini par la règle de Hebb. À la fin de la convergence, le neurone dont l’activité est la plus grande reste actif, tous les autres sont inhibés [166, 121]. Pour mieux comprendre les mécanismes de compétition, nous présentons le modèle INSTAR de Grossberg [79]. Il a été utilisé comme mécanisme de rehaussement de contraste pour un réseaux ART. Le fonctionnement du réseau INSTAR est décrit à l’aide de l’équation différentielle (3) qui assure aussi la normalisation de l’activité par rapport à l’activité totale [84, 81]. Dans ce modèle, chacun des N neurones de la première couche envoie une liaison excitatrice vers le neurone correspondant (spatialement) sur la deuxième couche (voir figure 3-13). De plus, chaque neurone de la deuxième couche reçoit une liaison inhibitrice de l’ensemble des neurones de la première couche, sauf le neurone correspondant. En même temps la sortie d’un neurone de la deuxième couche est rebouclée sur le neurone lui même avec un effet inhibiteur. Nous considérons un neurone k qui reçoit les entrées ik et qui a pour sortie yk . Soit P I = k ik et φk = iIk l’entrée relative. La dynamique du neurone k de la deuxième couche est modélisée par l’équation : X dyk il (3) = −A · yk + (B − yk ) · ik − yk dt l6=k avec l’influence inhibitrice des neurones voisins −yk l6=k il , l’influence excitatrice de l’entrée +B · ik , le terme de décroissance passive du potentiel du neurone −A · yk et l’effet inhibiteur de la sortie du neurone −yk · ik . A, B sont des constantes, et 0 ≤ yk (0) ≤ B (effet inhibiteur de la sortie −yk ·ik ne doit jamais être plus important que l’effet excitateur de l’entrée +B · ik ). Après un régime transitoire, à l’équilibre ( dydtk = 0), nous avons : P yk · (A + I) = B · ik - 61 - (4) Section 3.3 Modèles de réseaux de neurones ik yk lien inhibiteur lien excitateur Figure 3-13. Réseau INSTAR avec une compétition à deux couches. La sortie est proportionelle à l’entrée : yk = φk · A·B A+I (5) A·B A·B = ≤B A+I A+I (6) et la somme des sorties est normalisée : ytotal = N X k=1 3.3.2 yk = N X k=1 φk · Le réseaux ART L’Adaptive Resonance Theory (ART) est une famille de modèles de réseaux de neurones inspirés des observations effectuées en psychologie visuelle. Elle a été introduite dans les années 80 [80, 42] et elle est basée sur trois éléments : • la normalisation de l’activité totale du réseau. Les systèmes biologiques ont une large adaptivité aux changements de leur environnement (ex. l’oeil peut s’adapter aux variations de lumière). • le rehaussement de contraste entre les formes du système. Trouver les moindres différences entre les formes est important pour la survie. • la mémorisation à court terme de la forme dont le contraste a été rehaussé. Avant le traitement de l’entrée, elle doit être mémorisée dans une mémoire à court terme (STM). En même temps, le modèle ART est fait pour harmoniser le dilemme entre l’adaptation (plasticité synaptique) et la stabilité (rigidité synaptique) de l’apprentissage. Dans un système trop plastique, les informations sont apprises même si elles ne sont pas pertinentes, ou les informations apprises sont oubliées. Par contre, dans un système trop rigide, les - 62 - Chapitre 3 Réseaux de neurones et les systèmes dynamiques informations pertinentes ne sont pas apprises. Dans le modèle ART, l’introduction d’un terme de vigilance permet de gérer de manière autonome le passage d’un mode “plastique” à un mode “rigide”. Le réseaux ART comporte deux couches, F1 et F2 (voir figure 3-14), qui sont connectées avec des liaisons qui forment une mémoire à long terme (LTM). Représentation de catégories F2 couche de classification LTM LTM Répresentation de caratéristiques couche de comparaison F1 forme d’entrée Figure 3-14. Représentation schématique de principe du modèle ART. Suivant une analyse ascendante du problème de reconnaissance, du niveau d’entrée vers le niveau le plus abstrait (classification), la couche F1 reçoit la forme d’entrée. Elle agit comme une mémoire à court terme. Par ailleurs, elle réalise une caractérisation de la forme par le biais d’une normalisation de l’activité par rapport à l’activité totale. Ensuite, à travers les liaisons de F1 vers F2, la forme d’entrée est codée dans une des catégories représentées par la couche F2. La couche F2 est un réseau compétitif (WTA généralement) qui réalise la classification de l’entrée et qui propose une classe pour la forme d’entrée. Si la différence entre le prototype de la classe proposée et la forme d’entrée est trop importante par rapport à un terme appelé vigilance, alors la forme est apprise. Afin de mieux comprendre le fonctionnement interne d’un réseau ART, nous présentons le modèle simplifié ART1 qui comporte deux couches des neurones binaires, dont les sorties sont 0 ou 1 (figure 3-15). Chaque neurone de F1 est connecté à tous les neurones de F2 avec des liaisons wf dont la valeur est réelle. De même, chaque neurone de F2 est connecté à F1 avec les liaisons wb dont les valeurs sont binaires. En utilisant la notation simplifié de [121], (N le nombre de neurones dans F1, M le nombre de neurones dans F2,1 < i ≤ N , 1 < j ≤ M et la vigilance ρ ∈ [0, 1]2 , L une constante) l’algorithme est le suivant : 1. Initialiser les poids des connexions : f b (0) = (0) = 1 wij wji 2 L ; L−1+N Les neurones de F1 sont identifiés par l’indice i et ceux de F2 par j. - 63 - Section 3.3 Modèles de réseaux de neurones 0 0 1 0 yM v1 vM F2 21 wb wf NM xN u1 1 uN 0 F1 1 I 0 Figure 3-15. Schéma du modèle ART1. 2. Présenter la forme d’entrée I et la propager vers F1. Calculer les activités U et les sorties X pour F1 : U =X=I 3. Propager les sorties de F1 vers F2 : • Calculer les activités vj pour F2. vj = N X f wij · xi i=1 • Calculer les sorties yj pour F2. Soit J = arg (maxk (vk )) l’indice du neurone gagnant. yj = ( 1 si j = J 0 sinon 4. Rétropropager les sorties de F2 vers F1. • Calculer les entrées ti de F1 provenant de F2. ti = M X yj · wji = wJi j=1 l’indice J est celui du neurone gagnant à l’étape précédente. - 64 - Chapitre 3 Réseaux de neurones et les systèmes dynamiques • Calculer les nouvelles activités et sorties pour F1. U = X = I/\T 5. Déterminer le degré de correspondance. xi |X| = Pi |I| i Ii P 6. Comparer le degré de correspondance avec la vigilance ρ. • Si |X|/|I| < ρ, inhiber le neurone J pour éviter qu’il gagne à nouveau et retourner à l’étape 3 avec le même vecteur d’entrée. • kXk/kIk > ρ, continuer 7. Mettre à jour les poids de connexions reliées au neurone gagnant vJ . f wiJ = ( L L−1+|X| 0 si xi est actif si xi est inactif b wJi = ( 1 si xi est actif 0 si xi est inactif 8. Réactiver tous les neurones de F2 inhibés à l’étape 6 et répéter l’algorithme à partir de l’étape 3 avec un nouveau vecteur d’entrée. La figure 3-16 illustre le comportement du réseau. Le modèle ART a été développé ultérieurement pour permettre la catégorisation de formes analogiques, sous le nom de ART-2 [43]. Pour combler l’incapacité de l’ART à préserver la topologie des entrées, le modèle ARTMAP utilise l’association de deux modules ART reliés entre eux par l’intermédiaire d’un map field. Ces cartes permettent de prédire les associations pouvant exister entre les catégories fabriquées par les deux modules ART [45, 44]. 3.3.3 Les cartes topologiques auto-adaptatives Les études de neurophysiologie montrent que, dans de nombreuses zones du cortex, les zones sensorielles sont organisées spatialement selon les stimuli d’entrée. Les exemples les plus connus sont ceux du cortex auditif (la représentation de fréquences, de l’amplitude du son [202, 203, 204, 111]), du cortex visuel (la représentation de l’orientation [102]) et du cortex moteur (le mouvement oculaire). Ces observations ont déterminé la création du modèle des cartes topologiques auto-adaptatives (Self Organizing Maps - SOM), un réseau de neurones qui utilise un mécanisme d’apprentissage non-supervisé. L’algorithme d’apprentissage a été introduit par T. Kohonen (voir [113] pour une revue) d’où le nom de “carte de Kohonen” utilisé parfois. Dans la plupart des cas, les SOM sont présentées comme une grille 2D de neurones (voir figure 3-17). Les interactions latérales sont modélisées souvent par une fonction du - 65 - Section 3.3 Modèles de réseaux de neurones Formes apprises sur les neurones 1 2 3 4 1 3 ρ = 0.5 RES 1 RES RES 2 1 RES 3 1 2 RES RES 1 5 6 7 8 9 ρ = 0.8 RES RES 1 4 RES RES Temps (nombre de formes présentées) 2 RES RES RES RES 1 RES 1 RES 1 2 RES RES 1 RES RES RES RES 2 RES 1 RES 1 RES 4 2 1 RES RES RES 2 1 6 5 3 2 4 RES 7 2 1 5 5 4 6 RES 1 RES RES RES 1 3 RES RES 2 RES 2 RES 5 5 5 1 5 1 4 6 4 RES 2 RES Figure 3-16. Un exemple de comportement du réseau ART. Les formes d’entrée sont des lettres. Les formes binaires dans la colonne de gauche ont été présentées séquentiellement. Dans la partie droite, on présente les formes apprises (les poids sur les liaisons W b ) ainsi que le gagnant (RES). La vigilance est de 0.5 (à gauche) et de 0.8 (à droite). type “chapeau mexicain” qui assure une excitation des neurones voisins et une inhibitions des neurones plus lointains. Chaque neurone de la carte se “spécialise” dans la représentation d’une entrée particulière. Les neurones qui sont les mieux “spécialisés” pour une entrée donnée s’activent et la réponse est concentrée dans la zone où les neurones sont les plus activés. La grande différence entre une SOM et d’autres réseaux de neurones réside dans le fait qu’après ap- 66 - Chapitre 3 Réseaux de neurones et les systèmes dynamiques La fonction "chapeau mexicain" 1 yj 0.8 w ij i poids 0.6 0.4 0.2 Entrées 0 −0.2 Sorties −0.4 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 distance Carte de Kohonen Figure 3-17. (a) Schéma d’une carte de Kohonen. (b) La fonction gérant les interactions latérales entre neurones. prentissage, il y a la préservation de la topologie de l’espace d’entrée. Ainsi, deux entrées “proches” activeront deux neurones “proches” (voisins) sur la carte. Dans le modèle d’inspiration neurobiologique de SOM [113], chaque neurone fonctionne d’une manière indépendante. Il n’y a pas de synchronisation entre les neurones de la même carte. La carte de Kohonen présente deux types de fonctionnement : une étape d’apprentissage et une étape d’utilisation. Pendant la phase d’apprentissage, l’ensemble des formes à apprendre est présenté à l’entrée du réseau. Les poids sont mis à jour pour mieux représenter les entrées. Après convergence, on passe à la deuxième phase. On présente une forme particulière et c’est le neurone dont le vecteur de poids minimise la distance avec le vecteur d’entrée qui gagne. Pour une carte de Kohonen qui comporte N neurones avec M entrées, l’algorithme d’apprentissage (non supervisé) est le suivant: • Les poids sont initialisés aléatoirement. • Tant que le réseau ne converge pas : – Choisir un vecteur d’entrée I = [I1 , I2 , ..., IM ] dans l’ensemble des vecteurs d’entrée à apprendre. – Trouver le neurone gagnant (le neurone j dont le vecteur poids Wj = [Wj1 , Wj2 , ..., WjM ] est le plus proche, selon une distance d, du vecteur d’entrée). j = Arg min d (I, Wi ) i=1..N – Modifier les poids du vecteur gagnant selon l’équation : Wkj (t + 1) = Wkj (t) + η(t) · (Ij (t) − Wkj (t)), - 67 - η(t) ∈ [0, 1] Section 3.3 Modèles de réseaux de neurones • Fin tant que Après un long temps de convergence, le réseau évolue de manière à représenter au mieux la topologie de l’espace de départ. Il faut en fait noter que la notion de conservation de la topologie est abusive puisqu’en général la taille du vecteur d’entrée est bien supérieure à la dimension de la carte (souvent 2) et il est donc impossible de conserver parfaitement la topologie. En fait, le terme de quantification vectorielle de l’espace d’entrée doit plutôt être utilisé. L’implémentation des réseaux de Kohonen n’est pas biologiquement plausible : le temps de convergence est trop long pour expliquer notre capacité à apprendre une forme en un seul essai. Le point le plus important est que, pour permettre la réduction du voisinage, la valeur des liens latéraux doit changer. Ainsi un lien activateur peut devenir inhibiteur ! Un autre point est que la qualité de la convergence du réseau dépend grandement des paramètres spécifiant la vitesse d’apprentissage et la taille du voisinage. Ces paramètres sont fixés de manière subjective par le programmeur. Dans [114], Kohonen souligne que la modification de ces paramètres pourrait provenir de transformations ontogénétiques du cerveau. Il faut aussi noter que les cartes de Kohonen ne peuvent pas être utilisées “en ligne” puisque pour assurer la convergence, il faut pouvoir présenter plusieurs centaines de fois l’ensemble des motifs. Or, dans le contexte d’un système autonome, on ne peut connaı̂tre à l’avance l’ensemble des formes qui seront rencontrées. Par ailleurs, pour que la carte apprenne correctement, il est nécessaire de présenter les formes de façon aléatoire (ce qui est difficile à imaginer dans un contexte réel). On ne pourra donc pas utiliser les cartes de Kohonen pour catégoriser des formes, mais elles peuvent servir de justification à nos pré-traitements au niveau des images (apprentissage de la forme des filtres de bas niveau, détecteurs de contours...) si on retient l’argumentation de Kohonen sur l’adaptation ontogénétique. 3.3.4 La carte topologique probabiliste (Probabilistic Topological Map - PTM) PTM a été mis au point pour concilier à la fois les qualités du modèle ART de Carpenter et Grossberg et des cartes topologiques de Kohonen. L’intérêt majeur du modèle ART est de permettre l’apprentissage non-supervisé en-ligne, tandis que les cartes de Kohonen autorisent une généralisation topologique a priori. Les représentations topologiques sont d’un grand intérêt pour 2 raisons principales. D’une part, elles permettent de préserver, au moins localement, la topologie de l’information en entrée. Deux stimuli proches activent des neurones voisins sur la carte. D’autre part, les cartes permettent d’induire une représentation analogique de la reconnaissance d’un motif donné (comme en logique floue). Par ailleurs, par rapport à un WTA, les cartes topologiques permettent de réduire le nombre de liens nécessaires pour apprendre un jeu d’associations Perception/Action donné. Sans préservation de la topologie, toutes les associations possibles doivent en - 68 - Chapitre 3 Réseaux de neurones et les systèmes dynamiques effet être apprises (les formes topologiquement “proches” d’une forme donnée étant alors considérées comme distinctes de cette forme). Un neurone n’ayant pas encore appris ne peut fournir d’information et lui-même ne peut pas profiter de ce qui a été appris par d’autres neurones (pas de généralisation a priori). A l’inverse, lorsque la topologie est conservée, un neurone dans le voisinage d’un neurone gagnant répond avec une activité fonction de la distance à ce gagnant (diffusion de l’activité du gagnant sur son voisinage). Cela donne ainsi des capacités de généralisation intéressantes [206, 207, 68]. Toutefois, cette capacité de généralisation peut devenir un handicap si elle devient abusive, c’està-dire si deux formes très distinctes font réagir le même neurone (à la limite, un seul neurone peut se mettre à répondre quelque soit la forme présentée). Il faut donc que les règles d’apprentissage utilisées pour associer ces informations avec d’autres cartes soient capables de résoudre de tels problèmes. Les caractéristiques principales de PTM sont données ci-dessous : • Carte de neurones de taille donnée avec topologie donnée au départ. • Les motifs d’entrée et les poids synaptiques prennent uniquement des valeurs binaires. • Un motif “nouveau” est codé en un seul coup (apprentissage incrémental). • Une fonction de sélectivité est utilisée pour permettre aux neurones qui ont appris une forme d’avoir une réponse plus importante si on leur présente de nouveau la même forme et beaucoup plus faible que les autres neurones si on leur présente une forme différente. • La topologie est préservée grâce à un mécanisme permettant de coder l’intersection de 2 formes déjà apprises, sur un neurone situé entre les neurones codant chacune de ces formes. • Un terme de vigilance permet de moduler le degré de généralisation de la carte et de décider du codage ou non d’un “nouveau” motif. Figure 3-18. Exemple de codage des motifs T, L et I sur une carte PTM monodimensionelle. La courbe représente la diffusion de l’activité du neurone gagnant “L” sur ses voisins. Par ailleurs, du fait des modifications probabilistes des poids codant les motifs, le “I” se retrouve codé au milieu de “T” et de “L” puisqu’il ressemble le mieux à leur intersection. - 69 - Section 3.3 Modèles de réseaux de neurones La carte est composée d’un ensemble de neurones interconnectés, répartis sur une grille mono ou bi-dimensionnelle. On appellera I le vecteur d’entrée binaire présenté à la carte. Chaque neurone composant le vecteur d’entrée est connecté à l’ensemble des neurones de la carte. L’algorithme utilisé est présenté ci-dessous : 1. Présenter le vecteur d’entrée I à la carte. 2. Trouver le gagnant N ∗ , c’est-à-dire le neurone avec la plus grande activité. La similarité entre I et le vecteur de poids est calculée tout d’abord et l’activité réelle du neurone est obtenue après la fonction d’activation fk dont la sélectivité, variable, est donnée par D̃k (t). L’activité du neurone Nk , lors de la présentation du vecteur d’entrée binaire I, est mesurée comme suit : Act(Nk , I) = fk [sentree (Wk , I)] + bruit, où Si D̃k < 1 alors sentree (Wk , I) = 1 2 · 1 S sentree (Wk , I) = Vkω ω=1 sinon P X P X Vkω · Iω + ω=1 P X ω=1 Vkω + P 1 X ω W k · Iω · Iω + P − S ω=1 P X ω=1 P X ! ω W k · Iω ω Wk ω=1 où Wk est le vecteur de poids de Nk et ω ω Wω k = 1 − Wk I k = 1 − Ikω Vkω = Wkω + (α − 1) · W̃kω fk [x](t) = D̃k (t) · exp − ν+ǫ 2σ 1−x 1−D̃k (t)+ǫ 2 W̃k est le vecteur dérivé de Wk dont les composantes W̃kω sont égales à 1 quand Wkω a été renforcé plus d’une fois et 0 autrement. P est la dimension de l’espace d’entrée et S est le nombre présumé de 1 dans le vecteur d’entrée (c’est une constante). 3. Diffuser l’activité du gagnant sur la carte selon la fonction de diffusion : ∗ Dk (t) = Dk (N h k, N ) i = exp −u · d2map (N ∗ , Nk ) 4. Si Dk (t) > D̃k (t) et D̃k (t) < ν (vigilance), permettre l’apprentissage sur la carte : - 70 - Chapitre 3 Réseaux de neurones et les systèmes dynamiques • Si Aléa < Dk (t) alors mettre à jour les poids Wk de Nk : ◦ Wkω (t + 1) = I ω ◦ Si I ω = 1 et Wkω (t) = 1 alors W̃kω (t + 1) = 1 Sinon Wkω (t + 1) = Wkω (t) • Modifier le paramètre de sélectivité de Nk : D̃k (t + 1) = Dk (N ∗ , Nk ) Il est nécessaire de remarquer deux points importants de cet algorithme. Le premier concerne la normalisation de la mesure de similarité. Elle permet de normaliser de manière séparée la partie du vecteur d’entrée correspondant au “fond” et la partie correspondant à la “forme”. Le deuxième point à noter est la manière dont est obtenue la topologie : la probabilité de modification des poids des neurones dans le voisinage du gagnant est proportionnelle à leur distance à ce dernier (pour une présentation plus en détail, voir [206]). Quand on présente un motif en entrée, le neurone de la carte le plus actif est choisi comme gagnant. Du fait du mécanisme de diffusion, les neurones dans le voisinage du gagnant sont activés eux aussi, ce qui forme une “bulle d’activité”. Ce mécanisme est couplé à une procédure d’apprentissage qui adapte plus ou moins les liens synaptiques d’un neurone au motif d’entrée en fonction de sa distance au gagnant. Comme les liens ne prennent que des valeurs binaires, les poids des neurones voisins du gagnant sont modifiés de manière à coder le motif d’entrée avec une probabilité dépendant de la distance au gagnant. Ainsi, quand un gagnant a appris un motif donné, c’est l’un de ses voisins qui a le plus de chance de répondre si on présente un motif semblable mais légèrement différent du motif appris. Si le motif est totalement différent, il est codé plus loin sur la carte avec une distance maximale correspondant à la taille de la bulle d’activité. Si 2 motifs différents ont été appris sur la carte, leur intersection sera codée entre les neurones correspondants. En effet, notre mécanisme probabiliste donne plus d’importance aux poids synaptiques qui sont liés à l’intersection des 2 formes qu’aux autres poids. 3.3.5 L’architecture PerAc L’architecture PerAc (Perception-Action) a été proposée comme un exemple de brique élémentaire pour le calcul neuronal. Elle permet l’apprentissage en ligne d’associations sensori-motrices [2, 37, 96]. Un bloc PerAc est un réseau compétitif composé de 4 groupes de neurones (voir figure 3-19). Il est divisé en deux niveaux correspondants aux flots d’action et de perception. Le premier niveau est un mécanisme réflexe utilisant les informations très simples provenant des entrées sensorielles pour contrôler de manière frustre mais rapide les propositions d’actions. Ces propositions sont codées dans un groupe de neurones d’entrée qui est directement connecté par des liens non modifiables du type “1 vers 1” au groupe de sélection de l’action. Le second niveau doit, en revanche, reconnaı̂tre des situations précises et les associer ou non avec l’action proposée par le système réflexe. - 71 - Section 3.3 Modèles de réseaux de neurones Dans la plupart des cas, ce niveau correspond à l’apprentissage de conditionnements classiques : le système apprend à maintenir le comportement initié par le système réflexe. Dans d’autres cas, la présence d’un signal de renforcement négatif permet, par exemple, d’apprendre à inhiber l’action proposée par le système réflexe afin que d’autres comportements puissent s’exprimer et se voir renforcés s’ils sont associés à la disparition du renforcement négatif. Situations perçues Entrée sensorielle Reconnaissance Signal de renforcement Action réflexe Sélection des actions Environnement Mouvement Lien de 1 à tous modifiables Lien de 1 à 1 "réflexes" Figure 3-19. Représentation schématique d’un bloc PerAc. A partir de la situation perçue, le mécanisme réflexe extrait des informations pour contrôler directement les actions. En même temps, le système apprend les situations sensorielles jugées “nouvelles” et les associe à une action grâce à un mécanisme combinant apprentissage associatif et apprentissage par renforcement. Le système peut ainsi s’adapter dynamiquement à son environnement. Nous disposons donc maintenant à la fois de briques de bases architecturale et de règles d’apprentissage pour construire des RNs capable de contrôler des robots autonomes. Reste donc à s’intéresser à des mécanismes permettant à nos robots d’avoir un comportement dynamique stable. Nous verrons dans la section suivante que la résolution de cette contrainte peut déboucher sur des architectures très économes en terme de dispositifs neuronaux par rapport à la complexité de la tache à résoudre. - 72 - Chapitre 3 3.4 Réseaux de neurones et les systèmes dynamiques Les systèmes dynamiques Dans ce paragraphe, nous donnons un aperçu des systèmes dynamiques qui seront employés dans nos architectures. Dans un premier temps, nous présentons les systèmes dynamiques en général ainsi que leurs propriétés mathématiques. Puis nous présentons un cas particulier de système dynamique : le champ neuronal. Nous insistons sur leurs propriétés et nous énonçons quelques théorèmes. Ensuite, nous présentons les applications des champs neuronaux à la robotique mobile. Nous décrivons une modélisation du mécanisme de suivi utilisant des champs neuronaux. Enfin, nous présentons les résultats obtenus et les comportements dynamiques observés. 3.4.1 Introduction aux systèmes dynamiques La théorie des systèmes dynamiques est très utilisée pour la description de phénomènes réels (physiques, mécaniques, chimiques, biologiques, ...) ayant un comportement fortement non linéaire. En chimie, par exemple, nous trouvons “l’instabilité de Turing” des formes spatiales issues du phénomène de réaction et diffusion de la iodine; en physique, nous trouvons un bel exemple dans l’étude de la transition de phases. Les systèmes dynamiques sont étudiés aussi en mathématiques (les fractales, la théorie du chaos). Les concepts et les appareils mathématiques issus de l’étude des systèmes dynamiques sont utilisés dans beaucoup d’autres domaines : l’étude des systèmes auto-organisés (voir [109] pour une revue), l’automatique, l’astronomie, ... Dans cette section, nous nous sommes seulement intéressés à l’utilisation de la théorie des systèmes dynamiques pour des applications de robotique (perception et commande motrice). Un système dynamique est exprimé au moyen d’une équation différentielle, qui représente la vitesse de variation d’une variable en fonction du temps : ẋ = f (x, t) (7) où f est une fonction de x et de t. La fonction f doit être dérivable par rapport à x et à t. La variable x est, parfois, appelée variable d’état du fait qu’elle représente l’état du système à un instant donné. Pour un système dynamique, un état stable est déterminé par un point fixe. Le point fixe d’une fonction est un des points où le gradient de la fonction devient nul : f (x, t) =0 xf est un point fixe si et seulement si dt x=xf (8) Étant donné le fait qu’un point fixe génère toujours un attracteur, nous nous sommes intéressés aux systèmes dynamiques qui convergent vers des points fixes (on exclut les systèmes dynamiques avec une solution chaotique et les cycles limites). La classe des systèmes dynamiques qui remplit cette condition est composée des systèmes dynamiques avec des attracteurs dont la position n’évolue pas au cours du temps et par les systèmes dont la position des attracteurs est dépendante du temps. - 73 - Section 3.4 3.4.1.1 Les systèmes dynamiques Les attracteurs stables (leur position n’évolue pas au cours du temps) Prenons comme exemple le système dynamique exprimé par l’équation : ẋ = xf − x τ (9) avec x 7→ x(t) une variable réelle. Cet exemple de système dynamique est mathématiquement simple, mais il a été choisi pour sa valeur pédagogique. Une description plus complète est présenté dans [178]. L’équation t x (t) = xf + (x(0) − xf ) · e− τ (10) donne la solution du système dynamique. Elle montre qu’une perturbation initiale de ce point fixe (ex. par le bruit du système) décroı̂t selon la constante de temps τ . Ainsi, la x(0)−xf perturbation initiale, x(0), atteint la valeur x1 = x(τ ) = xf + après le temps τ e (voir figure 3-20). Le système dynamique La solution du système dynamique 2 1 0.5 1 0 0 x(t) dx/dt −0.5 −1 −1 x1−1.5 −2 −2 −3 −2.5 −4 −10 −3 −8 −6 −4 x −2 f 0 2 4 6 8 10 0 5 τ x 10 15 20 25 t Figure 3-20. (a) Le graphique du système dynamique pour τ = 4 et xf = −3 et (b) sa solution pour x(0) = 1 (à droite). Un autre paramètre qui caractérise un système dynamique est la pente τ de la fonction f (équation (7)) calculée au point correspondant au point fixe. L’équation −1 δf (x, t) τ = − δx x=xf (11) définit la stabilité d’un système dynamique. Une pente positive (τ négatif) détermine un point fixe instable (un repousseur) du système dynamique. Par contre, une pente négative (τ positif) détermine un point fixe stable (un attracteur) du système dynamique. Si τ = 0 alors nous considérons que le système est dans un état quasi-stable. - 74 - Chapitre 3 3.4.1.2 Réseaux de neurones et les systèmes dynamiques Les attracteurs mobiles (leur position évolue au cours du temps) Si dans l’exemple présenté ci-dessus, la position de l’attracteur est stable dans le temps, nous pouvons supposer que la position de l’attracteur peut se déplacer. La condition nécessaire pour assurer la stabilité du système impose que la vitesse de déplacement de l’attracteur soit suffisamment petite pour permettre au système de revenir dans le point fixe avant que sa position soit, à nouveau, modifiée. Si nous prenons le même exemple mais en introduisant une vitesse v de déplacement pour le point fixe xf , nous obtenons le système dynamique : v·t−x ẋ = (12) τ L’équation t (13) x (t) = v · (t − τ ) + (x(0) − v · τ ) · e− τ nous donne la solution du système dynamique. 7 7 6 6 5 5 x(t) et xf(t) 8 x(t) et xf(t) 8 4 4 3 3 2 2 1 1 0 5 10 15 20 25 30 35 40 45 50 0 0 t 5 10 15 20 25 30 35 40 45 50 t Figure 3-21. Le graphique du système dynamique pour τ = 4 et xf = −3 et v = 0.5 (a) ou v = 1.5 (b). Après une perturbation initiale x(0) = 1, le système se déplace dans un voisinage du point fixe et après il se déplace avec la même vitesse que celui-ci. Dans les deux cas, la distance entre le point fixe et l’état du système est d = v · τ , de 2 dans le premier cas et de 6 dans le deuxième. Dans ce cas, la constante τ peut être interprétée comme étant le retard entre la position du point fixe et l’état du système dynamique. Dans le cas d’un système dynamique non linéaire, le retard n’est plus constant [179] et nous avons deux possibilités : le système peut converger vers le point fixe et se déplacer avec lui ou il ne converge pas vers le point fixe. 3.4.2 Les champs neuronaux Les systèmes dynamiques ont été intensivement utilisés pour modéliser le comportement de certains neurones de différentes régions corticales [4, 110]. La caractéristique de chaque modèle de neurone réside dans la réalisation d’un moyennage spatio-temporel de l’activité neuronale dont le résultat est une description macroscopique de la distribution spatio-temporelle de celle-ci [5, 77]. Par abus de langage, les systèmes dynamiques qui - 75 - Section 3.4 Les systèmes dynamiques modélisent des neurones regroupés dans des zones corticales ayant la même fonctionnalité, sont nommés champs neuronaux. Parmi les modèles proposés pour décrire l’activation de champs neuronaux, nous avons utilisé le modèle proposé par S. Amari [4] dans les années ’70. Ce modèle a l’avantage d’être de complexité moyenne et de permettre, en même temps, une analyse mathématique de ses propriétés. La dynamique de la fonction d’activation neuronale, u (φ, t), est exprimée par l’équation différentielle : τ· Z δu(φ, t) = −u(φ, t) + h + s (φ, t) + w(φ − θ) · f (u(θ, t)) dθ δt ∆ (14) Le temps de relaxation du système est déterminé par la constante temporelle τ . Les entrées spatio-temporelles du système sont modélisées par la fonction s. Sans entrées actives, le niveau d’activation est maintenu à un niveau constant par la constante h. Chaque point du champ neuronal ajoute une activité à ses voisins via une fonction non-linéaire, f , avec les poids modélisés par le noyau de convolution w. Sans la fonction f , l’équation (14) représente l’équation d’un filtre linéaire. La non-linéarité de cette fonction détermine la dynamique du champ neuronal. mécanisme de suivi. L’implantation neuronale (voir figure 3-22) du modèle d’Amari s’inspire des données neurobiologiques du cerveau. φ0 φ f() f() Ι Ι 0 1 1 φΝ−2 f() ΙΝ−2 φ φΝ−1 f() Ν f() ΙΝ−1 ΙΝ φ Ν+1 f() Ι Ν+1 φ Ν+2 f() ΙΝ+2 φP-1 φ P f() f() Ι ΙP P-1 x ∆ 2Π Figure 3-22. Implantation du modèle d’Amari pour une représentation neuronale. La carte neuronale est torique, à cause de la périodicité trigonométrique de la représentation des angles. Avec In , l’entrée, Φn la sortie et f () la fonction de transfert du neurone n. Dans le cerveau, les neurones sont fortement interconnectés avec leursR voisins. Ces interactions latérales sont intégrées dans l’équation (14) par le terme ∆ w(φ − θ) · f (u(θ, t)) dθ. Chaque neurone du champ neuronal renvoie son activité vers ses voisins (situés dans le voisinage ∆). Cette activité est pondérée par le poids w (x). Si nous considérons que chaque neurone excite ses plus proches voisins et qu’il inhibe les plus éloignés (préservation de l’organisation topologique) alors on peut utiliser comme noyau de convolution, w, une fonction de type “chapeau mexicain” (voir figure 3-23). Par ailleurs, les données biologiques [34] nous disent que chaque orientation est représentée par un groupe de neurones. Ce qui fait que chaque point du champ neuronal est considéré comme étant - 76 - Chapitre 3 Réseaux de neurones et les systèmes dynamiques un neurone dont la fonction de transfert est f (φ, t). Les stimuli provenant de la sortie de détecteurs de mouvement, sont intégrés dans le modèle par les entrées s (φ, t). 3.4.2.1 Les propriétés mathématiques du modèle d’Amari Nous présentons ici un aperçu des principales propriétés du modèle unidimensionnel d’Amari. Le comportement du modèle pour des entrées nulles (ou constantes) s(φ, t) = s0 peut être caractérisé par 3 classes de solutions basées sur les régions activées où u(φ, t) > 0. • la solution − φ qui définit la solution pour laquelle aucune région n’est active, c’està-dire u (φ, t) = 0 pour tous les φ. • la solution − a qui définit la solution pour laquelle seulement une région bien délimitée est active, c’est-à-dire u (φ, t) > 0 pour φ ∈ ] a1 , a2 [. • la solution − ∞ qui définit la solution pour laquelle chaque point peut être activé, c’est-à-dire u (φ, t) ≥ 0 pour φ ∈ ] − ∞, +∞ [ . Dans tous les cas, nous considérons que le noyau d’interactions latérales est symétrique, c’est-à-dire w(φ) = w(−φ) pour ∀φ ∈ IR. Dans les cas étudiés, la fonction w est celle d’un chapeau mexicain (voir figure 3-23 (a)). Nous considérons le cas particulier pour lequel la fonction non linéaire f est la fonction échelon. On introduit la fonction Z x W (x) = w(y)dy (15) 0 et on utilise deux valeurs (voir figure 3-23 (b)) : Wm = maxx>0 W (x) W∞ = limx→∞ W (x) (16) La fonction W(x) Le noyau de convolution 250 1 Wm 0.8 200 0.6 150 w(φ) W(x) 0.4 0.2 100 0 W∞50 −0.2 −0.4 −2 −1.5 −1 −0.5 0 φ 0.5 1 1.5 2 0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 x Figure 3-23. (a) Le chapeau mexicain utilisé pour simuler les connexions entre les neurones. (b) La fonction W (x) et les valeurs Wm et W∞ . Pour toutes ces conditions, nous avons les théorèmes suivants : - 77 - Section 3.4 Les systèmes dynamiques Théorème 1 (l’existence des solutions) • Une solution − φ existe si et seulement si h + s0 ≤ 0. • Une solution − ∞ existe si et seulement si 2 · W∞ > −h − s0 . • Une solution − a existe si et seulement si h + s0 < 0 et a > 0 satisfont la condition W (a) + h + s0 = 0. La démonstration est présentée en [4], en considérant les entrées constantes et non pas nulles. De même, sont présentées toutes les solutions en fonction de la fonction W (x). Théorème 2 (la stabilité des solutions) • Les solutions − φ et les solutions − ∞ sont toujours asymptotiquement stables. • Les solutions − a sont asymptotiquement stables pour W (a) < 0, Wm > −h − s0 > W∞ > 0 où Wm > −h − s0 > 0 > W∞ et instables pour W (a) > 0. La démonstration est présentée dans [4, 77]. Comme solution − a implique toujours l’existence d’une solution − φ stable, alors nous avons un champ neuronal bistable. Si le signal d’entrée s (φ, t) n’est pas constant, alors le comportement du champ neuronal dépend de l’intégrale de l’équation (14) et de l’amplitude du signal d’entrée. Si l’amplitude du signal d’entrée est grande, alors l’intégrale peut être ignorée et le système devient un système linéaire avec une solution stable u0 (φ) = s(φ) − h. Si l’amplitude du signal d’entrée peut être décomposée en une partie constante s0 et une partie variable s∼ (φ) dont l’amplitude est petite, alors s’il existe une solution − a. Dans ce cas, la déformation et le déplacement de l’activité du champ neuronal sont donnés par le théorème suivant : Théorème 3 (comportement du système dans le cas d’entrées variables) L’état initial du système est une solution − a, u0 (φ), générée par une entrée constante s(φ) = s0 . Soit m(t) le milieu de la région excitée (m(t) − a(t)/2, m(t) + a(t)/2) de largeur a(t). Pour l’état u0 (φ) nous avons m0 et a0 . Supposons que le signal d’entrée puisse être décomposé en s(φ) = s0 + ǫ · s∼ (φ), avec ǫ suffisamment petit et s∼ (φ) différentiable. La dynamique du point m est donnée par l’équation : dm 1 = (s(m + a0 /2) − s(m − a0 /2)) + O(ǫ2 ) dt 2τ c La largeur de la zone excitée est donnée par a(t) = a0 + ǫ · a1 (t) + O(ǫ2 ) (17) (18) avec a1 (t) qui satisfait l’équation 1 da1 = (2w(a0 )a1 + s∼ (m − a0 /2) + s∼ (m + a0 /2)) + O(ǫ) (19) dt τc La constante c est donnée par le gradient de la distribution initiale, u0 , à la limite de l’intervalle : c = u0 ′(m0 − a0 /2) = u0 ′(m0 + a0 /2). - 78 - Chapitre 3 Réseaux de neurones et les systèmes dynamiques La démonstration est présentée en [4, 77]. L’article proposé par Kishimoto [110] présente une généralisation de ce théorème. Si le signal d’entrée n’est pas constant, alors la région active se déplace. De même, la taille de la région active change en fonction des entrées. Par ailleurs, plus l’amplitude des entrées est grande, plus le système devient stationnaire. 3.4.2.2 Importance des champs neuronaux Les champs neuronaux ont une importance pratique qui réside dans l’intégration de la représentation neuronale de l’information et des propriétés des systèmes dynamiques. Ils supposent qu’il existe une distribution spatiale de l’activation (neuronale) qui représente l’information. Prenons l’exemple de la perception de la direction du mouvement. La représentation neuronale associe la présence de la perception avec l’existence d’une zone active et l’absence de perception avec l’absence d’activation. La perception du mouvement est représentée par la fonction d’activation u(φ, t), qui est l’équation d’un champ neuronal, et l’information est spatialement représentée par l’angle φ. La valeur de la fonction u(φ, t) indique si le mouvement est perçu ou non à l’angle φ. Si u(φ, t) > 0 alors on perçoit du mouvement dans cette direction et si u(φ, t) ≤ 0 alors le mouvement n’est pas perçu. Pour représenter la perception d’un mouvement (selon la représentation neuronale), il faut que la fonction d’activation présente une zone active à une position spatiale précise. La présence d’une zone active (selon l’équation du champ neuronal) suppose l’existence d’une solution − a du champ neuronal. Pour représenter l’absence de la perception du mouvement (et donc l’absence d’activation) il faut que le système soit dans une solution− φ. Le théorème 1 démontre que la transition entre une solution−φ (perception absente) et une solution − a (perception présente) peut être déterminée par une variation des entrées s. Ceci montre que la perception de la présence du mouvement peut être intégrée dans le modèle par une augmentation du signal d’entrée s qui détermine un changement de l’état du système (passage d’un état donné par une solution − φ3 à un état donné par une solution − a4 ). Le théorème 2 nous assure la stabilité des solutions d’un champ neuronal. Le théorème 3 nous décrit le comportement du système dans le cas d’une variation du signal d’entrée. L’état du système qui correspond à une solution − ∞ (possibilité de percevoir le mouvement dans toutes les directions) peut être évité par un contrôle de la fonction W (x) (qui modélise les interactions latérales entre les neurones). 3.4.3 Applications robotiques des champs neuronaux Par l’introduction de l’approche dynamique dans l’étude du comportement [168, 169], G. Schöner et ses collaborateurs ont ouvert la voie de l’utilisation des champs dynamiques pour des applications de robotique mobile. L’idée principale est de caractériser et 3 4 L’inexistence de la perception dans l’absence des entrées. Les entrées déterminent une perception. - 79 - Section 3.4 Les systèmes dynamiques modéliser un comportement par une variable dite “comportementale”. Un “comportement” (ex : photo-taxis) est généré par l’évolution temporelle de cette variable. Le champ dynamique est utilisé pour la représentation de cette variable. En même temps, grâce à l’introduction du mécanisme “d’extraction de la réponse” (read-out), les champs dynamiques sont utilisés pour la commande de l’état du robot. En utilisant cette approche, des “comportements” de photo-taxis avec évitement d’obstacles [28, 29] ont été étudiés dans des simulations et implantés sur des robots. Les robots utilisent comme stimuli l’information d’une photo-diode et celle de capteurs de proximité. L’équation du champ dynamique permettant de déterminer à chaque instant la vitesse de rotation du robot est exprimée par l’équation (20) : ω̇ = α · cobs · Fobs + α · ω − γ · ω 3 (20) avec ω la vitesse de rotation du robot, Fobs l’influence des obstacles, et les constantes cobs - la dimension de la zone de transition entre deux états, α - une constante qui dépend des dimensions du robot et γ - paramètre de contrôle de la transition entre deux états. Dans des simulations, les auteurs [29] ont modélisé le déplacement du robot avec deux champs dynamiques, un pour chaque dimension (x, y), en obtenant de bons résultats. Les expériences sur robots réels ont confirmé ces propriétés et montré la robustesse de cette technique aux variations de caractéristiques d’un environnement à l’autre (contrairement aux problèmes de réglage que l’on rencontre souvent avec les systèmes plus simples utilisant uniquement des liens vers l’avant pour connecter les entrées aux sorties motrices). Les champs dynamiques ont aussi été utilisés comme outils de décision dans des applications de robotique mobile [141]. Dans une application de “homing” avec évitement d’obstacles, les champs dynamiques unidimensionnels ont été utilisés pour représenter et calculer la vitesse et la position du robot. A la place des capteurs infrarouges et de la photo-diode, le flot optique a été utilisé pour estimer le temps jusqu’au contact afin d’extraire la position du robot par rapport à sa base et les obstacles. Les résultats ont été obtenus sur une plate-forme MARVIN. Les auteurs ont utilisé 3 champs dynamiques pour contrôler la vitesse de déplacement selon l’abscisse, l’ordonnée et la vitesse de rotation : 2 (x′−x) 1 Z∞ − (x′ − x)e c2x · (sx,visual (x′, t) + sx,motion (x′, t)) dx′ τx ∞ (y′−y)2 − 1 Z∞ 2 (y′ − y)e cy · (sy,visual (y′, t) + sy,motion (y′, t)) dy′ ẏ = τy ∞ ẋ = (φ′−φ)2 − 1 Z∞ c2 φ (φ′ − φ)e · (sφ,visual (φ′, t) + sx,motion (φ′, t)) dφ′ φ̇ = τφ ∞ avec τ. , c. des constantes, s.,visual est calculée en fonction de la correspondance entre l’image à l’instant t et l’image mémorisée de la base, s.,motion est calculée en fonction de l’intégration temporelle des ordres moteurs. Les résultats obtenus ont montré la possibilité d’utiliser plusieurs champs dynamiques en même temps mais les imprécisions dues au calcul du flot optique ont détérioré la précision. - 80 - Chapitre 3 Réseaux de neurones et les systèmes dynamiques Dans [179, 178] est présenté un mode de navigation basé exclusivement sur les champs dynamiques. La vision est utilisée pour la création d’une carte cognitive et pour l’estimation de la position du robot dans l’environnement. Plusieurs comportements sont générés : l’interception d’une cible, l’évitement d’obstacles, des mouvements d’exploration (aléatoires, en spirale), retour à la base, recalibration. Dans le cas d’un comportement d’interception d’une cible avec évitement d’obstacles, l’équation utilisée est : φ̇h = λtar ftar + λobs fobs (21) avec φtar fobs = X ftar = sin (φtar − φh ) Ytar − Yint = arctan Xtar − Xint − λi sin (φi − φh ) · e 1−cos(φi −φh ) σi i avec (Xtar , Ytar ) la position de la cible par rapport à l’origine de la carte du robot, (Xint , Yint ) l’estimation de la position du robot, λtar et λobs des constantes. La dynamique des mouvements d’exploration est décrite par : ṡ = 1 τs,1 1 − n2 − ·s τs,2 avec τs,1 , τs,2 et n constantes. Chaque comportement est activé ou désactivé par un mécanisme dynamique compétitif. Les résultats des simulations montrent que l’architecture peut produire plusieurs séquences (combinaisons des comportements cités) différentes. Les champs neuronaux ont été aussi utilisés dans la modélisation de la perception du mouvement [78, 77]. Le modèle utilisé est dérivé du modèle d’Amari [4] auquel s’ajoute un terme d’adaptation. τ u̇(z, t) = −u(z, t) + Z ω w (z, z ′ ) Θ (u(z ′ , t)) dz ′ + s(z, t) − a(z, t) − h + ǫ(z, t) τad ȧ(z, t) = −a(z, t) + g (z, t) (22) (23) avec u-activité neuronale, a-niveau d’adaptation, s-signal d’entrée (l’énergie du mouvement), τ et τad -constantes, w-fonction d’interaction latérale, Θ-fonction d’activation de chaque neurone, h-constante, ǫ-bruit stochastique et g-fonction monotone de couplage entre les deux dynamiques. A travers les simulations, il a été montré que le modèle proposé peut réaliser des fonctionnalités diverses liées à la perception du mouvement. - 81 - Section 3.4 Les systèmes dynamiques Une évaluation de ce modèle décrit par les équations (22)-(23) a été faite à travers des comparaisons quantitatives avec des données psychophysiques sur la perception du mouvement apparent (le “motion quartet”). L’évaluation met en évidence l’existence d’un phénomène d’hystérésis de la perception dans le modèle de champ neuronal. Malgré les résultats obtenus, l’auteur ne croit pas dans la possibilité d’utiliser des champs neuronaux pour des applications en temps-réel qui nécessitent un “hardware” spécialisé (implantation matérielle des calculs analogiques [188, 187]). 3.4.3.1 L’intégration d’un champ neuronal dans une application de suivi Nous avons utilisé les champs neuronaux pour la représentation interne de la perception du mouvement et pour la commande motrice directe de notre robot. Dans un premier temps, nous avons implanté le modèle de champ neuronal unidimensionnel et testé ses propriétés dans une application de suivi (voir section 6.1.1). Dans un deuxième temps, nous avons utilisé les champs neuronaux pour l’intégration des informations multimodales. Dans l’implantation d’un champ neuronal, la première étape réside dans le choix des variables qui vont être représentées. Puisque l’utilisation des champs neuronaux avec plusieurs dimensions nécessite des calculs qui ne peuvent pas être réalisés en temps-réel et qu’il n’est aujourd’hui pas possible de prévoir le comportement de ces champs (stabilité, convergence, types de solutions), nous avons été contraints d’utiliser un champ neuronal unidimensionnel. Pour qu’un mécanisme de suivi puisse fonctionner, il faut connaı̂tre la position de la cible. La variable “comportementale” sur laquelle portera la dynamique du champ neuronal est l’orientation de la cible par rapport au robot. Dans le but de mieux formaliser notre choix, nous considérons que nous fixons arbitrairement un repère orthogonal et, dans ce repère, que nous représentons l’orientation du poursuivant et de la cible (voir figure 3-24). φ0 Robot tête 110011111111111111 00000000000000 00000000000000 11111111111111 00000000000000 11111111111111 ω cible φ rob φ cib Figure 3-24. Représentation de la cible par son orientation. Le suivi consiste en une réduction de la différence d’orientation entre la cible et le poursuivant. - 82 - Chapitre 3 Réseaux de neurones et les systèmes dynamiques La position du robot dans ce repère est définie par son azimut, φrob (voir figure 3-24). La position de la cible est, elle aussi, représentée par son azimut, φcib . Pour suivre sa cible, le robot doit calculer une vitesse de rotation, ω, qui lui permettra de réduire la différence entre son azimut et celui de la cible. De plus, une vitesse de déplacement v, lui permettra de se rapprocher de sa cible. Dans notre exemple, nous considérons la vitesse d’avancement v constante. Nous avons employé un champ neuronal d’Amari dont l’équation est donnée par l’équation (24). Le modèle d’Amari a été choisi pour la possibilité de l’implanter sous forme neuronale (voir figure 3-22). Z δu(φ, t) τ· = −u(φ, t) + h + s (φ, t) + w(φ − θ) · f (u(θ, t)) dθ δt ∆ (24) avec φ l’orientation de la cible, u(φ, t) représente la confiance dans le fait que la cible se trouve à l’orientation φ, s (φ, t) les entrées, f () la fonction d’activation du neurone et w() la fonction qui modélise les interactions latérales. a) b) I c) -35 -5 0 +35 Figure 3-25. a) Image prise par robot. b) Image du mouvement. c) Intensité du mouvement projetée sur l’axe des X. La fonction d’activation des neurones f est une fonction linéaire à seuil. La fonction qui modélise les interactions latérales w est un “chapeau mexicain” (voir 3-23 (a)). Puisque la taille du champ neuronal est fixe, l’espace des orientations possibles est, lui aussi, fixe. Nous utilisons donc un échantillonnage de l’espace des orientations où chaque neurone représente une orientation donnée. Le calcul de l’activité du champ neuronal est fait dans l’espace continu, mais les valeurs sont prises dans l’espace discret. Dans [77] il est démontré que, dans ce cas, les propriétés des champs neuronaux restent les mêmes. Le calcul discret de l’équation (24) a été fait en utilisant la méthode Runge-Kutta d’ordre - 83 - Section 3.4 Les systèmes dynamiques 4 (ce qui nous a permis de d’avoir des résultats bien plus précis, pour le même nombre d’itérations, que ceux obtenus par la méthode d’Euler (utilisé par [28, 77])). Les entrées s (φ, t) représentent la sortie des détecteurs de mouvement. Depuis une image de mouvement (voir figure 3-25 (b)) nous obtenons l’amplitude du mouvement en fonction de sa position dans le champ visuel du robot (voir figure 3-25 (c)). Les entrées ont une forme proche de celle d’une gaussienne, ce qui constitue une des conditions de l’utilisation du mécanisme d’extraction de la réponse que nous utilisons pour obtenir la commande des moteurs du robot (voir [169]). u() (activité du champ neuronal) a) φ0 φrob φtar φ φrob φtar φ du / dφ ω φ0 b) Figure 3-26. a) L’activité du champ neuronal et b) la dérivée spatiale de l’activité du champ neuronal. Les entrées visuelles vont créer, sur le champ neuronal, un attracteur centré sur la position de la cible, φcib (voir figure 3-26-a). Pour calculer la vitesse de rotation nous employons la dérivée spatiale de l’activité du champ neuronal. La vitesse de rotation est donnée par la valeur de la dérivée en φrob (l’orientation du robot - figure 3-26-b). avec k une constante. du ω=k· dφ φ=φrob - 84 - (25) Chapitre 3 Réseaux de neurones et les systèmes dynamiques Dans notre exemple (voir figure 3-26), la dérivée étant positive, le robot tourne dans le sens anti-trigonométrique ce qui réduit la différence d’angle entre lui et la cible. Les propriétés du champ neuronal (voir section 3.4.2.1) nous assurent la formation d’un attracteur et la stabilité de la solution. L’existence d’un attracteur rend possible l’utilisation du mécanisme d’extraction de réponse et donc l’existence d’un ordre moteur cohérent. Notre robot dispose de 2 degrés de liberté : il peut tourner sur lui même et il peut tourner sa tête (voir l’annexe A). La modélisation du mécanisme de suivi (voir section 6.1.1) nous impose d’avoir deux dynamiques : la tête doit suivre plus rapidement les mouvements de la cible que le corps. Dans le cas de notre robot, ce sont les contraintes d’inertie du corps et de la tête du robot qui sont utilisées pour imposer des dynamiques différentes. Nous utilisons 2 mécanismes d’extraction de la réponse, avec de constantes différentes. La cohérence de l’architecture est assurée : il n’a qu’une seule représentation de la perception de la cible et deux mécanismes indépendants, mais similaires, pour les commandes motrices (le corps et la tête). 3.4.3.2 Résultats expérimentaux Nous présentons quelques résultats expérimentaux. Nous allons voir que plusieurs comportements sont possibles en fonction des entrées sensorielles et de l’activité du champ neuronal (propriétés émergentes liées à la dynamique du champ neuronal). Puisque les entrées (figure 3-25) ont une partie variable, la formation d’un attracteur est toujours assurée (théorème 3). Dans la figure 3-27 nous présentons la formation d’un attracteur associé à une entrée visuelle. Les entrées visuelles L’activité du champ neuronal à t 0.35 Detail de l’activité de l’extraction du reponse à t 0.7 0.8 0.6 0.3 0.6 0.5 0.4 0.25 0.4 0.2 0.2 0.3 0 0.2 0.15 0.1 −0.2 0 −0.4 0.1 0.05 −0.1 0 0 50 100 150 200 250 orientation φ 300 350 400 −0.2 −0.6 0 50 100 150 200 250 orientation φ 300 350 400 200 220 240 260 orientation φ 280 300 320 Figure 3-27. (b) L’activité du champ neuronal en fonction d’entrées visuelles (a). (c) Les valeurs utilisées par le mécanisme d’extraction de la réponse à l’instant t obtenues par dérivation du champ neuronal. Nous avons indiqué par le symbole ’*’ la position absolue de la tête à l’instant t et par ’o’ sa position à t − 1. Une première fonction du champ neuronal est de permettre l’avancement du robot vers la dernière position perçue de la cible, due à “l’effet de mémoire”. L’arrêt de la cible, les déplacements dans l’axe optique ou la disparition de la cible du champ de vision sont des facteurs possibles de l’absence d’entrées visuelles. Mais l’absence d’un signal d’entrée - 85 - Section 3.4 Les systèmes dynamiques ne détermine pas la disparition de l’attracteur et donc l’absence d’une réponse motrice5 . L’absence des entrées provoque une diminution de l’amplitude de l’attracteur (figure 3-28) mais le mécanisme d’extraction de réponse peut toujours fonctionner. Les entrées visuelles L’activité du champ neuronal à t 1 0.1 0.05 0.5 0 0 −0.05 −0.5 −1 −0.1 0 100 200 300 400 −0.15 orientation φ L’activité du champ neuronal à t−1 0.5 0 100 200 300 400 0 100 200 300 400 orientation φ L’activité du champ neuronal à t+1 −0.04 0.4 −0.06 0.3 0.2 −0.08 0.1 0 −0.1 −0.1 −0.2 0 100 200 orientation φ 300 400 −0.12 orientation φ Figure 3-28. L’effet de mémoire. L’attracteur est toujours présent à t (en haut, à droite), à t − 1 (en bas, à gauche) et à t + 1 (en bas, à droite) malgré l’absence d’entrées à t (en haut, à gauche) et a t + 1. Dans le cas de deux ou plusieurs entrées actives, nous avons deux comportements possibles : une “coopération” des entrées ou une “compétition”. Si les deux entrées sont proches, le résultat est un seul attracteur (somme des contributions des deux entrées) qui se forme à une position moyenne entre les deux cibles (voir figure 3-30). Ce comportement nous permet d’avoir un lissage du bruit de perception introduit par les mécanismes de détection du mouvement. 5 La plupart des ces systèmes de suivi ont du mal à interpréter l’absence de mouvement dans le champ de vision. Dans tous les cas, le réponse pour cette situation est imposée à l’avance et requiert d’autres modules nécessaires à l’identification et au traitement de ce cas. - 86 - Chapitre 3 Réseaux de neurones et les systèmes dynamiques Figure 3-29. Les deux robots sont relativement proches l’un de l’autre mais éloignés du robot prenant l’image. Les entrées visuelles L’activité du champ neuronal à t 0.2 0.6 0.15 0.4 0.1 0.2 0.05 0 0 0 100 200 300 400 orientation φ L’activité du champ neuronal à t−1 −0.2 0.6 0.4 0.4 0.3 0.2 0.2 0 0.1 −0.2 0 −0.4 −0.1 −0.6 0 100 200 orientation φ 300 400 100 0 100 200 300 400 200 300 400 orientation φ Detail de l’activité du champ neuronal à t 0.5 −0.2 0 −0.8 orientation φ Figure 3-30. La coopération de deux entrées proches (en haut, (a)). L’activité du champ neuronal augmente entre t-1 et t (en bas, (a) et et haut, (b)) mais le mécanisme d’extraction de la réponse fonctionne toujours (en bas, (b)). - 87 - Section 3.4 Les systèmes dynamiques Dans certaines conditions, un attracteur peut bifurquer et créer 2 attracteurs (figure 333). Supposons qu’il y ait deux cibles qui soient relativement proches l’une de l’autre mais qui soient éloignées du robot (voir figure 3-29). Grâce au mécanisme de coopération, un seul attracteur se forme et le robot ne perçoit donc qu’une seule cible. Mais plus le robot s’approche de 2 cibles, plus la distance apparente entre les 2 cibles (différence angulaire) devient grande (voir figure 3-32). A partir d’une certaine distance, le mécanisme de bifurcation provoque la transformation de l’attracteur en deux attracteurs et un repousseur. L’existence du repousseur assure la convergence du système vers un des attracteurs. Une autre expérience vise à confirmer la possibilité d’utiliser deux mécanismes d’extraction de réponse sur le même champ neuronal. Nous avons présenté à l’entrée du champ neuronal un signal qui déclenche la formation d’un attracteur à une orientation donnée et nous avons regardé le temps de convergence de la tête et du corps du robot vers cette orientation. Dans la figure 3-31, nous présentons un aperçu des résultats. Dans ce cas, le robot n’avance pas, la seule action qu’il puisse exécuter est “tourner”. On observe que la rotation de la tête anticipe la rotation du corps du fait de la plus grande inertie du corps par rapport à la tête. orientation de la tête O 90 O 60 30 O t orientation du corps O 90 O 60 O 30 t O 90 t tO Figure 3-31. La rotation de la tête anticipe la rotation du corps. Nous avons présenté un stimulus à 90o (en bas) et nous avons enregistré l’orientation de la tête (en haut) et du corps (en milieu). En plus de tous les comportements émergents déjà cités, le champ neuronal nous offre une autre fonctionnalité : l’intégration d’informations multimodales. Dans le chapitre 6 nous présenterons une architecture où la détection de la cible est faite par 2 méthodes : la détection de son mouvement et la reconnaissance de sa forme. Si nous assimilons les sorties du bloc de détection et de reconnaissance à des fonctions, alors on peut les utiliser comme signaux d’entrée d’un seul champ dynamique. Dans ce cas, la sommation des sorties a un sens : chacune des sorties représente une perception (mouvement/forme) et - 88 - Chapitre 3 Réseaux de neurones et les systèmes dynamiques contribue à la création de la perception globale (champ neuronal). Figure 3-32. Les deux robots apparaissant comme relativement éloignés l’un de l’autre mais proches du robot prenant l’image. Les entrées visuelles L’activité du champ neuronal à t 0.2 0.3 0.2 0.15 0.1 0.1 0 0.05 0 −0.1 0 100 200 300 400 orientation φ L’activité du champ neuronal à t−1 −0.2 0 100 200 300 400 orientation φ Detail de l’activité du champ neuronal à t 0.6 0.1 0.4 0.05 0.2 −0.05 0 −0.15 −0.2 −0.25 0 −0.1 −0.2 0 100 200 orientation φ 300 400 220 240 260 orientation φ 280 Figure 3-33. La bifurcation: un attracteur (en bas, à gauche) se transforme dans deux attracteurs et un repousseur (à droite, en haut et en bas) sur l’influence de l’entrée (en haut, à gauche). Dans cette section nous avons présenté certaines propriétés des systèmes dynamiques et nous avons plus particulièrement étudié un cas spécifique : les champs neuronaux régis par l’équation (14). Leur utilisation nous a permis l’introduction d’une dynamique dans le processus de perception ainsi que dans le processus moteur tout en gardant la cohérence - 89 - Section 3.5 Les systèmes dynamiques et l’intégrité du système. Tous les comportements émergents (compétition, mémoire, bifurcation, ...) peuvent être facilement modélisés et implantés dans une architecture à l’aide des champs neuronaux. 3.5 Conclusion Dans ce chapitre nous avons sommairement présenté les neurones biologiques, certains éléments de l’architecture du cerveau (cortex visuel et hippocampe principalement) et des modèles neuronaux capables de simuler plus ou moins finement des processus de catégorisation non supervisés (WTA, ART, Kohonen, PTM, ...) et des processus d’apprentissage sensori-moteurs utiles pour la constitution d’un répertoire de comportements (conditionnement, apprentissage associatif, architecture PerAc). Enfin dans la dernière section nous avons présenté la notion de champ neuronal dynamiques (neural field) et montré comment on pouvait l’utiliser dans une tâche de suivi. Dans le chapitre 5 nous utiliserons certaines propriétés de l’hippocampe pour développer une architecture permettant l’apprentissage de séquences temporelles. Le chapitre 6 est consacré à l’intégration des mécanismes de suivi, d’apprentissage de séquences temporelles et de reconnaissance visuelle du professeur permettra alors de montrer l’intérêt d’une représentation de type champ neuronal pour la fusion d’informations multimodales issues de processus ayant des constantes de temps de réponse différentes. - 90 - Chapitre 4 Perception du mouvement et flot optique That is the beginning of knowledge the discovery of something we do not understand. F. Herbet – Dune L’objectif de ce chapitre n’est pas de traiter en détail le flot optique mais plutôt de montrer son rôle essentiel en tant que source d’information pour un robot autonome. Dans un premier temps, nous présentons les techniques de calcul de flot optique. Nous avons testé les techniques qui nous ont paru les plus adaptées à notre approche et nous les illustrons avec quelques exemples. Par la suite, nous nous sommes intéressés au problème d’estimation de la composante de rotation du flot optique. Les résultats obtenus en simulation nous ont permis de présenter le lien entre le suivi d’une cible et la perception du mouvement par transparence. La compréhension de ce passage nous a conduit à réaliser une expérience de psychophysique visuelle. Ensuite, nous illustrons ce modèle neuronal de perception du mouvement en présentant certaines de ses propriétés. Enfin, nous présentons nos conclusions sur l’utilisation de certaines méthodes d’extraction du flot optique pour les applications de robotique mobile. 91 Section 4.1 4.1 Principe et formalisation du flot optique Principe et formalisation du flot optique Nous supposons que l’information concernant les mouvements des objets est plus pertinente que celle qui concerne leur forme. Prenons, par exemple, la main qui bouge pour attraper un objet. Elle génère un flot optique important au bout des doigts, là où les mouvements sont les plus grands. La présence de ce flot optique important peut être utilisée comme mécanisme de stimulus enhancement (voir section 2.2) afin d’apprendre un comportement sans avoir à reconnaı̂tre l’objet. Cet exemple explique l’importance de l’étude du mouvement dans le cadre de notre approche. En grande partie à la suite des travaux de Gibson [76], le mouvement a été considéré comme une source essentielle d’informations. Gibson introduit le concept (et la théorie) de la Perception Directe (Direct Perception) qui stipule que la perception du mouvement est uniquement basée sur l’information rétinienne. Cette théorie part du fait que dans des conditions ordinaires, la perception visuelle est correcte. Elle doit l’être étant donné que les chances de survie en dépend d’où le nom de théorie écologique de la perception. Le mécanisme de perception visuelle est ainsi réduit à un échantillonnage de l’information visuelle de l’environnement. Le monde réel se manifeste comme une multitude de formes lumineuses qui agissent sur la rétine de l’observateur (la matrice optique). Le contenu informationnel de la scène est donné par une structure invariante des caractéristiques (ou invariants) de ces formes. Percevoir c’est “appréhender” ces caractéristiques. Le mouvement peut être caractérisé par un invariant représenté par : l’apparition ou la disparation d’une partie de la matrice (plus spécifiquement, le fond) sur les 2 côtés d’une autre partie de la matrice (l’objet). Quand les yeux se déplacent dans l’environnement visuel (une combinaison des mouvements du corps, des yeux et du mouvement propre l’égomouvement) un champ de mouvement est généré dans la matrice. Le cerveau est capable d’extraire du champ de mouvement les caractéristiques des invariants générés par le mouvement. Gibson [75] introduit pour la première fois le terme de flot optique comme étant une mesure des changements dans la matrice optique. D’un point de vue plus traditionnel, la théorie Inférentielle [194] stipule que nous percevons le mouvement ou l’état stationnaire d’un objet en fonction de la comparaison de deux signaux neuronaux. Le premier concerne les informations “rétiniennes” (qui codent les mouvements perçus par la rétine) et le second concerne les informations “extrarétiniennes” (qui codent les mouvements des yeux). Quand il y a une différence entre les 2 signaux, alors le mouvement de l’objet est perçu; sinon l’objet est stationnaire. Une présentation plus ample de ce deux théories ainsi qu’une étude comparative est présentée dans [196]. Le mouvement dans une scène est généré par le mouvement des objets et par le mouvement de “l’observateur” de la scène. Dans notre contexte de robotique mobile, “l’observateur” est un robot mobile équipé d’un système d’acquisition d’images. Dans le système référentiel lié au robot, nous appelons le mouvement de la scène mouvement réel. Nous pouvons décrire le mouvement de la scène par un champ de vecteurs en trois dimensions. Dans l’image acquise par le robot, chaque point de l’image, x, est le projeté - 92 - Chapitre 4 Perception du mouvement et flot optique p(X) d’un point X de la scène (l’espace 3D). Le résultat de la projection du mouvement réel est le mouvement apparent. Ainsi, le flot optique est donné par la définition suivante : “Le flot optique est défini comme étant un champ de vecteurs en deux dimensions (2D) qui décrit le mouvement apparent.” Nous considérons une séquence d’images comme étant une fonction réelle I ((x1 , x2 ), t) à trois variables x1 , x2 , t que nous supposons, pour l’instant, continues. Nous utiliserons les notations abrégées x pour (x1, x2) et x(t) pour (x1 (t), x2 (t)). Le flot optique à l’instant t et au point x(t) est alors défini comme la vitesse du point image: ! dx1 dx2 , (1) v = (v1 , v2 ) = dt dt La représentation de flot optique la plus couramment utilisée est une “image” de vecteurs de vitesse dans chaque point de l’image (voir figure 4-1). Parfois, afin d’avoir une image lisible dans le cas de grands mouvements, on représente une image décimée des vecteurs vitesse, en supposant que les vecteurs représentés sont la moyenne des vitesses dans un voisinage. (x1,x2,t) (x1‘,x2‘ ,t‘ ) Figure 4-1. Déplacement d’un objet entre (x1 , x2 , t) et (x1 ′, x2 ′, t′) et l’image des vecteurs de vitesse associées. Si nous considérons les objets qui se déplacent comme étant rigides, alors nous pouvons définir plusieurs types de flot optique: • 1er ordre: les translations: tous les points de l’image se déplacent sur des droites parallèles (figure 4-1). • 2ème ordre – les rotations: chaque point de l’image se déplace sur des cercles concentriques, avec une vitesse constante et un angle symétrique par rapport à un point fixe (figure 4-2). – les dilatations (expansions/contractions): chaque point de l’image se déplace sur une droite, toutes les droites convergent vers un point (figure 4-2). - 93 - Section 4.1 Principe et formalisation du flot optique – les déformations morphologiques d’un objet (pliage, froissage, ...). Figure 4-2. Exemples de flots optiques théoriques générés par (a) une expansion (translation vers avant), (b) une contractions et (c) une rotation. La mesure du flot optique est considérée une étape de traitement de l’image dite de bas niveau. On lui trouve de nombreuses applications comme l’analyse de mouvements de fluides en physique expérimentale, la compression de séquences d’images vidéo par compensation de mouvement, retrouver le mouvement réel des objets dans l’image, calculer le temps jusqu’à l’impact, estimer le mouvement propre, ou son utilisation pour des phases de traitement des images de plus haute niveau, comme la reconstruction de scènes tridimensionnelles. Dans le cadre de nos applications de robotique mobile, nous nous sommes intéressés uniquement à l’estimation du mouvement propre et au problème du mouvement réel des objets dans l’image. - 94 - Chapitre 4 4.2 Perception du mouvement et flot optique Méthodes pour l’extraction du flot optique Dans cette section nous présentons quelques méthodes de calcul du flot optique ainsi que les résultats obtenus. Tout d’abord, nous présentons la méthode de détection du mouvement par différence d’images et celle de Reichardt. Ensuite nous présentons les méthodes de calcul de flot optique par mise en correspondance, la méthode différentielle et nous finissons par les méthodes énergétiques. Chaque méthode est illustrée par des résultats obtenus avec des séquences réelles. 4.2.1 Méthode empirique - la différence entre images Avant de présenter les méthodes d’extraction de flot optique, nous allons présenter la plus empirique méthode de détection du mouvement : la différence algébrique entre deux images consécutives. Cette méthode fournit plutôt une information sur la zone en mouvement (détection) que sur le déplacement (flot optique) : M vt (x, t) = I (x, t) − I (x, t + δt) (2) avec M vt l’image du mouvement et I les images acquises. C’est une méthode très rapide mais qui pose plusieurs problèmes. D’abord, l’utilisation de la différence implique l’existence d’un résultat signé (un objet noir sur un fond blanc qui se déplace vers la droite génère la même différence qu’un objet blanc sur le fond noir qui se déplace vers la gauche). Nous pouvons utiliser la différence absolue entre 2 images, mais on ne peut pas faire la différence entre le fait que c’est l’objet qui s’est déplacé ou que c’est la scène qui s’est déplacée. Figure 4-3. La séquence t N 270 20. Nous avons représenté uniquement les images 0 (la première), 100, 200, 300, 350 et 400 (la dernière). Prenons, par exemple la séquence illustrée par la figure 4-3. Elle contient en réalité 400 images prises par une caméra CCD embarquée sur le robot à environ 20 images/seconde. - 95 - Section 4.2 Méthodes pour l’extraction du flot optique Le seul objet qui se déplace est un robot Koala que nous avons mis en évidence par un cercle. L’estimation du champ des vitesses apparentes (le flot optique) sera systématiquement présenté sur cette séquence (voir figure 4-3). Néanmoins, il faut souligner le fait que la plupart des expériences ont été faites en temps réel1 , sans enregistrer continuellement les images acquises par la caméra. Les conditions d’illumination ont beaucoup changé d’une expérience à l’autre. En plus, le plancher des salles d’expérimentations est recouvert d’un sol plastique réfléchissant. Vue la hauteur du robot d’environ 40 cm (voir figure A-1 en annexe), la réflexion des objets sur le sol génère beaucoup d’artefacts (voir figure 4-5 (a)). Le résultat de la détection du mouvement par différence entre images est illustré par la figure 4-4. Par abus de langage, l’image résultante (figure 4-4 (a)) est appelée l’image du mouvement. La position du robot est clairement mise en évidence ainsi que l’ancien emplacement du robot. Difference entre deux images Difference entre deux images 20 250 40 200 150 60 100 50 0 80 −50 −100 100 −150 −200 150 120 200 100 150 100 50 140 50 20 40 60 80 100 120 140 160 180 0 0 Figure 4-4. (a) L’image du mouvement obtenue par la différence entre la 300ème et la 350ème image de la séquence t N 270 20. (b) La mise en évidence de l’amplitude des différences entre les mêmes deux images(on perçoit en plus du mouvement du robot le mouvement du fil d’alimentation du robot ...). Les propriétés physiques de la caméra CCD ainsi que celles de la carte d’acquisition induisent un bruit important entre deux images consécutives. Nous pouvons observer ce bruit dans la figure 4-4 (b). Nous allons maintenant donner une estimation de ce bruit. Étant donné que nous utilisons des images successives, en niveau de gris, nous nous sommes intéressés aux variations de luminance entre images consécutives. Pour mesurer les variations de luminance, que nous considérons comme du “bruit”, nous avons effectué l’acquisition de 300 images consécutives, suivant le même point de vue. Cette acquisition est répétée pour 3 orientations différentes (voir figure 4-5, pas d’objets en mouvement dans les différentes prises de vues). Dans le but de prendre en compte les caractéristiques de la carte d’acquisition, les images ont été prises en utilisant 2 cartes différentes : une carte SunVideo sur une machine Sparc avec la bibliothèque XIL et une carte MiroPcTV sur une machine PC Linux avec des fonctions développées par notre groupe. 1 La notion de temps réel implique, dans notre cas, un temps de boucle entre 100 et 1000 millisecondes. - 96 - Chapitre 4 Perception du mouvement et flot optique Figure 4-5. Une image de la séquence “mur” (a), “fenêtre” (b) et “table” (c). A gauche, nous pouvons observer la réflexion de la chaise sur le sol. Tout d’abord nous calculons, pour chaque séquence, la différence absolue entre 2 images successives, en chaque pixel. Ensuite, nous calculons la moyenne, la variance et le maximum des différences absolues. Enfin, dans le tableau 1 nous présentons une synthèse des résultats. Séquence (Sparc) MOYENNE VARIANCE fenêtre 2.0070 1.9556 mur 2.2245 2.4535 table 2.3134 2.4945 Séquence (Linux) fenêtre 1.2658 1.4138 mur 1.2976 1.7894 table 1.5039 1.8827 MAXIMUM 32.2074 35.0067 40.2341 37.1405 42.1806 46.7224 Tableau 1. Synthèse de résultats obtenus pour la mesure du bruit dans les séquences d’images. Les images utilisées ont 192 × 144 pixel avec 255 niveau de gris/pixel En conclusion, nous pouvons affirmer que, en moyenne, le bruit n’est pas fort. L’intensité est codé sur 256 pixel donc le bruit est inférieur à 1%. Mais le bruit impulsionnel est très élevé (environ 20%) et nous devons par conséquent l’éliminer en utilisant des techniques de filtrage. En outre, nous pouvons remarquer que l’acquisition d’images sur PC/Linux est légèrement meilleure que celle sur Sparc/Solaris. Les mesures de bruit nous ont inciter à utiliser un lissage des images avant de calculer la différence. Par ailleurs, nous pouvons utiliser un seuil sur la différence afin d’éliminer le bruit impulsionnel. Si nous utilisons un moyennage temporel de durée T et un seuil Seuil, l’équation (2) peut alors s’écrire : M vt (x, t) = avec R (x, t) = k ( 0 si R (x, t) < Seuil R (x, t) si R (x, t) ≥ Seuil 1 Z t−δt 1Zt I (x, τ ) dτ − I (x, τ ) dτ k T t−T −δt T t−T - 97 - (3) (4) Section 4.2 Méthodes pour l’extraction du flot optique Dans l’image 4-6 (a), nous illustrons la différence entre 2 images successives. Le bruit est d’environ 20%. L’effet du lissage et du seuillage est immédiat : le bruit est réduit de plus de 80% après le lissage (voir figure 4-6 (b)) et il disparaı̂t pratiquement (réduit de plus de 99%) après un lissage et un seuillage (voir figure 4-6 (c)). Difference entre deux images Difference entre deux images lissées Difference entre deux images lissées + seuil 60 12 20 20 40 12 20 50 10 40 40 10 40 60 8 60 8 80 30 80 6 80 6 100 20 100 4 100 4 60 120 10 140 120 2 140 20 40 60 80 100 120 140 160 180 0 120 2 140 20 40 60 80 100 120 140 160 180 20 40 60 80 100 120 140 160 180 Figure 4-6. (a) La différence entre deux images de la séquence “fenêtre”. (b) La différence entre deux images intégrées temporellement, avec T = 4. (c) La même image que celle du centre mais seuillée avec un Seuil = 10. Un autre problème dù à l’utilisation de la différence d’images réside dans le fait que nous n’avons pas d’indications ni sur le sens du mouvement, ni sur son intensité. De même, il faut souligner un problème d’ordre général: la vitesse d’acquisition des images est d’environ 20 images/seconde mais la vitesse de transmission des ordres à notre robot est très lente (50-300 millisecondes en moyenne avec un modem radio à 9600 baud). Cette différence entre ces 2 constantes de temps fait que la détection du mouvement est faite pour des déplacements petits, mais qu’entre 2 détections (un cycle perception-actionperception) les mouvements peuvent être grands. Ce problème est généralement résolu par une “égalisation” du temps de perception et d’action, par la parallélisation du calcul ou par l’augmentation de l’intégration temporelle au niveau de la détection du mouvement. 4.2.2 Le modèle de Reichardt Le modèle proposé par Reichardt [156] est un des premiers à avoir été utilisé pour l’estimation du mouvement. Le modèle “de base” permet la détection du mouvement dans une direction préférentielle. Les photo-récepteurs (cellules du niveau 1) détectent les changements de l’intensité lumineuse. La sortie des photo-récepteurs est connectée via des lignes de retard aux cellules de niveau 2 (figure 4-7, (a)). Si la vitesse de déplacement du changement de luminance correspond au retard de la ligne, alors la cellule de niveau 2 s’active. L’activation est due à un calcul de corrélation des entrées. Le modèle de Reichardt généralisé (figure 4-7 (b)) est utilisé pour détecter le mouvement dans le deux sens. Le modèle de Reichardt est facile à mettre en oeuvre mais le choix de la constante de retard est difficile à régler. De plus, pour chaque gamme de vitesse il faut utiliser une couche de cellules de niveau 2. Vue la difficulté de calcul de la corrélation des entrées et - 98 - Chapitre 4 Perception du mouvement et flot optique Direction preferentielle du mouvement Directions du mouvement celulles de niveau 1 celulles de niveau 1 τ τ τ celulles de niveau 2 celulles de niveau 2 Figure 4-7. Le modèle de Reichardt simple (a) et généralisé (b). la limitation de la gamme de vitesses, le modèle a été utilisé pour des séquences d’images de déplacement de points (ou de contours). Le modèle est intensivement utilisé pour modéliser les expériences de psychophysiologie (estimation du mouvement d’un nuage des points). 4.2.3 Les méthodes de mise en correspondance Les méthodes de mise en correspondance calculent le flot optique v en chaque point de l’image en utilisant une mesure de similarité entre deux images successives [16, 18, 122, 130]. Soit le point x dans l’image I(x, t0 ). Calculer le flot optique en x revient à calculer la distance d dont l’équation est : d = min M (x, d) (5) M (x, d) = (I (x, t0 ) − I (x + d, t1 ))2 (6) d∈Vx avec et Vx un voisinage de x. A cause des minima locaux, on utilise très rarement l’équation (6) pour calculer la similarité. Le plus souvent, on utilise pour les calculs sur une “version” filtrée spatialement de I(x, t) [18]. Ainsi, l’équation (6) devient : M (x, d) = (W (x) ∗ I (x, t0 ) − W (x) ∗ I (x + d, t1 ))2 (7) avec W le noyau de convolution. Nous pouvons observer que minimiser la différence I (x) − I (x + d) équivaut à maximiser le produit I (x) · I (x + d), ce qui revient au calcul de la corrélation entre l’image à l’instant t0 et des versions décalées de l’image t1 . Ainsi, cette méthode est nommée méthode corrélative. Dans le cas des méthodes de mise en correspondance, la vitesse de déplacement d’un point de l’image (le flot optique) est égale au déplacement : v = d c′ est − à − dire (v1 , v2 ) = (d1 , d2 ) . - 99 - (8) Section 4.2 Méthodes pour l’extraction du flot optique Le domaine des vitesses maximales admises est limité par le biais du voisinage Vx (figure 4-8, (a)) ce qui constitue une contrainte implicite sur la vitesse maximale détectable. La recherche d’un “maximum” ou d’un “minimum” n’est pas “différente” du point de vue algorithmique. Du point de vue neurophysiologique la recherche d’un maximum est plus “biologiquement plausible” puisque les cellules ayant une sélectivité directionnelle ont une réponse maximale, et non minimale, lorsque le mouvement est parallèle à leur direction optimale. Cependant, le calcul d’une fonction “minimiser” peut intervenir sous la forme de signaux inhibiteurs de ces cellules; le ”message” porté par l’activation de ces cellules ne serait alors pas: ”le mouvement a probablement lieu dans cette direction”, mais plutôt: ”le mouvement n’a probablement pas lieu dans la direction opposée”. L’inhibition comme base de la sélectivité directionnelle est en accord avec les données neurophysiologiques récentes décrites chez les mammifères [59]. Des méthodes de mise en correspondance peuvent utiliser d’autres caractéristiques de l’image (contours, points anguleux, ...). Singh propose une méthode en deux pas [172]. Premièrement, le calcul de plusieurs déplacements sur des images filtrées. Deuxièmement, les déplacements sont convertis en une distribution de probabilités et le flot optique est calculé comme une somme moyenne de ces valeurs. Les valeurs propres de la matrice de covariance sont utilisées comme mesures de confiance. Anandan [6] propose une technique basée sur une décomposition pyramidale de l’image et une stratégie de raffinement du flot optique. La méthode classique de calcul de flot optique en utilisant la mise en correspondance est très gourmande en temps de calcul. La complexité algorithmique pour une image de taille N est de O(N 3 ) ce qui rend ces techniques impropres pour les applications embarquées. Il y a cependant plusieurs techniques qui permettent de réduire la complexité : calculer le flot optique sur une grille dont la taille est inférieure à celle de l’image (pb. comment choisir les points sur la grille), rechercher le maximum dans un voisinage particulier, paralléliser le calcul, ... Pour réduire les temps de calcul, Poggio et ses collaborateurs [7, 8] ont utilisé des techniques de mise en correspondance en utilisant un voisinage 1D. Ainsi, les auteurs ne cherchent que des déplacement horizontaux ou verticaux, ce qui revient à modifier la forme du voisinage Vx dans lequel on cherche le mouvement (voir figure 4-8). Le mouvement v est donné par le meilleur décalage en x et en y. Une autre forme de voisinage Vx utilisée est présentée dans la figure 4-8 (c) [94]. De même, pour une application nécessitant l’approximation du temps jusqu’à contact, les auteurs [150] approximent le flot optique en utilisant le théorème de Green (équation (9)). Selon ce théorème, pour mesurer l’expansion du flot optique, il suffit de calculer le gradient du flot optique. Dans le cas de champs de vecteurs linéaires, l’intégrale de la divergence sur une surface est constante si la surface inclue le centre. Le théorème de Green dit que l’intégrale sur une surface d’un gradient est équivalente à l’intégrale des composantes normales au contour de la surface. Z S ∇v(x, y)dxdy = - 100 - Z C v · ndl (9) Chapitre 4 Perception du mouvement et flot optique Figure 4-8. (a) La forme de fenêtre couramment utilisée. (b) la fenêtre utilisée par Poggio. (c) la fenêtre utilisée par Hayes. avec ∇v(x, y) = δvx (x, y) δvy (x, y) + δx δy (10) et n la normale à la surface S dont C est le contour. Ainsi, pour déterminer le temps jusqu’à contact, seule la composante normale du flot optique en n points est calculée. Ces points sont situés sur un cercle, ce qui entraı̂ne une réduction drastique du temps de calcul. 4.2.3.1 Implantation de certaines variantes de la méthode de mise en correspondance Nous avons implanté et testé plusieurs algorithmes d’extraction du flot optique qui utilisent la méthode de mise en correspondance. Les caractéristiques principales de ces algorithmes résident dans le fait que : • la recherche d’un déplacement uniquement pour les points de l’image qui ont une variation de luminance supérieure à un seuil SeuilBruit. Les points sont déterminés en utilisant l’équation (3). • le calcul de la mise en correspondance de toute une région et non pas d’un seul point (voir figure 4-9). • L’influence de chaque point de la région est modélisée par une fonction, W , (voir l’équation (11)). Cette modélisation revient à effectuer un filtrage spatial passe-bas (voir figure 4-10). V almin − 1 q W (x1 , x2 ) = 1 + (11) T aille2 + x21 · x22 avec V almin et T aille constantes. - 101 - Section 4.2 Méthodes pour l’extraction du flot optique région MC (x1,x2) déplacement (x 1+dx1,x2+dx2) zone de recherche Image à l’instant t1 Image à l’instant t2 Figure 4-9. Définition de la région de mise en correspondance (MC) et de la zone de recherche du mouvement dans 2 images successives. 1 0.95 0.9 0.85 10 8 10 6 8 6 4 4 2 2 0 0 Figure 4-10. Graphique de la fonction W avec T aille = 10 et V almin = 0.86. • nous privilégions l’hypothèse qu’à-priori il y a peu de zones en mouvement. Nous modélisons cette hypothèse à l’aide d’une fonction de confiance V dont l’équation est : V almin − 1 q V (x1 , x2 ) = 1 + (12) T aille2 + x21 · x22 avec V almin et T aille constantes. Pour deux images, I (x, t1 ) et I (x, t2 ), avec SeuilBruit une constante, Z la taille de la région de mise en correspondance, R le déplacement maximal, W (respectivement V ()) deux fonctions dont l’équation est (11) (respectivement (12)), l’algorithme de calcul du déplacement d = (d1 , d2 ) est le suivant : • pour chaque point (x1 , x2 ), – nous calculons : Diff = |I ((x1 , x2 ) , t1 ) − I ((x1 , x2 ) , t2 )| - 102 - Chapitre 4 Perception du mouvement et flot optique – si le Diff > SeuilBruit, alors ∗ pour chaque point, (a1 , a2 ) ∈ [(x1 − R, x2 − R), (x1 + R, x2 + R)], de la zone de recherche nous calculons : A (a1 , a2 ) = Z X Z X W (i, j)·[I ((a1 + i, a2 + j) , t1 ) − I ((a1 + i, a2 + j) , t2 )]2 i=−Z j=−Z ∗ pour chaque point, (a1 , a2 ) ∈ [(x1 − R, x2 − R), (x1 + R, x2 + R)], de la zone de recherche nous recherchons le maximum : B (b1 , b2 ) = max A (a1 , a2 ) avec (dx1 , dx2 ) = (b1 − x1 , b2 − x2 ) ∗ si B (b1 , b2 ) · V (dx1 , dx2 ) > A (x1 , x2 ), alors d(x1 , x2 ) = (dx1 , dx2 ) Les résultats obtenus en utilisant cet algorithme sont différents, selon la zone de recherche utilisée (voir figure 4-8 pour quelques exemples). De même, nous pouvons utiliser le gradient de l’image à la place de l’image d’intensité. Malgré cela, la difficulté des méthodes de mise en correspondance réside dans la choix des paramètres et la complexité calculatoire. 20 80 40 85 60 90 80 95 100 100 120 105 140 20 40 60 80 100 120 140 160 180 130 135 140 145 150 155 160 165 170 Figure 4-11. Les flots optiques obtenus pour l’utilisation d’une zone de recherche rectangulaire (voir figure 4-8 (a)) de taille R = 5, avec une région de mise en correspondance de taille Z = 15, V almin = 0.6 pour la fonction V et V almin = 0.7 pour la fonction W et SeuilBruit = 33. Nous présentons les résultats obtenus (figures 4-11 et 4-12) avec 2 types de zones de recherche : le carré (figure 4-8 (a)) et la croix (figure 4-8 (b)). A titre de comparaison, le temps de calcul du flot optique illustré dans l’image 4-11 est de 68.98 millisecondes et celui illustré dans l’image 4-12 de 17.61 millisecondes, soit 4 fois plus rapide2 . 2 Les temps ont étés mesurés sur une machine Sparc Ultra 10 - 103 - Section 4.2 Méthodes pour l’extraction du flot optique 20 80 40 85 60 90 80 95 100 120 100 140 20 40 60 80 100 120 140 160 180 135 140 145 150 155 160 165 170 Figure 4-12. Les flots optiques obtenus pour l’utilisation d’une zone de recherche en forme de croix (voir figure 4-8 (b)) de taille R = 5, avec une région de mise en correspondance de taille Z = 15, V almin = 0.6 pour la fonction V et V almin = 0.7 pour la fonction W et SeuilBruit = 33. En conclusion, vue la définition de la vitesse (équation (8)) utilisée pour les méthodes de mise en correspondance, nous observons tout de suite que les résultats obtenus dans le cas de petits déplacements, (moins d’un pixel/image) sont assez mitigés. Par contre, dans le cas de déplacements d’objets à grande vitesse, les résultats sont très bons. Une comparaison de certaines méthodes de calcul de flot optique, dont les méthodes de mise en correspondance, est présenté dans [18]. 4.2.4 Techniques différentielles Nous n’avons pas utilisé ces méthodes, mais nous les présentons pour avoir un aperçu complet des méthodes de calcul de flot optique. Les techniques différentielles utilisent l’hypothèse que la luminance d’un point physique varie lentement au cours du temps quand l’objet qui contient le point se déplace. I (x(t)) , t) = cste se qui suppose dI dt = 0. dx1 ∂I dx2 ∂I ∂I dI = · + · + dt dt ∂x1 dt ∂x2 ∂t Si on note ∇I = ∂I ∂I , ∂x ∂x1 2 T nous obtenons l’équation du gradient: ∇I · dx ∂I + =0 dt ∂t soit ∇I · v + ∂I =0 ∂t - 104 - (13) Chapitre 4 Perception du mouvement et flot optique L’équation (13) ne peut pas être résolue ponctuellement, car en chaque point de l’image on doit trouver deux inconnues (v1 , v2 ) et nous ne disposons que d’une seule équation. L’impossibilité de déterminer exactement la direction du mouvement d’un contour (voir figure 4-13) est connue sous le nom du problème d’ouverture. ? ? ? ? ? I Image à t0 Image à t1 Figure 4-13. Illustration du problème d’ouverture. L’estimation du flot optique apparaı̂t alors comme un problème mal posé. Le seul moyen de résoudre l’équation de flot optique 13 est de faire au moins une hypothèse supplémentaire sur le mouvement et de transformer l’équation du gradient en un problème bien posé c’est à dire qui a une solution unique pour un élément d’image donné. Cette transformation est nommée régularisation. Horn et Schunck [100, 101] utilisent l’hypothèse selon laquelle la “meilleure” solution est la solution la plus régulière. Les auteurs proposent de minimiser la fonctionnelle : L(v) = Z Z ∂I v · ∇I + ∂t !2 dx1 dx2 (14) ce qui revient à trouver une “carte” globale qui annule le flot de l’équation 13. Un terme de régulation est introduit : R(v) = λ Z Z k∆vk2 dx1 dx2 (15) La fonctionnelle totale, qui est définie positive, devient : Z Z ∂I v · ∇I + ∂t !2 dx1 dx2 + λ Z Z k∆vk2 dx1 dx2 (16) Sobey et Srinivasan [174] introduisent la technique du gradient généralisé. Cette technique utilise 2 filtres (ou 3 filtres) et le gradient de l’intensité de l’image filtrée. Les techniques de régularisation ont été intensivement étudiées. On peut utiliser des contraintes sur l’aspect temporel ou encore utiliser une estimation stochastique avec des champs de Markov. Une présentation de ces techniques est donnée dans [122]. - 105 - Section 4.2 Méthodes pour l’extraction du flot optique Une technique récente de calcul du flot optique revient à projeter l’équation du flot optique sur les vecteurs d’une base d’ondelettes [23, 22]. L’avantage principal de cette approche est d’être plus rapide par rapport aux méthodes standards, car les filtrages coûteux sont remplacés par des transformations en ondelettes rapides. Malgré tout, les techniques différentielles sont très coûteuses en temps de calcul. Le résultat pour de petits déplacements sont bons mais pour les grands déplacements il faut utiliser une décomposition multiéchelle. Vu qu’une autre source d’erreurs provient de l’approximations de la différentielle, les techniques différentielles présentent un faible intérêt pour nos applications de robotique mobile. 4.2.5 Techniques énergétiques Les techniques énergétiques d’estimation du mouvement sont basées sur la caractérisation du mouvement dans le domaine fréquentiel. Elles utilisent une combinaison de réponses de filtres spatio-temporels orientés. Ce sont les recherches en neurobiologie qui ont influencé ces techniques: la réponse des filtres essaie de simuler la réponse de cellules des aires V1 et MT (voir figure 3-6). Ces cellules ont une réponse qui dépend de la forme de la vitesse et des caractéristiques des objets en mouvement [34]. Supposons, par exemple, que nous sommes dans le cas d’un mouvement de translation. Considérons une séquence d’images composée d’une barre verticale en mouvement de translation vers la gauche (voir figure 4-14 (a)). La séquence est décrite par la fonction de luminance I(x, t) et peut être représentée dans un parallélépipède espace–temps de coordonnées x = (x1 , x2 ). v x2 x2 x1 x1 t Figure 4-14. (a) Une image dans une séquence comportant une barre verticale en mouvement de translation vers la gauche, (b) Le parallélépipède espace–temps associé à cette séquence d’images. Prenons une section dans ce volume, considérant y = constant (voir figure 4-15). Le mouvement apparaı̂t comme une droite dans l’espace–temps et des filtres spatio–temporels peuvent être utilisés pour l’estimer. Si la fréquence spatiale fx est exprimée en cycles/pixel et la fréquence temporelle ft est exprimée en cycles/image, la vitesse, qui est la distance parcourue par unité de temps ou pixels/image est : - 106 - Chapitre 4 Perception du mouvement et flot optique filtre ωx1 v t ωt + + + -+ - - x1 Figure 4-15. Le mouvement est équivalent à une orientation dans l’ espace - temps et des filtres spatio– temporels orientés peuvent être utilisés pour l’estimer : (a) Coupe suivant les axes x - t dans le parallélépipède espace–temps. (b) Le spectre associé. (Notations: ωx = 2πfx et ωt = 2πft ). v= ft fx (17) Le spectre de la barre, si elle est suffisamment texturée, se situe sur une droite de pente v. Cette pente (et donc la vitesse) peut être mesurée en utilisant les réponses de plusieurs filtres placés à des fréquences spatio–temporelles différentes. L’estimation de la vitesse en 2D suit le même principe. Si nous considérons l’image : I (x, t) = I (x + v · ∆t, t0 ) alors sa transformée de Fourier est : Iˆ ((fx1 , fx2 ) , ft ) = Iˆ ((fx1 , fx2 )) · δ (ft + v1 · fx1 + v2 · fx2 ) (18) avec δ(.) la distribution de Dirac. L’équation (18) nous montre que la transformée de Fourier d’une image en translation pure s’annule seulement sur un plan dont l’équation est : ft + v1 · fx1 + v2 · fx2 = 0 (19) La transformée de Fourier inverse de l’équation (19) nous donne directement l’équation du flot optique (voir équation (13)). Par conséquent, calculer le flot optique revient à trouver la pente d’un plan d’énergie non nul dans l’espace temps-fréquence. Heeger [97, 98] a été le premier à utiliser des filtres de Gabor sur une image texturée de manière à d’échantillonner l’espace des fréquences spatio-temporelles et à utiliser une technique de minimisation pour trouver le plan de vitesse de façon à ce que le spectre associé à une séquence soit distribué sur une bande assez large de fréquences spatio-temporelles. - 107 - Section 4.2 Méthodes pour l’extraction du flot optique Ft 0.5 0 −0.5 0.5 0.5 0 0 −0.5−0.5 Fx2 Fx1 Figure 4-16. Le plan de vitesse pour u = 1 pixel/image et v = 0.5 pixels/image. L’équation d’un filtre spatio-temporel de Gabor est : h(x1 , x2 , t) = 1 3 (2π) 2 · σx1 · σx2 h x21 x2 t2 · exp − + 2 + 2 2σx21 2σx22 2σt · σt " exp 2πj fx10 x1 + fx20 x2 + ft0 − ft !# · i Son spectre est: ĥ (fx1 , fx2 , ft ) = exp −2π 2 fx10 − fx1 2 · σx21 + fx20 − fx2 2 · σx22 2 + (ft0 − ft ) · σt2 (20) L’ensemble de la méthode décrite par Heeger repose sur la connaissance de l’énergie locale liée au mouvement : cela impose donc un filtrage par convolution spatiale plutôt qu’une implantation dans le domaine fréquentiel utilisant des transformées de Fourier rapides. Heeger propose une implantation par somme de convolutions séparables avec des filtres spatiaux d’écart–type σx = σy = 4 (noyau de convolution de taille 23) et des filtres temporels d’écart–type σt = 1 (noyau de convolution de taille 7). Heeger utilise un filtre d’énergie dont la sortie (équation (21)) est la somme des carrés de deux filtres en quadrature, décrits par l’équation (20), avec la même orientation et la même largeur de bande mais déphasés de 90 degrés. La mesure d’énergie ainsi obtenue est indépendante de la phase du signal. ĥ (fx1 , fx2 , ft ) = 2 2 1 · exp 4π 2 fx10 − fx1 · σx21 + fx20 − fx2 · σx22 + (ft0 − ft )2 · σt2 4 2 2 1 + · exp 4π 2 fx10 + fx1 · σx21 + fx20 + fx2 · σx22 + (ft0 + ft )2 · σt2 4 - 108 - (21) Chapitre 4 Perception du mouvement et flot optique L’équation (21) signifie que la réponse d’un filtre sera d’autant plus importante que le plan d’énergie non nulle passe à proximité de son centre (fx10 , fx20 , ft0 ). Pour la séquence d’images illustrée par la figure 4-3, nous présentons les résultats obtenus avec une variante de la méthode de Heeger [176, 177] (voir figure 4-17). 75 20 80 40 85 60 90 80 95 100 120 100 140 105 20 40 60 80 100 120 140 160 180 140 145 150 155 160 165 170 Figure 4-17. Exemple de flot optique extrait en utilisant la méthode de Heeger modifiée par Spinei [177]. Une autre technique d’estimation du flot optique par des méthodes énergétiques utilise des filtres spatio-temporels de type passe-bande inspirés par le filtrage rétinien [188]. Ce sont des filtres qui sont plus simples à mettre en oeuvre dans le cadre de la conception de circuits VLSI analogiques mais ils ont une sélectivité plus faible que ceux de Gabor. Ces filtres ont un domaine de fréquence plus étendu que celui d’un filtre de Gabor et sont réglés sur certaines gammes de vitesses. Leur réponse impulsionnel passe par l’origine du domaine fréquentiel. 1 ĥ (fx , ft ) = 1+ 2·|fx |2 ∆Bx2 +j· T ·f 2·(ft +v0 x) ∆Bt (22) avec fx = (fx1 , fx2 ), v0 = (v10 , v20 ) la vitesse sur laquelle le filtre est orienté, ∆Bx2 (respectivement ∆Bt ) étant la largeur de bande spatiale (respectivement temporelle). Nous avons testé une implantation de cet algorithme présenté par pour la même séquence d’images de référence. Les résultats obtenus sont illustrées dans la figure 418. A titre de comparaison, le temps de calcul du flot optique basé sur des filtres de Gabor (voir l’image 4-17) est de 2038.12 millisecondes et celui basé sur le filtrage rétinien (voir l’image 4-18) est de 260.56 millisecondes, soit de 8 fois plus court3 . Les méthodes énergétiques demandent des réglages de paramètres astucieux. Cependant, une fois trouvés les bons paramètres, les résultats sont de bonne qualité. Prenons 3 Les temps ont étés mesurés sur une machine Sparc Ultra 10. - 109 - Section 4.2 Méthodes pour l’extraction du flot optique 20 80 40 85 60 90 80 100 95 120 100 140 20 40 60 80 100 120 140 160 180 140 145 150 155 160 165 170 Figure 4-18. Exemple de flot optique extrait en utilisant 2 filtres orientés. l’exemple d’une rotation (figure 4-19). Le flot optique obtenu avec la méthode basée sur le filtrage rétinien est présenté dans la figure 4-20 (après avoir trouvé les bons paramètres). Malgré tous nos essais, les résultats ont été en demi-teinte (le flot perçu restant relativement bruité). La cause principale des problèmes est due à la transmission et à l’acquisition des images qui ont introduit du bruit. La sensibilité des algorithmes utilisés a aussi dégradé les résultats obtenus. Enfin, le temps de calcul est prohibitif (la méthode la plus rapide calcule le flot optique en 260 millisecondes). 4.2.6 Estimation de la composante de rotation du flot optique Le déplacement d’un robot dans un environnement ouvert peut être décomposé en une série de translations et de rotations. Nous nous sommes posé la question de savoir s’il y a une possibilité d’extraire facilement et ensuite d’estimer la composante rotationelle du flot optique. Figure 4-19. La séquence rot 1 000. Nous avons représenté seulement les images 0 (la première), 200, et 300 (la dernière). Pour mettre en évidence la difficulté théorique de l’estimation de la composante rotationelle, nous considérons que le calcul de flot optique est parfait. Nous avons simulé - 110 - Chapitre 4 Perception du mouvement et flot optique Le flot optique pour une rotation vers la droite Le flot optique pour une rotation vers la droite (detail) 10 20 20 40 30 60 40 80 50 100 60 120 70 140 20 40 60 80 100 120 140 160 180 10 20 30 40 50 60 70 80 Figure 4-20. Exemple de flot optique généré par une rotation. un robot qui a des capteurs tout autour de lui (voir figure 4-21 (a)) et dont le calcul du flot optique est fait seulement sur une ligne, ce qui est équivalent à une projection selon l’horizontale d’un flot optique 2D (voir figure 4-21 (b)). La valeur du flot optique F , mesurée par le capteur φ, est donnée par l’équation suivante : Y − Yo + tr.sin(θ + dθ) F = φ − φo = dθ + arctan X − Xo + tr.cos(θ + dθ) ! − arctan Y − Yo X − Xo (23) avec (X0 , Y0 ) les coordonnées du robot avant le déplacement, (X, Y ) les coordonnées après le déplacement, tr la distance du déplacement, φ0 et φ étant l’orientation du robot avant et après le déplacement (dans un repère quelconque) et dφ l’angle de rotation. L’idée principale est de demander au robot, pendant l’apprentissage, de générer des mouvements aléatoires et d’essayer de réduire l’erreur d’estimation de la rotation (calculé à partir du flot optique). L’estimation de la rotation est donnée par l’équation : Θe = N X Wi · Fi i=1 La modification des poids est donnée par l’équation de LMS [200] (voir section 3.1.3) : Wi (n) = Wi (N ) + ǫ · Fi · (Θ − Θe ) Après très peu d’itérations, notre robot “apprend” à estimer correctement la composante de rotation du mouvement propre (voir figure 4-22(a)). La distribution des poids de chaque capteur, en fonction de l’orientation du capteur par rapport à la direction frontale reflète le fait que les capteurs situés dans la partie - 111 - Section 4.2 Méthodes pour l’extraction du flot optique 2 1.8 1.6 1.4 Fi F i 1.2 rotation Wi Wi Σ 1 0.8 Direction frontale W0 (0 degree) 0.6 0.4 0.2 Capteur Rotation estime 0 0 2 4 6 8 10 12 14 16 Figure 4-21. (a) Le robot est réduit à un oeil ”composé” de capteurs de flot optique Fi . Le mouvement de translation est effectué vers la direction frontale, avant la rotation. Un seul neurone est utilisé pour prédire la rotation. (b) Exemple de flot optique pour une vitesse de translation de 10 et une rotation de 0.000532 (avec 17 capteurs). 90 0.058291 120 60 0.038861 0.35 30 150 0.3 0.01943 0.25 180 0 0.2 0.15 210 0.1 330 0.05 240 0 0 50 100 150 200 300 270 250 Figure 4-22. (a) La courbe d’apprentissage. L’ordonnée représente la valeur absolue de l’erreur d’estimation de l’angle de rotation. (b) La distribution des poids, dans une représentation polaire. La direction frontale à 0. avant du robot ont une plus grande influence sur le résultat que ceux situés vers l’arrière du robot (voir figure 4-22(b)). L’architecture complète du système, utilisé pendant l’apprentissage et pour les tests est illustré dans la figure 4-23). L’intérêt d’un tel système réside dans le fait qu’il peut résoudre plusieurs problèmes en même temps. D’abord, le système permet la prédiction de la composante de rotation. Deuxièmement, si pendant l’utilisation, il y a une différence entre la commande motrice et la rotation perçue, alors la prochaine commande sera plus grande afin de supprimer - 112 - Chapitre 4 Perception du mouvement et flot optique Détecteurs de flot optique + rotation aléatoire (commande) F0 F1 W0 W1 Fi FN delay Wi WN + Σ prédiction de la rotation - Σ commande effective + Σ signal d’adaptation Figure 4-23. Architecture du contrôleur LMS utilisé pour l’estimation de la composante de rotation du flot optique. l’erreur précédente (les frictions, par exemple). Si nous donnons l’ordre de tourner à 0 degrés, alors le robot avancera tout droit. Finalement, si le robot n’exécute pas de rotations mais s’il perçoit une rotation créée par un autre objet qui se déplace dans son espace de perception, alors il poursuivra cet objet. Ainsi, le comportement de suivi n’est qu’un effet du principe d’homéostasie (annulation de l’effet des rotations) utilisé par notre système. - 113 - Section 4.3 4.3 Du problème de suivi à la perception de mouvements par transparence Du problème de suivi à la perception de mouvements par transparence Dans la plupart des application de robotique mobile, le mouvement de translation du robot vers l’avant (ou l’arrière) génère un flot optique semblable à celui illustré par l’image 4-2. Mais si dans la scène visuelle il y a beaucoup d’objets à des profondeurs différentes, alors l’estimation du mouvement propre devient trop imprécise (et il est par conséquent très difficile de trouver le mouvement de la cible). Les résultats obtenus varient d’une méthode à l’autre, mais en règle générale ils sont assez imprécis. Le flot optique que nous obtenons est loin d’être parfait (voir image 4-24 et image 4-25 (a)). Le flot optique pour une translation avant 20 40 60 80 100 120 140 20 40 60 80 100 120 140 160 180 Figure 4-24. Le flot optique obtenu pour une translation vers l’avant (le robot avance en ligne droite). Certaines parties du flot sont clairement incohérentes avec le mouvement réel du robot (zones de flot entourées). Une des sources d’erreurs vient du fait que le flot optique ne peut pas être calculé en tous les points de l’image avec la même précision (les objets ont des textures différentes). Afin de réduire cet effet, nous pouvons réaliser une intégration temporelle du flot optique - 114 - Chapitre 4 Perception du mouvement et flot optique et calculer un flot optique moyen. Ce flot optique moyen peut être soustrait partout dans l’image en espérant que le résultat obtenu nous permettra d’isoler le flot produit par les objets en mouvement. Cependant, le flot optique moyen est loin d’être parfait (voir figure 4-25 (b)). Cela est dù au fait que dans le cas de notre application de robotique mobile, nous ne pouvons pas assurer un intervalle d’échantillonage constant à cause du système d’exploitation Unix qui ne permet pas un contrôle total sur le séquencement d’exécution des taches et il est donc difficile de régler la normalisation du flot optique moyen (pour une utilisation plus intensive sur robot mobile du flot optique il faudrait donc utiliser un système d’exploitation temps réel et/ou un circuit spécialisé dans le calcul de flot optique). Le flot optique pour une translation avant (detail) Le module 80 0.45 20 90 0.4 40 0.35 100 0.3 60 0.25 110 80 0.2 100 120 0.15 0.1 120 130 0.05 140 135 140 145 150 155 160 165 170 175 180 0 20 185 40 60 80 100 120 140 160 180 Figure 4-25. (a) Détail du flot optique calculé dans la figure 4-24. (b) Le module du flot optique moyen. Nous observons la manque d’uniformité des valeurs. La plupart des méthodes de calcul de flot optique supposent que l’on peut trouver une valeur unique du flot en chaque point de l’image et qu’il suffit alors d’avoir une information sur le mouvement du robot pour corriger le flot perçu et obtenir le flot lié aux seuls objets en mouvement. Inversement, si la scène est trop statique, le flot peut directement donner une information sur le mouvement réel et compléter l’odométrie. Malheureusement, nous avons vu les résultats assez imprécis du calcul de flot optique. En plus, lorsque le sol est brillant on perçoit des mouvements qui est à la fois lié au mouvement réel du robot et au mouvements apparents des objets réfléchis sur le sol. Un problème similaire concerne les zones passant d’un état caché à un état visible et inversement. Doit-on alors considérer qu’elles sont liées au mouvement propre du robot ou au mouvement d’un objet? La réponse est évidente : les deux. Alors pourquoi donc vouloir s’acharner à ne calculer qu’une valeur unique de flot optique en chaque point de l’image? De ce questionnement est apparu l’intérêt de travailler sur des méthodes de détection du flot optique à la fois plus souples et plus robustes. Partant du postulat qu’en un point de l’image nous pouvons ou plutôt nous devons être capables de percevoir plusieurs flots, nous nous sommes demandé combien de flots pourraient être perçus de manière à la fois cohérente et simultanée et quelles étaient les contraintes sur les directions qu’ils devraient avoir pour pouvoir être séparés (notre idée étant qu’a priori 2 ou 3 autres flots devraient être suffisants pour des problèmes de navigation courante [132]). Nous avons fait le lien - 115 - Section 4.3 Du problème de suivi à la perception de mouvements par transparence entre notre postulat et la notion de mouvement par transparence, d’autant plus qu’en psychophysique on l’utilise déjà. La notion de mouvement par transparence décrit des phénomènes courants dans la vie (des objets translucides qui se déplacent, des poissons dans l’eau, ...). Afin de trouver une solution au problème de séparation du mouvement et vérifier notre postulat, nous avons mené quelques expériences de psychophysiques. 4.3.1 Expérience psychovisuelle Cette expérience psychophysique a pour objectif de déterminer le nombre de plans de mouvement qui peuvent être perçus et discriminés par le système visuel humain. Le moyen d’investigation consiste à mesurer la précision de discrimination. Dans les différentes expériences, nous faisons l’hypothèse que les mouvements sont composés de plusieurs points qui se déplacent avec le même vecteur vitesse (même direction, même vitesse). La perception qu’en ont les sujets est celle d’un plan transparent rigide qui se déplace selon la même direction que celle des points. Dans nos expériences, chaque mouvement correspond à une translation. Une expérience préliminaire nous a indiqué que le même découpage en plans de mouvement est présent dans le cas de rotations. 4.3.1.1 Méthode Sujets: Douze sujets naı̈fs ont participé à cette expérience. Les sujets sont âgés de 23 à 29 ans et ils ont une acuité visuelle normale ou corrigé à la normale. Les sujets n’ont pas été rémunérés pour leur participation. Appareils et stimuli: Les stimuli ont été présentés sur un moniteur en couleur, avec une diagonale de 21 pouces, 1280x1024 pixels à 76 Hz avec 93 ppp. L’écran a été placé à 63 cm, en moyenne, du sujet ce qui revient a 31.48x25.42 degrés d’angle visuel. Figure 4-26. Aperçu de l’écran d’expérimentation. Chaque point de l’écran est représenté ici avec son vecteur de déplacement. Nous avons présenté des points blancs (0.025 degré) sur un fond noir (voir figure 4-26) dans un cercle centré sur l’écran (12.56 degré). La frontière du cercle n’apparaı̂t pas sur l’écran. Afin de focaliser le regard sur un point fixe, une croix (toujours visible) a été - 116 - Chapitre 4 Perception du mouvement et flot optique dessinée au milieu de l’écran. Chaque point a une vitesse constante de 0.83 degré/sec. La direction du mouvement de chaque point est changée après chaque expérience. La densité de points dans l’image est constante (1%). Les réponses ont été collectées par l’ordinateur et interprétées ultérieurement. Procédure: Nous mesurons le pourcentage de bonnes réponses avec une procédure de choix forcé parmi 2 alternatives. A chaque essai, nous présentons 2 stimuli. Entre les 2 stimuli, nous présentons pendant 500 millisecondes une image blanche. Dans le premier stimulus, nous présentons des points qui se déplacent dans N directions (N entre 1 et 4) parmi 8 directions possibles (0o , 45o , 90o , 135o , 180o , 215o , 270o et 315o ). Les N directions sont choisies aléatoirement. Le deuxième stimulus contient N + 1 ou N − 1 directions, avec une probabilité de 50%. Chaque stimulus est présenté pendant 900 millisecondes. Après la présentations des deux stimuli, on demande au sujet de déterminer dans laquelle des deux présentations il y avait le plus de directions de mouvement. Le réponse, ainsi que les deux stimuli sont enregistrés automatiquement. Une séance d’expérimentation comporte 50 tests consécutifs. Hypothèses opérationnelles: Nous nous attendons à ce que le taux d’erreur augmente avec le nombre N de directions présentées et à ce que les performances pour N contre N + 1 et N + 1 contre N soient les mêmes. 4.3.1.2 Résultats Nous avons réalisé une analyse du taux d’erreur en fonction du nombre de directions de mouvement entre les deux stimuli. Dans notre analyse nous avons fait la différence entre les réponses pour des stimuli N contre N + 1 et N + 1 contre N . La figure 4-27 illustre les résultats obtenus pour 12 de sujets. L’analyse du taux de réussite nous révèle deux aspects importants : d’abord, à partir de plus de 3 mouvements, le taux de réussite est en dessus de 50% (les réponses deviennent équiprobables ce qui dénote le fait que le sujet choisit sa réponse aléatoirement) et ensuite les résultats pour les cas N contre N + 1 et N + 1 contre N diffèrent à partir de la même limite (voir figure 4-27). Pour nous rendre compte de l’influence du nombre des mouvements présentés en premier, nous donnons les résultats obtenus pour 2 sujets (voir figure 4-28). Nous constatons que pour plus de 3 mouvements simultanés dans l’image, nous avons une différence entre les 2 sujets pour le cas 3 contre 4 et le cas 4 contre 3. La différence observée entre le cas 3 contre 4 et le cas 4 contre 3 ainsi que l’analyse des résultats enregistrés, nous a fait penser au fait que, probablement, il existe un mécanisme d’addition vectorielle des mouvement. Nous supposons que dans le cas où 2 directions de mouvement sont proches et qu’il y a plus de 2 directions de mouvement dans la scène visuelle, on peut observer une “composition” des directions perçues (voir figure 4-29). - 117 - Section 4.3 Du problème de suivi à la perception de mouvements par transparence Taux de reussite 11 00 00 11 00 11 Moyenne 1 0 0 1 100 % 11 00 00 11 00 11 00 11 11 00 00 11 1 0 0 1 50 % 00 11 11 00 00 11 2 vs. 3 3 vs. 4 1 vs. 2 2 vs. 1 3 vs. 2 4 vs. 3 directions directions directions directions directions directions 1 vs. 2 = 124 essais 2 vs. 1 = 107 essais 2 vs. 3 = 113 essais 3 vs. 2 = 125 essais 3 vs. 4 = 126 essais 4 vs. 3 = 105 essais Figure 4-27. Le taux de réussite en fonction du nombre de mouvements et de leur orientation. La moyenne des résultats obtenus par 12 sujets naı̈fs. 4.3.1.3 Discussion Les résultats de cette expérience confirment nos suppositions : nous pouvons percevoir, d’une manière cohérente et simultanée, plusieurs mouvements cohérents en un même point de l’image. Cependant, un sujet naı̈f ne réussit pas, en moyenne, à percevoir plus de 3 mouvements à la fois, mais cela est tout à fait suffisant pour des tâches de navigation courante. 4.3.2 Un modèle neuronal pour la perception du mouvement Les résultats de l’expérience décrite ci-dessus nous ont conduit à essayer de trouver un modèle pour la perception du mouvement qui permette d’avoir plusieurs mouvements dans le même point de l’image. Nous avons constitué la liste des “spécifications” de notre modèle: • il doit permettre l’existence de “plans de mouvement”, ce qui revient à la possibilité d’avoir plusieurs mouvements au même point de l’image. • à partir de quelques points (moins de 1%) il doit “construire” un “plan de mouvement” entier. Afin d’assurer la cohérence de la perception, il doit intégrer un processus de diffusion. • il ne doit pas permettre l’existence de directions de mouvement proches. Le modèle doit intégrer aussi un processus d’inhibition. - 118 - Chapitre 4 Perception du mouvement et flot optique RA Taux de reusite 00 11 11 00 00 11 GP 1 0 0 1 100 % 00 11 11 00 00 11 00 11 11 00 00 11 11 00 00 11 00 11 11 00 00 11 00 11 50 %00 11 11 00 00 11 00 11 1 vs. 2 2 vs. 1 2 vs. 3 3 vs. 2 3 vs. 4 4 vs. 3 directions directions directions directions directions directions GP 1 vs. 2 = 10 essais 2 vs. 1 = 7 essais 2 vs. 3 = 10 essais 3 vs. 2 = 5 essais 3 vs. 4 = 4 essais 4 vs. 3 = 14 essais RA 1 vs. 2 = 11 essais 2 vs. 1 = 8 essais 2 vs. 3 = 10 essais 3 vs. 2 = 8 essais 3 vs. 4 = 9 essais 4 vs. 3 = 4 essais Figure 4-28. Le taux de réussite en fonction du nombre de mouvements et de leur orientation. Résultats obtenus pour 2 sujets naı̈fs. Flots reels Flots reels Flots percus (1ere possibilite) Flots percus (1ere possibilite) Flots percus (2eme possibilite) Flots percus (2eme possibilite) Figure 4-29. Composition des mouvements en fonction de leur nombre et de leur orientation. • il ne peut pas avoir plus de 3 plans de mouvement en même temps. • le modèle doit être d’inspiration neurobiologique. 4.3.2.1 Architecture et équations Dans le système visuel, la détection du mouvement est faite par des neurones dédiés. Les neurones sont sensibles à une direction du mouvement particulière mais ils sont regroupés dans des cartes neuronales. La choix d’organiser notre architecture en cartes de neurones - 119 - Section 4.3 Du problème de suivi à la perception de mouvements par transparence est donc immédiat. Notre architecture est organisée sur 2 couches. Sur la couche d’entrée nous avons placé les détecteurs du mouvement. Étant donné que le seuil de discrimination entre la direction des 2 mouvements est situé entre 30 et 60 degré [34], nous utilisons dans notre modèle des capteurs de mouvement orientes à 45o . Pour chaque pixel de l’image d’entrée (“la rétine”), les détecteurs du mouvement fournissent 8 valeurs analogiques qui représentent l’intensité du mouvement selon une orientation spatiale particulière (voir figure 4-30). Les détecteurs du mouvement utilisent une méthode énergétique, basée sur 4 filtres de Gabor (voir section 4.2.5) (mais nous pouvons envisager d’utiliser d’autres méthodes). Pour chaque pixel de l’image, les détecteurs fournissent une valeur selon les orientations 0, 45, 90 et 135 degrés. Étant donné que chaque filtre détecte aussi le sens du mouvement (positif ou négatif), nous obtenons une valeur positive (la seule biologiquement plausible) selon 8 orientations. Camera CCD Image Capteurs du mouvement Figure 4-30. Après l’acquisition de l’image, le capteurs du mouvement fournissent l’intensité du mouvement selon 8 orientations. Sur la deuxième couche, nous avons une populations de neurones formels (voir section 3.1.2). Sur cette couche, nous avons connecté directement un neurone à la sortie de chaque capteur de mouvement. Ainsi, son activation sera proportionnelle à l’orientation du mouvement en un point de l’image. L’organisation des neurones sur cette couche peut être vue suivant 2 modes : en mode “pixel” où à chaque pixel de l’image correspondent 8 neurones groupés dans une constellation (figure 4-31 (a)), ou en mode “cartes” si nous la regardons comme une superposition des 8 cartes de neurones, chaque carte groupant tous les neurones qui sont sensibles à la même direction du mouvement (voir image 4-31 (b)). Sur la deuxième couche nous avons des interconnexions entre les neurones voisins. Si nous prenons le mode “pixel”, alors chaque neurone de la constellation inhibe l’activité de ses 4 plus proches voisins (voir figure 4-31 (a)). Par exemple, le neurone correspondant à l’orientation de 45o inhibera les neurones correspondants aux orientations 315o , 0o , 90o et 135o . En plus, si nous prenons le mode “cartes” alors chaque neurone de la carte excite ses 8 plus proches voisins (au sens topographique, voir figure 4-32 (a)). Par exemple, le neurone correspondant à l’orientation de 45o ayant les coordonnés (i, j), excite les neurones correspondant à la même orientation ayant les coordonnées (i, j + 1), (i, j − 1), - 120 - Chapitre 4 Perception du mouvement et flot optique plan 335 plan 45 plan 0 liaison inhibitrice Figure 4-31. (a) La constellation des neurones associés à un pixel dans l’image. (b) Les 8 cartes superposées. (i + 1, j + 1), (i + 1, j), (i + 1, j − 1), (i − 1, j + 1), (i − 1, j) et (i − 1, j − 1). (i,j) liaison inhibitrice 00000 1111 11111liaison excitatrice 0000 liaison excitatrice Figure 4-32. (a) Les connexions sur la même carte. (b) Aperçu général des connexions. Dans la figure 4-32 (b) nous présentons un aperçu global des connexions. Chaque neurone se trouvant sur la deuxième couche reçoit 13 entrées : une entrée excitatrice du capteur de mouvement associé, 8 entrées excitatrices de ses voisins immédiat ayant la même orientation et 4 entrées inhibitrices de ses voisins sur la constellation. Les équations de mise à jour pour chaque neurone (i, j) sont les suivantes : δPij (t) = −A · Pij (t) + (B − Pij (t)) · Diffij + (C − Pij (t)) · Inhij (24) δt avec Pij (t) son potentiel à l’instant t, Diffij l’activité due aux 8 entrées excitatrices de Cij · - 121 - Section 4.3 Du problème de suivi à la perception de mouvements par transparence ses voisins avec la même orientation et au détecteur du mouvement Eij , Diffij = Eij + X wk · Pk (t − 1) k∈V1 Inhij l’activité due à l’inhibition de 4 entrées inhibitrices de ses voisins sur la constellation, Inhij = X vk · Pk (t − 1) k∈V2 et avec A, B, C constantes. Les équations différentielles ont été résolues comme pour les champs neuronaux moteurs avec un algorithme Runge Kutta d’ordre 4. 4.3.2.2 Étude de la stabilité Afin de vérifier les propriétés du modèle, nous avons d’abord testé la capacité de diffusion spatiale d’une information de mouvement dans l’image de flot. Nous avons activé un neurone sur la couche d’entrée, ce qui revient à la détection d’un mouvement dans une seule direction et pour un seul pixel (voir figure 4-33 (a)), et nous avons regardé l’évolution temporelle sur la couche de sortie (voir figure 4-34 (a) et (b)). (i,j) (i,j) Figure 4-33. (a) Les capteurs de mouvement détectent un mouvement dans une seule direction dans un seul pixel. (b) La diffusion permet la formation d’un plan de mouvement. L’analyse des résultats obtenus nous permet de constater la présence du phénomène de diffusion, ce qui revient à la formation d’un plan de mouvement (voir figure 4-33 (b)) c’est-à-dire la perception d’un mouvement cohérent. Ensuite, nous avons testé les propriétés de compétition de notre modèle. Pour cela, nous avons excité 3 neurones, chaque neurone sur une carte d’orientation différente, ce qui revient à détecter 3 mouvements différents dans l’image (voir figure 4-35 (a)). Nous avons regardé l’évolution temporelle qui est illustré par la figure 4-36 (a) et (b). La compétition et la diffusion permettent la formation de 3 plans de mouvements différents. Par la suite, nous nous sommes intéressés aux propriétés de convergence vers une solution “stable” de notre système. Nous avons activé la totalité des capteurs de mouvement, pour toute l’image. Ainsi, nous avons présenté du bruit à l’entrée de notre modèle (les capteurs détectaient des mouvements dans toutes les directions, sans aucune direction - 122 - Chapitre 4 Perception du mouvement et flot optique Sortie 0 o (1250) Sortie 0 o (5000) 200 180 180 160 160 140 140 120 120 100 100 80 80 60 60 40 40 20 20 0 0 Figure 4-34. Le résultat de la diffusion après (a) 1250 itérations et (b) 5000 itérations. Figure 4-35. (a) Les capteurs de mouvement détectent des mouvements selon 3 direction. (b) La compétition (et la diffusion) permet la formation de 3 plans de mouvement différents. Sortie 0 o (1250) Sortie 90 o (1250) Sortie 135 o (1250) 140 180 180 160 160 140 140 120 120 100 100 80 80 60 60 40 40 20 20 0 0 120 100 80 60 40 20 Sortie 0 o (5000) Sortie 90 o (5000) 0 Sortie 135 o (5000) 200 200 180 180 160 160 140 140 120 120 100 100 80 80 60 60 40 40 20 20 20 0 0 0 180 160 140 120 100 80 60 40 Figure 4-36. Les résultats de la compétition sur les plans 0o (à gauche), 90o (au centre) et 135o (à droite) après 1250 itérations (en haut) et 5000 itérations (en bas) à partir des informations de mouvement initiées sur la figure 4-35. préférentielle et avec des intensités de mouvement aléatoirement choisies). Un exemple d’entrées est illustré par la figure 4-37. Après un certain nombre d’itérations, le système a convergé vers une situation stable - 123 - Section 4.3 Du problème de suivi à la perception de mouvements par transparence o Entrée 45 o Entrée 225 Entrée 0 Entrée 180 o Entrée 90 o o Entrée 270 o o Entrée 135 Entrée 315o Figure 4-37. Les entrées du système; chaque carte contient que du bruit. En haut, les plans 0o , 45o , 90o et 135o . En bas, les plans 180o , 225o , 270o et 315o . (voir figure 4-38). Nous pouvons observer la création de régions compactes sur chaque carte. Une région correspond à la perception d’un mouvement particulier dans une zone de la scène visuelle. L’orientation du mouvement perçu est celle de la carte où s’est formé la région. On observe que les régions sont exclusives : si l’on prend un point dont les coordonnées sont (x, y), on peut trouver au maximum 3 cartes dont l’activité des neurones à la position (x, y) est supérieure à zéro. Sortie 0 o Sortie 45 o Sortie 225 Sortie 180 o Sortie 90 o Sortie 270 o o Sortie 135 o Sortie 315 o Figure 4-38. L’activité sur les 8 plans de mouvements, après 5000 itérations. En haut, les plans 0o , 45o , 90o et 135o . En bas, les plans 180o , 225o , 270o et 315o . - 124 - Chapitre 4 Perception du mouvement et flot optique Enfin, un dernier test a mis en valeur les propriétés dynamiques du système. Nous avons présenté du “bruit” de la même manière que pour l’expérience antérieure, mais à des intervalles de temps fixés, nous avons présenté dans n% des points de l’image un flot qui correspondent à une direction préférentielle (0o ). Nous avons fait varier la proportion du mouvement “orienté” de 0% jusqu’au 100%. A chaque instant, nous avons calculé le pourcentage de neurones actifs sur le plan 0o par rapport au nombre total des neurones. Ensuite, nous avons faire décroı̂tre le pourcentage du mouvement orienté de 100% à 0%. Les données enregistrées ont mis en évidence l’existence d’un phénomène d’hystérésis (voir figure 4-39). Ces résultats montrent que le système a tendance à rester globalement dans un état attracteur malgré l’augmentation du bruit augmente. Les mêmes effets ont étés observés dans le cas de la simulation de la perception du mouvement avec des champs dynamiques [77]. 1 0 0 0 1 0 0 01 1 01 1 01 0 01 1 01 1 01 1 0 0 1 Pourcentage du mouvement orienté 100 50 variation du bruit de 0% a 100% vatiation du bruit de 100% a 0% 1 0 1 0 0 1 11111111111111111 00000000000000000 0 50 100 Poucentage du "bruit" Figure 4-39. L’existence d’un phénomène d’hystérésis de perception. La difficulté majeure de ce modèle réside dans le réglage de paramètres du modèle (voir l’équation (24)). De même, la complexité calculatoire due au calcul des équations différentielles est importante : pour une image de 192x144 il faut quelques minutes pour une itération! Ces deux arguments nous ont déterminé à laisser de coté l’intégration de ce modèle dans notre architecture. Par contre, le même mécanisme a été utilisé pour la segmentation de textures [89]. - 125 - Section 4.4 4.4 Du problème de suivi à la perception de mouvements par transparence Conclusion Chaque fois que l’on s’intéresse à une architecture de contrôle pour des robots autonomes qui utilisent la vision et le mouvement comme source d’information, nous sommes amenés à nous intéresser au flot optique. Nous n’échappons pas à ce “passage obligé” de l’étude du flot optique. Ainsi, dans ce chapitre nous nous sommes intéressés à la possibilité d’utiliser le flot optique dans des applications de robotique mobile. Nous avons testé plusieurs méthodes de calcul de flot optique et dans le tableau 2 nous présentons un résumé de nos résultats : Méthode Différence d’images Reichardt Temps < 20ms – Mise en correspondance 69ms Énergétiques filtre de Gabor 2038ms Énergétiques filtrage rétinien 260ms Observations Rapide, mais sans donner le sens du mouvement. Utilisable uniquement pour des contours. Le calcul a été effectue uniquement dans les points qui ont beaucoup changé de luminance. Très imprécise pour les petits mouvements mais assez précise pour les grands mouvements. Très lente si on calcule le mouvement pour tous les points. Le calcul est effectué pour tous les points de l’image. Très adaptée pour les modèles qui nécessitent l’existence de plusieurs mouvements en un même point. Très lente. Le calcul est effectué dans tous les points de l’image. Rapide. Tableau 2. Synthèse de résultats obtenus pour la mesure du flot optique. La méthode d’extraction du flot optique qui utilise un filtrage rétinien nous semble celle qui est la plus appropriée pour les applications de robotique mobile. Elle peut être facilement implanté en hardware (une rétine de 20x20 pixel existe déjà [188]). Elle fournit un réponse dans chaque point de l’image et elle est assez rapide pour une intégration dans une architecture embarque. Les résultats obtenus montrent que si le flot optique fournit beaucoup d’information, il est difficile de calculer un flot optique correct et pertinent et de bien trouver le flot optique généré par les objets en mouvement. Cependant, nous sommes convaincus qu’il faudra développer un mécanisme qui permette la séparation du mouvement propre du mouvement généré par les autres objets en mouvement. Nous avons démontré qu’il s’agit d’un vrai problème qui doit surmonter les obstacles énoncés et que forcément ce modèle doit permettre de tolérer plusieurs mouvements en un même point de l’image. Le modèle de perception du mouvement par transparence montre le caractère très générique des techniques utilisant des champs neuronaux dynamiques. En effet c’est globalement le même type d’équation qui a été utilisé pour le contrôle moteur et la per- 126 - Chapitre 4 Perception du mouvement et flot optique ception du mouvement. Une extension à la perception des textures a même été réalisée à partir du même modèle montrant l’importance des propriétés dynamiques pour la perception et le contrôle moteur de systèmes réels [89]. Ce type de caractéristique dont on comprend bien l’utilité (stabilité de la réponse, hystérésis de la prise de décision, capacité de bifurcation rapide) semblent être au coeur de nos processus cognitifs comme le montre l’exemple suivant : Figure 4-40. Séquence de 17 images. La “perception” se déplace de l’image 1 visage à l’image 17 statuette. Pour mettre en évidence l’aspect fortement dynamique des processus de perception (et sa propriété d’hystérésis) il faut regarder les images illustrées par la figure 4-40. D’abord, commençant avec l’image 1 jusqu’à l’image 17, ensuite commençant avec l’image 17 jusqu’à l’image 1. Chaque fois on note le numéro de l’image pour lequel notre perception a basculé. Si on représente notre perception de l’objet en fonction des images , on trouvera un graphique proche le celui illustré par la figure 4-41 montrant bien que statuette visage 1 17 Figure 4-41. Hystérésis de la perception. l’interprétation d’une image dépend du passé (contexte) et renforçant l’idée que la perception est fondamentalement ambiguë et que les boucles Perception/Action sont nécessaires pour lever cette ambiguı̈té. - 127 - Section 4.4 Du problème de suivi à la perception de mouvements par transparence - 128 - Chapitre 5 Apprentissage de séquences temporelles On ne peut comprendre un processus en l’interrompant. La comprehension doit rejoindre le cheminement du processus et cheminer avec lui. F. Herbet – Dune L’objectif de ce chapitre est de présenter un modèle neuronal permettant l’apprentissage de séquences temporelles qui sera au centre de notre architecture d’apprentissage par imitation. Dans un premier temps, nous présentons un aperçu de modèles d’apprentissage de séquences en remarquant leur grande diversité : mathématiques, d’inspiration neurobiologique, de psychologie auditive, ... La deuxième partie de ce chapitre est consacrée à la présentation de notre modèle d’apprentissage de séquences. Il s’agit d’un modèle basé sur une modélisation simplifiée de l’hippocampe. Nous présentons les modèles de neurones formels utilisés. Nous continuons avec la présentation des résultats obtenus pour l’apprentissage du timing et avec une analyse des performances de notre modèle en fonctions de ses paramètres et ses connexions. Enfin, la dernière partie est consacrée au développement d’une architecture pour l’apprentissage de séquences et à la présentation des résultats obtenus pour l’apprentissage de séquences simples. 129 Section 5.1 5.1 Modèles pour l’apprentissage de séquences temporelles Modèles pour l’apprentissage de séquences temporelles Dans ce paragraphe, nous présentons l’état de l’art dans l’apprentissage des séquences. D’abord, nous proposons quelques définitions des termes employés. Nous insistons sur la différence entre le problème de l’apprentissage d’une séquence et d’un timing. Ensuite, nous présentons les modèles algorithmiques (mathématiques) basés sur la construction d’un graphe. Nous continuons avec la présentation de modèles d’inspiration neurobiologique. Nous introduisons le modèle de Grossberg et Merrill [83] pour l’apprentissage d’un intervalle temporel en utilisant un mécanisme de conditionnement. Nous présentons le modèle proposé par Reiss et Taylor [157] qui permet un apprentissage rapide. Enfin, nous présentons le modèle de Levy [120] basé sur un réseau asymétrique très dense. Finalement, nous présentons les modèles les plus utilisés dans l’audition : le modèle d’horloges internes basé sur le comptage d’impulsions et le modèle de la perception du rythme basé sur l’existence de plusieurs oscillateurs internes. 5.1.1 Définitions Au cours de ce chapitre nous utiliserons beaucoup le terme de séquence. Afin d’éviter toute confusion, voici la définition que nous donnerons à ce terme. Nous définissons une séquence simple comme étant une répétition d’éléments (états du système ou symboles) distincts. L’élément suivant d’une séquence simple se déduit de la connaissance de l’élément courant (il n’est pas nécessaire d’avoir une mémoire). La séquence S1 constitue un exemple de séquence simple : S1 : A, B, . . . , N, A, B, . . . (1) Dans une séquence complexe, l’élément suivant ne peut pas être déduit uniquement à partir de l’élément courant. La séquence S2 constitue un exemple de séquence complexe : S2 : A, B, C, A, D, A, B, C, A, D, A, . . . (2) Les éléments B et D peuvent suivre l’élément A. Afin de trouver lequel des deux suit l’élément A, nous devons avoir accès à un “historique récent” et par conséquent il faut une mémoire. Par ailleurs, nous pouvons décomposer une séquence complexe en une séquence simple d’éléments composés. Pour la séquence S2 (équation (2)), nous avons : S2 : CC, DD, CC, DD, CC, . . . avec CC = A, B, C et DD = A, D. Quand nous utilisons l’expression séquence temporelle, nous associons à chaque élément de la séquence un temps d’existence. Pour la séquence S1 (équation (1)), nous avons : St : A(t0 ,t1 ) , B(t1 ,t2 ) , . . . N(tN ,tN +1 ) , A(T +t0 ,T +t1 ) , B(T +t1 ,T +t2 ) , . . . - 130 - (3) Chapitre 5 Apprentissage de séquences temporelles Ainsi, nous pouvons caractériser une séquence temporelle par une série de doublets (élément, instant activation) où l′ instant activation est le temps entre une origine arbitraire et l’apparition de l’élément courant (couramment nous utilisons comme origine l’apparition du premier élément). La séquence St (équation (3)) devient ainsi : St : (A, t1 ) , (B, t2 ), . . . (N, tN ), (A, T + t1 ), (B, T + t2 ), . . . (4) Graphiquement, nous représentons une séquence comme une fonction : élément = f (temps) (voir figure 5-1). élélements N C B A t1 t2 t3 tN temps Figure 5-1. Représentation graphique d’une séquence temporelle. Nous pouvons “lire” la séquence St (équation (4)) de cette manière : “A l’instant t1 , le système est dans l’état A, à l’instant t2 , le système est dans l’état B, etc ...” La série des instants t0 , t1 , . . . tN est nommée, par abus de langage, le timing de la séquence. Elle met l’accent sur le changement d’état du système (apparition d’un nouvel élément) plutôt que sur l’état même du système. De ce point de vue, on peut voir une séquence d’éléments comme une séquence de transitions entre les états. Dans ce cas, la séquence St (équation (4)) peut se “lire” ainsi : “A l’instant t1 , le système passe de l’état A à l’état B, à l’instant t2 , le système passe de l’état B à l’état C, etc ...” Nous utilisons l’expression jouer une séquence quand, en partant d’un élément d’une séquence nous arrivons à retrouver toute la séquence. Dans le cas d’une séquence complexe, en plus de l’élément courant, nous utilisons l’historique récent des éléments. En cherchant de trouver une loi psychophysique générale, la plupart des psychologues ont identifié une loi appelée loi de Weber. Elle stipule que : “La sensibilité décroı̂t proportionnellement à l’intensité du stimulus.” - 131 - Section 5.1 Modèles pour l’apprentissage de séquences temporelles Mathématiquement, la loi de Weber s’écrit : δI = constante. I avec I l’intensité d’une stimulation, et δI la variation d’intensité de cette stimulation. Tous les modèles d’apprentissage de séquences vérifient si leur résultats sont en accord la loi de Weber, donc nous la présentons ici. 5.1.2 Modélisation mathématique d’une séquence temporelle En mathématiques et automatique, le modèle le plus utilisé pour représenter une séquence est celui des automates finis [127]. Un automate fini est un quintuplé : A = (X, Q, δ, q0 , Q′) avec X un alphabet, Q l’ensemble fini d’états, q0 ∈ Q l’état initial, Q′ ∈ Q l’ensemble des états finaux et δ : Q × X 7→ Q est la fonction de transition. Graphiquement, un état q est illustré par la figure 5-2 (a). Une transition a de l’état q à l’état p est noté p = δ (q, a) et elle est illustrée par la figure 5-2 (b). a q q p Figure 5-2. (a) Représentation de l’état q. (b) Représentation de la transition a de l’état q à l’état p. Prenons, par exemple, la séquence : A,B,C,A,B,A,B,C,A,B,A,... Nous avons 3 états, A, B et C et 4 transitions : ab, bc, ca, ba. Afin de représenter la possibilité de rester dans le même état, le modèle utilise les transitions aa,bb et cc. La séquence est illustré par la figure 5-3. L’apprentissage d’une séquence revient à trouver le graphe de transitions. Le modèle des automates finis est un puissant outil d’analyse et de formalisation. Cependant, il a deux inconvenants : le nombre d’états doit être connu à l’avance et l’aspect temporel n’est pas représenté. L’utilisation de ce modèle suppose l’existence d’un mécanisme infaillible de perception de la réalité physique afin d’avoir les états corrects, ce qui n’est pas facile à réaliser. 5.1.3 Les modèles utilisés dans l’audition La perception de la durée des intervalles intéresse depuis toujours les psychologues. Dans la littérature scientifique, nous trouvons plusieurs modèles de perception de la durée des intervalles. Nous présentons ici les modèles les plus utilisés dans l’audition : le modèle d’horloges internes basé sur le comptage d’impulsions et le modèle de la perception du - 132 - Chapitre 5 Apprentissage de séquences temporelles ab aa A ba bb B bc ca C cc Figure 5-3. Représentation de la séquence A,B,C,A,B,A,B,C,A,B,A,... rythme basé sur l’existence de plusieurs oscillateurs internes. Il existe évidemment bien d’autres modèles proches de ceux que nous allons présenter comme par exemple celui de Changeux et Dehaene [50] basé sur la notion de triade synaptique. 5.1.3.1 Les modèles d’horloges internes Tous ces modèles postulent que l’estimation de la durée des intervalles est basée sur le comptage des impulsions émises par un ou plusieurs “processeurs” centraux. Le modèle le plus connu est celui de Treisman. Dans son modèle original [191] un mécanisme interne génère des impulsions à un rythme régulier avec un intervalle constant. L’environnement peut influencer le niveau d’activation : plus les stimulations externes sont élevées, plus le mécanisme interne (le pacemaker) augmente son taux d’émission d’impulsions. Un compteur enregistre le nombre d’impulsions et stocke le résultat de ses enregistrements dans une mémoire à court terme afin de l’utiliser comme critère de réponse par la suite (voir figure 5-4). Dans [190], le modèle de Treisman a été amélioré par une organisation plus complexe du générateur d’impulsions. Dans cette nouvelle version du modèle, la fréquence du pacemaker peut être modifiée à l’aide de calibrateurs. Le pacemaker est composé d’un oscillateur temporel émettant des battements à une fréquence fixe (fo = T10 ) non affectée par l’environnement et une unité de calibration (U c) qui traite les impulsions de (To ) et dont la sortie a une fréquence fp modulée par l’environnement (voir figure 5-5). Une situation de danger, par exemple, va provoquer une accélération des battements par l’intermédiaire de l’U c. La sortie de l’unité de calibration fp = Fu c (fo ) est alors transmise aux mécanismes de traitement temporel. L’oscillateur temporel To est constitué par un ensemble de neurones interconnectés à travers des liaisons excitatrices ou inhibitrices. La modélisation de Treisman montre que si des stimuli suffisamment intenses sont présents dans l’environnement à une fréquence proche de fo , alors on peut s’attendre - 133 - Section 5.1 Modèles pour l’apprentissage de séquences temporelles Environnement Pacemaker To Comparateur Compteur Réponse Mémoire Figure 5-4. Modèle de l’horloge interne selon Treisman [191]. neurones fo Unité de calibration fp Environnement Figure 5-5. Aperçu du modèle de l’horloge interne de Treisman. à des perturbations du mécanisme de jugement des durées. Selon Treisman, la mise en évidence des perturbations (des interférences entre l’oscillateur interne et l’environnement) peut être utilisée pour déterminer la fréquence de l’oscillateur. La mise en évidence de telles interférences, qui sont une confirmation qu’un oscillateur non-linéaire est impliqué dans la perception du temps, ont été utilisées pour montrer que la fréquence propre du mécanisme est proche de 12Hz (soit une période de 83ms). Si l’on suppose un délai de transmission de l’ordre de 20ms par relais synaptique, alors le circuit neuronal générant la fréquence fondamentale doit avoir environ 4 synapses (voir figure 5-5). 5.1.3.2 Le modèle de la perception du rythme Les modèles de la perception du rythme supposent l’existence de plusieurs oscillateurs internes qui émettent à des fréquences différentes. Ces modèles supposent aussi que la simulation présentée à l’entrée est traitée par l’oscillateur dont la fréquence est la plus appropriée. Le modèle le plus connu est celui de Povel et Essens [152, 60] qui repose sur l’hypothèse que la majorité des fréquences internes sont disposées selon une - 134 - Chapitre 5 Apprentissage de séquences temporelles structure hiérarchique. Comme notre système perceptif fonctionne également de manière hiérarchique, la perception du rythme se fait autour d’une régularité à laquelle on peut ajouter des sous-multiples binaires. Par exemple, on peut supposer que la perception est faite autour d’une fréquence de 100Hz et ses sous-multiples binaires : 50, 25, 12Hz. Le modèle postule que la première étape de traitement des séquences temporelles consiste en la segmentation de la séquence présentée en un nombre d’intervalles égaux. Lorsqu’une séquence est présentée à l’entrée, les oscillateurs internes se mettent à osciller. Toutefois, en suivant le principe de minimisation de l’énergie dépensée, l’oscillateur dont la fréquence est la plus proche de celle de la séquence d’entrée sera sélectionné. Cette sélection est faite par des mécanismes de détection de disparité. Dans un deuxième temps, des intervalles plus courts sont insérés comme une subdivision de cet intervalle de base. Une séquence sera alors perçue comme une structure hiérarchique à deux niveau : une fréquence de base et des multiples de cette fréquence. Dans les taches de reproduction de séquences, les séquences rythmiques correspondant à l’oscillateur sélectionné dans la première étape (les événements surviennent au même moment que les pulsations de l’oscillateur) sont reproduites avec plus de facilité que les autres types de séquences où les événements surviennent entre les pulsations. Malgré sa richesse, le modèle de Povel reste très ambigu sur le fonctionnement des extracteurs de rythme en temps réel (le modèle présenté [60] détermine la fréquence adéquate en inspectant la séquence entière où une grande partie de celle-ci). 5.1.4 Les modèles d’inspiration neurobiologiques Des lésions de l’hippocampe empêchent les patients d’apprendre de nouvelles séquences [61, 173]. Par contre, ils conservent la capacité d’utiliser celles déjà apprises. Ceci fait penser que l’hippocampe est une mémoire temporaire dont le contenu est périodiquement transféré dans le cortex cérébral (une présentation neurobiologique plus détaillée de l’hippocampe est faite dans la section 3.2.3). N. Rongier développe ainsi un modèle de mémoire associant respectivement l’hippocampe à la mémoire déclarative et le cortex à la mémoire procédurale [165]. 5.1.4.1 Le modèle de Reiss et Taylor Le modèle proposé par Reiss et Taylor [157] est un des premiers modèles dans lequel une séquence temporelle est apprise directement (sans subir une transformation “spatiale” dans un vecteur et par la suite apprise). Le modèle s’appuie sur une modélisation biologiquement plausible de l’hippocampe et permet un apprentissage assez rapide. Le modèle a une capacité de stockage très grande et il est capable de rejouer une séquence simple. Le principe du modèle consiste à créer un historique de la séquence et à utiliser une loi de type Hebb pour apprendre la corrélation entre cet historique et l’élément présent à l’entrée. Le modèle est composé de 3 groupes (cartes de neurones) avec des fonctionnements distincts (voir figure 5-6). Le groupe IN est le groupe d’entrée. Il n’effectue pas des - 135 - Section 5.1 Modèles pour l’apprentissage de séquences temporelles modifications sur le signal d’entrée. Le groupe d’entrée est connecté au groupe L avec des liens de 1 vers 1, non modifiables. Entrée IN L M Liens de 1 vers 1 Liens de 1 vers tous Figure 5-6. Schéma du modèle de Reiss et Taylor. d’intégrateurs et M-la mémoire. IN-le groupe d’entrée/sortie, L-le groupe Le groupe L est constitué d’intégrateurs temporels de type integrateurs à fuite (leaky integrators). Le groupe L est totalement connecté, avec des liens de un vers tous modifiables, au groupe M. Les groupes IN et M sont connectés avec des liens de un vers un, non modifiables. Le flot d’informations entre IN et M dépend de l’état du système : apprentissage ou utilisation. Si le système est dans la phase d’apprentissage, alors les informations circulent de IN vers M; le groupe M contient une copie de l’entrée. Si le système est dans la phase d’utilisation alors l’information passe du M vers IN; le groupe M étant copié dans le groupe IN. Les éléments utilisés pour apprendre l’aspect temporel sont des neurones d’intégration temporelle (leaky integrator). Les auteurs utilisent un modèle plus complexe, CLI (channel leaky integrator). La fonction d’activation d’un neurone CLI, A(t), est donnée par les équations suivantes : C1 (t + 1) = (1 − d1 ) · C1 (t) + a1 · I(t) C2 (t + 1) = (1 − d2 ) · C2 (t) + a1 · C1 (t) A(t + 1) = (1 − d) · A(t) + a · C2 (t) (5) Avec I(t) est le signal d’entrée, a, a1 , a2 , d, d1 , d2 constantes. La sortie est Y (t) = H(A(t)− 0.5), avec H la fonction de Heaviside. Pour un signal d’entrée de type échelon, la réponse d’un neurone d’intégration temporelle est présentée dans la figure 5-7. L’activation de - 136 - Chapitre 5 Apprentissage de séquences temporelles chaque neurone est caractérisée par une montée et une descente dont les paramètres sont déterminés par les constantes a, a1 , a2 , d, d1 , d2. La fonction d’activation d’un neurone CLI 1.5 I(t) A(t) Y(t) ← A(t) ← I(t) activation 1 ← Y(t) 0.5 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 temps (s) Figure 5-7. Activation d’un neurone CLI pour d = 0.07, d1 = d2 = 0.4, a = 0.25 et a1 = a2 = 0.4 (voir les équations 5). I(t) est le signal d’entrée, Y (t) est la sortie. Les neurones du groupe M sont des neurones formels. Seuls les poids entre L et M sont modifiables selon la loi d’apprentissage suivante : ∆Wij (n + 1) = α · (INi (n + 1) − Mi (n)) · Lj (n) (6) Avec INi (n) l’entrée à l’instant n du i-ème neurone du groupe M, Mi (n) et Lj (n) les sorties du neurone i (respectivement j) du groupe M (respectivement L). Dans la phase d’apprentissage, une séquence est présentée à l’entrée du groupe IN. Le groupe L contiendra une “histoire” récente des éléments de la séquence. Le groupe M modifiera les poids des liens entre M et L afin de “coder” la représentation de L. Il faut souligner que pendant la phase d’apprentissage, l’activité du groupe IN est transmise au groupe M comme un signal d’apprentissage et non comme une entrée. Dans la phase d’utilisation, les liens entre IN et M sont inversés. L’activation d’un neurone dans le groupe L déterminera l’activation d’un neurone du groupe M qui déterminera l’activation immédiate du neurone correspondant dans le groupe IN, lequel déterminera l’activation d’un autre neurone du groupe L. De ce fait, toute la séquence sera régénérée par le groupe IN. Selon les auteurs, le groupe IN correspond au cortex entorhinal (EC), le groupe M au Corne d’Ammon (CA) et le groupe L au Gyrus Dentelé (DG). Le problème principal de ce modèle consiste dans le passage de la phase d’apprentissage à celle d’utilisation. ce passage n’est pas décrit par les auteurs. Par ailleurs, les résultats montrés en [157] sont obtenus pour des séquences dont l’intervalle entre 2 éléments est constant sans une généralisation à de cas plus complexes. - 137 - Section 5.1 5.1.4.2 Modèles pour l’apprentissage de séquences temporelles Le modèle de Grossberg, Schmajuk et Merrill Le modèle proposé par Grossberg et ses collaborateurs en [85, 82] et couramment nommée Spectral Timming Model) représente une modélisation du cervelet. Il est utilisé pour expliquer l’apprentissage d’un intervalle temporel au travers du mécanisme de conditionnement 1 du réflexe palpébral du lapin (Nictitating Membrane Reponse). Le réflexe utilisé est le clignement de l’oeil provoqué par une stimulation de la cornée. Il y a deux événements majeurs qui contrôlent l’expérience : le stimulus conditionnel (SC - un signal sonore) et le stimuli inconditionnel (SI - un jet d’air sur la cornée). Le SC est une stimulus sensoriel qui au début ne possède pas les propriétés de renforcement du SI, mais qui acquiert (une partie de) cette propriété par une mise en correspondance entre SC et SI pendant l’apprentissage. Après apprentissage, le lapin cligne de l’oeil dès qu’il entend le son. X1 Y1 X2 Y2 Z1 Z2 I SC R Xn Yn Zn I SI Figure 5-8. Aperçu du modèle de Grossberg et Merril. ISC -stimulus conditionnel, Xi -cellules Dans ce modèle (voir figure 5-8), le SC active une population (ou batterie) de cellules qui s’activent avec des constantes de temps différentes. La taille des cellules détermine un étalement temporel et/ou spatial de l’activité des cellules2 . Le SC est simulé par la fonction ISC (t) qui est une fonction échelon dont l’amplitude est directement proportionelle à l’intensité du SC et qui reste active un certain temps. Les cellules Xi sont activées par ISC . Le potentiel des cellules Xi est donné par l’équation (7) : dXi = αi · [−AXi + (1 − Bx ) · ISC (t)] dt 1 (7) Grossberg et Merrill ont proposé aussi un modèle basé sur ART qui permettrait de rendre compte de la majorité des expériences de conditionnement [83]. En particulier, ce modèle expliquerait les interactions entre l’hippocampe et le cervelet et, d’un point de vue fonctionnel, l’architecture proposée est cohérente. 2 Cette correspondance entre la taille et le taux d’activation d’une cellule a été mis en évidence dans les cellules granulaires du cervelet. - 138 - Chapitre 5 Apprentissage de séquences temporelles La sortie de cellules Xi est Xin . β b + Xin et elle active le neurotransmetteur Yi selon l’équation suivante : f (Xi ) = dYi = C (1 − Yi ) − D · f (Xi ) · Yi (8) dt Le terme Zi représente des cellules qui modélisent une mémoire à long terme. Elles sont activées par les cellules Xi via les neurotransmetteurs selon l’équation : dZi = E · f (Xi ) · Yi · [−Zi + ISI (t)] dt C’est dans ces cellules qu’on apprend l’intervalle interstimulis (ISI). La réponse R du système est obtenue par l’équation suivante : R=δ " X f (Xi ) · Yi · Zi − F i # (9) (10) avec A, B, C, D, E, F constantes et δ la fonction échelon. Le modèle utilise 100 cellules Xi pour apprendre un intervalle d’une seconde, mais il arrive à mémoriser la forme analogique (au moins une correspondance directe) de la réponse conditionnelle (RC). L’intervalle SC-RC (ISI) est bien reproduit, mais les auteurs ne parlent pas de la prédiction de l’ISI. En plus, les résultats obtenus vérifient la loi de Weber. 5.1.4.3 Le modèle de Levy Le modèle proposé par Levy et ses collaborateurs [153, 120] est un modèle inspiré du fonctionnement de l’hippocampe et du modèle de Reiss dont il reprend quelques caractéristiques. Il est basé sur l’idée que la création de l’historique des éléments de la séquence peut être réalisé en utilisant une connectivité récurrente, aléatoire mais très dense (un modèle de réseau asymétrique). Des liens inhibiteurs sont utilisés pour contrôler le timing. Dans ce modèle, on peut distinguer 3 groupes (voir figure 5-9) : un groupe d’entrée (IN), un “codeur” de la séquence (CA3) et un “decodeur” (CA1). La partie la plus intéressante du modèle est le groupe CA3 qui a des liens récurrents ainsi qu’une inhibition (générique). Les liens de IN vers CA1 (flèche b dans la figure 5-9) sont des liens de 1 vers 1. Ainsi, chaque neurone du groupe CA1 est directement relié à un neurone d’entrée. Les liens entre IN et CA3 sont de type 1 vers 2 (flèche v dans la figure 5-9). Les poids de ces liens sont très forts : une activation d’un neurone d’IN détermine l’activation de 2 neurones CA3 avec lesquels il est connecté. Ainsi, environ la moitié des neurones de CA3 peut être directement activée par IN. Le groupe CA3 possède des liens récurrents (flèche w dans la figure 5-9) : chaque neurone de CA3 est connecté aléatoirement à 5% de neurones de CA3. Le groupe CA3 est connecté au groupe CA1 par le même type de liens (flèche a - 139 - Section 5.1 Modèles pour l’apprentissage de séquences temporelles b I a v IN CA1 CA3 I w Figure 5-9. Aperçu de l’architecture utilisé par Levy. IN-groupe d’entrée, CA3-“codeur” de la séquence, CA1-“decodeur”. dans la figure 5-9) : chaque neurone de CA3 est connecté à 5% des neurones de CA1. Il y a 2 inter-neurones, I, qui sont connectés avec des liens de type 1 vers tous avec les groupes CA3 respectivement CA1. Ces liens sont de liens inhibiteurs. Les neurones utilisés sont des neurones formels dont l’équation d’activation est la suivante : avec wij · cij · zi (t − 1) P P zi (t − 1) i wij · cij · zi (t − 1) + KI · i xi (t) + KR · yj (t) = P P i (11) 1 si yj (t) > φ zj (t) = 1 si xj (t) = 1 0 sinon La loi d’apprentissage (12) est de type Hebbienne . wi j(t) = wij (t − 1) + ǫ · zj (t − 1) · [zi (t − 1) − wij (t − 1)] (12) Avec yj l’activité du neurone j, xj l’entrée du neurone j, zi l’entrée récurrente du i, zj la sortie du j, KI le poids des liaisons inhibitrices de IN à CA1; KR les poids des liaisons inhibitrices récurrentes CA3 vers CA3; cij une constante binaire qui détermine l’existence d’une connexion; wij le poids des liaisons inhibitrices du neurone i au neurone j; ǫ le coefficient d’apprentissage; t le temps. Dans le groupe CA3, les neurones sont groupés en fonctions de leur tâche. Ainsi, il y a des neurones qui codent les états de la séquence (A, B, ... par exemple), des neurones qui codent la sortie du système (a, b, ...) et des neurones qui codent un signal de renforcement. Pendant l’apprentissage, on présente à l’entrée des quadruplés Etat1 , Etat2 , Recompense, Sortie desirée. Prenons par exemple la séquence A, B, C. Il y a 8 neurones pour chaque état (A, B, C) de la séquence, 16 neurones pour chaque sortie (a, b, c), et 8 neurones pour chaque récompense (+,-). La taille globale est de 512 neurones pour CA3. Pendant la phase d’apprentissage, les auteurs présentent à l’entrée du système toutes les possibilités : ABa+, (ce qui peut se “traduire” : Si pour la transition de A - 140 - Chapitre 5 Apprentissage de séquences temporelles vers B le réponse est a, alors la récompense est positive), ABb−, BCb+, BCc−, CAc+, CAa−. L’apprentissage comporte 300 présentations complètes. Après l’apprentissage, les auteurs présentent à l’entrée un des éléments de la séquence, A par exemple, et la sortie est celle désirée (a pour cet exemple). Le modèle n’est utilisé que pour l’apprentissage de séquences simples, de type A, B, C, D et aucun aspect temporel n’est présent. Le modèle de Levy ne prend pas en compte DG explicitement. Selon les auteurs, l’EC et le DG sont “condensés” dans le groupe IN. Mis à part les connexions de cette architecture, le modèle présenté nous fait penser à une rétro-propagation “classique”. - 141 - Section 5.2 5.2 Proposition d’un modèle pour l’apprentissage du timing Proposition d’un modèle pour l’apprentissage du timing Dans ce paragraphe nous présentons un modèle de réseau de neurones développé en collaboration avec J.P. Banquet, capable d’apprendre un intervalle temporel [14, 15, 13]. Ce modèle sera développé afin de permettre l’apprentissage d’une séquence simple. Nous avons démarré avec un modèle issu d’une simplification du modèle de Grossberg (voir section 5.1.4.2) et nous avons utilisé le même protocole expérimental pour l’apprentissage d’un intervalle temporel. Nous présentons d’abord le modèle mathématique ainsi que quelques unes de ses propriétés. Ensuite, nous présentons une généralisation de notre modèle afin de permettre l’apprentissage d’une séquence temporelle. 5.2.1 Description du modèle Dans le cerveau plusieurs structures permettent d’apprendre des séquences temporelles plus ou moins complexes : • Le cervelet pour ce qui concerne le contrôle moteur. L’apprentissage du timing est très important, mais l’apprentissage de séquences est limité aux séquences simples. • Le cortex auditif qui peut apprendre le timing et des séquences très complexes mais il “bénéficie” des outils dédiés pour l’analyse fréquentielle. • La boucle d’articulation du langage. • Le cortex préfrontal pour l’aspect séquence mais il n’y a pas de données pour l’aspect timing. • Enfin, l’hippocampe, qui ressemble sur beaucoup de points au cervelet. Il n’y a pas de preuves concernant la participation de l’hippocampe à une maı̂trise du timing, mais tout le monde semble être d’accord pour son implication dans l’aspect apprentissage de séquences. Seul le fait que la présence de l’hippocampe semble importante pour l’apprentissage d’un simple conditionnement au niveau de cervelet milite en faveur d’une capacité à prédire des événements et à amplifier l’apprentissage (cohérent avec la notion de détection de nouveauté souvent attachée à l’hippocampe). C’est la raison pour laquelle nous présentons une modélisation de l’hippocampe qui permet l’apprentissage du timing et des séquences. Un stimulus conditionnel (SC) est présenté à l’entrée du système à l’instant t0 . Après un intervalle de temps, un stimuli inconditionnel SI détermine, à t0 + ∆t, un réponse du système. Le SI permet aussi l’apprentissage par le système de l’intervalle ∆T . Dès lors, chaque SC induira une réponse du système chaque fois qu’il est présent à l’entrée. La loi d’apprentissage utilisée induit une réponse à δt < ∆t ce qui explique la possibilité d’avoir une anticipation (prédiction). - 142 - Chapitre 5 Apprentissage de séquences temporelles Le modèle utilisé s’appuie sur l’idée qu’un neurone de type P (prédiction) (voir figure 5-10) peut apprendre à prédire (s’activer en avance) l’intervalle de temps écoulé entre l’activation d’un neurone de type D (dérivateur) et un neurone de type E, en utilisant une batterie de cellules à réponse retardées, les neurones de type G. G1 G2 G3 Gn E D P Figure 5-10. Schéma de notre modèle d’une partie de l’hippocampe. Gi sont de cellules à réponse retardées, P de neurones de prédiction, D et E de neurones formels. Le neurone de type D a un fonctionnement similaire à celui d’un détecteur de nouveauté. Sa sortie binaire (D(t)) s’active si la variation de son potentiel (PD (t)) entre 2 instants dépasse un seuil (ǫD ) (voir l’équation (13)). D (t) = ( 1 si δPδtD > ǫD 0 sinon (13) avec ǫD ∈ IR et PD (t) la somme des entrées du neurone à l’instant t. Il peut être facilement modélisé avec des neurones formels. Si la sortie d’un neurone est connectée à son entrée par une liaison inhibitrice, la différence de temps de propagation entre l’activation par l’entrée et l’inhibition par sa sortie induit un comportement dérivateur. Le neurone de type D est activé par le stimulus conditionnel (SC). Une activation du neurone D (D (t) = 1) détermine, via les liaisons entre D et Gi , une mise à zéro de chaque neurone Gi . Dans notre modèle simplifié, il n’y a pas d’apprentissage sur les liens arrivant sur un neurone D. Les neurones de type E ont le même fonctionnement que ceux du type D. La seule différence est qu’ils sont activés par le stimuli inconditionnel (SI). Leur activation permet une modification des poids entre P et Gi selon l’équation (17). Après chaque mise à zéro, par un neurone de type D, le neurone de type G a une activation temporelle selon une loi gaussienne (voir équation (14)). - 143 - Section 5.2 Proposition d’un modèle pour l’apprentissage du timing D’un point de vue neurobiologique, un tel modèle pourrait traduire la dynamique des interactions entre un groupe de cellules granulaires et une cellule moussue (voir figure 5-11). CG CG CG CG CM Figure 5-11. Détail des connexions au niveau du Gyrus Dentelé, entre un groupe de cellules granulaires (CG) connectées à une cellule moussue (CM). Pour simplifier le schéma, les cellules inhibitrices (basquets cells) permettant la sélection d’un groupe de cellules granulaires n’ont pas été représentées. Les cellules granulaires du groupe saturent la cellule moussue qui décharge en retour vers toutes les cellules granulaires même lorsque la stimulation s’est arrêtée. L’habituation synaptique au niveau des cellules granulaires permet d’expliquer l’arrêt de leur activation au bout d’un certain temps. Inversement, on peut supposer que les cellules granulaires les plus grosses ont un seuil élevé. Si les constantes de temps sont suffisamment bien réparties, alors on obtient le même type de réponse qu’avec notre base de cellules à réponse retardées. Gi (t) = F Gi · exp − (t−M Gi )2 2·V G2 i (14) avec t = 0 pour le dernier t dont D(t) > 0, M Gi , V Gi et F Gi des constantes. Il y a une corrélation entre M Gi et F Gi , c’est-à-dire un neurone avec un temps de réponse assez petit doit avoir une fréquence de décharge assez grande (ce qui correspond à la réalité biologique). Plus une cellule est petite (en taille), moins elle prend du temps (M Gi ) à atteindre son maximum et plus ce maximum (F Gi ) est grand. Si on considère les activités normalisées, c’est-à-dire la valeur maximale pour F Gi est 1, alors la figure 5-12 (a) illustre l’activité temporelle de 8 neurones de type Gi 3 . Il n’y a pas d’apprentissage sur les liaisons partant d’un neurone D et arrivant sur un neurone G. Le neurone de prédiction, P, réalise une somme pondérée de ses entrées. Les entrées peuvent être analogiques ou binaires. La sortie est donnée par l’équation (17) : Pe (t) = X Wi · Gi (t) (15) i P (t) = fp (Pe (t)) 3 (16) Nous avons représenté uniquement 8 neurones mais en réalité nous utilisons environ 40. - 144 - Chapitre 5 Apprentissage de séquences temporelles La fonction d’activation d’un neurone de type P L’activation de 8 neurones de type G 1 1.4 0.9 ← l’activation du neurone 2 1.2 0.8 1 Activite Gi 0.7 Activite 0.6 0.5 0.4 0.3 ← la somme pondéré des entrées ← activation 0.8 0.6 0.4 0.2 0.2 0.1 0 0 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 Temps (secondes) Temps (secondes) Figure 5-12. (a) Exemple d’activation de 8 neurones de type G. (b) Le potentiel et l’activation d’un neurone de type P. fp = ( 1 si Pe (t − δt2 ) − Pe (t − δt1 ) < 0 et Pe (t − δt1 ) − Pe (t) > 0 0 sinon (17) L’activation de la sortie du neurone de type P correspond en effet à la valeur maximale de son potentiel (voir figure 5-12 (b)). La modification du poids entre P et Gi est instantanée et donnée par l’équation (18) : PGi (t) 2 Wi (t) = i Gi (t) si D(t) > 0 Wi (t − 1) sinon (18) Pour illustrer le fonctionnement de notre modèle, prenons un exemple simple : nous présentons le stimulus inconditionnel (SI) et une seconde après le stimulus conditionnel (SC). Ensuite, nous représentons un autre SC et nous regardons l’activité du neurone P. La présentation du SI détermine l’activation du neurone D. L’activation de ce neurone permet la mise à zéro de l’activité de toutes les cellules Gi . Dès lors, leur activation temporelle suit l’équation (14) (voir la figure 5-12 (a)). Après une seconde, l’arrivée du SC détermine l’activation du neurone E. L’activation de ce neurone détermine la mise à jour des poids entre les neurones Gi et le neurone P, suivant l’équation (17) et par conséquence l’apprentissage de l’intervalle ISI (voir figure 5-13 (a)). Finalement, nous présentons pour la deuxième fois le SC. Après 989 millisecondes, c’est-à-dire 11 millisecondes avant la durée de l’ISI, la sortie du neurone P devient active (voir figure 5-13 (b)). 5.2.2 Analyse mathématique des conditions de prédiction La capacité de nos cellules pyramidales (P) à prédire un événement est une caractéristique très importante du modèle. Si l’activité de (P) suit la réalisation de l’action, il sera très difficile de l’utiliser pour savoir si l’événement était nouveau ou pas. Car il faudrait être capable de séparer le fait que (P) ont été activé par l’arrivée du nouvel événement ou par le “souvenir” qu’il devait bien arriver (activation forcée par DG). - 145 - Section 5.2 Proposition d’un modèle pour l’apprentissage du timing Valeurs des poids entre le neurone P et les G Activité du neurone P i 1.2 0.35 Activation P ISI Potential de P 0.3 1 0.25 Activité Valeur 0.8 0.2 0.15 0.6 0.4 0.1 0.2 0.05 0 0 10 20 30 40 50 0 60 Index des neurones G 0 0.5 1 1.5 2 2.5 Temps (secondes) i Figure 5-13. (a) La valeur de poids après l’apprentissage. (b) L’activation du neurone de type P. Les paramètres sont : Nb neurones G=60, loi d’activation=gauss, MinMG=0.01, TypeMG=lin, TypeVG=lin, MaxVG=0.30, MinVG=0.25, MaxFG=1.00, MinFG=0.01, TypeFG=lin Nous allons donc maintenant analyser en détail les conditions pour qu’il y ait prédiction. Soit un intervalle inter-stimulus quelconque ISI = [0, tISI ], avec tISI ∈ ] 0, ∞ [ . Pour avoir une prédiction, il faut que le neurone de type P s’active à l’instant t < tISI . Selon l’équation (17), l’activation d’un neurone P est équivalente au fait que le potentiel du neurone atteint sa valeur maximale avant l’instant t, c’est-à-dire qu’il a une gradient négatif à l’instant t. Ainsi, déclencher la prédiction revient à satisfaire la condition (19). Si Pe (t − δt) > Pe (t + δt) (19) alors on a N X [Wi · Gi (t − δt)] > i=1 ⇐⇒ N X i=1 " Gi (t) Gi (t − δt) · P 2 i Gi (t) # > N X [Wi · Gi (t + δt)] i=1 " N X i=1 Gi (t) Gi (t + δt) · P 2 i Gi (t) (20) # (21) avec N le nombre de neurones Gi . Selon l’équation d’activation des neurones Gi (équation (14)), on a : Gi (t) >0 ∀ t > 0, Gi (t) > 0 ⇒ P 2 i Gi (t) (21) et (22) ⇔ N X Gi (t − δt) · Gi (t) > N X Gi (t + δt) · Gi (t) i=0 i=0 Ainsi, déclencher la prédiction revient à satisfaire la condition (23). - 146 - (22) (23) Chapitre 5 Apprentissage de séquences temporelles Si l’on suppose que les fonctions Gi (t) peuvent être considérées comme linéaires au voisinage de t, alors pour δt > 0 on a : Gi (t + δt) = Gi (t) + αi Gi (t − δt) = Gi (t) − αi (24) (25) avec αi ∈ IR. (23), (24) et (25) ⇒ N X [Gi (t) + αi ] · Gi (t) > i=1 ⇐⇒ i<N X Gi (t) · Gi (t) + i=1 ⇐⇒ 2 · ⇐⇒ N X i=1 i<N X i=1 i<N X αi · Gi (t) > N X i=1 N X [Gi (t) − αi ] · Gi (t) (26) i<N X αi · Gi (t) (27) Gi (t) · Gi (t) − i=1 i=1 αi · Gi (t) > 0 (28) αi · Gi (t) > 0 (29) i=1 Soit a, a ∈ ] 1, N [ tel que M Gi < t si i ≤ a et M Gi > t si i > a. Alors, αk > 0 si k ≤ a et αl < 0 si l ≥ a. i<N X (29) ⇐⇒ ⇐⇒ i=1 i≤a X αi · Gi (t) > 0 αi · Gi (t) > i<N X (30) αi · Pi (t) (31) i=a+1 i=1 L’équation (31) revient à dire que la somme dans un voisinage de t des fonctions Gi dont le maximum est atteint avant l’instant t doit être supérieure à la somme de fonctions dont le maximum est atteint après l’instant t. Nous avons observé expérimentalement que la condition (31) est satisfaite si et seulement si le maximum de la somme des activités de neurones Gi est atteint à un instant tx inférieur à t (voir figure 5-14). Ainsi, nous avons établi expérimentalement que la condition pour avoir une prédiction revient à avoir le max de la somme des activités des neurones Gi inférieure à l’ISI. - 147 - Section 5.2 Proposition d’un modèle pour l’apprentissage du timing La somme des activité s de G Activité des neuronnes Gi i 2.2 1 0.9 2 0.8 1.8 0.7 Activité de Gi 1.6 0.6 1.4 0.5 0.4 1.2 0.3 1 0.2 0.8 0.1 0 0 1 2 3 4 5 0.6 6 0 100 200 300 400 500 600 700 Temps (secondes) Temps (secondes) Figure 5-14. L’activité (a) et la somme des activités (b) de cellules de DG. Les paramètres sont : Nb neurones G=60, loi d’activation=gauss, MinMG=0.10, TypeMG=lin, TypeVG=lin, MaxVG=0.20, MinVG=0.10, MaxFG=1.00, Min FG=0.10, TypeFG=lin Dans la suite de ce chapitre, nous allons maintenant étudier plus en détail les capacités de prédiction de notre système et l’effet des différents paramètres sur la qualité de l’apprentissage. Nous montrerons enfin comment employer ce modèle pour l’apprentissage et la reproduction de séquences simples. - 148 - Chapitre 5 5.3 Apprentissage de séquences temporelles Simulations du modèle Dans un premier temps, nous étudierons l’influence de la forme de l’activation de la base des cellules avec réponse retardée Gi sur la prédiction. Ensuite, nous nous intéresserons à l’apprentissage de la forme temporelle d’un signal analogique. Enfin, nous terminerons par des exemples liés à l’apprentissage de séquences simples. 5.3.1 Considérations sur la base de cellules à réponses retardés Dans le cadre des simulations, nous avons étudié 2 types de loi l’activation pour les cellules de type G : une activation selon une loi gaussienne (équation (32), voir figure 5-15 (a)) et selon une loi log-normale (équation (33), voir figure 5-15 (b)). Gi (t) = F Gi · exp Gi (t) = F Gi · exp − − (t−M Gi )2 (log(t)−log(M Gi ))2 La fonction d’activation log−normale d’un neurone de type G La fonction d’activation gaussienne d’uneneurone de type G 1 0.9 0.9 0.8 0.8 0.7 0.7 0.6 0.6 Activite Activite (33) V Gi 1 0.5 0.5 0.4 0.4 0.3 0.3 0.2 0.2 0.1 0.1 0 (32) V Gi 0 1 2 3 4 Temps (secondes) 5 6 7 1 2 3 4 5 6 7 Temps (secondes) Figure 5-15. (a) La fonction d’activation d’un neurone de type G, (a) gaussienne et (b) log-normale. Le paramètre M Gi représente l’instant pour lequel le potentiel du cellule Gi atteint son maximum. Sa valeur peut fluctuer entre 2 bornes (MinMG et MaxMG) linéairement, exponentiellement ou logarithmiquement (voir figure 5-16). La figure 5-14 (a) illustre le cas de la variation linéaire du paramètre M Gi entre M axM G = 1 et M inM G = 0.1, pour une batterie de 60 neurones de type G. Le paramètre V Gi représente la valeur de la variance pour la fonction d’activation de Gi . Sa valeur peut fluctuer entre 2 bornes (MinVG et MaxVG) linéairement, exponentiellement ou logarithmiquement (voir figure 5-16). - 149 - Section 5.3 Simulations du modèle Le paramètre F Gi représente la valeur maximale de l’activation de la cellule Gi , c’està-dire F Gi = max (Gi (t)) = Gi (M Gi ). Sa valeur peut varier entre 2 bornes (MinFG et MaxFG) linéairement, exponentiellement ou logarithmiquement, ou elle peut être constant (voir figure 5-16). Lois de variation des parametres du neurone de type G 1 liniare exponentielle logarithimique 0.9 Valeur du parametre 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 10 20 30 40 50 60 Index neurones G Figure 5-16. Exemples de lois de variation de paramètres d’un neurone de type G (F Gi , M Gi et V Gi ) entre Min=0.1 et Max=1.0 Nous avons analysé l’influence de chaque paramètre des équations (32) et (33). Le critère d’analyse est la précision de la prédiction de l’intervalle ISI. Dans ce cas, nous définissons la précision comme étant la valeur de l’intervalle de temps entre l’activation du neurone P et l’instant d’ISI, P r = tISI − tP . Nous parlons d’une prédiction P r1 plus précise qu’une précision P r2 si et seulement si P r1 < P r2 , c’est-à-dire l’activation du neurone P r1 est plus proche de l’ISI que celle du neurone P2 . De même, nous introduisons le terme de “prédiction négative” qui définit une activation du neurone P après l’ISI c’està-dire P r < 0. Nous considérons qu’un système est plus performant qu’un autre si sa prédiction est plus précise et positive. Par ailleurs, si nous changeons de point de vue et nous utilisons notre modèle de prédiction du timing comme un détecteur de nouveauté, alors le fait d’avoir une “mauvaise” prédiction (activation du neurone P longtemps avant l’ISI) revient à avoir une bonne anticipation. Les résultats de cette section seront interprétés en fonction de l’utilisation de notre modèle : apprentissage du timing ou prédiction. Cependant, notre intérêt principal reste l’étude de la prédiction. Afin de rendre l’interprétation des résultats plus facile, nous avons représente la prédiction P r en fonction d’intervalle ISI (voir figure 5-17). Nous avons calculé la prédiction P r pour des ISI dans un intervalle très large : nous avons fait varier l’ISI - 150 - Chapitre 5 Apprentissage de séquences temporelles entre 0.1 et 7 secondes et pour chaque valeur nous avons calculé la prédiction. Le ∆ t entre l’activation du neurone P et l’ISI 160 Valeur ∆ t "prediction" (milisecondes) 140 120 100 80 60 40 20 0 −20 0 1 2 3 4 5 6 7 8 Valeur ISI (secondes) Figure 5-17. Variation de la prédiction en fonction de la durée de l’ISI. Avec “o” nous avons représenté la valeur de la prédiction en ce point, la courbe étant obtenue par interpolation linéaire. Les paramètres sont : Nb neurones G=40, loi d’activation=gauss, MinMG=0.10, TypeMG=lin, TypeVG=lin, MaxVG=0.20, MinVG=0.10, MaxFG=1.00, MinFG=0.40, TypeFG=lin. Les résultats obtenus sont en concordance avec ceux qui sont obtenus par d’autres modèles de prédiction du timing. La précision de la prédiction décroı̂t avec l’augmentation de l’intervalle ISI (voir figure 5-17) : plus les intervalles à prédire sont grands, plus la précision de la prédiction est mauvaise) et génère les mêmes résultats que celles d’un système qui vérifie la loi de Weber. Le nombre de neurones de type G dans notre système a une grande influence sur les performances obtenues. Jusqu’à un certain seuil et pour un ISI dans un certain intervalle, la prédiction est très instable, positive / négative (voir figure 5-17 pour les résultats avec 40 neurones). Mais, une fois cet seuil atteint, l’augmentation du nombre des neurones n’influence guère les résultats (voir figure 5-18 (a) et (b) où la variation entre 60 et 100 neurones ne change pas d’une manière significative les résultats). Ce résultat est très intéressant, étant donné que l’augmentation du nombre de neurones de type G détermine automatiquement une augmentation du nombre de liaisons avec les neurones de prédiction et la quantité de calculs à effectuer. Toutefois, si la précision de prédiction n’est pas affectée par la croissance du nombre de neurones de type G, alors la fiabilité de l’architecture croı̂t (la défaillance d’une cellule de type G aura moins d’influences). La capacité de prédiction de notre système est fortement dégradée aux bornes de l’intervalle temporel sur lequel sont étalées les cellules G. Ce fait est causé par la distribution et les valeurs des poids des connexions entre les neurones G et le neurone P (voir - 151 - Section 5.3 Simulations du modèle Le ∆ t entre l’activation du neurone P et l’ISI Le ∆ t entre l’activation du neurone P et l’ISI 160 200 Valeur ∆ t "prediction" (milisecondes) Valeur ∆ t "prediction" (milisecondes) 140 120 100 80 60 40 20 0 150 100 50 0 −20 −40 0 1 2 3 4 5 6 7 −50 8 0 1 2 3 Valeur ISI (secondes) 4 5 6 7 8 Valeur ISI (secondes) Figure 5-18. Variation de la prédiction en fonction de la durée de l’ISI. La variation de la prédiction avec (a) 60 neurones de type G et (b) avec 100 neurones. Les autres paramètres sont : loi d’activation=gauss, MinMG=0.10, TypeMG=lin, TypeVG=lin, MaxVG=0.20, MinVG=0.10, MaxFG=1.00, MinFG=0.40, TypeFG=lin dans les 2 cas. figure 5-19). Si nous considérons l’apprentissage de l’ISI comme étant l’apprentissage d’une décomposition sur une base de fonctions, alors on peut observer dans la figure 5-19 (a) qu’il y a plus de poids non nuls que dans la figure 5-19 (b); donc nous avons une meilleure approximation, ce qui détermine la prédiction. Valeurs des poids entre le neurone P et les Gi Valeurs des poids entre le neurone P et les Gi 0.7 0.9 0.8 0.6 0.7 0.5 Valeur Valeur 0.6 0.4 0.3 0.5 0.4 0.3 0.2 0.2 0.1 0.1 0 0 10 20 30 40 Index des neurones Gi 50 0 60 0 10 20 30 40 Index des neurones Gi 50 60 Figure 5-19. Valeurs des poids sur les liaisons avec les neurones de prédiction. (a) Les valeurs pour ISI=3 secondes et (b) pour ISI=6.9 secondes. Les autres paramètres sont : Nb neurones G=60, loi d’activation=gauss, MinMG=0.10, TypeMG=lin, TypeVG=lin, MaxVG=0.20, MinVG=0.10, MaxFG=1.00, MinFG=0.40, TypeFG=lin dans les 2 cas. La performance de la prédiction est aussi influencée par la valeur minimale du paramètre F Gi . Nous avons testé 3 cas : min(F Gi ) ∈ [0.01, 0.9]. Les résultats obtenus (voir figure 5-18 (a) et figure 5-20) ont montré que la précision de la prédiction est meilleure si la différence entre la valeur maximale et la valeur minimale décroı̂t ce qui reviendrait à avoir des activations identiques pour les neurones de type G. Dans ce cas, le modèle ne respecte plus la loi de Weber et la valeur de la prédiction varie peu autour d’une valeur - 152 - Chapitre 5 Apprentissage de séquences temporelles fixe. Un compromis entre une bonne précision est une prédiction positive semble atteint pour une valeur M inF G = 0.5. Le ∆ t entre l’activation du neurone P et l’ISI Le ∆ t entre l’activation du neurone P et l’ISI 50 50 Valeur ∆ t "prediction" (milisecondes) Valeur ∆ t "prediction" (milisecondes) 45 40 30 20 10 40 35 30 25 20 15 10 5 0 0 0 1 2 3 4 5 0 6 1 2 3 4 5 6 Valeur ISI (secondes) Valeur ISI (secondes) Figure 5-20. Variation de la prédiction en fonction du paramètre MinFG. Le résultat (a) pour MinFG=0.01 et (b) pour MinFG=0.5. Les autres paramètres sont : Nb. neurones G=60, loi d’activation=gauss, MinMG=0.10, TypeMG=lin, TypeVG=lin, MaxVG=0.20, MinVG=0.10, MaxFG=1.00, TypeFG=lin dans les 2 cas. Dans le cas d’une activation log-normale (qui se rapproche le plus de la forme d’activation de cellules granulaires), nous retrouvons principalement les mêmes variations de résultats que dans le cas d’une activation gaussienne, ce qui justifie le choix de celleci dans notre modèle. Les différences constatées (voir figure 5-21 (b)) sur la prédiction des intervalles sont dues aux valeur des poids (voir figure 5-21, (a)) qui ont une autre distribution. Valeurs des poids entre le neurone P et les Gi Le ∆ t entre l’activation du neurone P et l’ISI 0.14 2500 Valeur ∆ t "prediction" (milisecondes) 0.12 Valeur 0.1 0.08 0.06 0.04 0.02 0 0 10 20 30 40 Index des neurones Gi 50 2000 1500 1000 500 0 −500 60 0 1 2 3 4 5 6 7 8 Valeur ISI (secondes) Figure 5-21. Résultats obtenus dans le cas d’une activation log-normale. (a) Les poids pour un ISI de 3 secondes. (b) La courbe de la précision de la prédiction. Les autres paramètres sont : Nb neurones G=60, loi d’activation=log-n, MinMG=0.10, TypeMG=lin, TypeVG=lin, MaxVG=0.20, MinVG=0.10, MaxFG=1.00, MinFG=0.20, TypeFG=lin. - 153 - Section 5.3 5.3.2 Simulations du modèle Apprentissage de la “forme” d’une entrée analogique Nous avons vu au début de ce chapitre que la notion de séquence temporelle suppose l’existence d’éléments distincts. Pour cela, nous avons considéré que les éléments des nos séquences étaient discrets. Les entrées de notre système sont binaires (de type ON/OFF) et orthogonales. Dans tout système naturel, les valeurs physiques sont analogiques. Afin d’obtenir des valeurs binaires, une discrétisation s’impose toujours. La discrétisation est habituellement réglée par un seuil. Mais l’utilisation d’un seuil (pour déterminer si une des entrées doit s’activer ou non) peut donner lieu à des imprécisions. Prenons par exemple la courbe de la figure 5-22, (a). Si le seuil est fixé à 0.8, nous avons 2 éléments distincts (voir figure 5-22 (b)), et si le seuil est fixé à 0.4, nous avons un seul élément. Exemple de signal analogique Exemple de signal d’entrée discret pour un seuil de 0.8 1 Activité (normalisée à 1) 1 0.9 0.7 0.6 0.6 0.4 0.2 0 0 2 3 4 5 6 7 1 0.4 0.3 0.2 0.1 0 1 Temps (secondes) Exemple de signal d’entrée discret pour un seuil de 0.4 0.5 Activité (normalisée à 1) Activité (normalisée à 1) 0.8 0.8 0 1 2 3 4 5 6 7 0.8 0.6 0.4 0.2 0 0 1 2 Temps (secondes) 3 4 5 6 7 Temps (secondes) Figure 5-22. (a) Exemple de signal analogique d’entrée. (b) En haut, l’entrée seuillée à 0.8. En bas, l’entrée seuillée à 0.4. Toutefois, avoir une séquence discrète n’est pas toujours souhaitable et il peut s’avérer nécessaire d’apprendre la “forme” de l’entrée analogique en même temps que l’intervalle temporel. Notre modèle (section 5.2.1) permet d’apprendre la “forme analogique” du signal d’entrée, en modifiant seulement la loi d’apprentissage entre les neurones de type G (les horloges) et le neurone de type P (prédiction). En plus, le neurone de type D (d’entrée) ne fait aucun traitement sur le signal d’entrée. Nous utilisons la règle du LMS (voir section 3.1.3), donnée par l’équation suivante : dWi (t) = ǫ · Gi (t) · (D (t) − P (t − δt)) Avec dWi la variation du poids du neurone Gi vers le neurone de type P . Gi (t) , D (t) , P (t) représentent respectivement l’activité des neurones de type G, D et P. ǫ est une constante correspondante à la vitesse d’apprentissage. Dans un premier temps, nous présentons plusieurs fois le même signal à l’entrée et nous regardons la sortie du neurone de prédiction. Au début, tous les poids sont initialisés à zéro. Après chaque itération, nous comparons la “forme apprise” (la sortie du neurone de prédiction) et la “forme d’entrée”. Après un petit nombre de présentations (3 dans notre - 154 - Chapitre 5 Apprentissage de séquences temporelles exemple), nous avons un résultat acceptable (voir figure 5-23). Si le nombre d’itérations augmente, la forme est mieux apprise (voir figure 5-24 (a)). L’entre et la sortie pour l’iteration 3 1.2 1 1 0.8 0.8 0.6 0.6 Activite Activite L’entre et la sortie pour l’iteration 1 1.2 0.4 0.4 0.2 0.2 0 0 −0.2 0 1 2 3 4 5 6 −0.2 7 0 1 2 Temps (secondes) 3 4 5 6 7 Temps (secondes) Figure 5-23. (a) L’entrée et la sortie après une seule présentation. (b) L’entrée et la sortie après 3 présentations. Les autres paramètres sont : Nb neurones G=60, loi d’activation=lin, MinMG=0.10, TypeMG=lin, TypeVG=lin, MaxVG=0.20, MinVG=0.10, MaxFG=1.00, MinFG=0.10, TypeFG=lin, ǫ = 0.1. L’energie de l’erreur L’entre et la sortie pour l’iteration 100 1.2 10 8 1 Energie du signal d’erreur 6 Activite 0.8 0.6 0.4 0.2 4 2 0 −2 −4 0 −0.2 −6 −8 0 1 2 3 4 5 6 0 7 10 20 30 40 50 60 70 80 90 100 Iterations Temps (secondes) Figure 5-24. (a) L’entrée et la sortie après 100 présentations. (b) L’énergie de l’erreur entre l’entré et la sortie. Les autres paramètres sont : Nb neurones G=60, loi d’activation=lin, MinMG=0.10, TypeMG=lin, TypeVG=lin, MaxVG=0.20, MinVG=0.10, MaxFG=1.00, MinFG=0.10, TypeFG=lin, ǫ = 0.1. Nous avons mesuré l’énergie du signal de différence entre l’entrée et la sortie, et nous avons observé une stabilisation de la sortie après peu d’itérations (voir figure 5-24 (b)) ce qui montre la stabilité de notre algorithme après la convergence. Dans un deuxième temps, nous avons utilisé un protocole d’expérimentation modifié : nous considérons que la mise à jour des poids s’effectue à des instants aléatoirement choisis dans l’intervalle de l’activation de l’entrée (et uniquement à ces instants). Dans la figure 5-25 nous présentons le résultat obtenu ainsi que la distribution des poids. Nous pouvons constater que la forme analogique du signal d’entrée est bien apprise et ceci se produise au bout d’un temps beaucoup plus court en nombre de cycles de présentation du stimulus. Si - 155 - Section 5.3 Simulations du modèle l’apprentissage s’effectue non pas sur l’ensemble du signal mais à des instants qui peuvent sembler échantillonnés aléatoirement par rapport au signal alors comme on pouvait s’y attendre, la performance est bien meilleure (aspect stochastique de la descente de gradient normalement nécessaire pour assurer la convergence). Si nous revenons à l’hippocampe, on peut imaginer que le rythme thêta ou un autre rythme (la fréquence de 7–10 Hz, par exemple) puisse jouer le rôle d’un échantillon du signal permettant d’améliorer la vitesse d’apprentissage tout en permettant d’isoler des tranches de temps. Valeurs des poids entre le neurone P et les G i 0.6 1 0.5 0.8 0.4 0.6 0.3 Valeur Activit\’e (normalis\’e \‘a 1) L’entre et la sortie 1.2 0.4 0.2 0.2 0.1 0 0 −0.2 −0.1 0 1 2 3 4 5 6 7 0 10 Temps (secondes) 20 30 40 Index des neurones Gi 50 60 Figure 5-25. (a) L’entrée et la sortie obtenues pour un apprentissage aléatoire. (b) La distribution des poids après l’apprentissage (10 présentations). Pour conclure, nous remarquons que nous pouvons apprendre la forme analogique de l’entrée en utilisant un modèle qui n’était au départ prévu que pour l’estimation d’un intervalle. Ce que réalise le modèle n’est rien d’autre qu’une décomposition du signal d’entrée sur une base de fonctions . Notre modèle neuronale correspond alors à une manière efficace de programmer ce type de décomposition dans le cas où l’on a besoin d’un apprentissage en ligne. 5.3.3 Apprentissage de séquences simples L’architecture pour l’apprentissage de séquences a été développée en utilisant le modèle d’apprentissage des intervalles temporelles illustré dans la section 5.2. L’idée de base consiste en la multiplication des mécanismes de prédiction du timing par l’utilisation de plusieurs batteries de neurones DG ainsi que d’une matrice de neurones de type P. La figure 5-26 illustre l’architecture globale : Chaque neurone du groupe MO envoie ses connexions efférentes non-modifiables vers un neurone du groupe EC. Chaque neurone de EC envoie ses connexions efférentes nonmodifiables vers tous les neurones d’une même batterie de neurones de type G, en DG. De même, chaque neurone du groupe EC envoie ses connexions efférentes non-modifiables à tous les neurones de la même colonne du groupe CA3. Chaque neurone de DG envoie ses connexions efférentes modifiables vers tous les neurones de la même ligne du groupe CA3. La taille du groupe MO, respectivement EC, représente l’ensemble des événements - 156 - Chapitre 5 Apprentissage de séquences temporelles DG liens non modifiables MO liens modifiables EC CA3 Figure 5-26. Connectivité détaillée du réseau permettant la prédiction d’une transition. La taille des cercles dans DG est choisie en fonction de la constante de temps (M Gj ) associée aux neurones de type G (plus les neurones sont gros et plus ils sont supposés mettre du temps avant de s’activer fortement). CA3 est une matrice de neurones de type P, EC sont des neurones de type D couplés avec des neurones de type E. L’entrée est représentée par MO. possibles de la séquence. Il n’y a pas des contraintes sur la taille du groupe DG. Cependant, le nombre de neurones de type G dans une batterie de DG influence la précision de la prédiction de l’intervalle entre 2 événements de la séquence (voir section 5.3.1). Étant donné que nous avons une architecture qui doit apprendre toutes les combinaisons possibles des événements, la taille de la matrice CA3 est le carré de la taille du groupe EC. Cette organisation n’est pas biologiquement plausible, mais nous l’avons adoptée dans un premier temps afin de simplifier la représentation des événements. Afin de réduire la taille de CA3, nous envisageons d’introduire des liaisons récurrentes entre les neurones de CA3. Ces connexions récurrentes qui sont en concordance avec les données issues de la neurobiologie [192], permettront la réduction de la taille de CA3. Nous décrivons maintenant étape par étape, l’activation et l’apprentissage des différentes composantes de l’architecture pour une séquence simple : (A, tA ), (B, tB ), (C, tC ). Nous avons testé la séquence pour des séquences plus longues (plus de 30 éléments), mais les résultats sont les mêmes que celles d’une séquence avec 3 éléments. En effet, l’architecture assure un apprentissage et une prédiction indépendante4 de la taille de la séquence. On présente pour la première fois l’élément A (voir figure 5-27). Ceci implique une variation au niveau du groupe MO qui déclenche l’activation du neurone numéro 1 du 4 Uniquement limité par la taille du RN. - 157 - Section 5.3 Simulations du modèle groupe EC (voir figure 5-28 (a)). Le signal émis par EC remet à zéro toute activité résiduelle dans la batterie numéro 1 de DG. Par la suite, les neurones de cette batterie commencent à s’activer selon l’équation (14) (voir figure 5-28 (b)). C C 3 2.5 B B Element prédit 2 1.5 A A A 1 0.5 0 0 5 10 15 20 25 secondes a) apprentissage prédiction prédiction 1.2 Potential of PB(1,2) cell 1 0.8 0.6 0.4 0.2 0 0 5 10 15 20 25 secondes b) Figure 5-27. (a) Série temporelle des éléments présentés. (b) Activité d’un neurone de CA3 associé à la prédiction de la transition de l’élément ”A” à l’élément ”B”. Tant que l’activation d’une forme est maintenue dans le groupe MO, les neurones correspondants de EC ne laissent rien passer (pas de variation). Lorsque l’élément B est activé, le neurone 2 de EC perçoit une variation et détermine 2 actions : l’apprentissage sur toutes les liaisons de DG qui arrivent sur la deuxième colonne de CA3 (plus particulièrement celles de la batterie 1 qui arrivent sur le troisième neurone de la deuxième colonne qui signifie l’apprentissage de l’intervalle [ta , tb ]) et remet à zéro toute activité résiduelle dans la batterie 2 de DG (voir figure 5-28 (c)). Pour l’élément C, nous avons le même comportement impliquant les neurones correspondants. Après la fin de la présentation de la première séquence, c’est-à-dire lorsque l’événement A est présenté à nouveau, la transition de C à A peut être apprise et permettre ainsi une réactivation cyclique de la séquence en absence de stimulation externe. A ce moment de la répétition de la séquence, la capacité prédictive de CA3 devient opérationnelle. La séquence ”A,B,C,A,B,C,A,...” est maintenant apprise et peut être reproduite. L’activation de la forme A permet de déclencher la transition ”A vers B” (voir figure 5-28 (d)), qui active l’élément B qui déclenche la prédiction de la transition de ”B vers C” qui déclenche l’activation de l’élément C qui déclenche la prédiction de la transition de ”C vers A” qui déclenche l’activation de l’élément A et ainsi de suite. De la même manière, la présentation d’une séquence plus complexe pourra être apprise. La figure 5-27 illustre l’apprentissage de cette séquence. Dans la section 6.1.2 nous présentons une architecture PerAc qui permet à un robot - 158 - Chapitre 5 a) Apprentissage de séquences temporelles b) 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 1111111111111111111111111111111111 0000000000000000000000000000000000 0000000000000000000000000000000000 1111111111111111111111111111111111 0000000000000000000000000000000000 1111111111111111111111111111111111 0000000000000000000000000000000000 1111111111111111111111111111111111 c) 0 1 2 3 4 0 1 2 3 4 d) 0 1 2 3 4 0 1 2 3 4 111 000 000 111 111 000 111 000 111 000 000 111 111 000 111 000 111 000 000 111 111 000 111 000 111 000 000 111 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 Figure 5-28. Exemple de simulation dans P rométhé. Chaque point ou rectangle représente un neurone. La taille du rectangle représente le niveau d’activation du neurone considéré (les activités sont normalisées groupe par groupe). (a) La présentation de l’élément A détermine l’activation du premier neurone d’EC. (b) La batterie 1 de DG commence a s’activer. (c) L’arrivée de l’élément B. (d) La prédiction de l’élément B. mobile d’apprendre une trajectoire (une séquence des mouvements). L’apprentissage de la trajectoire est réalisé par l’architecture que nous venons de présenter. - 159 - Section 5.4 5.4 Conclusion Conclusion Dans ce chapitre nous avons tenté de présenter un aperçu sur l’apprentissage du timing et des séquences. Nous avons introduit un modèle neuronal qui permet l’apprentissage du timing avec une grande précision. L’existence d’un tel mécanisme est essentielle dans l’architecture d’un robot autonome. Prenons l’exemple d’un robot qui dispose seulement de deux comportements : explorer l’environnement afin de trouver des sources d’énergie et recharger ses accumulateurs. Son architecture doit avoir, à un quelconque niveau, un mécanisme de compétition qui active ou inhibe l’un ou l’autre des comportements. Après plusieurs expériences, le robot apprend que la durée de rechargement de ses accumulateurs est de 20 minutes. Si, durant une session de rechargement, il constate qu’après 20 minutes ses accumulateurs ne sont pas encore chargés, alors un signal d’avertissement sera déclenché (qui pourra par la suite déterminer le changement de comportement, ...). L’utilisation de la prédiction pour la détection de la nouveauté est entièrement basée sur l’utilisation d’un mécanisme de timing. Notre modèle satisfait 2 exigences majeures : apprendre correctement à prédire le timing et respecter la loi de Weber. Le fait de respecter la loi de Weber n’est pas une exigence en soit, mais elle correspond à une contrainte très dure que doivent respecter les systèmes de perception et d’apprentissage. Si la précision de la prédiction était constante, alors il serait impossible d’avoir un renforcement consécutif à la répétition d’une expérience. En effet pour une séquence longue il n’est pas possible de la reproduire avec une grande précision et donc les prédictions d’un élève trop précis se révéleraient toujours fausses. Inversement, si la précision était réglée sur une valeur basse alors les confusions entre séquences seraient fréquentes. En même temps, il faut souligner la grande robustesse de notre modèle par rapport aux défaillances. Supposons qu’un neurone de type G ne fonction plus. Le neurone P sera toujours activé et une réponse fournie même si la précision sera affectée. De même, les défaillances au niveau de connexions entre DG et CA3 déterminent de faibles erreurs de prédiction. Par l’utilisation d’un rebouclage de CA3 sur lui même, on peut aussi minimiser l’importance des défaillances à ce niveau. La capacité d’apprendre en ligne impose notre modèle dans les applications en temps réel. Cependant, notre modèle ne permet pas l’apprentissage de séquences complexes. Nous supposons que les séquences complexes sont traitées par d’autres structures cérébrales et que ce traitement implique la construction de macrocatégories. Pour finir, nous avons présenté un modèle qui permet l’apprentissage de séquences temporelles. Ce modèle sera intégré dans l’architecture d’un robot autonome (chapitre 6) qui permettra l’apprentissage par imitation de séquences d’actions nécessitant un “timing” précis. La capacité d’apprentissage de la forme analogique d’un signal est aussi très utile car dans un cas binaire si le signal est mal segmenté la succession rapide de 2 événements risque de ne pas être détectée. Dans le cas analogique si le seuil sur la dérivation du signal en entrée ne permet pas d’isoler les 2 pics le mécanisme de prédiction peut reproduire la forme du signal avec ses 2 pics et donc permettre malgré tout une bonne réaction motrice. - 160 - Chapitre 6 Une architecture minimale pour l’apprentissage par imitation Les Trois Lois de la Robotique Première Loi Un robot ne peut blesser un être humain ni, par son inaction, permettre qu’un humain soit blessé. Deuxième Loi Un robot doit obéir aux ordres données par les êtres humains, sauf si de tels ordres sont en contradiction avec la Première Loi. Troisième Loi Un robot doit protéger sa propre existence aussi longtemps qu’une telle protection n’est pas en contradiction avec la Première et/ou la Deuxième Loi. I. Asimov – Les robots En robotique, l’apprentissage par imitation est utilisé dans plusieurs types d’applications : apprentissage de gestes, de postures, de trajectoires, ... (voir section 2.3). Nos travaux portent sur l’apprentissage de trajectoires et ils s’intègrent dans une démarche plus globale. Depuis une dizaine d’années, les chercheurs de notre équipe ont développé, autour d’un outil de simulation (Leto/Promethe), des algorithmes de vision [64], d’apprentissage [64, 159], de planification et de navigation [68], de reconnaissance de formes [167]. La plupart des travaux ont abouti à une implantation des algorithmes sur des robots mobiles, Koala (voir annexe A)). Le présent travail s’inscrit dans la même perspective, mais avec des contraintes de temps réel que n’avaient pas les précédents travaux. En effet, pour interagir avec un humain ou un autre robot, la maı̂trise des temps d’exécution des différentes tâches devient primordiale. 161 Section 6.0 Conclusion Dans le cas de robots capable uniquement de se déplacer, l’imitation consistera à apprendre des trajectoires ou des lieux grâce aux informations fournies par d’autres robots ou humains. Un scénario possible serait le suivant. Dans une exploitation minière entièrement robotisée, des robots vont chercher du minerai dans une galerie particulière et le transporter vers une station de traitement. Si le minerai vient à s’épuiser dans la galerie ou si le chemin d’accès est obstrué, les robots sont forcés de passer dans un mode d’exploration. Si un robot connaı̂t ou se trouve un autre moyen de se procurer de minerai, il suffit aux autres robots de le suivre une fois qu’ils ont vu qu’il déposait du minerai à la station de traitement. En le suivant, ils découvriront forcement la source du minerai et seront capables d’apprendre pour eux même le trajet à effectuer. Nul besoin dans ce cas là de mécanisme de communication complexe. Mais surtout nul besoin de coordination centrale. Par exemple, si 2 robot connaissent le chemin vers 2 sources de minerai différentes alors on peut supposer qu’un robot ne sachant pas où aller aura une chance sur 2 de suivre l’un ou l’autre des robots. Si l’une des sources est plus lointaine ou plus difficile à exploiter alors les robots ayant trouvé la source la plus “pratique” reviendront plus vite et auront une probabilité plus grande de recruter des robots pour qu’ils les suivent. Au bout d’un certain temps la quasi totalité des robots iront donc vers la source de minerai la plus pratique. L’utilisation de propriétés émergents des interactions entre les robots est clairement en ligne de mire de notre travail et permettrait de trouver des applications robotiques réalistes à tous les paradigmes d’intelligence collective développés en éthologie [54, 181]. L’intérêt de disposer des capacités de vision et de navigation évoluées induit alors une simplification des contraintes liées aux interactions avec l’environnement physique (pas besoin de laisser de trace de phéromone par exemple). D’un autre coté ce type de démarche permet d’éclairer les concepts liés à l’intelligence sociale chez l’animal et l’homme sous un nouvel angle. Si l’on revient maintenant à nos problèmes pratiques, on peut se poser certaines questions : quelles sont les caractéristiques d’une trajectoire? que faut-il apprendre pour être sur d’avoir appris une trajectoire? Afin de répondre à ces questions, nous avons regardé de plus près l’interprétation d’une trajectoire. Une trajectoire peut avoir au moins 2 interprétations : temporelle ou spatiale. Considérons, par exemple, que le robot “professeur” exécute la trajectoire A 7→ B 7→ C 7→ D (voir figure 6-1 (a)). L’interprétation temporelle de cette trajectoire est : avance tout droit pendant n secondes, tourne à 90 degrées, avance encore m secondes, .... Dans ce cas, l’apprentissage de la trajectoire se confond avec l’apprentissage d’une séquence (voir chapitre 5) dont les éléments sont les changements d’orientations. Évidemment, nous pouvons remplacer les intervalles avec des couples distance/vitesse mais l’interprétation reste la même. Suivant cette interprétation, une fois la trajectoire apprise, elle est parcourue sans tenir compte des lieux particuliers de passage (voir figure 6-1 (b)). L’interprétation spatiale de cette trajectoire est : il faut passer d’abord par le point A, ensuite aller en B, .... Dans ce cas, l’apprentissage de la trajectoire revient à l’apprentissage de quelques lieux de passage dans l’environnement. Selon l’interprétation - 162 - Chapitre 6 A D Apprentissage de séquences temporelles B C Figure 6-1. (a) Trajectoire du professeur. (b) Interprétation temporelle de cette trajectoire. (c) Interprétation spatiale de cette trajectoire. spatiale, une fois les lieux de passage appris, le chemin de déplacement entre eux ne compte plus (voir la figure 6-1 (c)). Dans ce chapitre, nous allons nous intéresser principalement au premier aspect de l’apprentissage par imitation d’une trajectoire. Dans un premier temps, nous présentons une architecture capable d’apprendre l’aspect temporel de la trajectoire. L’architecture est basée sur une modélisation de l’hippocampe qui utilise l’algorithme d’apprentissage de séquences présenté en chapitre 5. Ensuite, nous présentons une architecture qui permet l’apprentissage et la reconnaissance de l’apparence visuelle du professeur. L’apprentissage des lieux pourrait être réalisé par la même architecture car le modèle de l’hippocampe sur lequel nous travaillons est capable de traiter simultanément ces 2 aspects [65]. Malheureusement, pour des raisons de temps, nous n’avons pas pu compléter à temps ce travail afin de le présenter ici. - 163 - Section 6.1 6.1 Architecture pour apprendre l’aspect temporel d’une trajectoire Architecture pour apprendre l’aspect temporel d’une trajectoire Si nous reprenons l’architecture globale de notre système (voir figure 2-4), nous observons que l’apprentissage d’une trajectoire (séquence de mouvements) est réalisé par 2 circuits : la proto-imitation et l’apprentissage de séquences. Selon notre approche de l’imitation (voir section 2.4), le mécanisme de proto-imitation est implanté comme un mécanisme de poursuite réflexe. Nous avons réalisé plusieurs implantations de ce mécanisme dont les résultats sont présentés dans la section 6.1.1. Le mécanisme d’apprentissage de séquences est basé sur le modèle d’hippocampe présenté dans la section 5.2. Dans la section 6.1.2 nous allons présenter quelques résultats issus de nos expériences. Motivations Apprentissage de sequences Apprentissage de sequences Perception du mouvement Actions Proto imitation Figure 6-2. Architecture globale pour l’apprentissage de l’aspect temporel d’une trajectoire. 6.1.1 Mécanisme de poursuite réflexe Pour commencer, nous avons utilisé un mécanisme de poursuite réflexe très simple qui consiste à aller dans la direction du centre de la zone du mouvement perçu. La figure 6-3 montre un exemple typique de situation de poursuite réflexe utilisée dans nos expériences. Nous avons utilisé comme professeur un autre robot ou un humain. La perception du mouvement utilise la méthode par différence d’images seuillés, présenté dans section 4.2.1. Une image “intégrée” est construite à partir de l’intégration temporelle de quelques images issues de la caméra CCD du robot (voir figure 6-4 (a)). Une image de ”mouvement” est alors directement calculée (voir figure 6-4 (b)) en seuillant - 164 - Chapitre 6 Une architecture minimale pour l’apprentissage par imitation Figure 6-3. Une situation de suivi typique (a) d’un robot (MIT handy board) ou (b) d’un humain. la différence entre 2 images “intégrées” avec des constantes de temps différentes (5 et 10 dans notre expérience). b) a) Figure 6-4. a) Une image utilisée par notre robot pour le mécanisme de suivi. b) L’image de différence construite à partir de 2 images intégrées avec des constantes de temps différentes donne des informations sur la position des objets en mouvement. Généralement, dans notre architecture, les informations sont codées sur des cartes de neurones formels. Ainsi, l’image de mouvement constitue l’entrée pour la carte de neurones qui représente la perception du mouvement. Par analogie avec le système de vision humain ( voir section 3.2.2), les neurones de cette carte (V1) ont des entrées provenant de plusieurs points de l’image de mouvement (la rétine). Dans notre architecture, l’activité des neurones est normalisée (voir figure 6-5 (a)). La carte motrice est une carte topologique à une seule dimension correspondant aux différentes possibilités de direction de mouvements codées en azimut. Chaque neurone - 165 - Section 6.1 Architecture pour apprendre l’aspect temporel d’une trajectoire vitesse Direction du mouvement Mouvement percu max min angle 0 -35 +35 Figure 6-5. (a) Perception des mouvements du professeur. La différence entre 2 images intégrées dans le temps (figure 6-4) est copiée sur une carte de neurone 2D. (b) Le résultat de l’image de mouvement est sous échantillonné et le centre de la zone d’activité maximale est utilisé pour contrôler les mouvements du robot. Une vitesse d’avancement et un angle de rotation en sont directement déduits. représente ainsi une commande motrice (transmise par la suite au robot) du type tourner de x degrés et avancer d’une certaine distance. Pour simplifier, on peut considérer que la direction du mouvement à effectuer est celle associée au neurone le plus actif sur la carte motrice (voir figure 6-6). L’orientation du mouvement à exécuter est calculée à partir de la projection, de la sommation et de la compétition sur la carte motrice des neurones de la carte de perception du mouvement. De même, la vitesse d’avancement peut être déduite par projection, sommation et compétition sur une carte de neurone 1D associée à l’axe y de la même carte (voir figure 6-5 (a)). Perception du mouvement t+2 t+3 t+1 t Professeur t+3 CCD t Élève t+2 liaison 1 vers 1 liaison 1 vers tous DM CM t+1 Figure 6-6. (a) Schéma d’un mécanisme réflexe. La sortie motrice est exprimée dans les mêmes coordonnées que l’information rétinienne (coordonnées égocentriques). CCD - caméra CCD, DM - projection horizontale du mouvement perçu CM - sortie motrice. (b) Le mécanisme réflexe permet en même temps de suivre un objet en mouvement (cible) ou d’éviter une collision en fonction du mouvement et de la distance apparente de la cible. Si le professeur se déplace et est très proche du robot élève (dans la partie basse de - 166 - Chapitre 6 Une architecture minimale pour l’apprentissage par imitation l’image de mouvement) alors un mécanisme réflexe impose une vitesse négative et le robot essaiera d’éviter la collision comme montré sur la figure 6-6 (b). Le même mécanisme d’évitement peut être réalisé avec l’utilisation du flot optique. Nous pouvons supposer que le robot a déjà appris à aller en arrière ou en avant en fonction de la perception d’une expansion ou d’une contraction du flot optique. De la même manière, quand un foyer d’expansion apparaı̂t sur la gauche, le robot a appris à tourner à droite. Ce comportement est gelé dans le réseau de neurones et est considéré comme un mécanisme réflexe par rapport à l’apprentissage de notre tâche. Ce mécanisme ”câblé en dur” permet à l’élève de maintenir toujours la même distance avec son professeur durant la tâche de poursuite (éviter qu’il n’entre en collision avec son professeur). 6.1.1.1 Limitations du mécanisme de suivi simple Afin d’apprendre une séquence, le robot élève doit détecter et apprendre les transitions entre les orientations successives de son corps et être capable de les reproduire. Les informations (mouvement perçu et commandes motrices) sont représentées en coordonnées égocentriques. Une référence d’orientation arbitraire (alocentrique) doit être maintenue afin de permettre au robot d’apprendre correctement ses transitions d’orientation. La direction absolue est maintenue par une compas magnétique (sondes à effet Hall) mais toute autre mesure d’odométrie pourrait être utilisée (informations gyroscopiques équivalentes à un système vestibulaire par exemple). L’azimut de référence est choisi en fonction de l’orientation du robot au début de chaque séquence d’apprentissage ou de test. De cette manière, le robot reproduira la séquence motrice relativement à son orientation de départ. Le mécanisme de suivi décrit dans la section précédente permet au robot élève de suivre correctement son professeur mais les mouvements sont très bruités et donc inutilisables pour l’apprentissage d’une séquence (voir la courbe représentant l’orientation du robot au cours d’un suivi figure 6-8). Le ”bruit” est principalement dû à la difficulté de localiser correctement le centre de la zone en mouvement que le robot doit suivre. Quand le professeur change de direction, son apparence visuelle change et le centre de la zone en mouvement perçue par l’élève peut se déplacer très vite sans lien direct avec sa trajectoire réelle. De la même manière, des problèmes de détection de la zone en mouvement liés à des problèmes de choix de seuil peuvent changer très rapidement la forme de l’enveloppe de la zone en mouvement et compliquer le suivi. De plus, quand le professeur est un humain, le robot élève perçoit souvent les 2 jambes comme deux objets différents. Ainsi, le robot élève suit alternativement chacune des jambes et un mouvement sinusoı̈dal se superpose à la trajectoire correcte! Une autre cause de déformation de la trajectoire est due au fait que le robot élève prend des ”raccourcis” à chaque fois que le professeur tourne (voir figure 6-15) et ne marque donc pas de transition claire entre une orientation et la suivante (l’ensemble des rotations successives pour suivre le professeur n’est pas systématique). L’utilisation d’algorithmes de filtrage classique permet la suppression partielle de ces différents bruits mais rend plus difficile l’estimation de l’instant qui doit être appris et associé au déclenchement d’une transition nette. La détection précise des transitions du - 167 - Section 6.1 Architecture pour apprendre l’aspect temporel d’une trajectoire Apprentissage de séquences CCD DM SW PM avancer Ordres robot MO (rotation du corps) (WTA) C Figure 6-7. Schéma d’un mécanisme réflexe capable de contrôler l’orientation du corps du robot pour une tâche de suivi. La sortie motrice est exprimée dans les mêmes coordonnées que l’information rétinienne (coordonnées égocentriques) ce qui simplifie grandement l’architecture pour l’apprentissage de séquences. CCD- caméra CCD, DM - projection horizontale du mouvement perçu, MO - sortie motrice (groupe compétitif du type ”Winner Take All”), SW - bloc de commutation pour la translation des informations angulaires, C - compas magnétique, PM - carte de projection associée au mouvement perçu en coordonnées égocentriques. robot devient impossible. Le problème pourrait peut être se résoudre par l’utilisation de mouvement élémentaires plus courts (pour obtenir plus de points pour la courbe d’orientation du robot) mais alors la vitesse limitée de nos ordinateurs fait que le professeur doit bouger si lentement que toute expérience devient pratiquement irréalisable. De même, accroı̂tre les dimensions de la pièce utilisée pour l’expérience n’est pas une solution acceptable car les intervalles de temps entre 2 transitions s’accroissent de manière importante et ne permettent pas à un professeur humain de répéter correctement la trajectoire avec le même timing (les humains ne sont pas de bon professeur pour apprendre à reproduire avec précision des séquences composées de long intervalles de temps). Le principal problème est de filtrer le ”bruit” de mouvement lié à la variabilité du mouvement perçu (perception de la forme de la cible, limitations de la caméra CCD...) et de dépasser les limitations des mouvements que l’élève peut faire à chaque instant (contraintes mécaniques). Ainsi, les orientations successives du professeur doivent être intégrées dans le temps. Un changement d’orientation ne doit être pris en compte que si les variations intégrées de l’orientation du professeur dans l’espace sont suffisamment grandes. Il existe un dilemme entre la nécessité de filtrer la trajectoire et la nécessité de détecter précisément les variations de l’orientation du corps du robot élève. Un filtrage linéaire et passif n’est donc pas être une bonne solution pour permettre une segmentation précise de - 168 - Chapitre 6 Une architecture minimale pour l’apprentissage par imitation 160 140 120 Angle 100 80 60 40 20 0 5 10 15 20 Time 25 30 35 40 Figure 6-8. Courbe représentant l’orientation du robot élève au cours du temps alors qu’il suivait un robot professeur réalisant une trajectoire en ”zigzag” presque parfaite (alternance de virages à +/- 90 degrés - voir figure 6-15). L’orientation est exprimée en degrés. La direction 0 degrés correspond au nord magnétique. la séquence de mouvements (nous avons du abandonner une solution qui utilisait un tel mécanisme). 6.1.1.2 Filtrage actif pour la segmentation du mouvement A cause de tous ces problèmes de filtrage, nous avions d’abord décidé que les mouvements à imiter seraient forcément composés de mouvements en ligne droite (pas de mouvement courbe). Mais alors, si le robot n’est autorisé qu’à réaliser des mouvements en ligne droite, il perd très souvent le professeur (le professeur sort du champs de vision réduit1 du robot élève après qu’il ait effectué un changement brutal de son orientation). Pour éviter ce nouveau problème, nous permettons à la caméra du robot (la tête du robot) de tourner grâce à un servo moteur contrôlé en azimut (rotation dans la plan horizontal). Dans ce nouveau système, la tête essaie de poursuivre le professeur en le recentrant systématiquement dans son champs de vision. Le corps du robot tourne seulement si le mouvement du professeur est observé sous le même angle de vision pendant un certain intervalle de temps. Ce comportement ressemble à ceux des animaux (prédateurs par exemple) [27]. Ainsi le filtrage est réalisé à partir des informations liés à la rotation de la tête et non plus directement à partir de l’image perçue. L’introduction de ce nouvel élément permet au robot élève de réaliser une trajectoire ”propre” composée de long segments de mouvements en ligne droite (voir figure 6-9). L’orientation de la tête correspond à l’axe principal du champs de vision de la caméra du robot. Elle est mesurée par rapport à l’axe 1 Le champ de vision de la caméra CCD de notre robot est limité à 70 dégrées. Prendre une optique permettant d’augmenter le champ de vision ne serait pas une très bonne solution car l’image est ensuite trop déformée pour qu’elle soit utilisable pour une tache de reconnaissance précise. L’idéal serait soit une double caméra, soit une rétine directement inspiré de l’oeil et permettant d’avoir une zone de vision foveale et périphérique. - 169 - Section 6.1 Architecture pour apprendre l’aspect temporel d’une trajectoire 200 180 160 140 Angle 120 100 80 60 40 20 0 0 5 10 15 Time 20 25 30 Figure 6-9. Courbe représentant l’orientation du robot élève au court du temps. L’orientation est exprimée en degrés. L’orientation 0 degrés correspond à la direction du nord. longitudinal du corps du robot. Les détails de l’architecture neuronale permettant de réaliser ce filtrage actif ainsi que le suivi du professeur sont présentés dans sur la figure 6-10. Le groupe de neurone d’entrée (MI) procure des informations sur les mouvements perçus en tant qu’angles relatifs à la direction de la tête. Ces informations angulaires sont translatées par un mécanisme de commutation simple (switching block SW) en angles par rapport à un référentiel absolu (alocentrique). Pour cette translation, le bloc SW utilise l’orientation absolue du robot obtenue à partir du compas magnétique (C). L’orientation de la tête (φ) et l’orientation du corps sont des données supposées toujours disponibles. Le temps nécessaire pour intégrer suffisamment l’activité liée à l’orientation de la tête et déclencher une rotation du corps du robot permet à l’élève d’apprendre à prédire le délai entre deux instants précis de changement d’orientation. En effet, comme le robot élève est à approximativement 60 cm ou 90 cm du professeur, il y aurait un problème s’il tournait exactement au même instant que le professeur (il doit attendre le temps nécessaire à parcourir la distance entre lui et l’endroit où se trouvait son professeur! Le délai nécessaire à l’élève pour prendre la décision de changer d’orientation lui permet de maintenir à peu prêt une distance constante avec son professeur. De même, ce délai permet d’obtenir une mesure correcte de l’intervalle de temps entre 2 rotations successives du professeur (l’élève doit seulement mesurer l’intervalle entre 2 de ses propres rotations). Un premier réflexe (réflexe d’orientation de la tête - voir figure 6-10) est utilisé pour permettre un alignement rapide de la tête avec la direction du mouvement. La proprioception liée à la sortie motrice contrôlant la rotation de la tête est alors utilisée comme entrée d’un second mécanisme réflexe contrôlant l’alignement du corps du robot avec la direction de la tête et par la même la direction du mouvement perçu (réflexe d’orientation du corps). L’échelle de temps du réflexe d’orientation du corps est évidemment d’un ordre de grandeur différent de celle associée au réflexe d’orientation de la tête (à cause des différences d’inertie). L’intégration dans le temps (constante de temps lente) permet au corps de ne tourner que si les mouvements perçus induisent une rotation ”stabilisée” de - 170 - Chapitre 6 Une architecture minimale pour l’apprentissage par imitation C SW φ PM PMI CM Apprentissage MO(WTA) de séquences DM CCD rotation de la caméra avancer échelle temporelle 1 Ordres robot (rotation du corps) échelle temporelle 2 Figure 6-10. Schéma d’un mécanisme réflexe capable de contrôler en même temps l’orientation de la tête et le corps du robot pour une tâche de suivi. La sortie motrice est exprimée dans les mêmes coordonnées que l’information rétinienne (coordonnées égocentriques) ce qui simplifie grandement l’architecture. CCDcaméra CCD, DM - projection horizontale du mouvement perçu, MO - sortie motrice groupe compétitif du type ”Winner Take All”, SW - bloc de commutation pour la translation des informations angulaires, Ccompas magnétique, PM - carte de projection associée au mouvement perçu en coordonnées égocentriques, CM - carte de neurones permettant de faire tourner la caméra, PMI - intégration du mouvement perçu. la tête durant un temps suffisamment long. La figure 6-11 montre une situation de poursuite dans laquelle il n’y a aucune variation de l’orientation du corps du robot car le professeur semble bouger dans des directions différentes d’un instant à l’autre (filtrage actif par la rotation de la tête) La figure 6-12 montre le cas opposé. A l’instant t0 , la direction du mouvement perçue ne varie pas de manière suffisamment stable pour générer un changement dans l’orientation du corps. A l’instant t1 , le mouvement du professeur apparaı̂t toujours à peu prêt dans la même direction. L’intégration temporelle de l’activité en entrée devient suffisamment grande et déclenche une rotation du corps de l’élève dans la direction du professeur. La figure 6-13 montre une situation typique au cours de laquelle le robot élève réussit à suivre correctement le professeur (il tourne au bon endroit - après un délai correct) même si les mouvements du professeur apparaissent quelque fois dans la mauvaise direction. Afin de permettre un changement continu de la direction, sans des changements brusques d’orientation, nous avons utilisé les champs neuronaux dynamiques (voir section 3.4). La compatibilité de notre architecture avec les champs neuronaux (le même codage topologique) permet à notre robot de choisir entre plusieurs cibles et de verrouiller le suivi sur une cible. Les champs dynamiques permettent également d’éviter efficacement des obstacles (voir [169, 29]). - 171 - Section 6.1 Architecture pour apprendre l’aspect temporel d’une trajectoire t0C t0 t1 t0A 0 t1A t0B élève la trajectoire de l’élève professeur t0A 0 t0C t0B la trajectoire du professeur t1A MO PMI MI Figure 6-11. Aperçu d’une situation de poursuite sans changement de l’orientation du corps du robot (filtrage actif par la rotation de la tête) t0 B 0 1 0 1 t0 A 0 1 0 1 t0 C 0 1 0 1 0 1 t1 A 1 0 0 1 t1 B 0 1 0 1 t1 t1 C t2 0 1 11 00 0 1 00 0 11 1 professeur t0 A t0 B t0 C MO (avancer) PMI MI t0 (rotation de la tête) élève t1 A (rotation de la tête) t1 B (rotation de la tête) t1 C (rotation du corps) MO PMI MI (rotation de la tête) (pas de rotation de la tête) (pas de rotation de la tête) Figure 6-12. Mécanisme de filtrage utilisé pour supprimer le ”bruit” des mouvements perçus. A l’instant t0 , la direction du mouvement perçu varie (t0A , t0B et t0C rotation de la tête) mais n’est pas suffisamment stable pour générer un changement dans l’orientation du corps (voir l’activation du groupe PMI). Au temps t1 , le mouvement de professeur apparaı̂t toujours dans la même direction (pas de changement de direction de la tête lors les itérations précédentes) et l’élève réalise une rotation du corps. MI- projection horizontale du mouvement perçu, PMI - intégration dans le temps du mouvement perçu, MO - sortie motrice. - 172 - Chapitre 6 Une architecture minimale pour l’apprentissage par imitation rotation de la tête rotation du corps élève la trajectoire du professeur Figure 6-13. Exemple d’une situation typique de poursuite. 6.1.2 Exemple d’apprentissage d’une séquence Au départ de l’expérience, nous considérons que l’orientation du robot élève est au ”0” degré (orientation de référence). Le robot élève n’essaie pas volontairement d’apprendre à imiter un humain ou un autre robot. Il apprend seulement à reproduire ses propres séquences d’actions induites par le comportement réflexe de suivi. Après l’apprentissage d’un certain nombre de séquences, nous supposons que l’activation d’une motivation interne, ou la détection d’un signal externe spécifique déclenche la reproduction d’une séquence particulière en considérant l’orientation de départ du corps comme l’orientation de référence (comme pour des pas de danse par exemple). Si le robot élève réalise un comportement (A) et qu’après un certain intervalle de temps il ne reçoit aucune récompense, il peut décider qu’il en a assez de reproduire ce comportement et changer de comportement. L’état de cette variable peut être modifié grâce à un signal de renforcement direct ou être le résultat d’un autre calcul neuronal. Par exemple, la variable interne qui module le comportement du robot est dans notre cas directement reliée aux capteurs infra rouges qui sont situés tout autour du robot et qui permettent de mesurer la proximité d’un obstacle. En touchant l’un de ces capteurs, l’état de la variable interne se trouve modifié et déclenche le comportement associé avec le type de contact détecté. Ce type d’interactions avec le robot peut être vu comme une forme primitive de communication (un contact à un endroit donné du ”corps” du robot acquérant une signification particulière). L’architecture globale du système est illustrée dans la figure 6-14 : Cette architecture est une superposition des architectures déjà présentées : celle de - 173 - Section 6.1 Architecture pour apprendre l’aspect temporel d’une trajectoire Motivations Batterie de neurones (DG) d dt t Bloc derivateur (EC) Bloc de prediction (CA3) CCD Entrees (DM) PMI (rotation tete) Sortie motrice (MO) (rotation corps) liens de 1 à 1 liens de 1 à tous Figure 6-14. Représentation simplifiée de l’architecture PerAc permettant de combiner mécanisme réflexe de suivi et apprentissage de séquence. CCD - caméra CCD, M - Motivations, DM - projection horizontale du mouvement perçu, MO - sortie motrice groupe compétitif du type ”Winner Take All”, DG - carte de neurones de type G (batterie de cellules à réponse retardées), EC - carte de neurones de type D (dérivateur), CA3 - carte de neurones de type P (prédiction), PMI - intégration du mouvement perçu dans le temps. proto-imitation (voir figure 6-10) et celle d’apprentissage d’une séquence (voir figure 526). Nous décrivons maintenant, étape par étape, l’activation et l’apprentissage des différentes composantes du système quand un professeur humain réalise pour le robot une trajectoire en zigzag. Pour plus de clarté, nous supposons que le groupe de dérivation temporelle (EC dans la figure 6-14) reçoit une séquence de formes élémentaires tels que ”continuer tout droit dans cette direction”, ”tourner à droite de 90 degrés et aller tout droit”... du groupe correspondant à la sortie motrice (MO). Pour apprendre la trajectoire en zigzag (voir figure 6-15), nous considérerons que le robot élève doit apprendre le timing des transitions entre deux orientations, c’est-à-dire la transition d’une direction 1 à une direction 2 et la transition d’un direction 2 vers la direction 1. Pour simplifier, nous parlerons des formes 1 et 2. Au début de l’apprentissage de chaque comportement, le “professeur” touche un capteur infrarouge particulier qui détermine l’activation d’une motivation (M dans la figure 6-14). Le robot commence à avancer, en considérant que son orientation est l’orientation de référence. En même temps, la forme 1 est activée - 174 - Chapitre 6 Une architecture minimale pour l’apprentissage par imitation par la sortie motrice (MO dans la figure 6-14). Lorsque la forme 1 est activée au niveau du groupe moteur (MO), les neurones correspondant de EC perçoivent une variation et déclenchent les neurones du banc de filtre correspondant (DG) et la sortie est envoyée au groupe de prédiction (CA3). Après un certain temps, la détection d’un changement d’orientation détermine l’activation de la forme 2 en MO ce qui déclenche l’apprentissage de la transition de la forme 1 vers la forme 2. Après la fin de l’apprentissage, c’est-à-dire lorsque l’événement 1 est présenté à nouveau, la transition de 2 à 1 peut être apprise et permettre ainsi une réactivation cyclique de la séquence en absence de stimulation externe. A ce moment de la répétition de la séquence, la capacité prédictive de CA3 devient opérationnelle. La séquence ”1,2,1,2...” est maintenant apprise et peut être reproduite sans le professeur. L’activation de la forme 1 permet de déclencher la transition ”1 vers 2”, qui active la forme 2 qui déclenche la prédiction de la transition de ”2 vers 1” qui déclenche l’activation de la forme 1 et ainsi de suite. Une activation ultérieure du même capteur infrarouge sera suffisante au déclenchement de l’action correspondant à la forme 1. De plus, réaliser cette action procure de nouvelles entrées au système de prédiction qui de proche en proche conduit à la reproduction de la séquence et à son renforcement. Ainsi rejouer la séquence permet de la maintenir en ”mémoire” plus longtemps. Le mécanisme d’apprentissage nécessite seulement que le robot mime une ou deux fois la séquence complète de mouvements pour prédire les transitions (le système apprend le timing) et pour rejouer correctement la séquence. L’activation d’un autre capteur infra rouge permet l’apprentissage (de rejouer) d’un comportement différent. Dans une de nos expériences, le robot doit apprendre 3 séquences de mouvements: un carré, un zigzag et un mouvement complexe (voir figure 6-15). La trajectoire de l’élève n’est évidemment pas exactement celle de son professeur. L’échantillonnage des mouvements avec une grande constante de temps et les limitations de la caméra CCD sont les sources principales de cette sorte de ”bruit”. Le bruit est supprimé en utilisant le mécanisme de filtrage actif décrit dans la section 6.1.1.2. Les trajectoires apprises, c’est-à-dire les trajectoire réalisées par le robot élève après la période d’apprentissage sont très proches de la trajectoire du professeur. Les erreurs sont inférieures à que 10% en orientation et/ou en distance (voir figure 6-15 (a) et (b)). Nous avons appris a notre élève un trajectoire plus “complique” (voir figure 6-16 (a)). Celui-ci l’a reproduit dans une autre pièce avec une orientation de départ différente (voir figure 6-16 (b)). - 175 - Section 6.1 Architecture pour apprendre l’aspect temporel d’une trajectoire Sud porte armoire caisse table étagères La trajectoire du suivi La trajectoire du professeur caisse chaise 5.4m Ouest station Est La trajectoire reproduite table table table station chaise table planches caisse fenetre 7.2m Nord Sud porte armoire caisse table étagères La trajectoire du suivi La trajectoire du professeur Est caisse chaise 5.4m Ouest station table Reproduction de la trajectoire apprise table table station chaise table planches caisse fenetre 7.2m Nord Figure 6-15. 2 trajectoires apprises durant la même expérience robotique par notre robot. La reproduction d’une séquence donnée est déclenchée lorsque l’utilisateur touche le corps du robot à un endroit précis (mécanisme de communication simple). - 176 - Chapitre 6 Une architecture minimale pour l’apprentissage par imitation Sud porte armoire caisse table étagères La trajectoire du suivi La trajectoire du professeur Est caisse chaise 5.4m Ouest station table table table station chaise table planches caisse fenetre 7.2m Nord Sud fenetre table porte porte Reproduction de la trajectoire apprise Est 8.7m Ouest table porte 12.5m Nord Figure 6-16. (a) La trajectoire apprise dans la salle “pongo”. (b) La trajectoire reproduite dans la salle “courrier” (transmission radio avec la station de travail “pongo” contrôlant le robot. - 177 - Section 6.2 6.2 Apprendre à reconnaı̂tre le “professeur” Apprendre à reconnaı̂tre le “professeur” L’architecture d’apprentissage par imitation que nous avons présentée utilise le mouvement pour suivre le professeur. Mais nous pouvons nous demander : que fera notre “élève” si son professeur s’est arrêté, ou qu’il est occulté par un autre objet? Que se passe-t-il si le professeur franchit une porte? La réponse est immédiate : notre “élève” ne peut pas continuer à suivre son “professer” et donc le processus de proto-imitation est interrompu. Une solution pour ce problème est de doter l’élève d’un mécanisme permettant d’identifier le professeur. Le principe de notre architecture est simple : en partant de l’image acquise par la caméra (pour la détection du mouvement) l’élève détermine la position de son professeur et va la fusionner avec la position obtenue par le mécanisme de détection du mouvement (voir figure 6-17). L’utilisation des champs neuronaux pour le contrôle moteur prend ici toute son importance. Vision locale Reconnaissance visuelle Reconnaissance du professeur Perception du mouvement Actions Proto imitation Figure 6-17. Architecture pour l’apprentissage et la reconnaissance. Nous avons représenté uniquement les niveau proto-imitation et la reconnaissance du professeur. Dans cette section nous allons détailler un système de reconnaissance de la forme visuelle du professeur. Dans un premier temps, nous allons décrire le mécanisme utilisé pour la reconnaissance du professeur. Il s’agit d’un mécanisme basé sur l’utilisation d’un détecteur de points caractéristiques et sur un système neuronal de focalisation de l’attention. Ensuite, nous présenterons l’intégration de ce mécanisme de reconnaissance des formes et celui de détection du mouvement dans la même architecture. Afin de réduire le temps de boucle à une valeur acceptable pour une application de robotique mobile, nous montrerons comment paralléliser cette architecture sur une réseau de station de travail. Enfin, nous présenterons quelques résultats des expériences effectuées avec l’architecture globale. 6.2.1 Mécanisme de focalisation de l’attention Dans la littérature scientifique, nous trouvons une multitude de mécanismes de reconnaissance d’objets (voir [35] pour une synthèse). Pour identifier les objets dans une image, - 178 - Chapitre 6 Une architecture minimale pour l’apprentissage par imitation nous devons définir des attributs et des primitives pertinentes. Parmi les choix possibles, nous avons utilisé les points caractéristiques (parfois nommées points anguleux, coins ou points d’intérêt). Mais comment faire une sélection parmi tous les points caractéristiques d’une image? Quel critère pouvons-nous utiliser? Afin de répondre à ces questions, nous avons introduit un mécanisme neuronal de focalisation de l’attention qui détecte les points caractéristiques dans une image et qui réalise un ordonnancement des points selon leur intensité en utilisant un balayage successif de tous les points caractéristiques. Ce mécanisme est en adéquation avec les données neurobiologiques : le balayage séquentiel des points intéressants dans une image a été observé chez les singes et les humains [142]. La figure 6-18 illustre l’architecture globale de ce mécanisme : répéter N fois pour N points au maximum reset tampon image d’entree image du gradient calcul des points caractéristiques calcul du gradient Acquisition image carte de points caractéristiques carte WTA étape algorithmique ou neuronale liens de 1 vers 1 excitateurs liens de 1 vers 1 inhibiteurs Figure 6-18. Schéma de l’architecture du mécanisme neuronal de focalisation de l’attention. La première étape consiste à calculer la norme gradient de l’image d’entrée. Nous utilisons un filtre de Deriche [56, 57] réalisé dans une implantation logicielle avec des filtres mono-dimensionnels récursifs [51] dont l’équation est : y[n] = (1 − α) · x[n] + α · y[n − 1] (1) avec y[n] la sortie à l’instant n, x[n] l’entrée et α une constante. Le résultat du calcul de la norme du gradient est nommée l’image du gradient (voir figure 6-18). Nous avons préféré cette technique à une approche purement neuronale pour des raisons de temps d’exécution (les résultats étant de qualité équivalente) [46]. L’image du gradient est convoluée avec une fonction de type chapeau mexicain inversée -qui représente la forme du réponse d’une cellule centre-OFF, inhibition au centre, excitation dans un voisinage plus large (voir figure 6-19 (a))- dont l’équation est : 2 2 2 − x +y − x +y 1 1 2ρ2 2ρ2 1 2 G(x, y) = G1 (x, y) − G2 (x, y) = .e .e − 2 2 2πρ1 2πρ2 - 179 - 2 (2) Section 6.2 Apprendre à reconnaı̂tre le “professeur” avec x, y ∈ [−P, P ], P, ρ1 , ρ2 constante. L’opération de convolution nous permet d’avoir un seul maximum dans une région dont la taille est fixée par la taille du filtre DOG. Le résultat obtenu est transféré sur une carte neuronale, que nous appelons la carte des points caractéristiques (voir figure 6-18) et dont la taille est la même que celle du l’image de gradient. A titre d’exemple, la figure 6-19 (b) présente l’image de gradient sur laquelle nous avons superposés les points caractéristiques détectés sur la première image de la séquence t N 270 20 (voir figure 4-3). Coupe dans la forme du masque 1 0 00 011 1 00 11 0.01 0.005 0 −0.005 −0.01 −0.015 −0.02 −15 −10 −5 0 5 10 15 Figure 6-19. (a) La forme du DOG utilisé pour l’extraction de points caractéristiques (P = 13, ρ1 = 1.7, ρ2 = 2.1). (b) La norme du gradient et les points caractéristiques le plus actifs (le croix entoures d’une cercle) superposées avec α = 0.98. L’image de départ c’est la première image de la séquence t N 270 20 (voir figure 4-3). On définit qu’un point est d’autant plus intéressant qu’il est associé à une forte courbure et que le gradient est localement fort. Ce deux critères nous permettent d’introduire une relation d’ordre et de classer les points caractéristiques. Pour avoir une focalisation de l’attention, le système doit être capable d’explorer l’image (la balayer) et de sélectionner les points caractéristiques les plus intéressants. Cette sélection des points caractéristiques doit se faire dans l’ordre décroissant des intensités associées à chaque point (ordre de pertinence). Pour éliminer la possibilité qu’un point déjà sélectionné ne soit à nouveau sélectionné au cours du même balayage, nous avons employé le mécanisme neuronal présenté sur la figure 6-18. Une carte de neurones WTA de même taille que celle des points caractéristiques a pour entrée la carte des points caractéristiques (liaisons de 1 vers 1 entre les neurones). Les sorties de chaque neurone sont renvoyées à l’entrée, via une liaison inhibitrice avec une constante de temps assez longue (tampon). L’activation d’un neurone sur le WTA, provoquera son inhibition future. Ainsi l’inhibition permet d’empêcher la sélection des neurones précédemment activés et de choisir le prochain plus fort point caractéristique. L’abscisse et l’ordonnée du point sélectionné dans l’image est obtenu en faisant une projection de la carte WTA suivant les x ou suivant les y. Ceci est réalisé de manière neuronale en connectant de manière adéquate des neurones sommateurs comme présenté sur la figure 6-20. - 180 - Chapitre 6 Une architecture minimale pour l’apprentissage par imitation carte projection suivant y Σ Σ Σ Σ carte WTA . . . . . . . . . . .. . . Σ Σ Σ Σ Σ Σ . Σ Σ . Σ carte projection suivant x Figure 6-20. Projection suivant x et suivant y de la position du point de focalisation. Le “reset” du tampon (voir figure 6-18) permet à chaque nouvelle acquisition d’image d’effacer la mémoire des inhibitions. La réalisation de ce mécanisme s’appuie sur des travaux réalisés par notre équipe [64, 119, 67, 108, 72, 68] où ce dispositif est intégré dans des mécanismes de navigation et de classification d’objets. Par rapport aux autres mécanismes de même type, nous avons choisis d’appliquer le filtre DOG sur l’image de la norme du gradient, plutôt que de travailler sur l’image contour. En effet, le seuillage pour obtenir l’image binarisée des contours a tendance à trop limiter l’information et risque de donner de mauvaises détections de contours. Ce modèle de focalisation est très simpliste mais il est facilement réalisable avec un coup de calcul relativement bas. Il existe néanmoins des modèles plus sophistiqués (massivement parallèles) qui peuvent rendre compte des mécanismes de “pop-out” [189, 190] ou de recherche attentionelle permettant de trouver plus rapidement un objet particulier. Mais l’étude de ces mécanismes sort du cadre de nos travaux. 6.2.2 Mécanisme d’apprentissage de vue locales Nous avons présenté dans la section précédente un mécanisme permettant la focalisation de l’attention vers les point “intéressants” d’une image et la récupération de leurs coordonnées. Si nous faisons la supposition que les objets intéressants se trouvent dans le voisinage des points caractéristiques, alors l’étape suivante devient l’apprentissage du voisinage de chaque point caractéristique. Par la suite, nous nommons ce voisinage vue locale. Les études sur la projection des images visuelles dans le cortex cérébral [170] ont montré que le nerf optique effectuait une représentation de l’image rétinienne dans un espace polaire. Utilisant cette hypothèse, nous avons utilisé une transformation en coordonnées polaires (log(ρ), θ), par rapport à son centre, de la vue locale. Nous avons utilisé les - 181 - Section 6.2 Apprendre à reconnaı̂tre le “professeur” équations suivantes : q (x − x0 )2 + (y − y)2 (3) y − y0 (4) θ = arctan x − x0 avec x0 , y0 les coordonnées du centre de la vue locale qui coı̈ncident avec celles du point caractéristique. L’utilisation de cette transformation permet au système d’avoir une tolérance par rapport aux rotations et, dans une moindre mesure, à un changement d’échelle. Une fois focalisé sur un point caractéristique et obtenues ses coordonnées cartésiennes, le système extrait une “imagette” (figure 6-21 (b)). Cette imagette constitue un “objet” séparé qui correspond à une transformation (log (ρ) , θ) de la vue locale, équivalente à la projection rétinotopique de la rétine sur le cortex. Pour réduire les effets de la transformation (log(ρ), θ) [64], nous définissons une zone aveugle autour du point caractéristique (voir figure 6-21 (a)). ρ= Y y zone de vue zone aveugle point caractéristique r R log-polar y0 x x0 X Figure 6-21. (a) Définition des zones actives et inactives. (b) L’image du gradient, la sélection d’une vue locale et de l’imagette associée après la transformée log-polaire autour du point de focalisation. Pour réduire les temps d’exécution, les formes analogiques sont apprises par un WTA à seuil permettant un apprentissage en ligne (version simplifiée de la carte PTM). L’architecture globale du mécanisme d’apprentissage des vue locales est illustrée dans la figure 6-22. L’apprentissage sur le WTA (groupe Sortie Visuelle–VO sur la figure 6-22) est modulé par un paramètre de vigilance dont la fonction est semblable à celle d’ART. Une valeur grande de la vigilance détermine l’apprentissage d’une imagette tandis que une petite valeur inhibe l’apprentissage. La modulation de la vigilance peut être déterminée par des motivations extérieures à ce mécanisme (il faut apprendre ou non ce imagette) dont la choix sera déterminé plus loin. Pour l’instant, nous considérons qu’à la sortie du VO on a une réponse correspondant à un niveau de reconnaissance d’une vue locale. - 182 - Chapitre 6 Une architecture minimale pour l’apprentissage par imitation repeter N fois pour N points carateristiques au maximum Mecanisme de focalisation de l’attention Acquisition image Position Vigilence image d’entree Extraction de la vue locale Transformation retinopique imagette VO (WTA) étape algorithmique ou neuronale liens de 1 vers tous Figure 6-22. Aperçu de l’architecture d’apprentissage des vues locales. 6.2.3 Intégration des architectures La prochaine étape consiste à associer une vue locale à l’action à exécuter (suivre ou ne pas suivre, groupe Sortie Motrice–AO sur la figure 6-23). Nous avons vu que si notre élève reçoit une image, il peut trouver les points caractéristiques et apprendre les vues locales qui correspondent aux points caractéristiques les plus intéressants. La dernière étape consiste à construire des ordres moteur qui permettent à notre robot de se diriger vers le point caractéristique le plus intéressant. Pour extraire les coordonnées cartésiennes de l’imagette gagnante associée à l’action effectuée (AO), nous utilisons le mécanisme suivant : pendant le balayage de points caractéristiques par le système de focalisation, nous comparons la valeur de la sortie de AO (une mesure de la reconnaissance d’une vue locale associée au fait qu’elle soit pertinente pour l’action considérée) avec une valeur qui correspond à la meilleure vue locale reconnue pour une action quelconque (pour chaque nouvelle image acquise cette valeur est remise à zéro). Si la valeur de la reconnaissance au niveau de AO est supérieure à cette valeur, c’est-à-dire si la reconnaissance d’une vue locale est meilleure que les précédentes et associée à une action, alors nous mémorisons la position du point caractéristique associé à cette vue locale et mémorisons aussi le niveau d’activation dans AO associé (groupe max sur la figure 6-23). A la fin du balayage, le neurone lié au mouvement choisi est activé au niveau de AO de manière à permettre l’apprentissage de la bonne association entre l’imagette reconnue et l’action à effectuer (suivre ou ne pas suivre). Un signal de renforcement dont le choix sera présenté plus loin, contrôle le paramètre de vigilance du groupe VO et module l’apprentissage des connexions entre VO et AO. Le mouvement à exécuter est obtenu par une translation des coordonnées du point caractéristique dans les coordonnées égocentriques du robot. Cette translation est effectuée à l’aide des informations fournies par une boussole ou par d’autres informations sur l’orientation du - 183 - Section 6.2 Apprendre à reconnaı̂tre le “professeur” position B1 boussole AO (WTA) Max Tampon mouvement Tampon VO vue locale Figure 6-23. Aperçu du mécanisme d’association d’un mouvement à la meilleure vue locale reconnue. Le bloque B1 est itéré sur l’ensemble des points de focalisation possibles. robot. Pour systématiser, nous illustrons sur la figure suivante (6-24) l’architecture qui permet la reconnaissance de vues locales : Vision locale Reconnaissance visuelle Actions signal de renforcement Figure 6-24. L’architecture globale qui permet l’apprentissage de vue locales. Notre système peut apprendre des points caractéristiques, mais comment savoir quels sont les points caractéristiques à apprendre? Afin de pouvoir apprendre la forme visuelle du professeur, il faut forcément apprendre des vues locales associées au professeur. Mais notre système n’a pas une connaissance a priori sur l’apparence visuelle du professeur. En plus, il ne sait pas si le “professeur” se trouve dans son champ de vision. La seule “information” dont notre système dispose est qu’il doit se focaliser sur les points caractéristiques et, implicitement, que le “professeur” pourrait avoir des points caractéristiques. Afin d’“aider” notre système à apprendre les caractéristiques visuelles du “professeur” nous devons introduire d’autres informations. Nous pouvons introduire des information a priori sur la forme ou la couleur du professeur (ex. tout rectangle blanc) ou bien d’utiliser un apprentissage supervisé (ex. pour chaque point de focalisation un opérateur indiquera s’il s’agit du professeur ou non). Mais nous voudrions réaliser un système qui doit apprendre d’une manière autonome! Au lieu de chercher d’autres informations, nous observons que nous en avons déjà une : le mouvement. Notre système de reconnaissance de formes fonctionne en parallèle avec le système de détection du mouvement (voir figure 6-17). Ainsi, il apparaı̂t très pertinent d’utiliser l’information de mouvement pour moduler l’apprentissage et générer le signal de renforcement. Vu le protocole d’expérimentation, nous savons que le professeur ou les - 184 - Chapitre 6 Une architecture minimale pour l’apprentissage par imitation professeurs peuvent se trouver dans les zones de mouvement détectées. Cette information est pertinente, donc nous allons l’utiliser! En plus, elle est déjà calculée dans notre architecture, donc on peut l’utiliser sans consommer de ressources supplémentaires. Ainsi, l’architecture de notre système devient : Vision locale Perception du mouvement Reconnaissance visuelle Actions signal de renforcement Figure 6-25. L’architecture globale qui permet l’apprentissage de vue locales. Supposons que le système de reconnaissance de forme reçoive en même temps que l’image acquise, l’image du mouvement associée qui contient une description des zones où il existe du mouvement. Les zones en mouvement permettent d’“aider” le système de focalisation afin que celui-ci se focalise d’abord sur les points caractéristique associés aux zones en mouvement : il suffit d’inhiber tous les points qui ne se trouvent pas dans ces zones. L’existence du mouvement nous assure l’existence de professeurs potentiels. Ceci nous permet de moduler l’apprentissage : s’il y a des zones en mouvement, alors on augmente la vigilance et on apprend des vue locales. Par contre, s’il n’y a pas de mouvement dans l’image, alors la vigilance sera diminuée afin d’empêcher l’apprentissage. L’association entre le VO est la AO est faite de la même manière : si le point caractéristique correspondant à la meilleur vue locale reconnue se trouve dans la zone où il existe mouvement, alors l’association VO–AO est renforcé. Si, par contre, le neurone de VO représente une vue locale qui se trouve en dehors des zones de mouvement, alors on désapprend cette association. De cette manière, si une vue locale a été observée longtemps dans la zone de mouvement, alors le lien VO-AO sera très renforcé. 6.2.4 Parallélisation de l’architecture L’intégration du mécanisme de reconnaissance du professeur et celui de détection du mouvement est illustrée dans la figure 6-26. Nous observons que l’architecture globale comporte 2 voies de traitement de l’information visuelle : une pour l’information sur la forme et l’autre pour l’information de mouvement. Mais le temps de calcul pour la reconnaissance de forme est très long par rapport à celui de la détection du mouvement. Il nous a été impossible de faire tourner sur le même ordinateur une architecture comprenant à la fois la détection du mouvement et la reconnaissance des formes liées au professeur2 tout en gardant un aspect de temps réel. Ainsi, nous avons décidé de paralléliser notre architecture : nous allons exécuter sur des 2 Cette séparation des tâches l’on retrouve dans le cerveau (voir section 3.2). Par ailleurs, dans le - 185 - Section 6.2 Apprendre à reconnaı̂tre le “professeur” Reconnaissance du professeur Vision locale Reconnaissance visuelle Actions Mouvement Perception du mouvement Actions Proto imitation Figure 6-26. Intégration des deux systèmes : proto-imitation et reconnaissance du professeur. machines différentes chacun des traitements. Nous avons utilisé la bibliothèque de calcul parallèle Parallel Calcul Machine (PVM) développée à l’Université Carnegie Mellon [74]. Mais la parallélisation des traitements a soulevé plusieurs problèmes : comment intégrer les réponses des deux systèmes? comment assurer une synchronisation entre les entrées et les sorties? Après une étude préliminaire et différents tests, nous avons choisi une solution3 qui permet de paralléliser efficacement le calcul [155]. Dans la figure 6-27 nous illustrons l’architecture utilisée. Nous supposons que l’information de mouvement doit être traitée sans attendre l’information de reconnaissance visuelle associée. Par exemple, si l’image acquise à l’instant t0 génère une réponse motrice M issue de l’information du mouvement à t1 et une réponse motrice R issue de l’information de reconnaissance à t2 > t1 , alors la commande motrice M doit être exécutée à l’instant t1 sans attendre la commande motrice R. Si la réponse fournie par la détection du mouvement a une cohérence temporelle, alors elle se renforcera avec réponse fourni par le mécanisme de reconnaissance des formes. Évidemment, le décalage entre les deux réponses ne doit pas être trop grand pour ne pas fausser complètement les actions (par exemple “trouver” la cible à la position qu’elle occupait il y a 2 minutes!). Nous avons mesuré le temps d’exécution pour 3 expériences : l’exécution sur la même machine de l’architecture de suivi, l’exécution sur la même machine de l’architecture globale (suivi et reconnaissance de forme) sans parallélisation et l’exécution de l’architecture sur 2 machines différentes avec la parallélisation de taches. Une synthèse des résultats est présentée dans le tableau 1 : Comme prévu, l’architecture parallélisée est exécutée plus rapidement que celle cerveau, les deux traitements sont fait”exécutés” en parallèle et le temps du traitement des informations liées à la forme est lui aussi plus grand que celui du traitement du mouvement. 3 En annexe B nous présentons les détails de la solution retenue. - 186 - Chapitre 6 Une architecture minimale pour l’apprentissage par imitation Tache 2 Traitement (T2) R_b_ack E_ack Tache 1 Traitement (T1) Perception E_ack Action R_nonb_ack Environnement Figure 6-27. Parallélisation de traitements. E ack-émision avec accusé de réception, R b acr-reception bloquant avec accusé de réception, R nonb ack-reception non-bloquante accusé de réception. La tache 1 (suivi par proto-imitation) réalise l’acquisition de l’image et la détection du mouvement. Un processus d’émission avec accusé de réception (E ack) envoie vers la tache 2 (la reconnaissance de forme du professeur) l’image perçue et l’image du mouvement. Après la réception de deux images, la tache 2 démarre son traitement (T2). Après avoir fait son traitement, elle envoie le résultat vers la tache 1 et attend d’autres images (r b ack). Après l’envoi des images, la tache 1 exécute son traitement (T1). Si il y un résultat provenant de la tache 2 (R nonb ack), alors nous calculons un résultat global. Sinon on exécute immédiatement le résultat issu de la tache 1. Temps de boucle (secondes) 1 machine 2 machines Proto-imitation 3.06 Proto-imitation + reconnaissance du professeur 9.38 Proto-imitation + reconnaissance du professeur 3.97 Tableau 1. Le temps d’exécution pour différentes implantation de l’architecture. La moyenne est faite sur 20 expériences sur des machines SUN SPARC Ultra 10, connectées sur une réseaux Ethernet 100 Mbit. séquentielle. En moyenne, la tache 2 s’exécute plus rapidement que la tache 1, principalement à cause du temps “dépensé” dans l’acquisition des images et dans les communication entre le robot et la station de travail. Par exemple, sur le 3.06 secondes de la tache de suivi, on dépense 2.1 secondes pour effectuer un mouvement et pour lire la boussole (voir tableau 3). Le choix de champs neuronaux pour le contrôle moteur s’avére gagnant : sans aucune difficulté nous pouvons intégrer sur un seul champ neuronal les propositions d’actions issues des deux voies de traitement. Les propriétés mathématiques des champs neuronaux assurent une sommation des réponses sans le développement d’une algèbre spéciale 4 . Par 4 Dans le systèmes neuronaux on se posé toujours des questions sur les opérations qu’on effectue sur de représentations de l’information. - 187 - Section 6.2 Apprendre à reconnaı̂tre le “professeur” Tache exécuté Temps d’exécution (secondes) Proto-imitation (Tache 1, fig. 6-27) 3.97 Acquisition d’image (Perception, fig. 6-27) 1.47 Communications PVM en Tache 1, fig. 6-27) 0.03 Détection mouvement (Traitement T1, fig. 6-27) 2.47 Reconnaissance du professeur (Tache 2, fig. 6-27) 2.81 Communications PVM en Tache 2, fig. 6-27) 0.32 Détection du professeur (Traitement T2, fig. 6-27) 2.49 Tableau 2. Les temps d’exécution des différentes composantes de l’architecture parallélisé (voir figure 6-27). La moyenne est faite sur 20 expériences sur des machines SUN SPARC Ultra 10, connectées sur une réseaux Ethernet 100 Mbit (réseau partagé avec d’autres utilisateurs ...) . ailleurs, l’utilisation des champs neuronaux nous permet “d’éliminer” l’aspect temporel de l’intégration de réponses. L’existence d’un délai entre l’activation des entrées provenant de la tache 1 et de la tache 3 (voir figure 6-27) n’influence pas l’activité sur le champ neuronal. Tache exécuté Temps MOYEN d’exécution Proto-imitation 3.061709 Acquisition d’image 0.350648 Détection mouvement 0.034016 Exécution mouvement 0.935893 Lecture boussole 1.237921 MIN 1.850449 0.288789 0.026865 0.086337 1.186834 MAX 4.199498 1.015072 0.050903 2.029244 1.334162 Tableau 3. Répartition des temps d’exécution pour la tache 1 (voir figure 6-27). Le temps moyens ont été présentés dans le tableau 1. A cause de l’aspect non déterministe d’Unix et du fait que les ordinateurs sont connectées sur le réseau Ethernet du laboratoire, les temps d’exécution varient beaucoup (il faudrait utiliser un système d’exploitation dédié temps réel5 et un réseau Ethernet séparé pour accroı̂tre les performances). Nous illustrons cette variation dans tableau 3 où nous présentons la moyenne, le minimum et le maximum des temps d’exécution de certaines tâches. 6.2.5 Résultats Afin de tester l’intégration des deux architectures, nous avons effectué plusieurs expériences. Toutes les expériences se déroulent dans une pièce de 38m2 (voir figure 6-28). L’architecture est “distribuée” sur deux machines Ultra Sparc 10 connectées sur 5 QNX, RT - 188 - Chapitre 6 Une architecture minimale pour l’apprentissage par imitation une réseaux Ethernet à 100Mb (plus de 40 machines sur la même réseau, une partie des calculs liés à des entrées/sorties se fait aussi sur le robot). La première expérience a tenté de valider la reconnaissance du professeur. Ainsi, nous avons indiqué manuellement, sur une seule image, quel point caractéristique correspond au professeur (celui ci étant à l’arrêt). Ensuite, nous avons mis le robot dans plusieurs endroits de la pièce et nous avons regardé sa trajectoire. La figure 6-28 illustre quelques trajectoires : Nous avons observé que l’élève arrive à reconnaı̂tre son professeur dans la Sud porte armoire caisse table étagères robot professeur chaise robot élève table caisse robot élève 5.4m Ouest station D C B Est A robot élève table robot élève table station chaise table planches caisse fenetre 7.2m Nord Figure 6-28. Aperçu de certaines expériences de reconnaissance de la forme du professeur. majorité des cas (trajectoires A,B,C sur la figure 6-28). Mais le système de reconnaissance n’est pas infaillible (trajectoire D sur la figure 6-28). Dans ce cas, l’apparence visuelle du professeur est suffisamment différente de celle apprise pour qu’il ne puisse pas être reconnu. L’expérience suivante consiste à apprendre à reconnaı̂tre le professeur. Nous avons donné l’ordre au robot professeur d’avancer pendant quelques secondes et de s’arrêter après. L’élève a appris quelques vue locales du professeur pendant que celui-ci était en mouvement. Après l’arrêt du professeur, il continue son déplacement vers le professeur (trajectoire A sur la figure 6-29). Pour vérifier que le robot a bien appris la forme du professeur, nous avons déplacé le robot afin qu’il voit le professeur sous un autre angle. De cette manière, nous pouvons vérifier que la trajectoire de notre robot n’est pas causée par l’effet de mémoire des champs - 189 - Section 6.2 Apprendre à reconnaı̂tre le “professeur” neuronaux mais qu’elle est bien due à la reconnaissance du professeur. Comme prévu, notre élève c’est dirigé vers le professeur (trajectoire B sur la figure 6-29). Sud porte armoire caisse table étagères robot professeur A trajectoire du professeur Est Ouest station caisse chaise 5.4m robot élève B table table robot élève table station chaise table planches caisse fenetre 7.2m Nord Figure 6-29. Aperçu de 2 expériences de reconnaissance de la forme du professeur. Afin de tester la robustesse du mécanisme de reconnaissance intégré, nous avons appris à notre système 4 vues locales du “professeur”. Chaque vue locale a été apprise sur la première image d’une séquence. Nous avons utilisé 4 séquences à 400 images chacune et dans chaque séquence le professeur est en mouvement et présent dans chaque image de la séquence. Ensuite nous avons présenté toutes les images de 4 séquences (avec le professeur à différentes distances et orientations par rapport à l’élève). Nous avons réussi à obtenir un taux de reconnaissance du professeur, à des distances et orientations différentes, d’environ 65% ce qui est en concordance avec une autre étude de la robustesse du mécanisme de reconnaissance de formes utilisé [167]. Mais ce taux de reconnaissance n’est pas pénalisant pour notre architecture. Dans des conditions normales de suivi, la détection et l’apprentissage de la forme du professeur est faite pendant plus de 4 images. Ainsi le système apprend le professeur sur des orientations et à des distances différentes. Dans la figure 6-30 nous présentons quelques vue locales du professeur, reconnues par le mécanisme de reconnaissance de formes. On peut penser que le mécanisme de reconnaissance de formes peut remplacer celui de détection du mouvement après une calibration. Selon nous, les 2 mécanismes sont - 190 - Chapitre 6 Une architecture minimale pour l’apprentissage par imitation Figure 6-30. Le professeur a été reconnu sous des angles différentes. Vue de ce que voit le robot. La vue locale apprise corresponde à la première image (à gauche). complémentaires, et l’élimination d’un des deux empêche une évolution ultérieure de notre architecture. - 191 - Section 6.3 6.3 Conclusion Conclusion Dans ce chapitre nous avons présenté certains résultats obtenus pour l’apprentissage de séquences de mouvements. L’architecture développée intègre un mécanisme de poursuite visuelle et un mécanisme d’apprentissage des séquences. Les erreurs de perception du professeur nous conduit à introduire un 2ème degré de liberté dans notre architecture : le robot peut désormais tourner sa tête indépendamment de son corps. Les champs neuronaux permettent un contrôle très simple des 2 degrés de liberté (voir section 3.4). Grâce à ce découplage entre les mouvements de la tête et du corps, nous avons introduit un mécanisme de filtrage actif qui permet une meilleure perception. La parallélisation de l’architecture nous à permis d’avoir des temps de calcul “raisonnables” pour un robot mobile. Les champs neuronaux constituent un excellent outil pour la fusion des informations multimodales. Outre leurs propriétés mathématiques (bifurcation, stabilité, ...), ils permettent d’éliminer les problèmes dus à la cadence différente d’exécution de taches et à l’échantillonnage irrégulier des entrées. La prise en compte de la dynamique au niveau des cartes motrices rend moins cruciaux les problèmes de synchronisation entre processus de différents niveaux. Afin d’éliminer certains problèmes dans la perception du professeur, nous avons introduit un mécanisme de reconnaissance de la forme du professeur basé sur l’apprentissage de vues locales. Outre une bonne stabilité, ce mécanisme permet un classement en fonction d’intérêt des vue locales, tout en restant en adéquation avec les données neurobiologiques et psychophysiques. - 192 - Chapitre 7 Conclusions et Perspectives The real robots work into the real world in real time. Rainer Bischoff 7.1 Synthèse Dans ce travail, nous avons montré qu’une approche neuronale de l’apprentissage par imitation pouvait être employée pour contrôler un robot réellement autonome et donner des résultats intéressants. Au départ, nous avons utilisé notre architecture pour étudier des interactions robot/robot. Dans ces séries d’expériences, le but était d’étudier comment un robot élève pouvait apprendre à réaliser diverses trajectoires. L’élève était capable de suivre, d’apprendre et de prédire des changements de trajectoire afin de réaliser une sorte de proto-imitation. Un deuxième robot était utilisé comme professeur. Mais durant nos expériences, nous nous sommes aperçus que notre système pouvait être plus efficace avec un professeur humain. En effet, durant la phase d’apprentissage, nous avons constaté que des interactions bidirectionnelles se produisaient entre le professeur et l’élève sans que ce soit voulu de la part du professeur. Évidemment, le robot élève suit le professeur et apprend à associer la trajectoire avec un état interne mais en même temps le professeur ne peut s’empêcher d’adapter son comportement de manière à ce que l’élève n’ait pas trop de mal à le suivre (aide) et puisse reproduire correctement la trajectoire désirée. Le professeur regarde la trajectoire du robot et accroı̂t ou réduit sa vitesse pour permettre au robot élève de passer exactement par les différent segments de la bonne trajectoire. Le timing de l’activation des actions de l’élève est plus précis et la forme des trajectoires est meilleure car les ordres de rotation sont aussi plus précis. Ces interactions permettent en quelque sorte au professeur de spécifier ou ”d’insister” sur ce qu’il est important d’apprendre en marquant les différences et en réalisant en fait lui même un comportement que l’on peut considérer comme caricatural. Ce processus d’apprentissage itératif entre le professeur et l’élève montre à quel point les problèmes d’imitation sont liés à des problèmes de 193 Conclusion communication. Nous y reviendrons dans la partie consacrée aux perspectives. Interaction réflexe Interactions bidirectionnelles Figure 7-1. Les interactions bidirectionnelles entre un humain et un robot élève permettent un meilleur apprentissage (2ème cas) qu’une simple imitation au travers d’un processus “d’espionnage” (1er cas). Si l’on reprend point par point les apports de notre travail, le premier résultat majeur est d’avoir mis en évidence que l’apprentissage par imitation est possible sans que l’élève se rendre compte de l’existence du professeur. Notre mécanisme de proto-imitation détermine l’émergence d’un comportement permettant d’apprendre la séquence d’actions induite par le suivi non volontaire du professeur (la proto-imitation est la conséquence d’une limitation du mécanisme perceptif...). Le deuxième résultat majeur concerne la capacité de notre système d’apprentissage de séquences à prédire des événements et respecter la loi de Weber. L’aspect prédictif de notre modèle inspiré de l’hippocampe est très important car nous avons montré dans d’autres travaux [9] que l’incapacité à prédire peut être utilisée pour détecter de la nouveauté. La détection de nouveauté peut alors être utilisée comme signal de renforcement pour apprendre une tâche d’association sensori-motrice arbitraire (mécanisme de communication implicite lié à la capacité de prédiction du rythme d’une interaction). D’autre part, le respect par notre modèle de la loi de Weber traduit la nécessité de prendre en compte en psychologie et en robotique un des principes fondamentaux de la physique : le principe de l’incertitude. Son respect permet à notre robot de s’adapter aux incertitudes liées à la reproduction d’une tâche en fonction de sa durée (contexte de l’imitation d’un professeur imparfait c’est-à-dire reproduisant une séquence avec une précision qui dépend de la durée des événements élémentaires). - 194 - Chapitre 7 Le troisième aspect important de notre travail concerne le mécanisme permettant d’apprendre à reconnaı̂tre la forme du professeur. Ce mécanisme est basé sur l’extraction de points caractéristiques et sur la modulation de l’apprentissage de la forme du professeur par l’information de mouvement. Nous avons montré que l’information liée à la forme des objets (apparence du professeur) est très complémentaire de l’information liée au mouvement des objets. Le traitement de la forme (voie “quoi”) et du mouvement (voie “où”) sont faits en parallèle et la parallélisation de ce système de vision active ne pose pas problème particulier dès lors que l’on introduit les champs neuronaux dynamiques comme outil de sélection, de mémorisation et de fusion d’informations multimodales. Nous avons été surpris de l’étendu des services que les champs neuronaux ont pu nous rendre malgré les contraintes d’exécution ” temps réel ” que nous avions. Ainsi, le résultat peut-être le plus important a consisté à nous rendre compte que pour comprendre, modéliser et simuler les mécanismes d’imitation, il est nécessaire de prendre en compte des aspects qui peuvent sembler au premier abord très différents les uns des autres : vision, contrôle moteur, apprentissage de séquences... Nous avons étudié chaque problème séparément mais nous avons surtout montré que la prise en compte des interactions entre ces différents problèmes était primordiale pour obtenir un système réellement fonctionnel. Ainsi, nous n’avons pas cherché à améliorer spécifiquement une partie du système mais à progresser sur plusieurs fronts à la fois. La conséquence est que quasiment toutes les parties que nous avons développés pourraient être facilement améliorées pour accroı̂tre les performance de notre robot. Mais la conséquence la plus importante est surtout de montrer que l’imitation ne peut se réduire à l’étude d’un seul de ces mécanismes. Il s’agit bien au contraire d’une propriété globale reposant sur les interactions entre différents sous systèmes. Ainsi dans notre système, les contraintes sur la dynamique du contrôle moteur permettent d’éviter que le système ne perde sa cible trop rapidement si la reconnaissance visuelle du professeur n’est pas possible. De même, si la perception du mouvement est trop bruitée, l’identification sur une image de la forme du professeur peut suffire. Et enfin si aucun de ces systèmes ne fonctionne correctement mais que le robot a réussi à reconnaı̂tre le début de la séquence comportementale alors sa capacité à prédire la prochaine action à exécuter permettra d’attendre que des informations perceptuelles puis pertinentes ne deviennent disponibles. La complémentarité de ces sous-systèmes est utile pour un bon fonctionnement en phase d’imitation mais elle est primordiale pour l’apprentissage à imiter puisque pour apprendre à reconnaı̂tre le professeur il faut pouvoir le suivre et l’imiter correctement. Nous aboutissons à une contradiction sauf si l’on se rappelle que l’un de nos postulats de base est que la perception est fondamentalement ambiguë : ne pas être capable de différentier sa main de la main d’une autre personne est un bon moyen pour commencer à imiter ! - 195 - Conclusion 7.2 Perspectives Cette approche très incrémentale de l’apprentissage par imitation pourrait expliquer comment un animal peut apprendre à reconnaı̂tre un de ses congénères [47] et pourrait s’appliquer au problème d’apprendre à avoir conscience de soi même [55]: ceci est ”mon” bras car je peut prédire ce qu’il va faire! Notre travail appelle de nombreuses questions: dans notre cas le robot ne savait pas qu’il était en train d’imiter. Avons nous besoin de réaliser des robots qui comprennent réellement qu’ils sont entrain d’imiter? Quelles sont les modifications à apporter à la présente architecture? Les conclusions de ce travail nous ouvrent donc de nombreuses perspectives dans des champs très différents couvrant la philosophie, la modélisation en sciences cognitives et les Sciences pour l’Ingénieur. L’étude des différentes théories sur l’imitation mais surtout le problème de la distinction entre la ”vrai” imitation et toutes les autres formes d’interactions montrent qu’il y a matière à de nombreux travaux de recherche en robotique utilisant le stimulus enhancement ou les effets sociaux de rétroaction positive liés au mimétisme. En ce qui concerne la modélisation, nous avons vu dans notre système la nécessité d’un mécanisme de focalisation de l’attention dépendant de la perception du mouvement et de la forme des objets à analyser. Un déficit dans la capacité de focalisation pourrait expliquer certaines formes d’autisme (voir [162]). Les autopsies de personnes autistes ont en outre révélé des atteintes principalement au niveau de l’hippocampe et du cervelet ce qui pourrait concorder avec notre modèle d’apprentissage de séquences au niveau de l’hippocampe. Il est bien trop tôt pour tenter des tirer des conclusions de ces données mais le type de modèle que nous développons pourrait être un bon moyen de comprendre l’influence de ces différents sous-systèmes dans les syndromes liés à l’autisme: que se passe-t-il lorsqu’il y a un déficit en terme d’apprentissage de séquence ou de détection de nouveauté, ou au contraire lorsqu’il s’agit d’un déficit attentionel ? La perception du mouvement nous semble aussi un domaine dans lequel beaucoup de travail reste à faire (perception des mouvements par transparence). En effet, dans une scène réelle, l’image perçue est une convolution entre différents signaux (réflexions sur le sol, effets du soleil sur les objets...). La coopération dynamique entre reconnaissance, filtrage et connaissance du mouvement propre est nécessaire pour aboutir à de bonnes performances. L’utilisation de circuits spécialisés dans l’analyse du mouvement parait incontournable car l’augmentation de la fréquence d’échantillonnage permettra de relâcher les contraintes sur les autres parties du systèmes tout en améliorant la résolution spatiale du flot extrait et donc la qualité de l’image de flot résultante (surtout si l’on utilise un modèle de perception du flot dynamique tel que celui que nous avons proposé). De manière classique, deux formes d’apprentissage par imitation sont distinguées: apprendre au travers de l’imitation et apprendre à imiter. Nous avons déjà clairement situé notre travail dans le cadre du premier cas. Apprendre à imiter comprend en revanche 2 aspects que nous n’avons pas traités ici: quand imiter et comment imiter. - 196 - Chapitre 7 Prendre une décision à propos de quand imiter peut se faire grâce à des variables internes du système (c’est-à-dire des liens vers des motivations primaires). Par exemple, le robot peut décider par lui même d’imiter car aucune autre action n’est proposée. Concernant le problème de comment imiter, notre système ne connaı̂t qu’une seule manière d’imiter (le robot suit seulement le professeur - mécanisme réflexe de bas niveau). Il serait très intéressant de lui procurer d’autres moyens d’imiter. Un problème pertinent serait alors de trouver comment sélectionner un mécanisme d’imitation particulier en fonction de la situation externe ou en fonction de l’état des motivations. Par exemple, nous pourrions imaginer qu’au lieu d’apprendre une séquence de transitions de mouvements, le robot apprenne les lieux par lesquels le professeur est passé (associer un lieu avec un mouvement particulier). Dans le premier cas notre robot devrait reproduire une trajectoire relativement à son orientation et sa position de départ. Dans le deuxième cas, le robot devrait retourner aux différents lieux appris dans la pièce (reproduire le trajet en coordonnées absolues). Le problème de savoir quoi apprendre dans le contexte de l’imitation reste donc un vrai défi. A un autre niveau, il ne parait pas très compliqué de rajouter à notre robot un mécanisme lui permettant de se rendre compte qu’il est en train d’imiter. Supposons que l’élève arrive à attribuer une intention aux actions de son professeur (à partir des actions déjà observées, il peut prédire la suite et donc “prévoir” le but de celles-là). Une fois l’intention du professeur trouvée, l’élève peut la comparer avec ses propres intentions ou actions. Si les deux coı̈ncident, alors il peut en déduire qu’il est en train d’imiter. Nous observons que l’imitation doit pouvoir fusionner ou sélectionner une information parmi plusieurs: ce que l’élève est en train de faire, ce que le professeur est en train de faire, ce que l’élève doit faire, ... Les champs neuronaux auront là encore un rôle important à jouer. Il est intéressant de noter que des expériences liées au développement moteur du très jeune enfant tel que le test du ” A non B ” s’expliquent très bien par l’utilisation de champs neuronaux [180]. De même pour expliquer qu’un enfant regarde dans la bonne direction lorsqu’un objet disparaı̂t derrière un obstacle, il n’est pas nécessaire de faire l’hypothèse que l’enfant attribut à l’objet une notion d’agent. La compréhension apparente de la causalité peut provenir simplement de contraintes de continuité liées à l’emploie de champs neuronaux dynamiques au niveau du mécanisme de suivi de l’objet... Il devient donc important d’inscrire ce type de recherches à la fois dans une perspective développementale et dans une perspective sociale. Les liens entre imitation et développement devraient être étudiés plus en détails afin que les robots puissent apprendre d’abord à se créer des catégories motrices puis à les utiliser dans des jeux d’imitation plus complexes. Nous avons esquissé une telle approche en montrant comment notre robot pouvait apprendre à estimer la composante de rotation de son propre mouvement pour ensuite l’utiliser pour suivre un autre robot. Néanmoins on reste bien loin de catégories comportementales complexes telles que celles étudiées par Rizzolati avec les neurones miroir. Sur le plan interactions de groupe, l’imitation peut servir de mécanisme d’entraı̂nement et permettre à une population de prendre une décision pertinente (réactions circulaires de - 197 - Conclusion Piaget similaires au feedback positif des mécanismes de prise de décision). Mais l’imitation peut aussi servir de mécanisme de communication implicite (regards, émotions, synchronisation...) et acquérir un rôle social [138, 140]. En effet, vers 9 mois, un enfant devient capable d’imiter de manière intentionnelle. Probablement vers le même âge, l’enfant devient capable de se rendre compte qu’il est imité. Il développe alors des stratégies afin de tester son imitateur [126]. L’imitation intentionnelle coordonnée avec la sensibilité au fait d’être imité apparaı̂t peu après et conduit à la construction d’un système de communication [138]. Ce système de communication est à son apogée vers l’âge de 30 mois et il disparaı̂t avec la maı̂trise du langage. Cette forme de communication basée sur l’imitation a conduit à la réalisation d’études sur des enfants autistes ayant des déficiences verbales. Les résultats obtenus [139] ont montré que l’interaction imiter/être-imité améliore la communication non-imitative et l’attention vers autrui. Ces résultats sont en concordance avec des études cliniques [163]. Les enfants autistes sont tous capables de proto-imitation, mais il semble [1] qu’une partie d’entre eux ait des difficultés à exécuter et planifier des actions complexes. De même, une partie des enfants autistes, tout comme les nouveaux nés, ne développent pas de stratégies pour tester l’intention d’imiter de leur imitateur [138]. L’existence de la proto-imitation chez les enfants autistes a conduit au développement de programmes de recherche communs entre plusieurs disciplines auquel nous participons [9, 48]. On voit donc s’esquisser non pas seulement une utilisation de l’imitation pour l’apprentissage (ce qui était notre but principal) mais comme moyen de communication à part entière que l’on pourrait très facilement utiliser pour développer de nouveaux types d’interfaces Homme/Machine. - 198 - Annexe A Description du robot KOALA Tous nos expériences ont été réalises avec des robot KOALA, réalisés et commercialisés par K-Team (Laussane). Ils sont des robots de taille moyenne (voir figure A-1), dont les caractéristiques sont : 1. Processeur Motorola, 68331@22MHz avec 1 Mbyte RAM, 1 Mbyte mémoire Flash. 2. 16 senseurs en infrarouge. 3. 12 entrées digitales [5..12V], 4 sorties digitales [CMOS/TTL] en collecteur ouvert, 8 sorties digitales [12V/250mA/sortie], 6 entrées analogiques [CAN 10 bit sur un intervalle de 4.096V] 4. un liaison RS-232 à 9600/19200/32800 baud. 5. 2 moteur DC avec un codeur incrémental (environ 19 impulsions par mm d’avancement du robot). 6. accumulateurs rechargeables en NiCd ou NiMH. 7. autonomie de 3-4 heures. 8. taille de 32x30x20 cm, poids d’environ 3 kg. Sur le robot nous avons monte une plate-forme mobile, actionné par un servomoteur (voir figure A-2). Cette plate-forme a été monté pour permettre une rotation de ±90◦ autour de l’axe longitudinale du corps du robot. Sur cette plate-forme nous avons monte une caméra CCD réalisant ainsi un système avec deux degrées de liberté. Due aux ressemblances, voulus, avec la biologie, nous appelons, parfois, l’ensemble plate-forme mobile - caméra CCD, la tête du robot. Une carte dédié assure la transformation de niveaux des 8 sorties digitales dans une commande pour la tête du robot (c’est-à-dire le servomoteur). Le signal vidéo analogique fournit par la caméra CCD est transmis par radio (1.2GHz) vers un récepteur satellite. La sortie de ce récepteur est connecté à un ordinateur équipé 199 Annexe A Koala CCD Emetteur video Boussole modem radio senseur infrarouge Figure A-1. Aperçu du robot Koala utilisé. d’une carte d’acquisition des images. La transmission des informations/ordres entre le robot et l’ordinateur est faite à travers une paire des modems radio à 9600 baud. Le robot est aussi équipé de deux capteurs à l’effet Hall montes en quadrature qui nous permet de connaı̂tre l’orientation du robot Le deux capteurs forment une boussole dont la précision est de 5 degrées (après une calibration préalable). Boussole CCD servo moteur Modem radio senseur infrarouge Figure A-2. Aperçu du robot Koala utilisé. - 200 - Annexe A Koala Le robot est équipé avec 16 senseurs en infrarouge dont le niveau analogique peut être utilisé séparément, principalement pour des taches comportant l’évitement des obstacles. Un compilateur livré par K-Team permet de créer des “exécutables” téléchargeables dans la mémoire du robot. - 201 - Annexe A Koala - 202 - Annexe B PVM Nous présentons ici le teste intégral de l’article Parallelization of Neural Networks using PVM publie par Mathias Quoy, Sorin Moga, Philippe Gaussier et Arnaud Revel à l’EUROPVM 2000 [155].[2cm] Abstract We use Neural Networks (NN) in order to design control architectures for autonomous mobile robots. With PVM, it is possible to spawn different parts of a NN on different workstations. Specific message passing functions using PVM are included into the NN architecture. A graphical interface helps the user spawning the NN architecture and monitors the messages exchanged between the different subparts of the NN. The message passing mechanism is efficient for real time applications. We show an example of image processing used for robot control. B.1 Introduction Our research group develops architectures for the control of autonomous mobile robots. We take mainly inspiration from neurobiology for designing NN architectures. This work is based on a constructivist approach. We first build the architecture parts dealing with the inputs processing, and managing some low level behaviors (obstacle avoidance for instance). Like in Brooks subsumption [37], the system consists in a hierarchy of sensorymotor loops: from very fast low level sensory-motor loops (obstacle avoidance, sensor reading ...) to very time-consuming image analysis and planning procedures. In our system, data issued by these mechanisms are processed by higher level modules which may in return influence them. This architecture is integrated in the perception-action framework (Per-Ac [73]). It is composed of a reflex pathway and a learned pathway. Once learning has taken place, it may override the reflex mechanism. The inputs to the system are the image taken from a CCD camera, infra-red sensors and the direction of the 203 Annexe B PVM north given by a compass. Each of these inputs may be processed separately. Moreover, some time consuming image processing algorithms may also be performed in parallel. Using a set of workstations, it is clearly not interesting to parallelize the network at the neuron level (one workstation per neuron !), but rather in term of computational pathways (CP) being processed in parallel. Each CP corresponds to a functional part of the global NN architecture and may run on a different workstation. The exchange of information between CPs is most of the time asynchronous. We also want to minimize the number of messages exchanged. We use PVM 1 for spawning the CPs on the workstations and for the message passing libraries [74]. Using PVM has two interests. First, the architectures we have developed become bigger and bigger as the task being performed is more complex. So even if the computational power is increasing, we do not match the real-time needed for our robotic experiments. Second, brain computation follows different pathways in parallel and is also performed in different cortical areas. Thus, it is also interesting to preserve this parallelism in our simulations. PVM is also used at two different levels. First, we have developed specific communication functions integrated in the global architecture indicating the kind of information sent from one NN architecture to the other (Section 2). The specific message passing algorithms described may be used in any real time application, in particular when there is a huge amount of data to deal with. Second, a process manager has been developed. This manager helps the user choosing on which workstations to run the NN architectures, and monitors all message exchanges (Section 3). In section 4, we study the performances of a message passing mechanism used in a NN architecture controlling a mobile robot. This architecture enables a robot to go where it has detected movement in its image. B.2 Designing NN architectures We do not develop here how we construct the NN architecture for performing a particular task (indoor navigation for instance). This is the focus of numerous other papers [65, 154]. We will rather stress how PVM fits in our NN architecture. The design of a NN architecture is performed using a specific program called Leto. It has a visual interface where the user may choose between several different kinds of neurons and connect them together. Not all groups represent neurons. Some may perform specific algorithmical functions (displaying an image on screen, giving orders to the robot ...). Once designed, a Leto architecture may be saved and is run using another program called Promethe (see next section). So, it is possible to design different architectures dedicated to specific tasks. The problem is to exchange data between these different tasks. This is where PVM is used at this level. So we deal here with the design of modules that may be integrated in the NN architecture. These modules tell whom to send a message to, or who to receive a message from. 1 Current version used is PVM 3.4.3 for Solaris and Linux - 204 - Annexe B PVM We have coded specific message passing functions using the already existing PVM routines. Our functions are implemented as algorithmical groups in the architecture. There is basically one group sending data in one NN architecture and another receiving data in another NN architecture. The data sent is the neuron values. There may be several different NN architectures running in parallel. And there may be several different sending and receiving groups in each NN architecture. So we need to define where to send and from whom to receive. This is implemented through the definition of symbolic links which must be the same for the sender and the receiver. This symbolic link is coded on the name of the link arriving to a sender or receiving group. This name is composed of two parts: the symbolic name and a number corresponding to the message passing number used by PVM. After having launched all tasks, a symbolic link table is built. This table makes the matching between a symbolic name and a PVM task identifier (tid) number. Then the relevant parts of this table are sent to the different tasks. In order for two tasks to be able to communicate, the symbolic link name and the message number must be the same 2 . Upon reception of a message, the activities of the neurons of the receiving group are the same as the ones of the sending group. Thus, from the receiving group point of view, it is as if it were directly connected to the sending group through a “real” neuronal link. The message passing functions are functionnaly invisible. The different sending and receiving functions are the following: • function send PVM: sends the value of the neurons where it is connected to. The receiver is retrieved using the symbolic link name and the message number. • function receive PVM block: waits for a message (neuron values) from a sender. The sender is identified by its symbolic link and message number. • function receive PVM non block: checks if a message (neuron values) has arrived from the sender. If not, execution continues on the next neuron group. We are running our NN architectures in real time for controlling mobile robots. Depending on the task to perform, it may be very important to have access to up to date information. For instance, computing the optical flow must be performed on the most recent image data. This is not mandatory for object recognition, since it stays where it is. Nevertheless, it turns out that most computations are asynchronous. Because we have to run in real time, we do not want to wait for a task to be finished before continuing the whole computation, and we do not always know which task will run faster or slower. So in the asynchronous processing, there may be two problems: information may be missing in some parts of the architecture, because some computation is not finished yet. Conversely, some parts of the system may run much faster than others and deliver a continuous flow of redundant information. Indeed, if the sending task is running much faster than the receiving one, the receive queue will be overwhelmed with messages. Moreover, the only important message to process is the last sent. 2 The message number is not mandatory. It may be chosen randomly at the symbolic link table creation. But it is easier to know it beforehand for debugging purposes. - 205 - Annexe B PVM It is easy to solve the first problem. If information has not arrived yet, the previous neuron values are used. We suppose there is a temporal coherence in the neural information (internal dynamics of the neuron [109] and use of a neural field [169]). For dealing with the second problem, we have to introduce new message passing functions: • function send PVM ack: sends a message only if the receiver has allowed it by sending an ack message. If the message has not been received, it does not send anything and execution continues on the next group of neurons. • function receive PVM block ack: waits for a message (neuron values) from a sender. Once the message received, this function sends back an ack message to the sender. • function receive PVM non block ack: same as the previous one, but waiting is non blocking. Thus now, a sender may only send information if the receiver is able to process it. The way we have implemented the function, the receiver sends its ack message just after having received a message from the sender. Thus, the sender is now allowed to send a message again. If the sender runs faster than the receiver, it sends its new message before the receiver has been able to finish its computation. So, when it comes back to the receive function, a message is present in its queue, but this message is not reflecting the current state of the sender anymore. An alternative version of the receiving function could be to send the ack before a blocking receive. It is now the receiver which will wait until the sender catches the ack, and sends its message. Thus the message received by the receiver matches now the latest state of the sender, but the sender has to wait for this message. This function is function receive PVM ack block. It avoids saturating the Ethernet link and loosing too much computation time in communication procedures. B.3 Running NN architectures A NN architecture is run using a specific program called Promethe. In each NN architecture, a token is moving from neuron group to neuron group activating them sequentially. When a PVM message passing group is activated, the corresponding function described above is executed. Once all groups have been activated, running resumes on the first group (fig. B-1). We have seen that PVM is used as message passing library between tasks running NN (Promethe processes). It is now necessary to have a task manager (Promethe PVM Daemon) spawning all these tasks. In particular, this process has to build the symbolic link table and send it to the NN tasks (fig. B-1). In order to achieve this, the user has to define a file (name.pvm) indicating: the task name, the name of the workstation where to run the NN , the name of the NN architecture. Then, each symbolic link is given with its sending and receiving task. After having built the symbolic link - 206 - Annexe B PVM Promethe_PVM_Daemon manager task1 Promethe task2 taskN Promethe Promethe PVM messages exchanged token symbolic link table trace of messages neuron values Neuron group Link between groups NN architecture Figure B-1. Sketch of the message passing between the task manager process Promethe PVM Daemon and the launched Promethe tasks. Each Promethe task is a NN architecture composed of groups of neurons. A token is moving from one group to the other activating them sequentially. table, the program displays a graphical interface using Xview. We have included in this interface some helpful features such as: testing the network for the various workstations available, testing the speed of these workstations and ranking them, assigning a task to a workstation, displaying the current state of the tasks (running or waiting), and displaying in real time the messages exchanged between the various tasks. Assigning a task to a workstation may be done either as specified in the name.pvm file, or on the fastest workstations only, or randomly. All three options are available on line in the graphical interface. A task may also be assigned to a specific workstation by selecting the workstation’s name and then clicking on the task (shown as a square in the display window). The state of the tasks and the messages exchanged are monitored by the task manager. The purpose here is not to have a complete debugging tool. It is rather thought as an help for the user. This help gives two informations: whether a task is running or waiting for a message, and which kind of message has been exchanged between tasks. The first information gives hints about the working load of each task, and the efficiency of the message exchanges. The second information allows to follow in real time the messages exchanged between the tasks. Each time data is sent or received, a message is issued to the manager, giving the sending and receiving tids and the message number (fig. B-1). - 207 - Annexe B PVM So, once all tasks are launched, the manager waits for these messages, and displays the information on screen. The manager also catches all PvmTaskExit signals so that it may resume its activity once all Promethe tasks are over. Monitoring the message exchanges could also have been implemented another way, the manager only waiting for any message exchanged between any tasks, and then sorting these messages depending on the message number. This supposes that all message numbers are different, which is not required if the symbolic links are different. B.4 Results and discussions We report here the performance results on a particular robotic experiment. Note that the robot 3 is also a multi-processor system (a micro controller for the speed control and a 68340 microprocessor for the communications with the workstations and the control of the different sensors). This system is not under the control of PVM but it also works in an asynchronous manner. The task of the robot is to learn to imitate a given teacher [134]. At the beginning, the robot can only use motion perception for going in the direction of the moving object (supposed to be the teacher). If this behavior is not associated with a negative reward, the robot also learns the static shape of the moving object, so as to be able to move in its direction even if no motion is perceived. This mechanism is also used to choose between different moving objects [132]. In order to detect movements, the optical flow is computed. In parallel, an object recognition is performed from the matching of local subimages centered around the local maximal curvature points. These feature points correspond to the local maximum of the convolution of the gradient image with a Difference Of Gaussian (DOG) function. A sketch of the parallel architecture is given figure B-2. Task2 performs the feature points extraction and shape recognition. Task1 performs data acquisition, movement detection and robot movement control. These two tasks are not fully synchronized in the sense that task1 is not waiting for the result of task2 for continuing its computation (non blocking receive). However, task2 needs the information from task1 for its computation, because it looks for the feature points only where movement is detected (in the case there is a moving object. In the other case, the whole image must be processed). The data given by task1 to task2 is a 196x144 array of bytes (image) and a 35x25x3 array of floats corresponding to where movement has been detected. Task2 is sending to task1 a 35x25x3 array of floats corresponding to the position of a recognized teacher. We have monitored the execution time in three different cases: the sequential computation (without PVM) of the optical flow alone (will become task1), the sequential computation of the optical flow and the teacher recognition, and the independent computation of the flow (task1) and the teacher recognition (task2). These results are given in the following table (mean-time in seconds is an average on 20 runs on SUN 3 Koala robot built by KTeam SA, Switzerland - 208 - Annexe B PVM Task 2 Processing 2 receive_PVM_block_ack Task 1 Perception Movement detection Data acquisition Processing 1 send_PVM_ack Action receive_PVM_non_block_ack send_PVM_ack Environment Figure B-2. Sketch of the computation done by the two tasks. Note that because the receive in task1 is non blocking, the computation effectively executed in parallel is not always what is marked as Processing1 and Processing2. Processing2 may be executed in task2 whereas task1 executes data acquisition and movement detection. Sparc Ultra 10 workstations (part of a pool of workstations on a 100Mb Ethernet link). Each run corresponds to a new experiment (in particular new input data). Each task is running on a separate workstation): time in seconds seq. flow seq. flow + recog. PVM flow + recog. seq. mean time 3.06 9.38 task1 mean time (0) 3.97 task2 mean time (1) 2.81 par. mean time (max) 3.97 task1 mean time 1.47 acquiring data (2) task1 mean time in PVM 0.03 (sending and receiving) (3) processing 1 (0) - (2) - (3) 2.47 task2 mean time in PVM (4) 0.32 processing 2 (1) - (4) 2.49 As expected the parallel computation runs faster than the sequential one. In average task2 runs faster than task1, mainly because of the time spent in the communications between the robot and the workstation. Thus as task2 has to wait for data from task1 in a blocking receive, the time spent in PVM functions (in particular waiting for data) is longer. Communications between the robot and the workstation is slow, so it would be particularly interesting to have a process dedicated to this task. These informations may then be dispatched to other processes. - 209 - Annexe B PVM The message passing mechanism we have developed enables to use PVM for real-time applications. A message is sent only when the receiving task is ready to process it, thus reducing the network load level. Some tasks may need specific data in order to perform their computation, others may continue working even if the newest information is not available yet. We have used PVM for parallelizing independent sub-networks composed of several groups of neurons. Some groups contain thousands of neurons. A further speed-up of our system will be the parallelization of the computation inside a group of neurons. We haven’t tested yet whether PVM or threads (shared-memory) based algorithms should be used. In the later case, we would use multi-processor architectures (bi or quadra Pentiums for instance). On a bi-processor architecture, set of threads will update different subgroups of neurons and will almost divide by two the computation time devoted to a map of neurons. This work is part of a project dedicated to the development of a neuronal language. Our Leto interface already allows to quickly design NN globally, ie. without specifying by hand each connection for instance. This construction is therefore made on a graphical interface: the user does not to write down his specifications in a file. The difficulty is to provide the user with enough (but not too much) different group of neurons and links between them to choose from when designing his NN architecture. By the time, we begin to have standard neuron groups and links. Moreover, some parts of the architecture are now stable and may be used without any changes for any other robotic experiments. This is the case for the image processing part for instance. A next step will be then to provide “meta-groups” of neurons (the equivalent of cortical areas) regrouping stable functional groups. - 210 - Annexe C Liste de publications 1. Ouvrages : (a) [71] P. Gaussier and S. Moga, Imitation, représentations motrices et intentionnalité, ch. Des boucles Perception-Action a l’imitation :Une approche ascendante de l’apprentissage par imitation. Paris: PUF (coll. Sciences de la Pensée), 2001. 2. Publications dans des revues scientifiques : (a) [70] P. Gaussier, S. Moga, M. Quoy, and J. Banquet, “From perception-action loops to imitation processes: a bottom-up approach of learning by imitation,” Applied Artificial Intelligence, vol. 12, pp. 701–727, Oct-Dec 1998. (b) [66] P. Gaussier, C. Joulain, J. Banquet, A. Revel, S. Leprêtre, and S. Moga, “A neural architecture for autonomous learning,” Industrial Robot, vol. 26, no. 1, pp. 33–38, 1999. 3. Communications dans les congrès internationaux à actes : (a) [67] P. Gaussier, C. Joulain, S. Moga, M. Quoy, and A. Revel, “Autonomous robot learning: What can we take for free ?,” in International Symposium on Industrial Electronics - ISIE’97, (Gumarães, Portugal), pp. SS1–SS6, IEEE, July 1997. (b) [69] P. Gaussier, S. Moga, J. Banquet, and M. Quoy, “From perception-action loops to imitation processes: A bottom-up approach of learning by imitation,” in Socially Intelligent Agents, (Boston), pp. 49–54, AAAI fall symposium, 1997. (c) [132] S. Moga and P. Gaussier, “Neural model of motion discrimination,” in Perception - European Conference on Visual Perception, vol. 26 (supplement), p. 65, European Conference on Visual Perception, 1998. 211 Annexe C Liste de publications (d) [135] S. Moga and P. Gaussier, “Les champs neuroniques comme outil de représentation des informations visuelles,” in Journée des jeunes chercheurs en réseaux de neurones, (Lausanne), pp. 17–21, 8-9 avril 1999. (e) [134] S. Moga and P. Gaussier, “A neuronal structure for learning by imitation,” in Lecture Notes in Artificial Intelligence - European Conference on Artificial Life ECAL99 (D. Floreano, J.-D. Nicoud, and F. Mondada, eds.), (Lausanne), pp. 314–318, September 1999. (f) [155] M. Quoy, S. Moga, P. Gaussier, and A. Revel, “Parallelization of neural networks using pvm,” in Recent Advances in Parallel Virtual Machine and Message Passing Interface (J. Dongarra, P. Kacsuk, and N. Podhorszki, eds.), (Berlin), pp. 289–296, Lecture Notes in Computer Science, Springer, no 1908, 2000. (g) [9] P. Andry, S. Moga, P. Gaussier, A. Revel, and J. Nadel. “Imitation: learning and communication”, in The Society for Adaptive Behavior SAB’2000, pages 353–362, Paris, 2000. 4. Communications dans les congrès nationaux à actes : (a) [136] S. Moga, P. Gaussier, and M. Quoy, “Imitation et perception du mouvement,” in Neurosciences et Sciences de l’Ingénieur, NSI’97 (J. Herault, ed.), (Aussois, France), pp. 49–54, Neuroscience et Science de l’Ingénieur, 1997. (b) [131] S. Moga and P. Gaussier, “Apprentissage par imitation,” in Neurosciences et sciences pour l’ingénieur - NSI98, (Colmar, France), 1998. (c) [133] S. Moga and P. Gaussier, “Les champs neuronaux comme outil de représentation des informations visuelles.,” in GRETSI’99, (Vannes, France), pp. 515–518, Septembre 1999. - 212 - Bibliographie [1] J. L. Adrien, P. Tanguay, and C. Barthelemy. Autistic children and the object permanence task. Acta Paedopsychiatrica, 56:556–560, 1993. [2] J.S. Albus. Outline for a theory of intelligence. IEEE trans. on syst. and cybern., 21(3):473–509, may/june 1991. [3] D.G. Amaral. Emerging principles of intrinsic hippocampal organization. Current Opinion in Neurobiology, 3:225–229, 1993. [4] S. Amari. Dynamics of pattern formation in lateral-inhibition type neural fields. Biological Cybernetics, 27:77–87, 1977. [5] S. Amari. A mathematical foundation for statistical neurodynamics. SIAM Journal of Applied Mathematics, 33:95–126, 1977. [6] P. Anandan. A computational framework and an algorithm for the measurement of visual motion. International Journal of Computer Vision, 2:283–310, 1989. [7] N. Ancona and T. Poggio. Optical flow from 1d correlation: Application to a simple time-to-crash detector. In ICCV93, pages 209–214, 1993. [8] N. Ancona and T. Poggio. Optical flow from 1d correlation: Application to a simple time-to-crash detector. IJCV, 14(2):131–146, March 1995. [9] P. Andry, S. Moga, P. Gaussier, A. Revel, and J. Nadel. Imitation: learning and communication. In The Society for Adaptive Behavior SAB’2000, pages 353–362, Paris, 2000. [10] E. A. Armstrong. The nature and function of animal mimesis. Bulletin of Animal Behaviour, 9:46–58, 1951. [11] P. Bakker and Y. Kuniyoshi. Robot see, robot do : An overview of robot imitation. In AISB Workshop on Learning in Robots and Animals, Brighton, UK, 1996. [12] J.M. Baldwin. Development and Evolution. Macmillan, New York, USA, 1902. 213 Bibliographie [13] J.P. Banquet, J.L. Contreras-Vidal, P. Gaussier, and Y. Burnod. Fundamentals of neural network modelling for neuropsychologists, chapter The cortical-hippocampal system as a multirange temporal processor: A neural model. MIT Press, Boston, 1996. [14] J.P. Banquet, J.L. Contreras-Vidal, P. Gaussier, and Y. Burnod. Fundamentals of neural network modelling for neuropsychologists, volume R. Park and D. Levin, chapter The cortical-hippocampal system as a multirange temporal processor: A neural model, pages 123–189. MIT Press, Boston, 1997. [15] J.P. Banquet, P. Gaussier, J. C. Dreher, C. Joulain, A. Revel, and W. Günther. Cognitive Science Perspectives on Personality and Emotion, volume 124, chapter Space-Time, Order, and Hierarchy in Fronto-Hippocampal System: A Neural Basis of Personality, pages 123–179. Elsevier Science, Amsterdam, 1997. [16] S.T. Barnard and W.B. Thompson. Disparity analysis of images. PAMI, 2(4):333– 340, July 1980. [17] S. Baron-Cohen. La cécité mentale. Presses Universitaires de Grenoble, Grenoble, 1998. [18] J.L. Barron, D.J. Fleet, and S.S. Beauchemin. Performance of optical flow. International Journal of Computer Vision, 12:1:43–77, 1994. [19] W.P. Bellingham, K. Gillette-Bellingham, and E.J. Kehoe. Summation and configuration in patterning schedules with the rat and rabbit. Animal Learning and Behavior, pages 152–164, 1985. [20] T.W. Berger, P.C. Rinaldi, D.J. Weisz, and R.F. Thompson. Single-unit analysis of different hippocampal cell types during classical conditioning of rabbit nictitating membrane reponse. Journal of neuronphysiology, 50:1197–1219, 1983. [21] T.W. Berger, C.L. Weikart, J.L. Bassett, and E.B. Orr. Lesions of the retrospinal cortex produce deficits in reversal learning of the rabbit nictitating membrane response: Implications for potential interactions between hippocampal and cerebellar brain systems. Behavioural Neuroscience, (100):802–809, 1986. [22] Ch. Bernard. Ondelettes et Problèmes mal posés: la mesure du flot optique et l’interpolation irrégulière. PhD thesis, Centre de Mathématiques Appliquées, École Polytechnique, 1989. [23] Ch. Bernard. Fast optic flow computation with discrete wavelets. Technical Report RI365, Centre de Mathématiques Appliquées, École Polytechnique, 1997. [24] L. Berthouze, P. Bakker, and Y. Kuniyoshi. Learning of oculo-motor control: a prelude to robotic imitation. IROS, Osaka, Japan, 1996. - 214 - Bibliographie [25] L. Berthouze and Y. Kuniyoshi. Emergence and categorization of coordinated visual behavior through embodied interaction. Robotics and Autonomous Systems, 5:369– 379, 1998. [26] L. Berthouze, Y. Shigematsu, and Y. Kuniyoshi. Dynamic categorization of explorative behaviors for emergence of stable sensorimotor congurations. In The Society for Adaptive Behavior SAB’98, pages 67–72, Zürich, August 1998. [27] A. Berthoz. Le sens du mouvement. Odile Jacob, Paris, 1997. [28] E. Bicho and G. Schoner. The dynamic approach to autonomous robotics demonstrated on a low-level vehicle platform. Robotics and Autonomous Systems, 21:23–35, 1997. [29] E. Bicho and G. Schöner. Target position estimation, target acquisition, and obstacle avoidance. In International Symposium on Industrial Electronics - ISIE’97, pages SS13–SS20, Gumarães, Portugal, July 1997. IEEE. [30] A. Billard. DRAMA, a connectionist model for robot learning. PhD thesis, University of Edinburgh, UK, 1988. [31] A. Billard and G. Hayes. Transmittimg communication skills throught imitation in autonomous robots. Proceedings of Sixth European Workshop on Learning Robots, EWLR97, July 1997. [32] A. Billard and G. Hayes. Learning to communicate throught imitation in autonomous robots. In Proceedings of 7th International Conference on Artificial Neural Networks, ICANN97, October 1997. [33] K. Billard, A. Dautenhahn and G. Hayes. Experiments on human-robot communication with robota, an imitative learning and communicating robot. Proceedings of “Socially Situated intelligence” Workshop, part of the Fifth International Conference of The Society for Adaptive Behaviour 98, SAB 98, August 1998. [34] C. Bonnet, R. Ghiglione, and J.-F. Richard. Traité de psychologie cognitive 1, volume Perception, action, langage. Dunod, Cambridge, 1989. [35] M. Boucart. La reconnaissance des objets. Presses universitaires de Grenoble, Grenoble, 1996. [36] H. O. Box. Primate Behaviour and Social Ecology. Chapman & Hall, London, UK, 1984. [37] Rodney A. Brooks. A robust layered control system for a mobile robot. IEEE Journal of Robotics and Automation, R.A. 2(1):14–23, March 1986. - 215 - Bibliographie [38] D. Bullock, J.C. Fiala, and S. Grossberg. A neural model of timed response learning in the cerebellum. Neural Networks, 7(6/7):1101–1114, 1994. [39] P. Buser and M. Imbert. Vision: neurophysiologie fonctionnelle IV, volume Collection Méthodes. Hermann, Paris, 1988. [40] G. Butterworth. Imitation in Infancy, chapter Neonatal imitation: existence, mechanisms and motives, pages 63–88. Cambridge University Press, 1999. [41] R. W. Byrne and A. E. Russon. Learning by imitation : a hierarchical approach. Behavioral and Brain Sciences, 21:667–721, 1998. [42] G.A. Carpenter and S. Grossberg. Invariant pattern recognition and recall by an attentive self-organizing art architecture in a nonstationary world. Proceeding of Neural Network, 2:737–745, 1987. [43] G.A. Carpenter, S. Grossberg, and D.B. Rosen. Art2-a : an adaptive resonance algorithm for rapid category leaning and recognition. Neural Networks, 4:493–504, 1991. [44] Gail A. Carpenter, Stephen Grossberg, Natalya Markuzon, John H. Reynolds, and David B. Rosen. Fuzzy ARTMAP: A neural network architecture for incremental supervised learning of analog multidimensional maps. IEEE Trans. Neural Networks, 3(5):698–712, September 1992. [45] Gail A. Carpenter, Stephen Grossberg, and John Reynolds. ARTMAP: A selforganizing neural network architecture for fast supervised learning and pattern recognition. In Proc. Int. Joint Conf. on Neural Networks, Vol. 1, pages 863–868, Seattle, 1991. [46] J.-P. COCQUEREZ and S. PHILIPP. Analyse d’images : filtrage et segmentation. Masson, Paris, 1995. [47] K. Dautenhahn. Getting to know each other - artificial social intelligence for autonomous robots. Robotics and Autonomous System, 16(2-4):333–356, December 1995. [48] K. Dautenhahn and I. Werry. Issues of robot-human interaction dynamics in the rehabilitation of children with autism. In The Society for Adaptive Behavior SAB’2000, pages 519–528, Paris, 2000. [49] J. Decety. Do imagined and executed actions share the same neural substrate? Cognitive Brain Research, 3(2):87–93, 1996. [50] S. Dehaene, J.P. Changeux, and J.P. Nadal. Neural network that learn temporal sequences by selection. Biophysics, 84:2727–2731, 1987. - 216 - Bibliographie [51] D. Demigny, F. Garcia Lorca, and L. Kessal. De l’architecture à l’algorihme. un exemple: le détecteur de contours de deriche. Traitement du signal, 14:615–623, 1997. [52] John Demiris and Gillian Hayes. Imitative learning mechanisms in robots and humans. In Proceedings of the 5th European Workshop on Learning Robots, Bari, Italy, July 1996. 1996. [53] John Demiris and Gillian Hayes. Active and passive routes to imitation. In K. Dautenhahn and C. Nehaniv, editors, Proceedings of the AISB’99 Symposium on Imitation in Animals and Artifacts, Edinburgh, UK, April 1999. [54] J.L. Denebourg, S. Goss, N. Franks, A. Sendova-Franks, C. Detrain, and L. Chrétien. The dynamics of collective sorting: Robot-like ants and ant-like robots. In J.A. Meyer and S. Wilson, editors, Conference on Simulation of Adaptive Behavior, Cambridge, 1990. MIT Press. [55] D.C. Dennett. Consciousness Explained, volume Little. Brown, Boston, Massachusetts, 1991. [56] R. Deriche. Optimal edge detection using recursive filtering. pages 501–505, 1987. [57] R. Deriche. Using canny’S criteria to derive a recursively implemented optimal edge detector. International Journal of Computer Vision, 1:167–187, 1987. [58] M. Donald. Precis of origins of the modern mind: Three stages in the evolution of culture and cognition. Behavioral and Brain Sciences, 16(4):737–791, 1997. [59] J. Droulez, J. Lorenceau, V. Cornilleau-Pérès, and I. Lamouret. Revue des modèles de perception de mouvement. Atelier Segmentation et groupements perceptifs, 1996. [60] P. J. Essens and D.-J. Povel. Evolving conceptions of memory storage, selective attention and their mutual constraints within the human information-processing system. Perception & Psychophysics, 37:1–7, 1985. [61] P.W. Frey and L.E. Ross. Classical conditioning of the rabbit eyelid response as a function of interstimulus interval. Journal of Comparative and Physiological Psychology, (65):246–250, 1968. [62] B. G. Galef. Imitation in animals: History, definitions, and interpretation of data from the psychological laboratory. In M. Bekoff and D. Jamieson, editors, Social Learning: Psychological and Biological Perspectives, pages 3–28, Erlbaum, Hillsdale, New Jersey, USA, 1988. [63] V. Gallese, L. Fadiga, L. Fogassi, and G. Rizzolatti. Action recognition in the premotor cortex. Brain, 119:593–609, 1996. - 217 - Bibliographie [64] P. Gaussier. Simulation d’un système visuel comprenant plusieurs aires corticales : Application à l’analyse de scènes. PhD thesis, Université d’Orsay, 1992. [65] P. Gaussier, C. Joulain, J.P. Banquet, S. Leprêtre, and A. Revel. The visual homing problem: an example of robotics/biology cross fertilization. Robotics and Autonomous Systems, 30:155–180, 2000. [66] P. Gaussier, C. Joulain, J.P. Banquet, A. Revel, S. Leprêtre, and S. Moga. A neural architecture for autonomous learning. Industrial Robot, 26(1):33–38, 1999. [67] P. Gaussier, C. Joulain, S. Moga, M. Quoy, and A. Revel. Autonomous robot learning: What can we take for free ? In International Symposium on Industrial Electronics - ISIE’97, pages SS1–SS6, Gumarães, Portugal, July 1997. IEEE. [68] P. Gaussier, C. Joulain, S. Zrehen, J.P. Banquet, and A. Revel. Visual navigation in an open environement without map. In International Conference on Intelligent Robots and Systems - IROS’97, pages 545–550, Grenoble, France, September 1997. IEEE/RSJ. [69] P. Gaussier, S. Moga, J.P. Banquet, and M. Quoy. From perception-action loops to imitation processes: A bottom-up approach of learning by imitation. In Socially Intelligent Agents, pages 49–54, Boston, 1997. AAAI fall symposium. [70] P. Gaussier, S. Moga, M. Quoy, and J.P. Banquet. From perception-action loops to imitation processes: a bottom-up approach of learning by imitation. Applied Artificial Intelligence, 12(7-8):701–727, Oct-Dec 1998. [71] P. Gaussier and Sorin Moga. Imitation, représentations motrices et intentionnalité, chapter Des boucles Perception-Action a l’imitation :Une approche ascendante de l’apprentissage par imitation. PUF (coll. Sciences de la Pensée), Paris, 2001. [72] P. Gaussier, A. Revel, C. Joulain, and S. Zrehen. Living in a partially structured environment: How to bypass the limitation of classical reinforcement techniques. Robotics and Autonomous Systems, 20:225–250, 1997. [73] P. Gaussier and S. Zrehen. Perac: A neural architecture to control artificial animals. Robotics and Autonomous System, 16(2-4):291–320, December 1995. [74] A. Geist, A. Beguelin, J. Dongarra, W. Jiang, R. Manchek, and V. Sunderam. PVM: Parallel Virtual Machine - A users’s guide and tutorial for networked parallel computing. MIT Press, Cambridge, Massachusetts, 1994. [75] J. Gibson. The Perception of the Visual World. Houghton Mifflin, Boston, USA, 1955. [76] J.J. Gibson. The ecological approach to visual perception, volume Cornell Cniversity. Laurence Erlbaum Associates, Hillsdale, New Jersey / London, 1986. - 218 - Bibliographie [77] M. Giese. A Dynamical Model for the Perceptual Organization of Apparent Motion. PhD thesis, Fakultät für Electrotechnik und Informationstechnik der RuhrUniversität Bochum, Germany, 1998. [78] M. Giese, G. Schöner, and H. S. Hock. The dynamics of the perceptual organisation in apparent motion. In Neural Networks, Artificial Intelligence and Industrial Applications, pages 165–168, Berlin, 1995. Springer. [79] S. Grossberg. Contour enhancement, short term memory, and constanciesin reverberating neural networks. Studies in Applied Mathematics, L11:213–257, 1973. [80] S. Grossberg. Adaptive pattern classification and universal recoding, ii : Feedback, expectation, olfaction, and illusions. Biological Cybernetics, 23:187–202, 1976. [81] S. Grossberg. Nonlinear neural networks: principles, mechanisms, and architectures. Neural Networks, 1:17–61, 1988. [82] S. Grossberg and J. W. L. Merrill. A neural network model of adaptively timed reinforcement learning by hippocampal dynamics. Cognitive Brain Research, 1:3– 38, 1992. [83] S. Grossberg and J.W.L. Merrill. The hippocampus and cerebellum in adaptively timed learning, recognition, and movement. Journal of Cognitive Neuroscience, 8:257–277, 1996. [84] S. Grossberg and E. Mingolla. Neural dynamics of form perception: Boundary completion, illusory figures and neon color spreading. Psych.Rev., 92(2):173–211, 1985. [85] S. Grossberg and N.A. Schmajuk. Neural dynamics of adaptive timing and temporal discrimination during associative learning. Neural Networks, 2:79–102, 1989. [86] P. Guillaume. L’imitation chez l’enfant. Alcan, Paris, 1926 (réed. 1968 PUF). [87] J.-C. Guyomarc’h. Ethologie. Masson, Paris, 1995. [88] A. C. Guyton. Neurosciences. PICCIN Nuova Libraria, Padoue, Italie, 1996. [89] L. Hafemeister and P. Gaussier. Contribution of a dynamic model for texture perception. In European Conference on Visual Perception ECVP’98, Oxford, England, August 1998. [90] K. R. L. Hall. Observational learning in monkeys. Br. J. Psychol., 54:337–445, 1963. [91] S. Harnad. The symbol grounding problem. Physica D, 42:335–346, 1990. - 219 - Bibliographie [92] S. Harnad. La Modélisation, volume IV of LEKTON, chapter L’Ancrage des Symboles dans le Monde Analogique à l’aide de Réseaux Neuronaux : un Modèle Hybride. 1994. [93] G.M. Hayes and J. Demiris. A robot controller using learning by imitation. In Proceedings of the 2nd International Symposium on Intelligent Robotic Systems, pages 198–204, Grenoble, France, 1994. [94] S.M. Haynes and R.C. Jain. Detection of moving edges. CVGIP, 21(3):345–367, March 1983. [95] D.O. Hebb. The Organization of Behavior. Wiley, New York, 1949. [96] R. Hecht-Nielsen. Counterpropagation networks. Applied Optics, 26(23):4979–4984, 1987. [97] D.J. Heeger. Optical flow from spatiotemporal filters. In ICCV87, pages 181–190, 1987. [98] D.J. Heeger and A. Jepson. Visual perception of three-dimensional motion. NeurComp, 2:129–137, 1990. [99] C. M. Heyes. Imitation in rats: Initial responding and transfer evidence. The quarterly Journal of Experimental Psychology, 45B(3):229–240, 1992. [100] B.K.P. Horn and B.G. Schunck. Determining optical flow. AI, 17:185–203, 1981. [101] B.K.P. Horn and B.G. Schunck. Determining optical flow: A retrospective. AI, 59(1):81–87, 1993. [102] D.H. Hubel and T.N. Wiesel. Ferrier lecture: Functional architecture of macaque monkey visual cortex. Proc. Roy. Soc. Lond. B. Biol. Sci., 198:1–59, 1977. [103] D.H. Hubel and T.N. Wiesel. Brain mechanisms of vision. Scientific American, pages 130–144, 1979. [104] G. Humphrey. Imitation and the conditioned reflex. Pedagog. Semin, 28:1–21, 1921. [105] S. Jacobson. Matching behaviour in the young infant. Child Development, (50):425– 430, 1979. [106] M. Jeannerod. Les deux mécanismes de la vision. La recherche, 5(41), 1974. [107] M. Jeannerod. The representing brain: neural correlates of motor intention and imagery. Behav. Brain Sci., 17(41):187–245, 1994. - 220 - Bibliographie [108] C. Joulain, P. Gaussier, and A. Revel. Learning to build categories from perceptionaction associations. In International Conference on Intelligent Robots and Systems - IROS’97, pages 857–864, Grenoble, France, September 1997. IEEE/RSJ. [109] J.A. Scott Kelso. Dynamic patterns: the self-organization of brain and behavior. Bradford Book, MIT Press, 1995. [110] K. Kishimoto and S. Amari. Existence and stability of local excitations in homogeneous neural fields. Journal of Mathematical Biology, 7:303–318, 1979. [111] E. Knudsen and M. Konishi. Mechanisms of sound localization in the barn owl (tyto alba). Journal of Compartive Physiology, 133:13–21, 1979. [112] T. Kohonen. Self-Organization and Associative Memory. Springer-Verlag, New York, 1984. [113] T. Kohonen. Self-Organization and associative memory. Heidelberg: SpringerVerlag, Berlin, 3rd edition, 1989. [114] T. Kohonen. Physiological interpretation of the self-organizing map algorithm. Neural Networks, 6:895–905, 1993. [115] Q. Kong. Confucius / textes choisis et commentes par Alfred Doeblin, volume Collection Les Introuvables. Editions d’Aujourd’hui, Paris, 1975. [116] G. Kugiumutzakis. Imitation in Infancy, chapter Genesis and development of early infant mimesis to facial and vocal models, pages 36–59. Cambridge University Press, 1999. [117] Y. Kuniyoshi. The science of imitation - towards physically and socially grounded intelligence -. Special Issue TR-94001, Real World Computing Project Joint Symposium, Tsukuba-shi, Ibaraki-ken, 1994. [118] Y. Kuniyoshi and L. Berthouze. Neural learning of embodied interaction dynamics. Neural Networks, 11(7-8):1259–1276, 1998. [119] S. Leprêtre, P. Gaussier, and J.P. Cocquerez. Un modèle neuronal pour la reconnaissance d’objets. pages 435–438. GRETSI, 1999. [120] W. B. Levy, X. Wu, and R.A. Baxter. Unification of hippocampal function via computational/encoding considerations. In D.J. Amit, P. del Guidice, B. Denby, E.T. Rolls, and A. Treves, editors, Proceedings of the Third Workshop on Neural Networks: from Biology to Hight Energy Physics, pages 71–80. World Scientific Publishing, Singapore, 1995. [121] R. Lippman. An introduction to computing with neural nets. IEEE ASSP Magazine, pages 4–22, 1987. - 221 - Bibliographie [122] Q.T. Luong, R. Deriche, O.D. Faugeras, T. Papadopoulo, A. Mitiche, and P. Bouthemy. Computation and analysis of image motion: A synopsis of current problems and methods. IJCV, 19(1):29–55, July 1996. [123] M.J. Matarić. Issues and approaches in the design of collective autonomous agents. Robotics and Autonomous System, 16(2-4):321–331, December 1995. [124] W. S. McCulloch and W. Pitts. A logical calculus of ideas immanent in nervous activity. Bulletin of Mathematical Biophysics, 5:115–133, 1943. [125] M. K Meltzoff, N. Moore. Imitation of facial and manual gestures by humans neonates. Science, 198:75–82, 1977. [126] N. Meltzoff and M. K. Moore. Imitation in Infancy, chapter Persons and representation: why infants imitation is important for theories of human development, pages 9–35. Cambridge University Press, 1999. [127] L. Miclet. Méthodes structurelles pour la reconnaissance des formes. Eyrolles, PAris, 1984. [128] S. Mineka and M. Cook. Social learning and the acqusition of the snake fear in monkeys. In T. Zentall and B. Galef, editors, Social Learning: Psychological and biological perspectives, pages 51–73, 1988. [129] R. W. Mitchell. A comparative-developmental approach to understanding imitation. Perspectives in Ethology, 7:183–215, 1989. [130] A. Mitiche. Computational analysis of visual motion. In Plenum Press, 1994. [131] S. Moga and P. Gaussier. Apprentissage par imitation. In Neurosciences et sciences pour l’ingénieur - NSI98, Colmar, France, 1998. [132] S. Moga and P. Gaussier. Neural model of motion discrimination. In Perception - European Conference on Visual Perception, volume 26 (supplement), page 65. European Conference on Visual Perception, 1998. [133] S. Moga and P. Gaussier. Les champs neuronaux comme outil de représentation des informations visuelles. In GRETSI’99, pages 515–518, Vannes, France, Septembre 1999. [134] S. Moga and P. Gaussier. A neuronal structure for learning by imitation. In D. Floreano, J-D. Nicoud, and F. Mondada, editors, Lecture Notes in Artificial Intelligence - European Conference on Artificial Life ECAL99, pages 314–318, Lausanne, September 1999. - 222 - Bibliographie [135] S. Moga and P. Gaussier. Les champs neuroniques comme outil de représentation des informations visuelles. In Journée des jeunes chercheurs en réseaux de neurones, pages 17–21, Lausanne, 8-9 avril 1999. [136] S. Moga, P. Gaussier, and M. Quoy. Imitation et perception du mouvement. In J. Herault, editor, Neurosciences et Sciences de l’Ingénieur, NSI’97, pages 49–54, Aussois, France, 1997. Neuroscience et Science de l’Ingénieur. [137] C. L. Morgan. Animal Behaviour. Edward Arnold, London, UK, 1900. [138] J. Nadel. Imitation et communication entre jeunes enfants. Presse Universitaire de France, Paris, 1986. [139] J. Nadel. The evolving nature of imitation as a format for communication., pages 209–235. Cambridge University Press, 1999. [140] J. Nadel. The Functionnal Use of Imitation in Preverbal Infants and Nonverbal Children With Autism. Cambridge University Press, 2000. [141] H. Neven and G. Schöner. Dynamics parametrically controlled by image correlations organize robot navigation. Biological Cybernetics, 75:293–307, 1996. [142] D. Norton and L. Stark. Eye movements and visual perception. Scientific American, 224(6):34–43, 1991. [143] C. Numaoka. Innate sociability: Sympathetic coupling. Applied Artificial Intelligence, 12(7-8):98–102, Oct-Dec 1998. [144] R. Pfeifer and C. Scheier. Sensory-motor coordination: the metaphor and beyond. Robotics and Autonomous Systems, 1996. [145] R. Pfeifer and P. Verschure. The Artificial Life Route to Artificial Intelligence, chapter The challenge of autonomous systems: Pitfalls and how to avoid them. MIT Press, Cambridge, MA, 1994. [146] J. Piaget. La naissance de l’intelligence chez l’enfant, volume Neuchâtel-Paris. Delachaux et Niestle Editions, Geneve, 1936. [147] J. Piaget. La formation du symbole chez l’enfant, volume Neuchâtel-Paris. Delachaux et Niestle Editions, Geneve, 1945 (rép. 1978). [148] M. Piccolino. La vision à la dopamine. La recherche, 19(205), 1988. [149] Platon. La Republique. Gallimard, Paris, 1993. [150] T. Poggio, A. Verri, and V. Torre. Green theorems and qualitative properties of the optical flow. In MIT AI, 1991. - 223 - Bibliographie [151] R.L. Port, A.G. Romano, and M.M. Patterson. Stimulus duration discrimination in the rabbit: Effects of hippocampectomy on discrimination and reversal learning. Physiological Psychology, (14):100–129, 1986. [152] D.-J. Povel. Internal representation of simple temporal patterns. Journal of Experimental Psychology: Human Perception and Performance, 7:3–18, 1981. [153] C. Prepscius and W. B. Levy. Sequence prediction and cognitive mapping by a biologically plausible neural network. In International Neural Network Society, editor, Proceedings of the ISNN World Congress on Neural Network, volume IV, pages 164–169, 1994. [154] M. Quoy, P. Gaussier, S. Leprêtre, A. Revel, C. Joulain, and J.P. Banquet. A neural model for the visual navigation and planning of a mobile robot. In F. Mondada D. Floreano, J.D. Nicoud, editor, European Conference on Artificial life, ECAL99, volume 1674, pages 319–323, Lausanne, september 1999. [155] M. Quoy, S. Moga, P. Gaussier, and A. Revel. Parallelization of neural networks using pvm. In J. Dongarra, P. Kacsuk, and N. Podhorszki, editors, Recent Advances in Parallel Virtual Machine and Message Passing Interface, pages 289–296, Berlin, 2000. Lecture Notes in Computer Science, Springer, no 1908. [156] W. Reichardt. Movement perception in insects. In Processing of optical data by organisms and by machines., New York, 1969. Academic Press. [157] M. Reiss and J. G. Taylor. Storing temporal sequences. Neural Networks, 4:773–787, 1991. [158] R.A. Rescorla and A.R. Wagner. Classical Conditioning II : Current Research and Theory, chapter A theory of Pavlovian conditioning : Variations in the effectiveness of reinforcement and nonreinforcement. Appleton-Century-Crofts, New York, 1972. [159] A. Revel. Contrôle d’un robot mobile autonome par approche neuro-mimétique. Doctorat de traitement de l’image et du signal, Université de Cergy-Pontoise, Novembre 1997. [160] G. Rizzolatti. From mirror neurons to imitation: Facts and speculation. Technical report, 1999. [161] G. Rizzolatti, L. Fadiga, V. Gallese, and L. Fogassi. Premotor cortex and the recognition of motor actions. Cognitive Brain Research, 3:131–141, 1996. [162] P. Rodier. Les origines de l’autisme. Pour la science, (269):88–94, mars 2000. [163] B. Rogé. Autisme et autres troubles graves du développement. Gaetan Morin, Montreal, Canada, 1999. - 224 - Bibliographie [164] R.T. Ross, W.B. Orr, P.C. Holland, and T.W. Berger. Hippocampectomy disrupts acquisition and retention of learned conditional responding. Behavioral Neuroscience, (98):211–225, 1984. [165] N. Rougier. Modèles de mémoires pour la navigation autonome. PhD thesis, Université Nenri Poincaré - Nancy 1, Octobre 2000. [166] D.E. Rumelhart and D. Zipser. Feature discovery by competitive learning. Cognitive Science, 9:75–112, 1985. [167] J.P. Cocquerez S. Leprêtre, P. Gaussier. From navigation to active object recognition. In The Society for Adaptive Behavior SAB’2000, pages 353–362, Paris, 2000. [168] G. Schöner and M. Dose. A dynamical systems approach to task-level system integration used to plan and control autonomous vehicle motion. Robotics and Autonomous System, 10:253–267, 1992. [169] G. Schöner, M. Dose, and C. Engels. Dynamics of behavior: theory and applications for autonomous robot architectures. Robotics and Autonomous System, 16(2-4):213– 245, December 1995. [170] L. Schwartz. Computational anatomy and functional architecture of striate cortex: a spatial mapping approach to perceptual coding. Vision Res., 20:645–669, 1980. [171] W. Singer. Synchronisation of cortical activity ant its putative role in information processing and learning. Annual Review of Physiology, 55:349–374, 1996. [172] A. Singh. Optic flow computation: A unified perspective, ieee computer society press, los alamitos. CA, 92:1992, 1992. [173] M. Smith and I. Gormezano. Effects of alternating classical conditioning and extinction sessions on the conditioned nictating membrane response of the rabbit. Psychonomic Science, (3):91–92, 1965. [174] P.J. Sobey and M.V. Srinivasan. Measurement of optical flow by a generalized gradient scheme. J. of the Optical Society of America A, (8(9)):1488–1498, 1991. [175] P.R. Solomon. Role of the hippocampus in blocking and conditioned inhibition of rabbit’s nictitating membrane response. Journal of Comparative and Physiological Psychology, (91):407–417, 1977. [176] A. Spinei. Estimation du mouvement par triades de filtres de Gabor. Application au mouvement d’objets transparents. PhD thesis, TIRF - Institul Polytechnique de Grenoble, Grenoble, France, 1998. [177] A. Spinei, D. Pellerin, and J. Herault. Spatiotemporal energy-based method for velocity estimation. Signal Processing, (65):347–362, 1998. - 225 - Bibliographie [178] A. Steinhage. Dynamical Systems for the Generation of Navigation Behavior. PhD thesis, Institut für Neuroinformatik der Ruhr-Universität Bochum, Germany, 1997. [179] A. Steinhage and G. Schöner. The dynamic approach to autonomous robot navigation. In International Symposium on Industrial Electronics - ISIE’97, pages SS7–SS12, Gumarães, Portugal, July 1997. IEEE. [180] E. Thelen, G. Schöner, C. Scheier, and L.B. Smith. The dynamics of embodiment: A field theory of infant perseverative reaching. Behavioral and Brain Sciences, 24(1), 2000. [181] G. Theraulaz, S. Goss, J. Gervet, and J.L. Deneubourg. Task differentation in polistes wasp colonies: A model for self- organizing groups of robots. In Jean-Arcady Meyer and Stewart W. Wilson, editors, Proceedings of the First International Conference on Simulation of Adaptive Behavior, pages 346–355. A Bradford Book The MIT Press, 1990. [182] R.F. Thompson. Neural models of Plasticity, chapter Neural circuit for classical conditioning of the eyelid closure response., pages 160–177. Academic Press, San Diego, CA, 1989. [183] E. L. Thorndike. Animal intelligence: An experimental study of the associative process in animals. Psychology Rev. Monogr., 2(8):551–553, 1898. [184] W. H. Thorpe. Learning and Instinct in Animals. Methuen, London, UK, 1930. [185] M. Tomasello. Observational learning of tool-use by young chimpanzees. Human Evolution, 2:175–183, 1987. [186] M. Tomasello. Cultural transmission in the tool use and communicatory signaling of chimpanzees ? In S. T. Parker and K. R. Gibson, editors, “Language” and Intelligence in Monkeys and Apes, pages 274–311, Cambridge University Press, UK, 1990. [187] A. Torralba. Analogue Architectures for Vision : Cellular Neural Networks and Neuromorphic Circuits. PhD thesis, TIRF - Institul Polytechnique de Grenoble, Grenoble, France, 1999. [188] A. Torralba and J. Hèrrault. An efficient neuromorphic analog network for motion estimation. IEEE Trans. Circuits and Systems-I, 46(2):269–280, 1999. [189] A. Treisman. Features and objects : the fourteenth bartlett memorial lecture. The quarterly journal of experimental psychology, 40.A(2):201–237, 1988. [190] A. Treisman and S. Sato. Conjunction search revisited. Journal of Experimental Psychology: Human Perception and Performance, 16:459–478, 1990. - 226 - Bibliographie [191] M. Treisman. Temporal discrimination and the indifference interval: Implications for a model of the internal ’clock’. Psychological Monographs: General and Applied, 77:1–31, 1963. [192] A. Treves and E. Rolls. Computational analysis of the role of the hippocampus in memory. Hippocampus, 4(3):374–391, June 1994. [193] I. C. Usgiris. Imitation in infancy, chapter Imitation as activity: its developmental aspects, pages 187–206. Cambridge University Press, 1999. [194] H. von Helmholtz. Handbuch der ohysiologischen Optik. Voss, Leipzig, vol. 3 edition, 1910. [195] H. Wallon. De l’acte à la pensée. Flammarion, Paris, 1942 rééd. 1970. [196] A. Wertheim. Motion perception during self-motion: The direct versus inferential controversy revisited. Behavioral and Brain Sciences, 17(2):293–355, 1994. [197] A. Whiten and R. Ham. On the nature and evolution of imitation in the animal kingdom: Reappraisal of a century of research. In P.J.B. Slater, Rosenblatt J.S, C. Beer, and M. Milinski, editors, Advances in the study of behavior, pages 239–283, San Diego, CA, 1992. Academic Press. [198] C.G. Wible, R.L. Findling, M.W. Shapiro, E.J. Lang, S. Crane, and D.S. Olton. Mnemonic correlates of unit activity in the hippocampus. Brain Research, (399):97– 110, 1986. [199] W. Wickler. Mimicry in Plants and Animals. McGraw-Hill, New-York, USA, 1968. [200] Bernard Widrow and Marcian E. Hoff. Adaptive switching circuits. WESCON, pages 96–104, New York, 1960. Convention Record. In IRE [201] D. Willshaw, O. Buneman, and H. Longuet-Higgins. Non-holographic associative memory. Nature, 962:222–960, 1969. [202] C.N. Woolsey. Cortical sensory organization: Multilple auditory areas. Crescent Manor, N.J.: Humana, 1981. [203] C.N. Woolsey. Cortical sensory organization: Multiple somatic areas. Crescent Manor: N.J.: Humana, 1981. [204] C.N. Woolsey. Cortical sensory organization: Multiple visual areas. Crescent Manor, N.J.: Humana, 1981. [205] R. Zazzo. Le problème de l’imitation chez le nouveau-né. Enfance, 10:135–124, 1957. - 227 - Bibliographie [206] S. Zrehen. Elements of Brain Design for Autonomous Agents. PhD thesis, EPFL, 1995. [207] S. Zrehen and P. Gaussier. Why topological maps are useful for learning in an autonomous agent. In J.D. Nicoud and P. Gaussier, editors, From perception to action conference, Los Alamitos, CA, 1994. IEEE Press. - 228 -