© Jean Solé RAPPORT DE STAGE Modèle computationnel d’un répertoire de « postures » Belonia Gabalda Stage effectué sous la direction d’Olivier Sigaud au LRP (Laboratoire de Robotique de Paris) et à l’AnimatLab du 5 février au 25 juin 2007 dans le cadre du Master Recherche en Sciences Cognitives de Paris Laboratoire de Robotique de Paris 18, route du Panorama - BP 61 92265 Fontenay-aux-Roses Cedex AnimatLab Institut des Systèmes Intelligents et Robotique 104 avenue du président Kennedy 75016 Paris J’ai effectué mon stage de Master au LRP (Laboratoire de Robotique de Paris) et à l’AnimatLab (Laboratoire d’Informatique) Le LRP et l’AnimatLab sont des laboratoires de recherche de l'Université Paris 6. La recherche développée au LRP est centrée sur la conception et la commande des systèmes robotiques et micro-robotiques. Elle intéresse plus spécifiquement les applications des divers domaines de la santé (chirurgie, assistance, biologie). Elle s'adresse également à de nombreuses applications avancées de la robotique valorisant les mêmes connaissances de base (systèmes de transport de biens et personnes, manipulations complexes, préhension/ locomotion articulée, etc.) qui constituent des domaines de compétence forts pour les membres du LRP. Les thèmes de recherche privilégiés par cette formation se focalisent en particulier sur la modélisation, la conception et la commande des systèmes robotiques complexes et les systèmes micro-robotiques et les commandes associées, des systèmes de locomotion à haute mobilité, des interfaces physiques homme/système. La recherche développée à l'AnimatLab est centrée sur l’approche animat, c'est-à-dire sur l'étude d'animaux simulés ou de robots, dont les lois de fonctionnement sont inspirées de celles des animaux, et qui s'avèrent capables de se développer, d'apprendre et d'évoluer. L'objectif de l'approche animat est de contribuer à l'avancement des sciences cognitives en recherchant en quoi l'intelligence de l'homme s'explique à partir des comportements adaptatifs les plus simples hérités de l'animal, dans une perspective à la fois ascendante, évolutionniste et située. Pour atteindre ces objectifs, l'approche animat postule que les mécanismes sous-tendant les comportements adaptatifs doivent impérativement être étudiés et conçus en situation, c'est à dire en tenant compte des buts que l'animat essaie d'atteindre et des opportunités que l'environnement lui offre pour réaliser ces buts. Concerné par les neurosciences, les sciences cognitives, l'éthologie, et l'écologie, d'une part, par l'informatique et la robotique, d'autre part, l'AnimatLab est un lieu de recherches hautement interdisciplinaire, engagé dans de nombreuses collaborations, tant en France qu'à l'étranger. [ Extraits des sites internet du LRP et de l’AnimatLab] 2/42 Modèle computationnel d’un répertoire de « postures » Abstract Many physiological studies have shown that motor and premotor cortex is organized on the basis of a repertoire of motor primitives representing arm postures. This repertoire would emerge from the competition among three parameters, a somatotopic map of the body, a map of hand location in space and a map representing different ethological categories of movement. The complex organization of the primary motor and premotor cortex would arise from these three parameters. We propose a computational model of this repertoire of postures using a Kohonen network. The postures are represented as arm angles or spatial locations. The two representations will be compared. Our model integrates also a robot simulation and several contexts accounting for the environment. The model allows selection of a goal as a posture of our repertoire, movement towards that goal and training of our repertoire. Apart from the comparison between the two different ways of representing a posture, we also studied the result of different initialisations of our repertoire. The map gets finally organized to represent the different ethological categories of postures. The results we obtain show that the final organization of the map does not depend on the type of representation, but does depend on the initial organization. The learning of a repertoire of final goal-postures pursued when various contexts appear is well represented in our model. Résumé Plusieurs études neurophysiologiques ont montré l’existence d’un répertoire de postures au sein du cortex, notamment moteur et prémoteur. Ce répertoire serait formé par la compétition de trois paramètres : une carte somatotopique du corps, une carte des positions de la main dans l’espace et une carte différenciant plusieurs catégories éthologiques de mouvements. L’interaction de ces trois paramètres expliquerait l’organisation complexe du cortex moteur primaire et prémoteur. Nous proposons un modèle intégrant ce répertoire de postures sous la forme d’une carte de Kohonen représentant soit des angles articulaires, soit des positions spatiales. Le modèle comprend également un mannequin virtuel et un environnement constitué de contextes. Le modèle permet la sélection d’un but représenté par une posture de notre répertoire, le mouvement vers ce but et l’évolution du contenu du répertoire. Les tests effectués permettent de comparer deux types de représentation des postures : en angles et en positions, ainsi que l’effet de deux organisations initiales différentes du répertoire. La carte s’organise pour représenter chacune des postures éthologiques. Les résultats montrent que le type de représentation n’influe pas sur l’organisation finale du répertoire, mais que cette dernière dépend de l’organisation initiale. Le modèle valide la formation du répertoire par apprentissage des postures vers lesquelles des actions sont dirigées lors de l’apparition de sources de récompense dans divers contextes. 3/42 SOMMAIRE I Introduction ____________________________________________________________ 5 II Matériel et méthodes : le modèle ___________________________________________ 9 II.1 Architecture générale_______________________________________________________9 II.1.1 II.1.2 II.1.3 II.1.4 L’environnement ______________________________________________________________10 La simulation : Arboris _________________________________________________________12 Les cartes auto-organisatrices de Kohonen __________________________________________12 La question de la représentation des postures ________________________________________14 II.2 Présentation du modèle ____________________________________________________17 II.3 Algorithme ______________________________________________________________19 II.4 Initialisation et protocole expérimental _______________________________________20 Initialisation de la carte de Kohonen : ________________________________________________20 Optimisation de l’algorithme : ______________________________________________________20 Description du protocole expérimental : ______________________________________________20 III Résultats ____________________________________________________________ 23 III.1 Apprentissage des liens ___________________________________________________23 III.2 Apprentissage des postures but : formation de clusters _________________________24 IV Discussion ___________________________________________________________ 29 IV.1 Comparaison des codages en angles ou en positions ____________________________29 IV.2 Comparaison avec Aflalo et Graziano _______________________________________32 V Travaux futurs et perspectives ____________________________________________ 33 Apprentissage de « filtres » ________________________________________________________33 Bruits dans les postures ___________________________________________________________33 Loi de commande dynamique ______________________________________________________33 Séquences de buts _______________________________________________________________34 VI Conclusion ___________________________________________________________ 35 REMERCIEMENTS _____________________________________________________________37 BIBLIOGRAPHIE _______________________________________________________________39 4/42 I Introduction L’architecture du système neurophysiologique et biomécanique responsable de la commande motrice humaine et de son apprentissage est d’une grande complexité. Les principes qui président à la réalisation des mouvements dans des structures nerveuses spécifiques (cortex moteur, cervelet, ganglions de la base) sont encore mal compris et les modèles sont très nombreux. Parmi les hypothèses étudiées par les chercheurs, un ensemble de travaux sont fondés sur l’idée qu’il existe au sein de ce système un répertoire de « postures » qui pourraient coder pour des « buts » moteurs. En effet, des études neurophysiologiques chez la grenouille (Giszter et al. 1993) ont montré qu’en stimulant sa moelle épinière, les membres inférieurs de l’animal se disposaient dans des configurations spatiales précises indépendamment de leur configuration initiale. Par ailleurs, des stimulations intracrâniennes chez le singe (Graziano et al. 2002a, 2002b, 2003, 2004) entraînent également le mouvement de l’animal jusqu’à une posture donnée. Graziano et son équipe affirment l’existence d’un répertoire de postures dans le cortex moteur primaire et le cortex prémoteur du singe. L’aire stimulée dans ces études se situe dans le gyrus précentral. Elle englobe en partie le cortex moteur primaire (M1), la partie caudale du cortex prémoteur dorsal (PMdc), et le cortex prémoteur ventral (aires F4 et F5 chez le singe), tel que schématisé sur la figure 1. Des études de Wise et al. (1997) semblent montrer que la partie rostrale du cortex prémoteur dorsal (PMdr) est impliquée dans la planification et la sélection de l’action, tandis que la partie caudale permet l’exécution et la correction du mouvement. Les deux populations de cellules du cortex prémoteur reçoivent aussi des inputs différents en provenance du cortex pariétal. Par ailleurs, seules les cellules du PMdr reçoivent de l’information provenant du cortex préfrontal dorsolatéral. De son côté, l’activité du cortex préfrontal fournit une information sur les récompenses liées à la sélection d’une action motrice dirigée vers un but (Matsumoto et al. 2003). Le PMdc, qui projette sur M1 et la moelle épinière, serait plus directement impliqué dans la préparation et l’exécution du mouvement. Seule une stimulation de la partie caudale du cortex prémoteur dorsal déclenche un mouvement vers une posture but (Graziano et al. 2002a, 2002b). Figure 1. Schémas des aires motrices du cerveau de primate : aire motrice primaire et aire prémotrice et ses divisions. [ D’après Graziano, 2006] Ultérieurement, à travers des enregistrements de l’activité neuronale chez le singe lors de mouvements libres des membres supérieurs, Aflalo et Graziano (2006a) ont montré que les 5/42 neurones étaient principalement, bien que non exclusivement, réglés pour la posture finale en termes d’angles articulaires. Les autres paramètres que l’on pensait être encodés dans le cortex prémoteur, tels que notamment la direction du mouvement (Georgopoulos et al. 1986), sa vitesse, les couples, la position de la main, semblent contribuer à un moindre degré à la variabilité rencontrée dans le taux de décharge des neurones. Selon Graziano et ses collaborateurs (2003, 2004) les sites (groupes de neurones stimulés électriquement), impliqués dans le mouvement du bras, formeraient une carte des positions évoquées de la main (sans précision sur le référentiel). Le fait que certains neurones présentent un réglage pour la posture finale serait dû au fait que le singe passe une grande partie de son temps à maintenir ses bras dans des postures données. Le réglage des neurones refléterait alors le répertoire comportemental de l’animal. Enfin, dans leurs travaux de 2005, Graziano et al. suggèrent que l’organisation de la partie du cortex étudiée n’est pas seulement basée sur une carte des positions de la main, mais aussi sur deux autres critères, à savoir la somatotopie et la catégorie éthologique de la posture. Ces trois paramètres entreraient en compétition et entraîneraient une organisation complexe où les trois représentations se superposent. En s’appuyant sur les faits neurophysiologiques que nous venons de décrire, Aflalo et Graziano (2006b) ont proposé un modèle computationnel permettant de rendre compte de l’organisation complexe décrite ci-dessus. Leur modèle se compose d’une carte de Kohonen (Kohonen, 1984, 2001) dont les entrées sont constituées de trois parties permettant d’identifier une posture stockée : les membres, ou éléments, impliqués, le type éthologique de la posture et la position de la main. Le premier paramètre est défini comme un vecteur binaire à dix dimensions (une par élément considéré) associant la valeur « 1 » à chacun des éléments utiles au mouvement. Le deuxième paramètre est un vecteur binaire à cinq dimensions (une par type éthologique), où la dimension associée à la posture considérée a une valeur de « 1 » et les quatre autres une valeur de « 0 ». Enfin le troisième paramètre est représenté par un vecteur réel à trois dimensions (une pour chaque coordonnée spatiale). Aflalo et Graziano initialisent la carte de Kohonen avec une représentation somatotopique simple du cortex moteur primaire et prémoteur (celle de Woolsey et al. 1952). On peut cependant reprocher à leur modèle le fait que les deux premiers paramètres considérés représentent la même information en ce sens où la donnée des membres permet de déterminer le type de posture en jeu et inversement. Par ailleurs, le poids pour l’apprentissage de la composante somatotopique des cellules est plus faible que pour les autres composantes afin de ne pas complètement modifier la somatotopie initiale. On peut donc émettre une réserve sur les résultats obtenus, puisque les paramètres sont fixés afin d’obtenir les résultats souhaités. Enfin, la constitution du répertoire de postures se fait directement à partir d’un codage manuel ad hoc des postures en fixant la somatotopie et les informations encodées. Il y a donc une correspondance établie a priori entre le type éthologique et les membres utilisés. Sur la base de ce travail préalable, Baldassarre et son équipe (Baldassarre, 2002 ; Ognibene et al. 2006a, 2006b) se sont également intéressés à la modélisation d’un répertoire de postures permettant de réaliser une tâche de reaching. Ils utilisent aussi une carte de Kohonen (Ognibene et al. 2006b), mais utilisent cette fois le répertoire de postures dans une tâche d’apprentissage sur un système qui interagit avec son environnement. De même que Baldassare et ses collègues, nous allons nous pencher sur le problème de l’acquisition du répertoire de postures dans le cadre d’une tâche d’apprentissage. Mais, là où leur modèle ne s’applique, pour l’instant, qu’à un bras à deux degrés de liberté, nous allons 6/42 nous intéresser à la réalisation de mouvements complexes d’un humanoïde à vingt-quatre degrés de liberté (mouvement des bras et du torse). La prise en compte d’un système plus complexe va nous conduire à nous pencher de façon plus précise sur les questions relatives à la nature des informations codées dans la carte de Kohonen. En effet, une des questions que nous allons nous poser dans le cadre de notre étude est de savoir si cette carte est constituée de neurones codant pour une certaine configuration articulaire de l’animal, pour un ensemble de positions des différentes parties du corps, ou pour une interaction de plusieurs paramètres. Par ailleurs, une fois relâchés les a priori d’Aflalo et Graziano sur un codage de l’information en trois parties ad hoc, nous allons pouvoir nous intéresser à des questions d’organisation spatiale de notre répertoire de postures. En plongeant notre système dans un environnement doté de contextes dans lesquels certaines postures sont récompensées, nous allons montrer que le codage ad hoc d’Aflalo et Graziano n’est pas nécessaire pour obtenir le type d’organisation auquel ils font référence. Pour atteindre cet objectif, nous allons faire réaliser des mouvements complexes à une simulation de robot humanoïde. Ces mouvements seront planifiés et exécutés à partir de postures but stockées dans une carte de Kohonen. La carte de Kohonen sera entraînée de telle façon que le répertoire de postures qu’elle encode évolue vers un répertoire de postures but, donc de postures dans lesquelles le mannequin virtuel reçoit des récompenses. La question majeure étant de trouver une représentation des postures au sein de la carte de Kohonen qui favorise une bonne adéquation avec les postures récompensées, on va chercher à savoir si une représentation en positions (organisation topologique selon les positions) nous permet d’obtenir une carte différente, apprise plus rapidement, qu’une carte représentant des angles (topologie en angles). Nous allons d’abord présenter plus en détail l’architecture de notre modèle, ainsi que les différents outils qui le composent. Puis, deux variantes - selon le type de représentation utilisée - seront exposées et testées à partir de la donnée d’un protocole expérimental. Enfin nous discuterons des résultats des deux modèles et de leurs limitations, ainsi que de la comparaison possible avec le modèle computationnel d’Aflalo et Graziano (2006b). 7/42 8/42 II Matériel et méthodes : le modèle II.1 Architecture générale Trois régions du cerveau interviennent dans l’apprentissage moteur : le cervelet, les ganglions de la base et une partie du cortex, notamment du cortex moteur primaire et prémoteur. Un modèle computationnel complet devrait intégrer chacune des structures impliquées dans l’apprentissage moteur. Dans ce modèle, une boucle cortico-basale permettrait de sélectionner des séquences d’actions appropriées (séquences de postures but) et une boucle corticocerebelleuse permettrait d’ajuster les actions motrices conduisant d’une posture à la suivante (voir figure 2). Figure 2. Représentation schématique du réseau neuronal impliqué dans l’apprentissage moteur. [ D’après Doya 2000] Dans le modèle simplifié que nous présentons ici, l’apprentissage intervenant au niveau du cervelet n’a pas été traité. L’exécution du mouvement se fait simplement par interpolation entre postures. Notre modèle ne prend pas non plus en compte l’apprentissage d’une séquence d’actions élémentaires ou de buts successifs se faisant au niveau des ganglions de la base. Dans nos expériences, la séquence de buts intermédiaires est donnée au système, chaque but étant récompensé à son tour. C’est l’association entre un contexte et une posture but du répertoire qui est apprise. De même qu’Aflalo et Graziano, nous nous sommes exclusivement intéressés à la modélisation de la partie du cortex semblant contenir un répertoire de postures, même si notre propre étude implique la mise en place d’un apprentissage sensori-moteur. 9/42 Notre modèle se compose de trois éléments (voir figure 3) : - Une simulation de robot humanoïde ou un mannequin virtuel permettant de visualiser les mouvements produits par la donnée de contextes environnementaux et de vérifier à tout instant si des postures récompensées sont atteintes. - Un environnement représenté par la donnée de contextes successifs. A chaque contexte est associé la donnée d’un but à atteindre, spécifié sous la forme de contraintes sur la position courante de notre mannequin virtuel. - Une partie de l’architecture de contrôle contenant un répertoire de postures but et représentée par une carte de Kohonen. Figure 3. Architecture du modèle : environnement, carte de Kohonen et simulation de robot humanoïde. La présentation du contexte C1 active le neurone marqué d’un cercle orange (1). La posture pour laquelle il code est représentée dans le rectangle orange (2), c’est la posture cible. Le mannequin le plus à gauche représente la posture initiale du sujet. Les postures suivantes indiquent le déplacement vers la posture cible (3). La quatrième posture courante satisfait les critères de récompense et le mouvement s’arrête. Cette posture est codée par le neurone marqué d’un cercle violet (4). Enfin, la carte de Kohonen est entraînée avec cette posture (5). Les différentes couleurs de la carte indiquent des groupes de neurones formés après apprentissage. Les lignes entre contextes et cellules de la carte représentent des liens. II.1.1 L’environnement Nous avons décidé de modéliser de façon très abstraite les comportements habituels du singe sous la motivation de la faim. Les contextes choisis (voir tableau 1) correspondent à une succession d’états de l’environnement suite aux actions du singe induites par les contextes précédents. La donnée d’un contexte représente la donnée d’un but à atteindre par la réalisation d’une action. Ces buts constituent les postures finales des mouvements produits 10/42 par un mécanisme d’interpolation entre deux postures. Nous avons fixé des contraintes sur les postures permettant de décider du succès ou de l’échec de l’action effectuée en vue du but induit par le contexte courant. La posture dans laquelle se trouve le sujet lors d’un succès sera nommé « posture récompensée ». Contexte But de l’action fruit à portée intact attraper le fruit fruit en main intact manipuler le fruit fruit en main décortiqué manger le fruit agression se protéger Contrainte sur la posture finale (voir figure 4) au moins une main loin du corps : à moins de 31 cm de l’horizon maximal atteignable par la main les deux mains à moins de 16 cm l’une de l’autre et dans l’espace central devant le corps à moins de 40 cm du corps au moins une des deux mains à moins de 14 cm de la bouche les deux mains à moins de 15 cm l’une de l’autre, les deux bras à moins de 22 cm l’un de l’autre et à moins de 19 cm du visage Tableau 1. Contextes pris en compte, buts des actions induites par ces contextes, et contraintes sur les postures finales pour considérer le but comme atteint. Nos différents types de postures finales correspondent à quatre des cinq catégories de mouvements repérées par Aflalo et Graziano lors de leurs études de stimulation (Graziano et al. 2005) et utilisées dans leur modèle (Aflalo et Graziano 2006b), comme on peut le voir sur la figure 4. Cependant, dans notre travail, ces types de postures ne sont pas codés explicitement dans la carte, contrairement aux catégories éthologiques de mouvements du modèle d’Aflalo et Graziano. a. b. Figure. 4. a. Deux vues d’un singe schématisé avec les positions de la main définies pour chacune des cinq catégories de mouvement du modèle d’Aflalo et Graziano. Bleu clair : « hand-to-mouth » ; bleu foncé : « reach » ; rouge : « defense » ; vert : « manipulation » ; rose : « climbing ». [D’après Aflalo et Graziano 2006b] b. Présentation du mannequin virtuel avec aperçu schématisé des régions qui définissent les contraintes de récompense pour chacun des quatre types de posture finale. Bleu foncé : « attraper » ; vert : « manipuler » ; bleu clair : « manger » ; rouge : « se protéger ». 11/42 II.1.2 La simulation : Arboris Nous utilisons une simulation de robot humanoïde, nommée Arboris et développée en collaboration entre le CEA-List par Alain Micaelli et Cyrille Collette et le LRP par Sébastien Barthélemy. Cette simulation nous permet de visualiser les différentes postures : aussi bien les postures codées dans la carte de Kohonen que les postures courantes rencontrées au cours du mouvement. A partir d’une configuration angulaire donnée, la simulation nous permet également de déterminer les positions de chacun des membres de l’humanoïde, par cinématique directe. Cet humanoïde est construit à partir de différents corps regroupés en branches, comme représenté sur la figure 5. Il est constitué de cinq branches : le tronc, le bras droit, le bras gauche, la jambe droite et la jambe gauche. Nous ne nous intéressons qu’aux trois premières. Le tronc est composé de deux corps : le bassin et l’abdomen. Chaque bras se compose de trois corps : le bras, l’avant-bras et la main. L’angle d’une articulation est défini comme la rotation du membre antérieur nécessaire pour se superposer au membre suivant. Les bras sont reliés au tronc par la clavicule. Figure 5. Représentation du mannequin virtuel utilisé dans notre modèle. Les chiffres représentent le nombre de degrés de liberté de chaque articulation. La simulation initiale contient trente-six degrés de liberté. Pour ne pas avoir à gérer des problèmes d’équilibre, nous nous sommes restreints à des postures ne faisant intervenir que la partie supérieure du mannequin. Nous avons donc laissé les jambes fixes à la verticale; ce qui ramène le système à vingt-quatre degrés de liberté, correspondants aux angles articulaires des bras et du tronc. Chaque posture remplit les contraintes anatomiques : les limites des angles de chaque articulation sont fixées, ainsi que la longueur de chaque membre. Ces limites articulaires sont données à chaque fois qu’on définit une posture aléatoire. La simulation est principalement utilisée pour visualiser la posture courante, i.e. la posture dans laquelle se trouve le sujet à un instant donné. Les postures courantes lors d’un mouvement vers un but déterminé par un contexte sont obtenues par interpolation de type spline (interpolation polynomiale par morceaux) entre la posture du sujet au moment de la présentation du contexte et la posture but associée à ce contexte. On considère la vitesse nulle (dérivée nulle des angles) au niveau des postures initiale et finale afin d’obtenir un profil de vitesse en cloche tel qu’observé lors de mouvements naturels. Le nombre de postures intermédiaires souhaitées est donné au système. Elles sont alors réparties à intervalles réguliers entre la posture initiale et la posture finale. II.1.3 Les cartes auto-organisatrices de Kohonen Les cartes auto-organisatrices ont été présentées par T. Kohonen en 1981 (Kohonen 1984, 2001). Elles se basent sur un algorithme d’apprentissage non supervisé. Pour l’implémentation, nous avons utilisé les fonctions, développées par une équipe du Laboratory of Computer and Information Science de l’Université de Technologie d’Helsinki, que nous avons obtenues à partir du site < http://www.cis.hut.fi/projects/somtoolbox >. 12/42 De même que Baldassarre et son équipe (Ognibene et al. 2006b) et Aflalo et Graziano (2006b), nous avons utilisé ces cartes comme support pour représenter les neurones de la partie du cortex moteur et prémoteur qui nous intéresse. Les cartes de Kohonen permettent de prendre en compte plusieurs dimensions et d’en fournir une représentation en deux dimensions. Les postures cibles sont « enregistrées » dans les vecteurs poids des cellules de la carte. Nous utiliserons indifféremment les termes cellules et neurones pour parler des nœuds de la carte auto-organisatrice, sachant qu’en réalité une cellule de la carte de Kohonen représente probablement un groupe de neurones du cortex. Comme on peut le voir sur la figure 6a, l’architecture d’un réseau de Kohonen est composée de deux couches : une couche d’entrée et une couche de sortie, reliées par les poids synaptiques des neurones de sortie. a b c Figure 6. a. Schéma de l’architecture à deux couches d’une carte de Kohonen. Le vecteur d’entrée a ici deux dimensions ; dans notre modèle il en a vingt-quatre. Les liens entre la couche d’entrée et la couche de sortie représentent les poids synaptiques des neurones de la carte topologique (carte de sortie). b. Topologie hexagonale de la carte de sortie. [ D’après Vesanto et al. 2000] c. Schéma du mécanisme de rapprochement des neurones vers le vecteur d’entrée. Le « bmu » (best matching unit) correspond au neurone dont le vecteur poids est le plus proche du vecteur d’entrée. [ D’après Vesanto et al. 2000] Les cartes topologiques de Kohonen se caractérisent par la prise en compte de l’interaction latérale, c’est-à-dire de l’interaction avec les neurones voisins. Avec la forme de la carte, le voisinage définit sa topologie. La caractéristique essentielle des cartes de Kohonen est la préservation de cette topologie : deux vecteurs d’entrée proches, au sens de la distance euclidienne, activent deux neurones topologiquement proches sur la carte de Kohonen. Tout comme Aflalo et Graziano (2006b), nous avons choisi un voisinage hexagonal, représenté sur la figure 6b. Une carte de Kohonen est en fait un outil de catégorisation qui permet de regrouper des données proches pour les représenter par un seul prototype. Les neurones de sorties (ou prototypes) codent chacun pour un ensemble de vecteurs d’entrée ayant des propriétés communes. Ce qui permet de répartir en plusieurs classes les données présentées en entrée. On observe alors la formation de divers groupes de neurones rapprochés appelés clusters. Dans notre cas, chaque prototype représente le barycentre de toutes les postures similaires. Un prototype est codé par une cellule. On voit donc l’intérêt d’utiliser une carte de Kohonen pour représenter notre répertoire de postures. 13/42 L’apprentissage, ou entraînement, consiste à présenter de nouvelles données à la carte et à ajuster les informations contenues dans les cellules déjà présentes pour prendre en compte ces nouvelles données. Chacune des données présentées en entrée l’est plusieurs fois ; le nombre de présentations de chaque vecteur correspond au nombre d’itérations d’apprentissage N que l’on définit. Cet apprentissage se fait en deux étapes. Premièrement, une compétition entre neurones s’établit : leurs vecteurs poids sont comparés au vecteur d’entrée afin d’identifier le neurone qui code pour le vecteur le plus proche, en terme de distance euclidienne, du vecteur d’entrée ; ce neurone étant appelé neurone gagnant et noté « r* ». Le voisinage du neurone gagnant est également déterminé. Les voisins sont définis selon la fonction gaussienne « h(r, r*) » des équations 1 et 2, où σ représente l’étendue du voisinage. Deuxièmement, les poids des neurones sélectionnés, i.e. le neurone gagnant et ses voisins, sont mis à jour par rapprochement du vecteur poids de chaque neurone au vecteur d’entrée, comme schématisé sur la figure 6c. Ce rapprochement se fait par la donnée d’un pas d’apprentissage, qui diminue au cours du temps et en fonction de la distance entre le vecteur codé par le neurone et le vecteur d’entrée. La règle d’apprentissage du neurone gagnant et de ses voisins est définie comme suit : wr,t+1 = wr,t + ηt h(r, r*) (xt - wr,t) Equation 1. où t est l’itération, r le neurone considéré, w le poids synaptique, x le vecteur d’entrée, ηt le pas d’apprentissage et h la fonction de voisinage qui représente l’interaction latérale. "d (r,r * )2 * 2 Equation 2. h(r,r ) = e 2.# (t ) où d est la distance entre les neurones r et r*, et σ l’écart type ou « rayon de voisinage » qui diminue au cours de l’apprentissage. ! II.1.4 La question de la représentation des postures Avoir recours à un mannequin virtuel permet de faire apparaître un problème central que ni le modèle d’Aflalo et Graziano, ni celui de Baldassarre et son équipe n’ont mis en évidence. En effet, à chacun des éléments de notre modèle dont l’architecture est décrite ci-dessus correspond un « langage » : la spécification des récompenses associées aux contextes, le codage des cellules but de la carte de Kohonen et le codage de la posture courante de la simulation lors de la commande du mouvement. La difficulté du processus d’apprentissage consiste à mettre ces trois langages en correspondance de façon à ce que les postures but désignent au mieux les postures récompensées. Aflalo et Graziano n’ont pas vu cette question faute d’avoir à coder une posture courante et Baldassarre ne se confronte pas vraiment à cette difficulté car le modèle de son système à deux degrés de liberté est trop simple et les transformations des angles en positions et réciproquement sont triviales. Dans notre cas, l’exécution du mouvement se fait à partir de la donnée des angles des deux postures entre lesquelles on désire effectuer le mouvement. Le choix de l’encodage de cette information semble donc pertinent. Dans une variante de notre modèle, les cellules de la carte de Kohonen codent donc pour les vingt-quatre angles articulaires. Cependant, cette donnée n’est pas des plus pertinentes en ce qui concerne la définition du but à atteindre et donc l’évaluation de la récompense. En effet, le critère important pour la réalisation d’un but n’est pas la configuration entière du corps mais seulement la donnée des positions de certains membres. Par exemple, dans le cas de la posture « manger », ce qui compte est la position 14/42 proche de la main par rapport à la bouche et non l’orientation de la main ou celle du coude ou de l’épaule. A partir de cette considération, nous avons développé une deuxième variante de notre modèle dans laquelle l’information contenue dans les cellules de la carte de Kohonen correspond à des positions. Nous avons encodé huit positions, appelées « positions clé », soit vingt-quatre coordonnées. Ces huit positions correspondent à celles de l’épaule, du coude, du poignet et du bout de la main pour chaque bras. Les variables prises en compte pour la définition du vecteur poids de chaque neurone correspondent aux vingt-quatre coordonnées (huit triplets (x,y,z)). Les positions ainsi définies dans la carte de Kohonen correspondent aux « positions cible ou but ». On se place dans un repère orthonormé de base directe. Les positions sont codées en centimètres par rapport aux yeux, avec l’axe des x orienté selon l’axe de visée (référentiel lié aux yeux et à l’orientation de la tête). Dans notre repère, l’axe des y est alors orienté vers le haut dans l’axe de la tête et l’axe des z orienté vers la droite, comme on peut le voir sur la figure 7. Figure 7. Orientation des axes permettant de définir les coordonnées des différents éléments considérés. Notre repère est centré sur les yeux, comme celui présenté dans les travaux de Medendorp et al. (2005), afin de considérer la coordination entre le mouvement des yeux et des mains vers la tâche effectuée. Ceci faciliterait par ailleurs les transformations visiomotrices dans une perspective de modèle plus vaste comportant un apprentissage en parallèle dans une boucle visuelle et une boucle motrice (Nakahara et al. 2001). Le problème que pose cette deuxième version du modèle est qu’on n’a plus de correspondance entre l’information présente dans la carte de Kohonen et l’information nécessaire pour l’exécution du mouvement par interpolation, qui reste la donnée des configurations angulaires de départ et d’arrivée. Il nous faut donc établir la correspondance entre une posture définie par ses positions clé et une posture définie par ses angles articulaires. Une transformation de cinématique directe nous permet d’obtenir les positions clé à partir de la configuration articulaire. En revanche, nous ne disposons pas d’une loi de transformation inverse. Nous avons donc créé une deuxième carte de Kohonen, comme on peut le voir sur la figure 8, équivalente à la carte du modèle précédent, mais avec une 25ième variable. Une correspondance entre les informations contenues dans les cellules des deux cartes est établie à partir de la loi de transformation directe. La première carte, codée en positions, est utilisée pour la détection du neurone dont le vecteur poids est le plus proche du vecteur d’entrée, ainsi que celle de ses voisins, et définit donc la topologie de la carte, qui est transmise à la 25ième variable de la deuxième carte, codée en angles, utilisée lors de l’entraînement. L’entraînement se fait donc à partir du voisinage établi en positions. L’avantage d’utiliser une carte en angles pour l’entraînement, outre le fait que les données sont alors directement compatibles avec les données des postures courantes récompensées, est de conserver les postures dans les limites articulaires, ce qui serait plus difficile à obtenir si l’entraînement se faisait dans une carte en positions. Après l’entraînement, la première carte est réactualisée avec les nouvelles positions obtenues à partir des nouvelles postures angulaires de la deuxième carte et la correspondance entre les deux cartes est ainsi préservée. 15/42 Figure 8. Architecture de la deuxième variante du modèle : environnement, cartes de Kohonen et simulation de robot humanoïde. La présentation du contexte C1 active le neurone de la carte codée en positions marqué d’un cercle orange (1). Le neurone correspondant de la carte en angles est déterminé (2). La posture, en angles, pour laquelle il code est représentée dans le rectangle orange (3), c’est la posture cible. Le mannequin le plus à gauche représente la posture initiale du sujet. Les postures suivantes indiquent le déplacement vers la posture cible (4). La quatrième posture courante satisfait les critères de récompense et le mouvement s’arrête. Cette posture est codée par le neurone de la carte codée en angles marqué d’un cercle violet (5). La carte de Kohonen est entraînée avec cette posture et à partir de l’information topologique fournie par la carte codée en positions (6). Les postures modifiées en angles sont transformées en positions et la carte codée en positions est actualisée (7). Dans la suite, le terme « posture » sera employé lorsqu’on ne précise pas s’il s’agit d’une configuration angulaire ou d’un ensemble de positions. Les deux variantes ont été implémentées afin de juger de l’apport de la représentation en positions, plus proche du codage utilisé par Aflalo et Graziano (2006b). Leur comparaison constitue le cœur de notre travail. 16/42 II.2 Présentation du modèle Nous avons cherché à réaliser une séquence de mouvements en fixant des buts intermédiaires à partir de contextes. Ces buts sont représentés par des postures, appelées « postures cible » ou « postures but ». Notre modèle se base sur l’idée que ces postures but sont encodées dans le cortex. Nous avons modélisé la partie du cortex en question par une carte de Kohonen. Les cellules de la carte de Kohonen sont appelées « neurones cible » ou « neurones but ». Le vecteur poids de chaque neurone représente une posture cible ou but. On définit des liens entre chaque contexte de la séquence et chaque neurone de la carte. Chacune des postures cible répond à un contexte particulier, c’est-à-dire que, dans un contexte donné, un neurone cible va être activé. Le choix de la cellule but est effectué à partir de la loi probabiliste de Boltzmann (voir 3. Algorithme, Equation 7, p19). Le système continue donc à explorer la carte tout au long de l’apprentissage. L’exécution du mouvement par interpolation entre une posture initiale et une posture but permet de définir un certain nombre de « postures courantes » intermédiaires correspondant aux différents états du mannequin au cours du mouvement. Ces postures courantes sont évaluées par rapport à des critères de récompense. Si la posture courante satisfait ces critères, alors les processus d’apprentissage se mettent en place. Le modèle peut être séparé en deux processus d’apprentissage distincts. Le premier apprentissage consiste à associer un contexte à un ensemble de neurones codant pour des postures appropriées en définissant un lien fort entre les deux. La valeur d’un lien contexte - neurone se trouve augmentée dans le cas de la récompense et diminuée dans le cas d’un échec, récompense et échec étant définis par le fait de trouver ou non une posture récompensée au cours du mouvement entre la posture initiale et la posture but. La valeur est mise à jour selon l’équation : Q(t) = (1 - α) Q(t-1) + α R Equation 3. où t est l’itération courante. R est la valeur de la récompense et vaut 1 dans le cas d’une récompense (positive) et -0.3 dans le cas d’une punition. α représente un taux de changement. La valeur de α est reliée au taux de spécialisation du neurone selon la loi : Re(e"7*qerr ) α = 0.16 * g * Equation 4. max(Re(e"7*qerr )) ! où qerr représente la distance entre un neurone et le neurone gagnant. et g = max(0,1" k * # (Q > 0)) Equation 5. ! k est une constante proportionnelle (1/13) à la taille de la carte. Q représente la valeur du lien entre le contexte courant et un neurone de la carte. La variable « g » correspond à un « effet de surprise », c’est-à-dire le fait d’avoir déjà récompensé ou non le neurone considéré par le passé. De valeur initiale 0.16, la valeur de α diminue donc au cours de l’apprentissage de chaque contexte. Cette diminution permet d’éviter qu’un groupe de neurones associés à un contexte ne s’étende trop au détriment d’un groupe voisin. Les valeurs de liens modifiées sont celles du neurone dont la posture associée est la plus proche de la posture récompensée ou punie et de ses voisins directs à un degré moindre. Le 17/42 fait que les liens des voisins soient moins fortement modifiés est exprimé par « qerr » dans l’équation 4. La prise en compte du voisinage pour cet apprentissage permet non seulement de diminuer le temps de recherche, puisque les valeurs des liens de plusieurs neurones proches sont diminuées dans le cas d’un échec, mais surtout de favoriser la sélection de neurones proches d’un neurone récompensé par le passé ce qui permet de faciliter la formation des groupes de neurones récompensés pour un contexte. Le second apprentissage consiste à entraîner la carte de Kohonen à représenter de façon optimale les postures récompensées pour chacun des contextes présentés, i.e. obtenir les postures but associées à chaque contexte. La première posture courante récompensée du mouvement en cours, ainsi que celle qui débute le mouvement suivant (si elle est récompensée pour le contexte précédent), constituent les vecteurs d’entrée présentés à la carte de Kohonen. On choisit d’entraîner également avec la posture débutant le mouvement suivant afin qu’une posture décrivant un contexte soit située à « équidistance » des postures décrivant les contextes précédent et suivant. Le nombre d’itérations d’apprentissage N est de 15. Les postures de la carte les plus proches des postures récompensées, présentées en entrée, sont rapprochées de ces dernières selon l’équation 1 (p 14). La fonction de voisinage utilisée est la gaussienne de l’équation 2 (p 14) où σ décroît linéairement de 1.2 à 1. Le pas d’apprentissage ηt prend en compte l’effet de surprise « g » décrit précédemment. Sa valeur initiale vaut 0.015 * g. Il décroît ensuite au cours d’un entraînement jusqu’à une valeur 100 fois inférieure selon la loi inverse : a Equation 6. "t = b+ t où b = 0.1414 et a = b*0.015 * g ! Par la prise en compte de cet effet de surprise, la valeur du pas d’apprentissage est forte au début, ce qui permet de délimiter des régions générales pour chaque contexte et d’étendre l’apprentissage des différents contextes à ces régions. Puis, elle diminue et permet d’apprendre des détails plus fins, ainsi que d’éviter que les régions associées à chaque contexte ne s’accroissent trop au détriment des contextes suivants. 18/42 II.3 Algorithme L’implémentation du modèle a été effectuée dans le langage de programmation Matlab, conjointement avec Lionel Rigoux, en stage au LRP. On fixe le nombre d’itérations à effectuer et la séquence de contextes souhaitée. Les poids des liens entre contextes et neurones but sont fixés initialement à zéro. Pour chaque itération : - On initialise le mannequin à une posture aléatoire quelconque qui correspond à sa première posture courante - On se place dans le premier contexte de la séquence - Pour chaque contexte de la séquence, tant que le précédent a amené à un succès et qu’on n’a pas exécuté tous les contextes (le premier contexte est toujours exécuté) : o Un neurone but est choisi en fonction des liens entre le contexte courant et les cellules de la carte, selon la loi probabiliste de Boltzmann eQ(a ) T Equation 7. p(a) = Q(a ) T "e i i où Q(a) représente les liens entre les neurones de la carte et le contexte courant « a » ; T est la « température » et vaut 0.03 o On détermine la posture finale visée, vers laquelle le mannequin se déplace ! interpolation entre sa posture courante et cette dernière par o Pour chaque pas du mouvement tant qu’il n’y a pas eu de succès ou qu’on n’a pas atteint la posture visée : Si la première posture du mouvement amène une récompense pour le contexte précédent, on entraîne la carte de Kohonen avec cette posture On regarde si la posture courante vérifie les contraintes conduisant à une récompense pour le contexte courant Si succès : • On augmente le poids du lien entre le contexte courant et le neurone codant pour la posture la plus proche de la posture courante, ainsi que ses voisins directs : Q = (1 - α) Q + α R avec R = 1 • On entraîne la carte de Kohonen • On passe au contexte suivant de la séquence (Le mannequin se trouve dans la posture courante du moment de la récompense) Si échec : • Si le mannequin n’est pas encore dans la posture visée : o On passe au pas de temps suivant • Sinon o On diminue le poids du lien entre le contexte courant et le neurone but, ainsi que ses voisins directs : Q = (1 - α) Q + α R avec R = -0.3 o On passe à l’itération suivante 19/42 II.4 Initialisation et protocole expérimental Initialisation de la carte de Kohonen : Nous avons considéré deux cartes de Kohonen, l’une de dimension 15*25 et l’autre 16*24, soit de 375 et 384 cellules respectivement. L’important dans la comparaison de ces deux cartes n’est pas leur taille mais l’organisation de leurs cellules. Nous allons tout de même nommer ces cartes « carte 15x25 » et « carte 16x24 » dans un souci de différenciation, mais ces nominations permettront de désigner deux cartes organisées différemment comme support pour l’apprentissage. Afin d’initialiser notre ou nos cartes de Kohonen - en fonction de la variante du modèle - nous avons simulé un babillage par la création d’un million de postures aléatoires. La carte en angles a été entraînée grâce à ces postures, définissant ainsi une organisation de départ. Le cas échéant, nous avons ensuite transformé en positions les postures obtenues dans la carte en angles pour initialiser la carte en positions. Dans la carte initiale, entre un et six neurones codant pour des postures récompensées sont présents pour chaque contexte, comme on peut le voir sur la figure 9. 15x25 16x24 Figure 9. Cartes initiales avec représentation des postures récompensées pour chaque contexte. Bleu foncé : « attraper » ; vert : « manipuler » ; bleu clair : « manger » ; rouge : « se protéger ». A gauche : carte « 15x25 », à droite : carte « 16x24 ». On rappelle que ces cartes sont formées avec l’algorithme en angles. Optimisation de l’algorithme : Afin d’optimiser le temps de calcul et d’obtenir des résultats plus rapidement, on définit une phase de réalisation et de mémorisation et une phase d’apprentissage, effectuées successivement pour chaque itération. Dans la phase d’apprentissage, on mémorise une à deux postures récompensées (une lors du mouvement vers le but assigné au contexte courant et l’autre lors du début du mouvement vers la cible suivante, comme décrit p 18) pour chacun des contextes de la séquence et on ne change les liens et entraîne la carte de Kohonen qu’une fois les contextes présentés jusqu’à échec. Cette optimisation du code a été réalisée par Lionel Rigoux. Description du protocole expérimental : Notre protocole expérimental consiste à présenter une séquence de contextes au système. Le nombre d’itérations (de présentations de la séquence) que nous avons effectuées pour chaque test est de 1000. 20/42 La séquence est composée des quatre contextes décrits dans le tableau 1 (p 11) dans leur ordre de présentation. Par la suite, nous utiliserons, en parlant des contextes, des buts, des postures ou des clusters, les notations : « attraper », « manipuler », « manger » et « se protéger ». Pour l’exécution du mouvement, nous avons considéré cinq pas de temps. On avance dans la séquence tant que le système n’a pas rencontré d’échec. A la survenue d’un échec, on place le mannequin dans une posture aléatoire et on présente à nouveau le premier contexte de la séquence. A chaque itération, on présente donc successivement entre un et quatre contextes au système. Le nombre de contextes, par itération, ayant conduit à une récompense est comptabilisé afin de suivre l’évolution de l’apprentissage. On considère le lien entre un contexte et les neurones correspondants comme « appris » si plus de dix itérations successives conduisent à une récompense pour ce contexte. Nous avons étudié l’influence de deux paramètres sur les résultats d’apprentissage : - l’organisation initiale de la carte - le type d’information codée dans les neurones : angles ou positions. Quatre séries de tests ont donc été réalisées. Les résultats présentés correspondent à une moyenne effectuée sur dix tests pour chaque série. 21/42 22/42 III Résultats Le processus d’apprentissage résulte de la combinaison de deux processus étroitement couplés. D’une part, le système apprend à associer les bonnes cellules aux bons contextes afin d’attirer le mannequin vers des postures récompensées. D’autre part, la carte de Kohonen s’organise peu à peu de façon à ce que les différentes cellules codent au mieux pour les domaines dans lesquels le mannequin reçoit des récompenses. Nous présentons, dans les sections qui suivent, les résultats relatifs à ces deux processus. III.1 Apprentissage des liens Les différents contextes étant présentés successivement et le système étant réinitialisé au premier contexte lors de chaque échec, on observe logiquement une augmentation progressive du nombre d’itérations totales moyennes nécessaires pour l’apprentissage des contextes (voir figure 10a). Figure 10. a. Nombre total moyen d’itérations nécessaires à l’apprentissage en séquence de chaque contexte. b. Nombre moyen d’itérations nécessaires pour l’apprentissage de chaque contexte à partir du moment où le précédent a été appris. La figure 10b représente le nombre d’itérations supplémentaires à effectuer pour apprendre un contexte lorsque le précédent a été appris (sauf pour le premier où la valeur correspond au nombre d’itérations nécessaires pour apprendre le contexte depuis le début de l’essai). Dans le cas de la modélisation des postures but en angles, pour la carte 15x25, il faut en moyenne 187 itérations pour que notre modèle apprenne à relier les neurones adéquats au premier contexte. 117 itérations supplémentaires sont nécessaires, en moyenne, pour l’apprentissage du deuxième contexte, puis 79 pour le troisième et 111 pour le quatrième. Pour la carte 16x24, les nombres d’itérations respectifs à l’apprentissage des contextes successifs sont 79, 106, 68 et 39. Dans le cas de la modélisation des postures but en positions, pour la carte 15x25, ces nombres d’itérations sont 180, 120, 121, 108. Enfin, pour la carte 16x24, les nombres correspondants sont 70, 94, 56 et 67. Si on décompte le temps mis à apprendre la bonne association pour le contexte précédent, on observe que les temps mis à apprendre les associations entre les différentes postures but et les 23/42 différents contextes ne sont pas significativement différents entre les quatre contextes. Le fait que les associations des derniers contextes soient apprises un peu plus vite s’explique par le fait que leur apprentissage, lorsqu’un succès du contexte précédent le permet, commence avant que l’apprentissage du lien du contexte précédent soit terminé. Les temps d’apprentissage de la variante du modèle codant les postures en angles et celle qui les code en positions sont similaires. En revanche, on remarque que, pour le premier contexte, l’apprentissage est plus rapide dans le cas de la carte 16x24 que dans le cas de la carte 15x25. III.2 Apprentissage des postures but : formation de clusters Conjointement à l’apprentissage des liens, la carte apprend à représenter les postures but et s’organise. Sur la figure 11, on observe l’évolution de la carte en angles avec la formation successive de différents groupes de neurones. Chaque groupe correspond à un des contextes et contient des neurones codant pour les postures récompensées dans ce contexte (figures 11b et 11d). On nommera ces groupes de neurones des clusters. Les postures représentées par les neurones de chaque cluster sont très proches, comme on peut le voir sur les figures 11a et 11c qui représentent les distances entre les postures codées par les neurones de la carte. Plus la couleur tend vers le bleu foncé, plus les neurones sont proches ; plus cette couleur tend vers le rouge, plus ils sont éloignés (voir échelle des couleurs, figure 11). Au début de l’apprentissage (carte initiale), on peut voir, à la couleur rouge de la carte, que les neurones codent pour des postures diverses, éloignées les unes des autres (bien qu’une certaine organisation, se basant sur la proximité des postures, existe selon le principe des cartes de Kohonen). A la 50ième itération, sur la carte supérieure (11a) représentant les distances entre neurones, on commence à voir apparaître le cluster correspondant au premier contexte de la séquence, « attraper ». Puis, successivement, avec cette même représentation de la carte, aux 100ième, 150ième et 200ième itérations apparaissent les clusters relatifs aux contextes « manipuler », « manger » et « se protéger » ; le volume de chacun des clusters augmentant par la suite au fur et à mesure de l’avancée de l’apprentissage. On observe le rapprochement des neurones avant que ces derniers ne codent effectivement pour des postures récompensées. 24/42 a b carte initiale 50ième itération 100ième 150ième 200ième 250ième 300ième 1000ième c d Echelle des couleurs proches . . . . . . . éloignés Figure 11. Evolution au cours du temps d’une carte 16x24 en angles de gauche à droite et de haut en bas, avec deux manières de représenter la carte. a et c. Représentation de la distance euclidienne entre neurones. Un hexagone représente la distance entre la posture codée par un neurone et celle codée par un de ses voisins. Six hexagones adjacents représentent donc les distances entre un neurone et ses six voisins (le septième hexagone, central, représente une moyenne). Plus la couleur de l’hexagone tend vers le bleu (voir l’échelle des couleurs), plus les deux neurones, qui apparaissent comme voisins sur la carte, codent pour des postures proches ; plus cette couleur tend vers le rouge, plus les deux neurones représentent des postures éloignées. b et d. Topologie de la carte avec la représentation des postures récompensées pour chaque contexte. Bleu foncé : « attraper » ; vert : « manipuler » ; bleu clair : « manger » ; rouge : « se protéger ». Le seuil d’affichage dépend des critères de récompenses définies dans le tableau 1, p11. Sur la figure 12, on observe l’évolution de la carte en positions avec la formation successive des différents clusters. Au début de l’apprentissage (carte initiale), aucun groupe de neurones ne se distingue. A la 150ième itération on commence à voir apparaître le cluster correspondant au premier contexte de la séquence, « attraper ». Puis, successivement, aux 250ième, 400ième et 450ième itérations apparaissent les clusters relatifs aux contextes « manipuler », « manger » et « se protéger » ; le volume de chacun des clusters augmentant par la suite au fur et à mesure de l’avancée de l’apprentissage. L’apparition des clusters sur les cartes b et d est simultanée (à 50 itérations près) à celle sur les cartes a et c. 25/42 carte initiale 50ième itération 150ième 250ième 350ième 400ième 450ième 1000ième Echelle des couleurs proches . . . . . . . éloignés Figure 12. Evolution d’une carte 16x24 en positions de gauche à droite et de haut en bas, visualisée grâce à la représentation de la distance euclidienne entre neurones et de la représentation des postures récompensées. L’observation des cartes représentées en angles aux mêmes instants ne permet pas de voir la formation des clusters. La figure 13 montre trois de ces cartes, au début, milieu et fin d’apprentissage. Les clusters apparaissent légèrement seulement dans la dernière. Cartes en angles 150ième itération 400ième 1000ième Figure 13. Trois cartes en angles obtenues lors d’un apprentissage avec la variante en positions du modèle. Les clusters se forment autour des neurones qui, initialement, codaient pour des postures récompensées ou des postures proches de ces dernières, comme nous pouvons le voir à partir de la carte initiale présentée dans les figures 11 et 12. Pour chacune des deux cartes initiales que nous avons utilisées (voir figure 9), deux organisations différentes apparaissent après apprentissage. Dans les deux cas, la différence 26/42 entre les deux configurations de la carte se situe au niveau de l’emplacement du cluster correspondant au contexte « attraper ». Dans le cas de la carte 15x25, la première variante de carte (figure 14a) est largement majoritaire, la deuxième variante (figure 14b) n’étant apparue qu’à deux reprises sur les 20 tests effectués avec cette carte. Dans le cas de la carte 16x24, la première variante (figure 14c) est majoritairement obtenue pour la condition « positions », alors que la deuxième (figure 14d) apparaît plutôt avec la configuration « angles ». a b c d Figure. 14, a, b, c, d. (haut et bas à chaque fois) Un exemple de carte (en angles) pour chaque organisation obtenue après apprentissage. En haut, « force » des liens ; en bas, postures récompensées. Bleu foncé : « attraper » ; vert : « manipuler » ; bleu clair : « manger » ; rouge : « se protéger ». Les deux cartes de gauche (a et b) sont des cartes 15x25, et les deux de droite (c et d) des cartes 16x24. Les quatre clusters sont sensiblement de même taille, avec un nombre moyen de neurones récompensés de 22, bien que le cluster « manger » soit légèrement plus petit. Comme on peut le voir sur la figure 15, dans le cas d’un apprentissage basé sur une carte en angles, le nombre moyen de neurones récompensés par contexte est sensiblement égal au nombre moyen de liens dont la valeur est supérieure à 0.25, i.e. un quart de la valeur maximale d’un lien. Les liens considérés sont appelés liens « forts ». La taille moyenne des clusters obtenus après apprentissage en angles est de 28 neurones récompensés et de 28 neurones ayant un lien « fort ». 27/42 a b Figure 15. Taille moyenne des clusters pour les cartes en angles. Représentation du nombre de liens « forts » et du nombre de neurones récompensés. a. visualisation de la « force » des liens ; b. visualisation des postures récompensées. La figure 16 montre que, dans le cas d’un apprentissage en positions, le nombre moyen de neurones récompensés par contexte est légèrement supérieur au nombre moyen de liens « forts ». La taille moyenne des clusters dans ce cas est de 22 neurones récompensés et de 16 neurones ayant un lien fort. a b Figure 16. Taille moyenne des clusters pour les cartes en positions. Représentation du nombre de liens « forts » et du nombre de neurones récompensés. a. visualisation de la « force » des liens ; b. visualisation des postures récompensées. 28/42 IV Discussion IV.1 Comparaison des codages en angles ou en positions Une des questions soulevées lors du développement de notre modèle est celle de la nature de l’information codée par les neurones. Nous avons testé deux possibilités de codage avec la représentation des postures par des angles ou des positions. L'évaluation expérimentale à laquelle nous nous sommes livrés a permis de faire ressortir les phénomènes suivants : 1. il apparaît sur la figure 10a que l'apprentissage se fait plus vite avec la carte 16x24 qu'avec la carte 15x25, et la figure 10b montre qu'en fait cet écart est principalement dû à un apprentissage plus rapide de la première posture ; 2. toujours à partir de la figure 10, il apparaît qu'il n'y a pas de différence significative sur la vitesse d'apprentissage entre le codage en angles et le codage en positions ; 3. d'après la comparaison des figures 11 et 12, on déduit que le codage en angles permet d'aboutir à une construction de clusters plus efficace ; les clusters ont des contours plus délimités et l’espace intermédiaire reste disponible pour de nouveaux apprentissages. En effet, à partir de l’observation du rapprochement des neurones pour l’étude de l’évolution des clusters, on note que les clusters en angles ont une délimitation plus claire et sont constitués de neurones codant pour des postures plus proches les unes des autres, comparés aux clusters en positions. De plus, les neurones se rapprochent plus vite les uns des autres en angles puisqu’on observe ce rapprochement avant l’apparition des postures récompensées, ce qui n’est pas le cas en positions. Enfin, les clusters sont plus grands dans le cas de l’apprentissage en angles (28 neurones en moyenne) comparé à l’apprentissage en positions (16 neurones en moyenne) ; 4. cette construction plus efficace des clusters se traduit aussi par un meilleur apprentissage de la force des liens entre les contextes et les postures récompensées (figure 15 comparée à figure 16) ; un plus grand nombre de neurones a un lien « fort ». Ce dernier phénomène découle directement du précédent. En effet, les liens seront d'autant mieux renforcés que les clusters correspondants codent plus clairement pour un but. Si une partie des résultats synthétisés ci-dessus ne permet pas vraiment de départager les deux modèles que nous avons étudiés, les phénomènes regroupés sous le point 3 semblent tout de même plaider clairement en faveur d'un codage en angles plutôt qu'en positions. Par ailleurs, il faut noter qu'un codage en angles est computationnellement plus économique dans le cadre de notre modèle, puisqu'il nous évite la coûteuse transformation entre les angles et les positions nécessaire lorsqu'on veut avoir recours au codage en positions. Il est tout de même nécessaire de nous interroger sur les limites de cette conclusion. Tout d'abord, il est utile de revenir à la littérature expérimentale qui propose des arguments en faveur de l’une ou l’autre possibilité. Baud-Bovy et al. (1998) ont fait des expériences de pointage afin de tester les hypothèses de différents schémas de transformations sensorimotrices. Une cible est repérée de manière kinesthésique avec le bras droit (condition D-D) ou gauche (condition G-D), puis le sujet doit amener son bras droit vers la cible. Dans le cas où deux bras différents sont utilisés (condition G-D) pour le repérage et le pointage, l’information acquise par le premier bras doit être transformée pour être utile au deuxième. Dans l’hypothèse où la cible est codée en termes d’angles articulaires, la précision obtenue 29/42 lors du pointage devrait être inférieure dans le cas de l’utilisation de deux bras différents (GD), puisqu’une transformation serait nécessaire dans ce cas-là, contrairement au cas où le même bras est utilisé (D-D). Baud-Bovy et al. (1998) montrent dans leur expérience que les erreurs de précision sont similaires dans les conditions D-D et G-D, ce qui va à l’encontre de l’hypothèse d’un codage exclusivement en angles. D’autre part, la posture moyenne de pointage est indépendante du bras utilisé pour le repérage. Le fait que les erreurs soient semblables pour les deux bras est en faveur de l’idée d’un même cadre de référence quel que soit le bras utilisé pour la localisation. La théorie nommée target position hypothesis (MacNeilage, 1970; Russel, 1976) stipule que l’encodage se fait en positions et donc que les précisions obtenues dans les deux conditions sont équivalentes, puisque le même type de transformation est utilisé dans les deux cas. Les résultats de l’expérience de Baud-Bovy et al. penchent en faveur de cette deuxième hypothèse, bien qu’elle semble devoir être complétée par une composante de stockage des angles. Par ailleurs, des études de stimulus-réponse montrent que l’important est la position qui donne la réponse plutôt que la main utilisée. L’hypothèse du minimum-jerk model de Flash et Hogan (1985) ainsi que des études de Georgopoulos et al. (1981) penchent en faveur de l’idée que ce sont des positions qui sont apprises et utiles à l’exécution du mouvement. D’autres études ont montré que les neurones du cortex moteur déchargent en fonction des postures angulaires initiales et finales (Scott et Kalaska 1997). Par conséquent, on ne peut pas dire que les neurones ne codent que des positions spatiales. Rosenbaum et al. (1999a) présentent une expérience de reaching mise au point afin de savoir si l’information codée par les neurones correspond à une posture dans l’espace intrinsèque ou une position dans l’espace extrinsèque. Les auteurs ont montré que l’information mise en mémoire était copiée d’un bras à l’autre et affirment que l’information en question représente la posture angulaire finale. Ils n’excluent pas que des positions spatiales puissent être mémorisées dans certains cas, mais montrent que les postures en terme d’angles articulaires représentent le paramètre appris dans la tâche étudiée lorsque le transfert d’une main à l’autre était possible. Il semblerait donc que le contrôle moteur prenne en compte à la fois des états du corps en termes de configuration articulaire et des informations spatiales de type « position ». Le type de représentation utilisée pourrait dépendre de la tâche, ou bien les deux types pourraient être utilisés de façon redondante, comme le suggèrent les expériences de Haggard et al. (1995) et le modèle de Kawato (1996). Dans un tel cadre, il faudrait mettre en place une stratégie de contrôle se basant sur ces deux niveaux de description. A noter que, pour tester plus avant cette hypothèse, il faudrait résoudre la difficulté que nous avons mise en évidence lors de notre étude ; celle qui consiste à transformer une posture codée en positions en une posture codée en angles, dont nous avons besoin dans notre modèle. Nous ne pouvons pas utiliser la cinématique inverse puisque nous ne considérons que la position de certains éléments et donc une infinité de configurations angulaires existent pour la donnée de ces positions. Ognibene et al. (2006b) résolvent ce problème par une méthode de « direct inverse modeling ». Un babillage génère un grand nombre de postures angulaires aléatoires et le modèle apprend à associer l’activation de la carte de Kohonen avec ces angles articulaires aléatoires. On peut ainsi par la suite retrouver les angles correspondants à une activation donnée de la carte. Cependant, Ognibene et al. travaillent dans un cas particulier à deux dimensions, cadre dans lequel la difficulté de transformation ne s'exprime que très partiellement. Mettre en place une transformation des positions vers les angles dans le cas d'un mannequin à vingt-quatre ou trente-six degrés de liberté par une méthode de « direct inverse modeling » est un problème autrement plus difficile, qu'il n'était pas possible 30/42 d'aborder durant ce stage. Par ailleurs, que le cerveau humain résolve ou non ce problème complexe est une question ouverte qui sort du cadre de ce stage. Une autre solution consiste à considérer une loi de commande permettant de se déplacer vers une posture en ne définissant que certaines positions, les autres membres se déplaçant en conséquence. Il serait intéressant d’explorer cette voie qui permettrait d’abandonner entièrement le codage en angles s’il s’avérait que ce n’est pas le codage approprié. Ensuite, il faut noter que ce qui importe pour déterminer si une posture est récompensée s'exprime idéalement sous la forme de distances entre éléments et non de positions indépendantes des différents éléments. Par exemple, dans le cas de la posture « manger », l’important est que la distance entre le bout de la main et la bouche soit faible et non que la main soit située à un endroit précis. Dans notre modèle, les positions étant définies dans un référentiel lié à la tête, on retrouve cette notion de distance, dans notre codage en positions, pour les postures « manger » et « attraper». Les postures « manipuler » et « se protéger» sont définies notamment par la distance entre les deux bras, ce qui, en revanche, n’apparaît pas dans le codage en positions. On voit donc la possibilité d'un troisième type de codage, fondé sur des distances entre membres, que nous n'avons pas testé dans le cadre de cette étude. Par ailleurs, la lecture de Nakahara et al. (1998, 2001) nous renvoie au fait que nous n'avons pas du tout pris en compte la dimension visuelle de l'apprentissage du geste. D'une part, il existe une littérature importante (Brotchie, 1995 ; Pouget, 2002) sur la question de savoir si les postures associées à des buts sont codées dans des référentiels liés au système visuel, par exemple directement sous la forme d'une distance dans l'espace rétinien, ou plutôt dans des référentiels extrinsèques à ce système. Nous n'avons pas du tout pris en compte la possibilité de ce type de codages alternatifs. D'autre part, nous ne rendons pas compte non plus de la possibilité d'interactions entre un mécanisme d'apprentissage dans l'espace visuel et un mécanisme d'apprentissage dans l'espace moteur, tel qu'étudié par Nakahara et al. (2001). Tout cela conduit donc à limiter la portée de notre comparaison entre les deux codages que nous avons étudiés, qui ne sont pas les seuls possibles. Enfin, le temps de calcul important nécessaire pour réaliser nos expériences ne nous a pas permis de valider les phénomènes, que nous avons observés, avec la rigueur des outils statistiques. En particulier, plusieurs phénomènes décrits parmi nos résultats semblent dépendants de l’organisation initiale de nos cartes. Notamment, nous avons observé une différence dans le temps d’apprentissage du premier contexte selon la carte initiale utilisée. Le fait qu’on ne note pas de différence significative pour les autres contextes, dans notre étude, est dû à ce que l’organisation de la carte est telle que ces contextes ont une équiprobabilité d’être récompensés entre les deux cartes. Pour d’autres configurations initiales de la carte, les temps d’apprentissage peuvent être différents pour d’autres contextes. Une étude plus poussée sur un grand nombre d’initialisations pourrait conduire à relever une constance dans l’organisation de certains contextes, mais nous ne pouvons conclure sur cette question dans notre étude. De même, le fait que la différence entre nos deux variantes de cartes se situe sur le positionnement du cluster « attraper » est probablement dû à l’organisation initiale. Cette dernière présente divers neurones codant pour une posture proche de celle qui permet de satisfaire le contexte « attraper ». Enfin, lorsque les clusters n’évoluent plus, ils peuvent être considérés comme entièrement formés ; on remarque alors que le nombre de neurones du cluster « manger » est légèrement inférieur au nombre de neurones définissant les autres clusters. Dans tous les cas que nous avons étudiés, le cluster « manger » se situe à proximité d’une arête de la carte, ce qui pourrait expliquer son étendue légèrement inférieure comparé aux autres contextes. Encore une fois, l’aspect de la carte après apprentissage dépend de l’initialisation. Lors des différents tests de notre modèle, nous sommes partis d’une carte 31/42 initialisée en angles. La comparaison entre les deux variantes du modèle se fait donc sur la différence d’apprentissage à partir d’une même initialisation. Pour comparer l’organisation des clusters obtenue avec angles et celle obtenue avec positions, nous pourrions, pour la deuxième variante du modèle, tester l’apprentissage avec une carte organisée initialement selon les positions. Il faudrait considérer le voisinage défini dans la carte en positions et le transposer à la carte en angles pour l’entraînement initial comme nous le faisons lors de l’apprentissage de la carte à représenter les postures but associées aux contextes. Par ailleurs, il serait intéressant d’étudier la formation de l’organisation initiale. Cependant, pour rendre compte des processus biologiques de cette formation, il faudrait considérer des paramètres supplémentaires. Une autre perspective serait d’avoir plutôt recours à une initialisation codant pour une organisation somatotopique, comme c'est le cas dans le modèle d’Aflalo et Graziano. Nous pourrions alors nous affranchir de la nécessité de reproduire les résultats à partir d'un grand nombre d'organisations engendrées aléatoirement. Ce point pourra faire l'objet de travaux futurs. En attendant, il faut retenir que les interprétations concernant l’organisation de la carte doivent être données avec une grande prudence. IV.2 Comparaison avec Aflalo et Graziano La réserve que nous venons d'exprimer sur toute tentative d'interpréter l’organisation des cartes que nous obtenons ne nous encourage pas à une comparaison détaillée de ces cartes avec celles obtenues par Aflalo et Graziano (2006). En effet, alors que ces auteurs cherchaient à expliquer finement l’organisation topographique complexe de la bande latérale motrice du gyrus précentral du singe telle qu'ils l'avaient relevée dans leurs études expérimentales, notre travail cherche plutôt à élucider des principes généraux et ne peut pas prétendre rendre compte de telle ou telle organisation spatiale détaillée. Sur le plan des principes, toutefois, notre travail conduit à remettre en question une partie des choix méthodologiques qui sous-tendent le modèle d'Aflalo et Graziano. En particulier, là où les auteurs donnent a priori un codage de l'information dans leur carte de Kohonen qui résulte d'un découpage explicite entre une carte somatotopique, une carte encodant la position de la main et une carte exprimant les diverses catégories éthologiques de mouvements, nos propres expériences ont montré qu'on pouvait obtenir une organisation spatiale en clusters pertinents sur le plan éthologique sans avoir recours à une carte somatotopique initiale et surtout sans faire apparaître explicitement a priori une information sur la catégorie éthologique du mouvement réalisé. Ainsi, nous avons montré qu’il n’était pas nécessaire d’étiqueter les postures présentées en entrée de la carte pour obtenir la formation de groupes de neurones codant pour un type de posture donné. La seule donnée de la configuration du mannequin est suffisante. Par ailleurs, dans leur modèle, Aflalo et Graziano ne définissent l’état de leur sujet que par la donnée de la position de la main. De même que dans le cas de Baldassarre, la prise en compte de cette information, trop simple par rapport à la spécification complète de la posture du corps entier, les a conduit à sous-estimer la difficulté, biologiquement pertinente, de déterminer le bon type de codage pour cette posture. Pour conclure cette discussion par une prise de recul, il faut noter qu'une bonne partie des phénomènes que nous avons discutés jusqu'ici sont largement dépendants de l’outil utilisé pour représenter le répertoire de postures, à savoir les cartes de Kohonen. Que ces cartes soient un outil approprié pour la représentation d’une partie du cortex est un point qui mériterait lui aussi d'être discuté. 32/42 V Travaux futurs et perspectives Apprentissage de « filtres » Considérant que notre système est doté d’un grand nombre de degrés de liberté, nous avions imaginé un mécanisme permettant de spécifier qu’une posture but ne porte que sur une petite partie des membres qui définissent une posture. En nous inspirant du modèle d’Aflalo et Graziano, nous avons ainsi défini un système de filtres destinés à déterminer si un membre est impliqué ou non dans la réalisation d’une posture récompensée et nous avons imaginé un algorithme permettant d’apprendre à positionner ces filtres correctement automatiquement. Cependant, d’une part il est rapidement apparu que cette question de l’apprentissage des filtres est largement dépendante de la question du codage des postures elles-mêmes et d’autre part, nous sommes parvenus à un apprentissage satisfaisant et à une organisation spatiale significative sans faire usage de ces filtres, donc nous avons abandonné cette problématique dans le cadre de notre travail. Il serait pourtant judicieux de reprendre cette problématique une fois que nous aurons tranché sur le bon type d’information à coder au sein de la carte de Kohonen, suite aux questions que nous avons soulevées dans la discussion. Bruits dans les postures Une des limitations de notre modèle est que l’apprentissage ne peut se faire (ou du moins pas assez rapidement) si les postures cible n’existent pas déjà dans la carte initiale. Il ne faut pas seulement que ces postures soient présentes initialement mais surtout qu’elles ne disparaissent pas lors de l’apprentissage des neurones à représenter les postures cible correspondant aux contextes précédents. Une solution serait de considérer comme posture cible une combinaison des postures présentes dans la carte. D’autres modèles computationnels cherchant à modéliser un répertoire de postures et le contrôle du mouvement (Ognibene et al. 2006b ; Rosenbaum et al. 1995) ont adopté cette technique, qui a d’ailleurs une forte plausibilité biologique puisque de nombreux mécanismes neuronaux sont de types many-winners ou population coding bien que d’autres soient de type winner-take-all. Une autre piste à étudier pour résoudre ce problème consisterait à ajouter du bruit aux postures stockées dans la carte afin de pouvoir explorer davantage l’espace des postures et ainsi obtenir les postures cible même si elles n’étaient pas présentes en tant que telles initialement. Cette approche a été explorée par Rosenbaum et son équipe (2001a, 2001b). Dans leur modèle, la meilleure posture du répertoire, en termes de contraintes définies sur la tâche, est sélectionnée. Plusieurs nouvelles postures sont générées autour de cette dernière et sont évaluées à leur tour selon les contraintes. La meilleure d’entre elles est alors considérée comme la posture cible vers laquelle on exécute le mouvement. Ce processus à l’avantage de fournir au modèle la capacité à traiter de nouveaux comportements en plus de la capacité d’apprentissage. Loi de commande dynamique Nous avons utilisé une loi d’interpolation pour effectuer le mouvement. Nous voulions la remplacer par une loi de commande dynamique développée au CEA par Cyrille Collette. Le problème qui se pose alors est que chacune des postures prises durant le mouvement doit vérifier des contraintes de maintien de l’équilibre (et non seulement la posture initiale et la posture finale), ce qui ne peut être assuré avec notre algorithme de sélection des postures. D’autre part, l’utilisation de la loi de commande accroît fortement le temps de calcul, ce que 33/42 nous n’avons pu nous permettre étant donné le matériel informatique dont nous disposions pour tester notre algorithme. Des travaux parallèles aux nôtres sont menés sur l’apprentissage d’une loi de commande dynamique. La prise en compte de cette loi de commande permettra de compléter notre modèle dans un avenir proche. Il faudra, par la suite, songer à inclure un mécanisme d’apprentissage visant à modéliser le rôle du cervelet. Séquences de buts Afin de réaliser une tâche plus proche de celle utilisée par Baldassarre et son équipe pour tester leur modèle, à savoir la tâche définie par Hikosaka et ses collègues (Rand et al. 1998), il faudrait effectuer l’apprentissage de la séquence de buts. Pour cela, le système ne doit être récompensé qu’à la fin de la séquence et non après chaque contexte. Dans notre modèle, la séquence n’est pas apprise ; ce sont les postures but ainsi que les associations entre ces postures but et les contextes correspondants qui sont apprises. L’apprentissage des liens se fait indépendamment pour chaque contexte. Le fait d’avoir une succession donnée de contextes n’apparaît dans l’apprentissage qu’au niveau des postures but ( par la sélection de deux postures pour l’entraînement, voir p18). Pour réellement apprendre une séquence d’actions et donc intégrer les ganglions de la base à notre modèle, il faudrait déterminer la succession de postures but conduisant à la seule récompense obtenue pour le dernier contexte. 34/42 VI Conclusion Deux principales théories existent sur la planification du mouvement : l’une basée sur la sélection d’une posture but (Feldman et Levin, 1995) et l’autre sur la détermination d’une trajectoire (Harris et Wolpert, 1998). D’une part, plusieurs travaux, dont ceux de Desmurget et al. (1998), ont montré que les postures, dans une tâche de pointage, différaient selon la position initiale du bras. Les résultats de Desmurget montrent cependant que, pour un même sujet et une même position initiale, la posture finale varie peu ; ce qui est en faveur de l’idée d’une stratégie fixe pour résoudre le problème du nombre de degrés de liberté (Bernstein, 1967). Cette stratégie se baserait sur les positions initiales et finales et donc sur le mouvement plutôt que la seule posture finale. D’autre part, de nombreux chercheurs ont présenté des résultats en faveur de la mémorisation de la position atteinte lors d’un mouvement plutôt que la mémorisation du mouvement entier. Ces données supportent le modèle du contrôle par la posture finale. Cependant, aucune expérience n’a permis de trancher définitivement en faveur d’une des deux théories (Hermens et Gielen, 2004). Dans le cadre de notre travail, nous avons pris le parti de considérer qu’il existait bien un répertoire de postures but. Ce choix est justifié par le fait qu’il semblerait qu’au moins les postures finales soient encodées, que le codage soit considéré comme étant en trajectoire ou en postures. Mais notre travail s’appuie plus précisément sur les recherches de Graziano et son équipe, qui sont controversées. En effet, dans les études chez le singe, la stimulation doit se prolonger jusqu’à une durée de 500 ms pour obtenir le mouvement jusqu’à la posture finale. D’autres études de stimulation avec des durées plus courtes obtiennent des spasmes musculaires et non un mouvement vers une posture spécifiée. Graziano et al. affirment que leur durée de stimulation est biologiquement pertinente puisqu’elle correspondrait à la durée nécessaire à l’animal pour effectuer le mouvement dans son environnement naturel. Cette durée correspondrait également à la durée de décharge d’un neurone lors du mouvement. Une critique de Strick (2002) assure que, du fait de ce long temps de stimulation, un réseau de neurones plus vaste que le site étudié est activé. Les conclusions de Graziano sur les différents sites stimulés peuvent alors être difficilement interprétées. Il est donc important de prendre en compte le fait que notre modèle s’appuie sur un certain nombre d’hypothèses a priori qui demandent encore à être validées par des études neurophysiologiques complémentaires. 35/42 36/42 REMERCIEMENTS Je tiens à remercier Olivier Sigaud, mon responsable de stage, pour son encadrement dans ce travail, pour le temps qu’il m’a consacré et pour les fructueuses discussions que nous avons eu. Je remercie également Lionel Rigoux, Sébastien Barthélemy, Cyrille Collette et Camille Salaun pour leur contribution, leur disponibilité et leurs précieux conseils. 37/42 38/42 BIBLIOGRAPHIE Aflalo, T.N., Graziano, M.S.A. (2006a). Partial tuning of motor cortex neurons to final posture in a free-moving paradigm. PNAS 103 (8): 2909-2914 Aflalo, T.N., Graziano, M.S.A. (2006b). Possible origins of the complex topographic organization of motor cortex : Reduction of a multidimensional space onto a two-dimensional array. The Journal of Neuroscience 26 (23): 6288-6297 Aflalo, T.N., Graziano, M.S.A. (2007). Relationship between unconstrained arm movements and single-neuron firing in the macaque motor cortex. The Journal of Neuroscience 27 (11): 2760-2780 Baldassarre, G. (2002). A modular neural-network model of the basal ganglia’s role in learning and selecting motor behaviours. Journal of Cognitive Systems Research 3: 5-13 Bernstein, N. (1967). The coordination and regulation of movements. London: Pergamon Press. Brotchie, P.R., Andersen, R.A., Snyder, L.H., Goodman, S.J. (1995). Head position signals used by parietal neurons to encode locations of visual stimuli. Nature 375: 232-235 Brown, L.E., Rosenbaum, D.A., Sainburg R.L. (2003). Limb position drift: Implications for control of posture and movement. Journal of Neurophysiology 90: 3105-3118 Collette, C. (2007). Etude et réalisation d’algorithmes de contrôle d’humains virtuels dynamiques. Rapport interne CEA Cisek, P., Kalaska, J. (2005). Neural correlates of reaching decisions in dorsal premotor cortex: specification of multiple direction choices and final selection of action. Neuron 45: 801-814. Desmurget, M., Gréa, H., Prablanc, C. (1998). Final posture of the upper limb depends on the initial position of the hand during prehension movements. Experimental Brain Research 119: 511-516 Doya, K. (2000). Complementary roles of basal ganglia and cerebellum in learning and motor control. Current Opinion in Neurobiology 10:732–739. Elsinger, C. L., Rosenbaum, D. A. (2003). End posture selection in manual positioning : Evidence for feedforward modeling based on a movement choice method. Experimental Brain Research 152 : 499-509 Feldman, A.G., Levin, M.F. (1995) Positional frames of reference in motor control: origin and use. Behavioral and Brain Science 18:723–806 Flash, T., Hogan, N. (1985). The coordination of arm movements: An experimentally confirmed mathematical model. The Journal of Neuroscience 5: 1688–1703 39/42 Georgopoulos, A.P., Kalaska, J.F., Massey, J.T. (1981). Spatial trajectories and reaction times of aimed movements: Effects of practice, uncertainty, and change in target location. Journal of Neurophysiology 46: 725-743 Georgopoulos, A.P., Schwartz, A.B.n Kettner, R.E. (1986). Neuronal population coding of movement direction. Science vol. 233, issue 4771: 1416-1419 Giszter, S.F., Mussa-Ivaldi, F.A., Bizzi, E. (1993). Convergent force fields organised in the frog’s spinal cord. The Journal of Neuroscience 13 (2): 467-491. Graziano, M.S.A., Taylor, C.S.R., Moore, T. (2002a). Complex movements evoked by microstimulation of precentral cortex. Neuron 34: 841-851 Graziano, M.S.A., Taylor, C.S.R., Moore, T., Cooke, D.F. (2002b). The cortical control of movement revisited. Neuron 36: 1-20 Graziano, M.S.A., Cooke, D.F., Taylor, C.S.R., Moore, T. (2003) Distribution of hand location in monkeys during spontaneous behavior. Experimental Brain Research 155: 30-36. Graziano, M.S.A., Patel, K.T., Taylor, C.S.R. (2004) Mapping from motor cortex to biceps and triceps altered by elbow angle. Journal of Neurophysiology 92: 395-407. Graziano, M.S.A., Aflalo, T.N.S., Cooke, D.F. (2005). Arm movements evoked by electrical stimulation in the motor cortex of monkeys. Journal of Neurophysiology 94: 4209-4223 Graziano, M.S.A. (2006). The organization of behavioural repertoire in motor cortex. Annual Review of Neuroscience 29: 105-134. Haggard, P., Hutchinson, K., Stein, J. (1995). Patterns of coordinated multi-joint movement. Experimental Brain Research 167: 254-266 Harris, C.M., Wolpert D.M. (1998). Signal-dependent noise determines motor planning. Nature 394: 780-784 Hermens, F., Gielen, S. (2004). Posture-based or trajectory-based movement planning : A comparison of direct and indirect pointing movements. Experimental Brain Research 159: 340-348 Kawato, M. (1996). Bidirectional theory approach to integration. In: Inui T, McClelland JL (eds) Attention and performance XVI: information integration. MIT Press, Cambridge, MA, pp 335–367 Kohonen, T. (1984). Self organizing maps and associative memory. Berlin: Springer. Kohonen, T. (2001). Self-organizing maps. Berlin: Springer. MacNeilage, P.F. (1970). Motor control of serial ordering of speech. Psychological Review 77:182-196. 40/42 Matsumoto, K., Suzuki, W., Tanaka, K. (2003). Neuronal Correlates of Goal-Based Motor Selection in the Prefrontal Cortex. Science vol 301, no 56 (30) : 229-232 Medendorp, W.P., Goltz, H.C., Crawford, J.D., Vilis, T. (2005). Integration of target and effector information in human posterior parietal cortex for the planning of action. Journal of Neurophysiology 93: 954-962 Meulenbroek, R. G. J., Rosenbaum, D. A., Vaughan, J. (2001). Planning reaching and grasping movements : Simulating reduces movement capabilities in spastic hemiparesis. Motor Control, 2 : 136-150 Nakahara, H., Doya, K., Hikosaka, O. (2001). Parallel cortico-basal ganglia mechanisms for acquisition and execution of visuomotor sequences - A computational approach. Journal of Cognitive Neuroscience, 13: 626-647. Ognibene, D., Mannella, F., Pezullo, G., Baldassarre, G. (2006a). Integrating reinforcementlearning, accumulator models, and motor-primitives to study action selection and reaching in monkeys. In: Fum, D., Del Missier, F., Stocco, A. (eds.): Proceedings of the 7th International Conference on Cognitive Modelling - ICCM06, 214-219 Ognibene, D., Rega , A., Baldassarre, G. (2006b). A model of reaching integrating continuous reinforcement learning, accumulator models, and direct inverse modelling. In Nolfi, S., Baldassarre, G., Calabretta, R., Hallam, J., Marocco, D., Meyer, J-A., Miglino, O., Parisi, D.(Eds.), From Animals to Animats 9: Proceedings of the Ninth International Conference on the Simulation of Adaptive Behavior (SAB-2006), pp. 381-393. Berlin: Springer Verlag. Panzer, S., Wilde, H., Shea, C. H. (2006). Learning of Similar Complex Movement Sequences: Proactive and Retroactive Effects on Learning. Journal of Motor Behavior, Vol. 38, No. 1 : 60-70 Pouget, A., Ducom, J.C., Torri, J., Bavelier, D. (2002). Multisensory spatial representations in eye-centered coordinates for reaching. Cognition 83 : 1-11 Rand, M.K., Hikosaka, O., Miyachi, S., Lu, X., Miyashita, K. (1998). Characteristics of a long-term procedural skill in the monkey. Experimental Brain Research 118 : 293-297 Rosenbaum, D. A., Loukopoulos L. D., Vaughan, J., Meulenbroek, R. G. J., Engelbrecht, S.E. (1995). Planning reaches by evaluating stored postures. Psychological Review, Vol. 102, No. 1: 28-67 Rosenbaum, D. A., Meulenbroek, R. G. J., Vaughan, J. (1999a). Remembered positions : Stored locations or stored postures ? Experimental Brain Research 124 : 503-512 Rosenbaum, D. A., Meulenbroek, R. G. J., Vaughan, J., Jansen, C. (1999b). Coordination of reaching and grasping by capitalizing on obstacle avoidance and other constraints. Experimental Brain Research 128 : 92-100 41/42 Rosenbaum, D. A., Meulenbroek, R. G. J., Vaughan, J. (2001a). Planning reaching and grasping movements : theoretical premises and practical implications. Motor Control 2 : 99115 Rosenbaum, D. A., Meulenbroek, R. G. J., Vaughan, J. , Jansen, C.(2001b). Posture-based motion planning: Applications to grasping. Psychological Review vol 108, no 4: 709-734 Russel, D.G. (1976) Spatial location cues and movement production. In: Motor control: issues and trends (Stelmach GE, ed), pp 67–83. New York: Academic. Scott, S.H., Kalaska, J.F. (1995). Changes in motor cortex activity during reaching movements with similar hand paths but different arm postures. Journal of Neurophysiology, Vol. 73, No. 6 Scott, S.H., Kalaska J.F. (1997). Reaching movements with similar hand paths but different arm orientations: I. Activity of individual cells in motor cortex. Journal of Neurophysiology 77: 826–852 Strick, P.L. (2002). Stimulating research on motor cortex. Nature Neuroscience, vol. 5, no. 8, 714-715 Vaughan, J., Rosenbaum, D. A., Harp, C. J., Loukopoulos, L. D., Engelbrecht, S. E. (1998). Finding final postures. Journal of motor behavior, Vol. 30, No. 3: 273-284 Vaughan, J., Rosenbaum, D. A., Meulenbroek, R. G. J. (2001). Planning reaching and grasping movements : The problem of obstacle avoidance. Motor Control, 2: 116-135 Vesanto, J., Himberg, J., Alhoniemi, E., Parhankangas, J. (2000). SOM Toolbox for Matlab 5. Technical Report. SOM Toolbox Team. Helsinki University of Technology. Weigelt, M., Cohen, R. G., Rosenbaum, D. A. (2007). Returning home : Location memory versus posture memory in object manipulation. Experimental Brain Research 179(2): 191-198 Woolsey, C.N., Settlage, P.H., Meyer, D.R., Sencer, W., Hamuy, T.P., Travis, A.M. (1952). Pattern of localization in precentral and “supplementary” motor areas and their relation to the concept of a premotor area. In: Association for research in nervous and mental disease, Vol 30: 238-264. New York: Raven. Wise, S. P., Boussaoud, D., Johnson, P. B., and Caminiti, R. (1997). The premotor and parietal cortex: Corticocortical connectivity and combinatorial computations. Annual Review of Neuroscience. 20: 25–42. 42/42