• Aucun résultat trouvé

2. Le simulateur PAX : historique et évolution

2.1 Les abstractions dans PAX

On peut classer les abstractions selon quatre types : abstraction fonctionnelle, temporelle, de données ou structurelle. Ci-dessous une brève description de chaque type d’abstraction suivie par une liste non-exhaustive des abstractions utilisées dans PAX.

Abstraction fonctionnelle

L’abstraction fonctionnelle permet une spécification partielle du comportement réel et autorise l’implantation partielle de certaines fonctions. Pour modéliser un système biologique, deux grands niveaux d’abstraction fonctionnelle apparaissent : le niveau physiologique et le niveau phénoménologique. Le niveau physiologique comporte les détails sur les mécanismes physiologiques qui régissent un comportement donné. Ce niveau peut être subdivisé en plusieurs sous-niveaux, permettant l’insertion de plus de détails dans les niveaux les plus bas. Un exemple typique est la modélisation du mécanisme de génération d’un potentiel d’action d’un neurone par l’intermédiaire des canaux ioniques de la membrane cellulaire. Une première abstraction peut se faire en représentant tous les canaux ioniques de même type par une conductance ionique unique. Ainsi, on aura besoin d’une conductance pour représenter des millions de canaux ioniques de même type. Une deuxième abstraction peut se faire lorsqu’on suppose que les canaux ioniques sont localisés dans un seul emplacement de la membrane cellulaire (modèle mono-compartimental) et ne sont pas distribués sur son contour (modèle multi-compartimental). Les modèles définis à ces niveaux d’abstraction sont appelés modèles physiologiques.

Le niveau phénoménologique est plus abstrait que le niveau physiologique. Le mécanisme derrière la production d’un phénomène biologique n’est pas pris en compte, seul le comportement externe est retenu. Les modèles qui en découlent sont dit modèles phénoménologiques et sont généralement des interprétations mathématiques des résultats

pas représentée, seule sa présence ou non est indiquée. Ce type d’abstraction peut être utile pour réaliser des simulations à grande échelle.

Abstraction temporelle

L’abstraction temporelle consiste à observer les comportements qui dépendent du temps avec une certaine granularité. La finesse ou la grosseur de cette granularité dépend du niveau d’abstraction. Ainsi, à un haut niveau d’abstraction on peut négliger les délais de propagation des potentiels d’action au long des axones et dendrites, alors que dans un niveau plus bas, on tient compte du moindre délai. Cette abstraction permet de déterminer la rigueur de l’aspect temps-réel dans un système neuromorphique.

Abstraction des données

Cette abstraction favorise une vue abstraite des données utilisées. Elle peut représenter les réactions chimiques ou physiques dans un système biologique. Ainsi, la dynamique de la membrane d’un neurone peut être résumée en une entité booléenne, ‘0’ si le potentiel de membrane ne dépasse pas un certain seuil, ‘1’ dans le cas contraire. D’une autre part, l’efficacité de la transmission et la réception des neurotransmetteurs au niveau de la jonction synaptique peut être représentée par un poids synaptique. Le degré de précision de la représentation du poids définit le niveau de l’abstraction des données de l’efficacité synaptique.

Abstraction structurelle

Ce mécanisme d’abstraction supprime les détails sur la structure effective du système et favorise une vue globale dans le but de maîtriser sa complexité. Un exemple typique de l’abstraction structurelle est l’utilisation d’une structure mono-compartimentale d’une cellule au lieu de sa structure multi-compartimentale biologique. Tous les détails sur la structure volumique de la cellule sont supprimés et remplacés par un point dans l’espace. Cette abstraction est largement utilisée dans la simulation matérielle des réseaux de neurones impulsionnels (Renaud, 2007 ; Schemmel, 2007 ; Indiveri, 2007). Un autre exemple d’abstraction structurelle est le remplacement de la grande densité des connexions point-à-point entre les neurones d’un tissu vivant par quelques connexions partagées. Ceci est souhaitable dans la conception des systèmes neuromorphiques puisque la différence est grande entre la fréquence de génération des potentiels d’action dans le milieu biologique (quelques Hz ou dizaines de Hz) et la fréquence de fonctionnement des bus de communication électronique (quelques dizaines de MHz) ; ce qui permettra de multiplexer plusieurs connexions point-à-point dans le temps en utilisant un seul support de communication physique.

Un calcul à des niveaux d’abstraction différents

Les systèmes biologiques sont organisés hiérarchiquement d’une façon complexe. La compréhension des mécanismes qui les régissent ne peut se faire sans avoir recours à une mise en modèle abstraite de leur fonctionnement réel. Le niveau d’abstraction utilisé dépend de la complexité du mécanisme étudié et de son rôle dans l’application cible. Ceci veut dire qu’on est amené à utiliser des modèles à différents niveaux d’abstraction pour représenter un système biologique complet.

D’une autre part, il faut montrer que la combinaison des modèles utilisés donne des résultats efficaces en termes de calcul et reproductivité des mécanismes et phénomènes biologiques étudiés. Dans certaines situations, la combinaison d’un modèle complexe, avec un deuxième plus simple, masque la précision du premier, et le degré de réalisme retenu sera

Chapitre 2. Le simulateur PAX : historique et évolution.

celui du plus simple. Le défi sera de rechercher un équilibre fonctionnel entre les niveaux d’abstraction hétérogènes des modèles utilisés.

Les ressources matérielles induisent une limitation immédiate de l’implémentation des modèles. L’exploration architecturale et la répartition des ressources doivent donc se faire en même temps que la définition des modèles. Une bonne répartition permet d’éviter les goulets d’étranglement dans le système global et d’assurer une meilleure fluidité des données.

Les abstractions dans PAX

Le simulateur PAX vise à réaliser une simulation matérielle en mettant l’accent sur les phénomènes d’adaptation et d’apprentissage, les dynamiques de la production des potentiels d’action, la stimulation synaptique et l’interaction entre les neurones. L’objectif est de reproduire ces fonctions avec un degré de réalisme élevé. Pour cette raison, les abstractions appliquées sont principalement utilisées pour simplifier l’implémentation matérielle des modèles et non pas les modèles eux-mêmes.

Au niveau cellulaire, le soma suit le formalisme de Hodgkin-Huxley (Hodgkin et Huxley, 1952). Une première abstraction consiste à négliger les effets d’atténuation des potentiels neuronaux et les propriétés intrinsèques de la membrane : la membrane est considérée comme un seul compartiment. Cette disposition suppose implicitement que les canaux ioniques de même type sont regroupés dans une même conductance. Ceci simplifie l’implémentation matérielle d’un neurone par rapport aux cas d’une modélisation multi-compartimentale. Une deuxième abstraction consiste en une amplification des valeurs électriques des paramètres biologiques pour rendre les valeurs de courant manipulables par les technologies des circuits intégrés et améliorer la dynamique du système.

Cependant, il n’y a pas d’abstraction temporelle à ce niveau. L’évolution des circuits en temps continu et en temps réel biologique est similaire à celle de leurs homologues biologiques. Ce choix ne pose pas de problème de réalisation matérielle et permet un interfaçage avec des cellules vivantes.

Au niveau réseau, plusieurs abstractions sont utilisées. Premièrement, on a procédé à une abstraction fonctionnelle du comportement physiologique d’une synapse. La physiologie des mécanismes qui se produisent au niveau de la jonction synaptique sont très complexes. On se limitera à représenter les phénomènes résultants de ces mécanismes à l’aide d’un modèle phénoménologique réaliste (Destexhe, 2004). La plasticité synaptique agit par conséquent sur une grandeur arithmétique, le poids synaptique.

Une deuxième abstraction est appliquée à la synapse. Il s’agit d’une abstraction structurelle qui permet d’éviter la grande densité des liaisons synaptiques. Les entrées synaptiques pour un même neurone sont regroupées dans une synapse ″collective″, appelé multisynapse (Destexhe, 1999). La multisynapse somme toutes les stimulations causées par les neurones présynaptiques de même nature (inhibiteurs ou excitateurs) pour stimuler la membrane cellulaire du neurone cible.

Une troisième abstraction concerne la structure du réseau. Les connexions synaptiques qui relient les neurones sont attribuées d’une façon virtuelle : il n’y a pas de liaisons physiques réelles entre les cellules. Chaque neurone est doublement connecté, en entrée et en sortie, à un commutateur. Ce dernier récupère les évènements des sorties des neurones, et transmet les stimulations synaptiques vers les entrées des neurones cibles selon la connectivité du réseau.

Une dernière abstraction que l’on citera ici concerne les potentiels d’actions. Etant donné que la forme des potentiels d’action apporte peu, on attribuera des valeurs booléennes pour indiquer la présence ou pas d’un potentiel d’action. Ceci facilitera le traitement et la transmission des évènements des neurones.

Enfin, pour des raisons de compatibilité avec le niveau cellulaire, il n’y a pas d’abstraction temporelle apportée au niveau réseau. On garde toujours une opérabilité en temps réel biologique. Ceci permet de garder un équilibre entre le modèle de la cellule et les modèles niveau réseau. La section suivante montre avec plus de détails les interactions entre les deux niveaux.