Hybridation des réseaux de neurones
Hybridation des réseaux de neurones
Université de Bordeaux
Laboratoire IMS
CNRS UMR-5218
351, cours de la Libération
33405 TALENCE Cedex
R EMERCIEMENTS
vii
E tiens en tout premier lieu à remercier M. Claude Pellet pour m’avoir accueilli dans le
Je remercie également M. Sio-Hoi IENG d’avoir consacré du temps à examiner mes travaux
de thèse.
Je remercie encore une fois les membres du jury d’avoir accepté d’être dans ce jury.
Je remercie également l’ensemble des membres de ma famille, mon père, ma mère, Marie-
Céline et sa famille, Christian et sa famille ! Vous m’avez toujours soutenu, je voulais vous dédier
ce travail.
R ÉSUMÉ
xi
’ hybridation est une technique qui consiste à interconnecter un réseau de neurones bio-
Au début des années 2000, cette technique a permis de connecter un système neuromorphique
analogique avec le vivant. Ce travail est dans un premier temps, centré autour de la conception
d’un réseau de neurones numérique, en vue d’hybridation, dans deux projets multi-disciplinaires
en cours dans l’équipe AS2N de l’IMS, présentés dans ce document :
Possédant une architecture configurable, un réseau de neurones numérique a été réalisé pour
ces deux projets. Pour le premier projet, le réseau de neurones artificiel permet d’émuler l’activité
de CPGs (Central Pattern Generator), à l’origine de la locomotion dans le règne animale. Cette
activité permet de déclencher une série de stimulations dans la moelle épinière lésée in vitro et de
recréer ainsi la locomotion précédemment perdue. Dans le second projet, la topologie du réseau
de neurones sera issue de l’analyse et le décryptage des signaux biologiques issues de groupes
de neurones cultivés sur des électrodes, ainsi que de modélisations et simulations réalisées par
nos partenaires. Le réseau de neurones sera alors capable de réparer le réseau de neurones lésé.
Ces travaux de thèse présentent la démarche de conception des deux différents réseaux et des
résultats préliminaires obtenus au sein des deux projets.
Dans un second temps, ces travaux élargissent l’hybridation à l’interopérabilité des systèmes
neuromorphiques. Au travers d’un protocole de communication utilisant Ethernet, il est possible
d’interconnecter des réseaux de neurones électroniques, informatiques et biologiques. Dans un
futur proche, il permettra d’augmenter la complexité et la taille des réseaux.
Mots Clés :
FPGA, Réseau de neurones impulsionnels, CPG, Hybridation, AER, Protocole de communi-
cation.
A BSTRACT
xv
YBRID experiments allow to connect a biological neural network with an artificial one,
H used in neuroscience research and therapeutic purposes. During these three years
of PhD, this thesis focused on hybridization in a close-up view (bi-diretionnal direct
communication between the artificial and the living) and in a broader view (interoperability of
neuromorphic systems).
In the early 2000s, an analog neuromorphic system has been connected to a biological neural
network. This work is firstly, about the design of a digital neural network, for hybrid experiments
in two multi-disciplinary projects underway in AS2N team of IMS presented in this document :
• HYRENE (ANR 2010-Blan-031601), aiming the development of a hybrid system for the
restoration of motor activity in the case of a spinal cord lesion,
Having a configurable architecture, a digital neural network was designed for these two
projects. For the first project, the artificial neural network emulates the activity of CPGs (Central
Pattern Generator), causing the locomotion in the animal kingdom. This activity will trigger a
series of stimuli in the injured spinal cord textit in vitro and recreating locomotion previously
lost. In the second project, the neural network topology will be determined by the analysis and
decryption of biological signals from groups of neurons grown on electrodes, as well as modeling
and simulations performed by our partners. The neural network will be able to repair the injured
neural network.
This work show the two different networks design approach and preliminary results obtained
in the two projects.
Keywords:
FPGA, Spiking Neural Network, CPG, Hybrid experiments, AER, Protocole de communica-
tion.
xvii
Abréviations
AdEx Adaptive Exponential Integrate & Fire
BIOEM BIOElectroMagnétisme
HH Hodgin-Huxley
IZH Izhikevich
PA potentiel d’action
VHDL VHSIC (Very High Speed Integrated Circuit) Hardware Description Language
TABLE DES MATIÈRES
TABLE DES MATIÈRES xxi
Remerciements vii
Résumé xi
Abstract xv
Abréviations xvii
Soma
Le corps cellulaire d’un neurone se nomme aussi soma. Suivant sa position dans le corps,
sa forme et sa taille peuvent varier. Le soma abrite le noyau de la cellule et aussi son matériel
génétique. C’est dans cette partie de la cellule que les potentiels d’actions sont réceptionnés du
6 C HAPITRE 1 - D E L’ ANATOMIE DU NEURONE AUX SYSTÈMES NEUROMORPHIQUES
F IGURE 1.1 – Structure d’un neurone. Schéma adapté de (Kandel et al., 2000), mettant en évidence la
connexion entre un neurone pré-synaptique et des neurones post-synaptique.
neurone pré-synaptique puis traités, faisant des neurones des unités de traitement d’informations
neuronales.
Axone
Cette fine fibre nerveuse (chez l’être humain entre 2 et 18 micromètres de diamètre contre 1
millimètre chez les calamars géants (De Andrés et al., 2010)) pouvant mesurer entre 1 millimètre
et près d’1 mètre (chez l’humain (De Andrés et al., 2010)), constitue le prolongement du soma
vers ses terminaisons axonales. Le rôle de l’axone est de convoyer les signaux nerveux vers les
synapses. Les axones peuvent être recouverts d’une gaine protéique. Cette protéine, appelée
myéline, est synthétisée par des cellules gliales dont les cellules de Schwann (pour le système
nerveux périphérique) ou les oligodendrocytes (pour le système nerveux central) et permet une
plus grande vitesse de passage de l’information nerveuse. Cette gaine est discontinue, séparée
par des nœuds de Ranvier placés approximativement à un millimètre d’intervalle (Kandel et al.,
2000). Pour finir, l’axone comprend 2 régions : le segment initial où un potentiel d’action prend
naissance (plusieurs détails seront donnés dans la prochaine sous-partie) et la partie terminale ou
les synapses contenant les terminaisons axonales.
Synapses
Les synapses sont les contacts entre 2 cellules et rendent ainsi possible la transmission d’un
signal entre un neurone et diverses cellules cibles (neurone, fibre musculaire, glande, etc. . . ). Le
neurone se trouvant en amont de l’axone est appelé neurone pré-synaptique et la cellule-cible, en
aval de la synapse, est appelé à son tour neurone post-synaptique. Il existe deux catégories de
synapses :
• chimiques. Les signaux électriques (ou potentiels d’action) sont réalisés sur la base des
courants ioniques qui fluctuent au niveau de la membrane. Les synapses chimiques peuvent
transmettre les potentiels d’actions, via des neurotransmetteurs, qui leur permettent d’in-
fluer sur l’activité de la (ou des) cellule(s)-cible.
Ces deux catégories de synapses sont réparties dans deux grandes familles de synapses : les
synapses excitatrices et les synapses inhibitrices. La première famille vise à dépolariser la
membrane du neurone post-synaptique, augmentant ainsi la probabilité de l’apparition d’un
potentiel d’action post-synaptique et la seconde a pour but d’hyperpolariser la membrane post-
synaptique, provoquant une inhibition ou une diminution d’apparition de potentiels d’actions
post-synaptiques. Étant corrélée à des vésicules, l’efficacité d’une synapse fluctue en fonction
des circonstances (voir Chapitre 2) et est transcrite par son poids. Derrière ces fluctuations se
cache la plasticité synaptique, à l’origine de l’apprentissage et de la mémoire notamment.
Dentrites
Les dendrites sont des prolongements du soma dont elles partagent les organites (à l’exception
des lysosomes et du noyau). Ces dendrites se divisent par dichotomies successives. La base trapue
des dendrites s’affine vers leur périphérie, ce qui leur donne une apparence arborescente. Les
dendrites peuvent être lisses ou couvertes d’excroissances (épines dendritiques), sur lesquelles
convergent les afférences synaptiques.
La membrane plasmique
La membrane plasmique neuronale, composée d’une bicouche lipidique traversée par plu-
sieurs types de protéines, forme le contour de la cellule. Elle est une frontière entre 2 milieux
liquides : le milieu intracellulaire et extracellulaire. Bien que ces deux milieux possèdent les
mêmes cations (ions potassium K+, ions calcium Ca2+) et les mêmes anions (ions chlore Cl-), les
concentrations de ces 2 groupes d’ions demeurent différentes de part et d’autre de la membrane.
Le milieu extracellulaire est plus riche en Na+ et Cl- mais plus pauvre en K+ que le milieu
intracellulaire. Il existe d’autres types d’ions, notamment calcique (Ca2+). Les différences de
concentration calcique sont proportionnelles aux variations de potentiels du neurone et sont ainsi
utilisées comme marqueur de l’activité électrique neuronale.
La membrane plasmique est composée de canaux ioniques et de pompes ioniques, qui
permettront de répondre aux divers stimuli qu’elle subit. Chaque canal ionique est un conduit
à sens unique, exclusif à une espèce ionique permettant aux ions de circuler, dont l’ouverture
et la fermeture sont actionnées suite à des stimulis spécifiques électriques (pour les canaux
tensiodépendants), ou chimiques (pour les canaux ionotropes, sensibles aux messages chimiques
8 C HAPITRE 1 - D E L’ ANATOMIE DU NEURONE AUX SYSTÈMES NEUROMORPHIQUES
F IGURE 1.2 – Corrélation dans la genèse d’un potentiel d’action entre le potentiel de membrane et les
canaux ioniques Na+ et K+.
le milieu intracellulaire de plus en plus positif et donc d’augmenter encore plus rapidement la
dépolarisation. Ce flux ne s’arrêterait qu’à l’atteinte du potentiel d’équilibre de Na+ (+55 mV).
Cependant, cette valeur ne sera jamais atteinte, car, dans un premier temps, les canaux Na+ vont
se refermer spontanément (inactivation des canaux Na+).
Il s’agit alors de la troisième phase de la genèse d’un potentiel d’action (courbe verte de la
Figure 1.2). Dans un second temps, les canaux K+ vont s’ouvrir à leur tour (quatrième phase
représentée avec la courbe violette dans la Figure 1.2). Ces deux mécanismes repolarisent la
membrane. On appellera période réfractaire absolue, la période de décroissance du potentiel d’ac-
tion. Cela signifie qu’aucun autre potentiel d’action ne pourra être formé à cause de l’inactivation
des canaux Na+.
L’ouverture des canaux K+ va provoquer la fuite des ions K+ vers le milieu extracellulaire. Ce
flux va faire tendre le potentiel de membrane vers le potentiel d’équilibre du potassium (-75 mV),
provoquant une hyperpolarisation (augmentation de la séparation de charge conduisant à rendre
le potentiel de membrane plus négatif) de la membrane. Les canaux K+ vont ensuite se refermer
et le potentiel de la membrane va être ramené vers le potentiel de repos (point d’équilibre de
la membrane).L’excédent d’ions est évacué, soit par l’intermédiaire des canaux passifs, soit
par l’intervention de la protéine NaK-ATPase. Cette dernière phase (courbe orange dans la
Figure 1.2) est appelée période réfractaire relative, car l’hyperpolarisation a éloigné le potentiel
de membrane du seuil de déclenchement, rendant la génération d’un autre potentiel d’action
plus difficile. Les potentiels d’actions créés par les ions Na+ ne durent généralement qu’une
milliseconde tandis que les potentiels d’actions à base de Ca2+ dure jusqu’à 100 millisecondes.
10 C HAPITRE 1 - D E L’ ANATOMIE DU NEURONE AUX SYSTÈMES NEUROMORPHIQUES
Pour conclure ce paragraphe sur le potentiel d’action et sa propagation, on peut dire que la
genèse d’un potentiel d’action est soumise à des forces et des mécanismes physiques et chimiques
pouvant être mesurés. Une manière de décrire le comportement d’un neurone serait alors de
retranscrire par un système d’équations les mouvements ioniques ou l’évolution du potentiel de
la membrane plasmique.
F IGURE 1.3 – Famille de neurones dans (Izhikevich, 2003). Chaque famille est caractérisée par sa réponse
v(t) suite à une stimulation en courant I(t).
beaucoup de dynamiques de neurones biologiques peuvent être reproduites grâce à des modèles
de neurones reposant sur les conductances ioniques. Parmi ces modèles à conductances, se
trouve le modèle Hodgkin-Huxley (HH). Les modèles à compartiment simple permettent en
effet de décrire avec précision les dynamiques de neurones et ainsi d’émuler le comportement
de plusieurs familles de neurones. Cependant, ces modèles ne permettent pas de retranscrire
d’autres réalités biologiques telles que la physiologie des dendrites ou des axones. Ces derniers
sont intégrés dans d’autres modèles dits à compartiments multiples ou des modèles reposant sur
la théorie des câbles.
Cependant les modèles à compartiment unique sont capables de générer plusieurs familles de
neurones. La Figure 1.3 présente quelques types de neurones d’après (Izhikevich, 2003).
Dans cette section, nous présenterons uniquement les modèles de neurones à compartiment
unique utilisés durant ces dernières décennies dont le modèle Hodgkin-Huxley implémenté dans
divers travaux de l’équipe portant sur l’analogique et notre choix d’utiliser un autre modèle en
numérique. Pour présenter tous ces modèles, nous commencerons par le modèle le plus proche
de la biologie puis le modèle le plus simpliste.
changer la tension de la membrane permettant d’activer ainsi les canaux tensiodépendants), ils
ont été capables d’enregistrer les différents courants ioniques pour différentes tensions. Ainsi
chaque canal ionique a pu être caractérisé par sa résistance (rion ) ou plutôt par sa conductance
(gion = 1r ion ).
Par convention, nous noterons Vm pour le potentiel de membrane, Cm la capacité de la
membrane. Le canal représentant le courant de fuite est représenté par la conductance gf uite . Par
analogie, chaque canal ionique est représenté par une conductance. Ef uite , EK + et EN a+ sont les
potentiels d’équilibre des ions donnés par les équations de Nernst.
La Figure 1.4 nous montre les courants qui parcourent la membrane et nous permet d’obser-
ver :
dVM
CM = −Σion Iion = −IN a+ − IK + − Ifuite . (1.1)
dt
Chaque courant ionique (ici noté Iion pour généraliser), issu d’un canal spécifique, dépend de
sa conductance gion , de la tension de membrane Vm et du potentiel d’équilibre ionique Eion , et
est décrit de la manière suivante :
dVM
CM = −gf uite · (VM − Efuite ) − gN¯ a · m3 (VM ) · h(VM ) · (VM − ENa ) − g¯K · n4 (VM ) · (VM − EK )
dt
dm
= (1 − m) · αm (VM ) − m · βm (VM )
dt
dh = (1 − h) · αh (VM ) − h · βh (VM )
dt
dn
= (1 − n) · αn (VM ) − n · βn (VM )
dt
(1.3)
avec les potentiels d’équilibre EK + =-84 mV, EN a+ =+58 mV et les fonctions α et β :
1.3. P RINCIPES DE MODÉLISATION NEUROMORPHIQUE 13
A présent, gion
¯ représente la valeur maximum de la conductance de l’espèce ionique considé-
rée, qui sera pondérée par les éléments sans dimensions n, m et h (probabilité d’ouverture et de
fermeture des canaux), variant entre 0 et 1 et représentant respectivement l’activation du canal
Na+, l’activation du canal K+ et l’inactivation du canal Na+.
Cependant, pour enrichir la dynamique des neurones, il est nécessaire d’ajouter d’autres
courants à la définition présentée jusqu’à maintenant. L’adaptation en fréquence est une caracté-
ristique du comportement des neurones de la famille RS (Figure 1.3) qui est obtenue par l’ajout
du courant potassium lent. De même, les bouffées de potentiels d’actions sont des caractéristiques
des neurones de la famille IB (Figure 1.3) et LTS (Figure 1.3). Pour décrire les neurones IB, il
est nécessaire d’ajouter les courants potassium (Yamada et al., 1989), calcium lent (Reuveni
et al., 1993) tandis que pour décrire les neurones LTS, les courants potassium lent et calcium
faible-seuil (Jahnsen and Llinas, 1984)(Pospischil et al., 2008) vont être ajoutés.
Bien que ces 3 courants additionnels permettent au modèle HH original de décrire de
nouvelles dynamiques, ces derniers présentent tout de même des dynamiques non linéaires
similaires aux autres courants ioniques.
Le modèle HH est proche de la physiologie d’un neurone grâce à une description exhaustive
de l’activation et l’inactivation des diverses canaux ioniques. Mais les fonctions ainsi détaillées
montrent qu’il faut posséder une grande puissance de calcul pour utiliser ce modèle. Les équa-
tions (1.3) à (1.4) mettent en évidence des comportements sigmoïdiens à la puissance N et
des comportements exponentiels (1.4). Ces deux comportements peuvent être rapprochés au
comportement d’un transistor bipolaire mais demeurent extrêmement difficiles à réaliser avec un
pipeline numérique (Bonabi et al., 2014).
Et au final, malgré la proximité de ce modèle avec la réalité biologique, la complexité com-
putationnelle de ce modèle nous amène à nous poser une question : « Est-il possible de trouver
un modèle de neurone plus simple au point de vue computationnelle qui demeure aussi viable
biologiquement parlant ?». Il nous faut donc analyser des modèles plus simples afin de trouver le
modèle qui remplira ce compromis.
1.3.2 Modèle "Integrate and fire" (IF) et modèle "Leaky Integrate and
Fire" (LIF)
Ce modèle a été l’un des premiers à être proposé. En 1907, Louis Lapicque représente un
neurone (Abbott, 1999) par :
dVM
I(t) = CM (1.5)
dt
14 C HAPITRE 1 - D E L’ ANATOMIE DU NEURONE AUX SYSTÈMES NEUROMORPHIQUES
Lorsque Vm atteint une tension seuil Vth , un potentiel d’action est généré à la suite duquel
Vm retourne au potentiel de repos de la membrane. La fréquence d’émission de potentiel d’action
de ce modèle augmente à mesure que le courant augmente. En ajoutant une période réfractaire
tref , le modèle devient plus précis et plus proche du comportement biologique. Ce modèle ne
contient pas de mécanisme permettant de mémoriser différents états. Néanmoins, il fût le premier
créé dans le but de décrypter l’énigmatique activité. Ce modèle ne permet de décrire que 2
familles de neurones : Regular Spiking (RS) et Fast Spiking (FS) (voir la Figure 1.3).
Nous avons ainsi vu le modèle le plus complexe reprenant les mécanismes ioniques (le modèle
HH) et à l’opposé, le modèle simple IF.
Le modèle LIF (Gerstner, 2002), amélioration du modèle IF, est un circuit basique ayant un
condensateur Cm en parallèle avec une résistance Rm , parcouru par un courant I(t). Dans le
modèle LIF, le courant est maintenant divisé en 2 parties différentes (Equation 1.6). La première
partie est le courant qui charge le condensateur Cm et la seconde partie est le courant de fuite. Le
courant de fuite rend ce modèle plus proche du modèle biologique.
VM (t) dVM
I(t) − = CM (1.6)
RM dt
F IGURE 1.5 – Rôle des paramètres a, b, c et d dans l’activité du potentiel de membrane VM (t) et la
régénération de la membrane u(t). Cette Figure est extraite et traduite de (Izhikevich, 2003).
F IGURE 1.6 – Choix des paramètres a, b, c et d en fonction du type de neurone émulé. Les neurones de
type RS, IB et CH sont des neurones corticaux excitateurs tandis que les neurones de type FS et LTS sont
des neurones corticaux inhibiteurs. Cette figure est extraite et traduite de (Izhikevich, 2003).
dVm Vm − Vt
Cm · = gf uite (Vm − Ef uite ) + gf uite ∆t exp( − w + I)
dt ∆t
dw (1.8)
τw · = a · (Vm − Ef uite ) − w
dt
À t = tf Vm → Vr , w → w + b
Nous retrouvons des similitudes dans ce modèle avec les modèles précédents, à savoir Vm
représente le potentiel de membrane. La variable w est la variable d’adaptation, I est la courant
entrant sur le neurone, Cm est la capacité de la membrane, gf uite est la conductance des courants
de fuites, Ef uite le potentiel d’équilibre associé aux courants de fuite, ∆t le facteur de pente. Pour
finir, a est un facteur de couplage de l’adaptation et tω est la constante de temps d’adaptation.
16 C HAPITRE 1 - D E L’ ANATOMIE DU NEURONE AUX SYSTÈMES NEUROMORPHIQUES
le modèle IZH est l’un des modèles requérant le moins de calculs pour une bonne plausibilité
biologique. De plus, comme l’indique (Izhikevich, 2010), un modèle à base d’équations qua-
dratiques est simple à implémenter dans une architecture numérique. Dans la prochaine section,
nous allons parler de la notion de réseau.
Lors de notre présentation de l’anatomie des neurones et des synapses biologiques, nous avons
vu que le rôle des synapses était de convoyer les potentiels d’action d’un neurone pré-synaptique
vers des neurones post-synaptiques.
Le modèle HH représente les synapses par une conductance dépendante du temps et de
la tension de membrane à l’instar des neurones HH (Hill et al., 2001). En revanche, certains
modèles de neurones (comme le modèle IZH) représentent les synapses par un courant, appelé
abusivement poids synaptique, qui est généré en cas d’émission d’un potentiel d’action pré-
synaptique. Dans ce cas nous ne sommes dépendants que du temps.
De plus, nous trouvons dans la littérature, des synapses enrichies de propriétés plus complexes.
(Izhikevich, 2003) nous présente une synapse injectant un bruit afin de prendre en compte le
comportement stochastique des synapses biologiques tandis que (Cassidy et al., 2011) présente
une synapse avec une décroissance exponentielle du courant. Enfin, d’autres synapses permettent
de réaliser l’apprentissage en utilisant la plasticité à long terme (Rice et al., 2009) ou à court
terme(présenté dans (Izhikevich and Edelman, 2008) et dans le Chapitre 3).
18 C HAPITRE 1 - D E L’ ANATOMIE DU NEURONE AUX SYSTÈMES NEUROMORPHIQUES
• l’expérience hybride (Jung et al., 2001) (Le Masson et al., 2002) (Sorensen et al., 2004).
• l’étude du traitement de données au sein des réseaux de neurones (Liu et al., 2001).
• une puissance de calcul élevée. Il est possible de réaliser facilement des opérations mathé-
matiques complexes grâce aux propriétés intrinsèques des composants.
Cependant, l’approche analogique implique aussi un coût de développement très élevé, et de
possibles contraintes sur le modèle de neurone utilisé, mais surtout des variations des paramètres
entraînant un réglage fastidieux (Grassia et al., 2011).
neurones LIF.
• soit effectuer les calculs du réseau de neurones en temps accéléré comme la plateforme
SpiNNaker (Furber et al., 2013) qui comporte une architecture multi-processeur permettant
de simuler jusqu’à 18 000 neurones. Nous avons aussi le système BrainScaleS qui est un
empilement de modules composés d’un wafer intégrant 448 puces neuromorphiques et
d’un système de routage. Chaque module permet d’émuler l’activité de 512 neurones et
115 000 synapses, effectuant les calculs 104 fois plus rapidement que le temps biologique
(Rast et al., 2013).
Dans notre cas, le temps réel et la plausibilité biologique du modèle de neurone permettent
d’hybrider un réseau de neurones vivants et des réseaux de neurones artificiels dans lequel les
neurones artificiels sont interconnectés avec des cellules biologiques pour former les réseaux
hybrides. Ces contraintes temporelles et de modélisation nous limitent donc dans le nombre
maximum de neurones (voir Chapitre 2).
2013) et des essais cliniques (Afshar et al., 2012)(Bryce Beverlin and Netoff, 2012)(Walter et al.,
2012)(Fernandez-Vargas et al., 2013)(Walter et al., 2013).
(Bonifazi et al., 2013) (publication liée au projet BRAINBOW) s’inscrit dans cette lignée d’ex-
périence novatrice et s’est illustré par l’étude de la topologie des réseaux de neurones 2D et 3D,
la dissection au laser des cultures de neurones et bien sûr l’étude de l’interaction bidirectionnelle
entre un réseau de neurones biologiques sur MEA et notre réseau de neurones numériques.
Les recherches portant sur les prothèses neurales (ou neuroprothèses) est un sujet d’actualité
(Jung et al., 2015), dans laquelle l’ANR HYRENE (Joucla et al., 2013) participe également.
3. l’extraction des entrées et des sorties des fonctions du cerveau. Autrement dit, il s’agit de
comprendre les dynamiques et les connexions entre différents réseaux.
4. la création d’un simulateur capable de recréer l’activité électrique des neurones composant
un réseau.
1.6. C ONCLUSION 23
1. le repérage des racines dans la moelle épinière, à l’origine de la marche chez l’être vivant.
4. la création d’un réseau de neurones capable d’émuler l’activité d’un CPG (Central Pattern
Generator).
Le cahier des charges ici est de créer un réseau de neurones capable d’avoir une activité
électrique similaire à celles observées dans les CPGs.
Les projets BRAINBOW et HYRENE impliquent tous deux l’implémentation d’un réseau
de neurones numérique au sein d’une plateforme munie d’un FPGA, appelée MULTIMED.
Embarquée sur cette plateforme se trouve une chaîne de calculs et de traitements permettant
d’analyser les signaux biologiques provenant des MEAs afin de détecter la présence de potentiels
d’action ou de bouffées de potentiels d’action.
1.6 Conclusion
Nous avons présenté, dans ce chapitre, les notions élémentaires des neurosciences, en partant
de la biologie pour arriver au modèle d’Hodgkin-Huxley, qui est le premier modèle à avoir
reproduit la finesse physiologique des courants ioniques dans la genèse de potentiels d’action.
24 C HAPITRE 1 - D E L’ ANATOMIE DU NEURONE AUX SYSTÈMES NEUROMORPHIQUES
Puis nous avons décrit des modèles plus facilement implémentables numériquement tels que
le modèle d’Izhikevich, qui est un bon compromis entre le réalisme biologique et le coût
d’implémentation (Figure 1.7).
Ce manuscrit présentera dans sa dernière partie les bases pour la création d’un protocole
universel permettant de relier différentes plateformes neuromorphiques hétérogènes. En attendant,
nous nous proposons de nous intéresser dans le chapitre suivant à l’implémentation du modèle
d’Izhikevich dans une plateforme FPGA.
"Je suis de ceux qui pensent que la
Science a une grande beauté, répond-
elle à ses interlocuteurs. Un savant
dans son laboratoire n’est pas seule-
ment un technicien : c’est aussi un en-
fant placé en face des phénomènes na-
turels qui l’impressionnent comme un
conte de fées. Nous ne devons pas lais-
ser croire que tout progrès scientifique
se réduit à des mécanismes, des ma-
chines, des engrenages, qui, d’ailleurs,
ont aussi leur beauté propre."
E. Curie, Madame Curie, p. 465, Edi-
tion Gallimard, 1938
C HAPITRE 2
I MPLÉMENTATION DE RÉSEAU DE
NEURONES SUR FPGA
E chapitre décrit l’architecture de notre implémentation de réseau de neurones reconfi-
C gurable, ayant pour base le modèle Izhikevich (IZH), sur une plateforme numérique de
type "(Field Programmable Gate Array)" (FPGA) et montre comment nous pouvons
partir d’une description mathématique d’un neurone à un réseau de neurones sur une plateforme
numérique (FPGA). Dans le chapitre 1, nous avons vu les modèles de neurones. A présent nous
allons voir comment implémenter le modèle Izhikevich sur un FPGA. Par étape, nous allons
devoir expliquer l’implémentation du modèle de neurone et le choix du modèle de synapse dans
l’optique de remplir le cahier des charges défini par les projets BRAINBOW et HYRENE. En
effet, le projet BRAINBOW exige un réseau de 100 neurones avec une connectivité moyenne
de 60 % (i.e avec 60 synapses par neurone en moyenne), avec des synapses dotées de plusieurs
dynamiques telles que la plasticité à court terme (Izhikevich, 2003) et le délai axonal. Notre
implémentation comprend également une possibilité d’incorporer du bruit dans le courant de
stimulation des neurones ainsi que les dynamiques AMPA et GABA des synapses (Ben-Ari
et al., 1997). Le projet HYRENE a pour contrainte d’implémenter un réseau de neurones capable
de reproduire les comportements des Central Pattern Generator (CPG) , caractérisés par leurs
activités électriques en bouffées de potentiels d’action (PA) alternées (Hill et al., 2001)(Hill et al.,
2002).
Ces 2 projets ont en commun l’élaboration, l’utilisation d’un réseau de neurones numérique
et l’implémentation de ce dernier sur une plateforme numérique FPGA (Multimed). La similarité
des 2 projets nous conduit à concevoir les principes de base décrivant un réseau de neurones
numérique flexible et configurable. La liaison série étant à l’heure actuelle le seul moyen de
communiquer avec la plateforme Multimed, nous allons donc utiliser la liaison série pour
configurer et donc décrire les réseaux à émuler.
Dans l’explication de notre implémentation, nous allons montrer le principe général et les
mécanismes de notre architecture, qui régissent et ordonnent les différents calculs, montrer
pourquoi cette architecture est flexible et comment elle permet, avec des changements mineurs,
de remplir les 2 cahiers des charges des projets BRAINBOW et HYRENE. Nous terminerons ce
chapitre par les performances obtenues avec le système.
convertisseur numérique analogique, écran LCD, port série etc...). Afin de pouvoir configurer
un FPGA, il est nécessaire d’utiliser un langage de description matérielle ou un outil de saisie
graphique. Après synthèse de cette description, on obtient un fichier de configuration pour le
FPGA cible. Pour cette thèse, le langage choisi dans cette thèse est le VHDL et les plateformes
FPGA utilisées sont les Spartan6 LX150, Spartan6 LX150t et le Virtex5 LX50.
TABLE 2.1 – Liste des ressources occupées par les blocs de calculs embarqués sur MULTIMED. Par
extension, nous avons le nombre de ressources disponibles pour l’implémentation du RNA.
32 C HAPITRE 2 - I MPLÉMENTATION DE RÉSEAU DE NEURONES SUR FPGA
and Miledi, 1965)(Minneci et al., 2012) et la plasticité à court-terme (Izhikevich, 2003). Pour
finir, on souhaite pouvoir injecter du bruit sur le courant de stimulation de chaque neurone. Dans
ce projet, nous pouvons remarquer que l’architecture des réseaux que l’on souhaite émuler ne
peut pas être définie à l’avance. En effet, nous pouvons imaginer avec aise que pour chaque
utilisation de la plateforme MULTIMED, le réseau de neurones artificiels doit pouvoir être
adapté. Ceci souligne l’intérêt et la nécessité d’un réseau de neurones artificiels reconfigurable.
En résumé le cahier des charges imposé par le projet BRAINBOW est d’intégrer un réseau
de neurone qui contient 100 neurones (modèle IZH) avec une connectivité moyenne de 60%.
Ce réseau aura des synapses mettant en œuvre la plasticité à court-terme, le délai axonal et la
possibilité d’injecter du bruit sur le courant de stimulation des neurones, et sera reconfigurable.
1.987 = 1987.10−3
nombre réel r = mantisse m . base b exposant e
F IGURE 2.2 – Exemple pour expliquer le principe de la virgule flottante. Le nombre réel 1.987 est
représenté via la mantisse 1987 en base 10 et un exposant -3.
1.987 = 0001.1111110010110
nombre réel r =partie entière E. partie fractionnaire DEC
F IGURE 2.3 – Exemple pour expliquer le principe de la virgule fixe. Le nombre réel 1.987 est représenté
sur 25 bits par l’association d’une partie entière (1 bit de signe + 11 bits pour la partie entière) et d’une
partie décimale (13 bits). Le nombre ainsi codé est en réalité 1.9871.
Deuxièmement, le raster plot du neurone en virgule flottante est notre référence pour réaliser
la comparaison. Pour cela, nous remplissons un vecteur de correspondance suivant une loi simple
qui est :
• 0 sinon.
Nous sommons ce vecteur de comparaison et divisons par le nombre de PA émis par le neurone
en virgule fixe. A la fin, nous obtenons un taux de correspondance entre la virgule flottante et la
virgule fixe pour un modèle donné. Ce taux pourra aller de 0 s’il n’y a aucune correspondance à
1 si la correspondance des événements est parfaite. Nous terminons par la moyenne des taux de
correspondance sur les 20 raster plots afin d’obtenir un taux de correspondance moyen présenté
à la Table 2.2.
Plus le nombre de bits est élevé et plus les calculs en virgule fixe correspondent aux calculs
en virgule flottante. Néanmoins dans le projet BRAINBOW, nous avons choisi de représenter
nos données sur 25 bits (12 pour la partie entière et 13 pour la partie décimale). Ce choix permet
d’utiliser un maximum de mémoire tout en laissant de la marge pour le microcontrôleur embarqué
sur la plateforme MULTIMED et aussi de représenter le bruit sans diminuer les performances du
système global.
Cependant dans le projet HYRENE, notre architecture utilise une représentation en virgule
fixe sur 31 bits avec 19 bits pour la partie décimale. Les paramètres liés à la plasticité à court
terme nécessitent des bits supplémentaires de précision pour effectuer les calculs correctement.
TABLE 2.2 – Correspondance (en %) entre la représentation en virgule fixe et la représentation en virgule
flottante au travers de plusieurs types de neurones IZH.
2.4. A RCHITECTURE DE NOTRE IMPLÉMENTATION 35
cette architecture réside dans son faible coût en ressources mais cette avantage limite le nombre
maximal de neurones (Ambroise et al., 2013).
D’un autre côté, une architecture pipelinée (architecture présentée dans ce travail de thèse)
permet de faire les mêmes calculs pour les 100 neurones en (100 + Cn ) cycles. Intuitivement,
faire les calculs en moins de temps nous donne accès à un plus grand nombre de neurones.
A présent revenons au modèle IZH. Celui-ci dépend de 4 paramètres (a, b, c et d) pour
reproduire le comportement des neurones corticaux. D’un point de vue mathématique, ce modèle
est un système d’équations à 2 dimensions (Izhikevich, 2003) :
dv
= 0.04 · v(t)2 + 5 · v(t) + 140 − u(t) + I(t)
dt
du (2.1)
= a · (b · v(t) − u(t))
dt
si v ≥ +30mV alors v ← c, u ← u + d
Pour rendre le réseau de neurones plus biologiquement réaliste, le courant Iizh sera la somme
de 3 courants : Istat le courant de polarisation du neurone, Iinh un courant qui combine toutes les
inhibitions reçues par le neurone et Iexc un courant qui combine toutes les excitations reçues par
le neurone. (Cassidy and Andreou, 2008) multiplie l’Equation 2.1 par 0.78125 afin de faciliter
l’implémentation du modèle IZH en changeant les multiplications en divisions de puissance de 2.
En effet, les multiplications (ou divisions) par une puissance de 2 sont en numérique de simples
décalages à droite (ou à gauche). Cette simplification nous donne les équations suivantes :
dVM 1
= · VM (t)2 + 4 · VM (t) + 109.375 − u(t) + Istat (t) + Iexc (t) + Iinh (t)
dt 32
du (2.2)
= a · (b · VM (t) − u(t))
dt
si VM ≥ +30mV alors VM ← c, u ← u + d
Nous avons donc implémenté les équations 2.2. Comme le montre la Figure 2.5, nous avons
implémenté 2 pipelines, le premier dédié à la mise à jour de la variable v et le second à la mise à
jour de la variable u (voir Figure 2.5). En comparaison à l’architecture proposée par (Cassidy
and Andreou, 2008), l’ajout de 3 courants au lieu d’un seul allongera le pipeline de calcul de 3
cycles et nous donnera les équations suivantes :
1
v[n + 1] = v[n] + · v[n]2 + 4 · v[n] + 109.375 − u[n] + Istat [n] + Iexc [n] + Iinh [n]
32
u[n + 1] = u[n] + a · (b · v[n] − u[n])
si v[n + 1] ≥ +30mV alors v[n + 1] ← c, u[n + 1] ← u[n] + d
(2.3)
F IGURE 2.5 – Pipeline du cœur de calcul de neurone. Les étapes de calculs (reprenant l’Equation 2.2)
ont été mises en évidence par les barres verticales en pointillé. Chacune de ces barres représentent un
front montant d’horloge sur lequel le résultat de chaque opération est sauvegardé. Par souci de lisibilité,
nous n’avons pas représenté les enchaînements des bascules qui permettent de transférer les opérandes au
fil du temps.
38 C HAPITRE 2 - I MPLÉMENTATION DE RÉSEAU DE NEURONES SUR FPGA
Pour alléger notre implémentation, nous avons choisi de calculer la prochaine valeur de la
fonction exponentielle, en linéarisant la dérivée de l’Equation 2.4. Nous obtenons ainsi :
1
Isyn (t + T ) = (1 − ).Isyn (t). (2.7)
τsyn
σ2
var(xt ) = (2.10)
2θ
Pour discrétiser l’Equation 2.9, dt sera égal à 1. Nous obtenons ainsi une nouvelle équation
implémentée comme le montre la Figure 2.6 :
F IGURE 2.6 – Architecture de l’implémentation du bruit. Les paramètres σ, µ et θ sont mis en œuvre
conformément à l’Equation 2.11. Ici, Wt représente le processus de Wiener (générateur de bruit). Istat
ainsi généré interviendra dans le prochain calcul de l’Equation 2.3.
Dans les études (Touboul, 2004) et (Touboul, 2008), Touboul a par ailleurs testé et validé
ce processus de bruit, qui permet de reproduire l’activité spontanée des neurones biologiques.
(Touboul, 2008) compare l’activité de neurone stimulé par le bruit et l’activité spontanée. La
Figure 2.7 nous montre ainsi cette comparaison et atteste de la similarité des activités du neurone
artificiel et du neurone biologique.
F IGURE 2.7 – Comparaison de diverses activités spontanées d’un neurone artificiel soumis au bruit OU
(présentant une activité sans PA, une activité avec PA intermittent et une activité des bouffées de PA
intermittentes) et leurs homologues biologiques (Liu et al., 2000). Cette comparaison est extraite de
(Touboul, 2008).
• un facteur scalaire xsyn qui va indiquer l’état de la synapse (dépression ou facilitation), qui
pondère le poids synaptique et dont la valeur tend toujours vers 1 (voir Table 2.3).
• un pourcentage P qui sera multiplié par le facteur xsyn à chaque émission d’un potentiel
d’action pré-synaptique. Si ce pourcentage est supérieur à 1, alors cette synapse décrira une
2.4. A RCHITECTURE DE NOTRE IMPLÉMENTATION 41
• une constante de temps tsyn de décroissance (ou croissance) exponentiel dans le cas
d’une facilitation (ou dépression). Ce modèle s’appelle « plasticité à court-terme » car la
facilitation comme la dépression d’une synapse se résorbe lorsqu’aucun potentiel d’action
n’a été émis pendant un temps tsyn .
Notre cœur de calcul de synapse aura lui aussi 2 comportement différents selon qu’un
potentiel d’action pré-synaptique est présent ou non, et donc régi par les équations présentées
dans la Table 2.3.
TABLE 2.3 – Système d’équations régissant le cœur de calcul de synapses. Ce système prend en compte 2
cas, soit le neurone pré-synaptique a émis un potentiel d’action soit aucun potentiel d’action n’a été émis.
à la position 0 (i.e le bit de poids faible du registre à décalage Délai) sera pris en compte pour la
mise à jour des courants synaptiques.
Le délai axonal permet de décrire une superposition de réseau de neurones en 2D. Plus ces
couches sont éloignées et plus le délai est grand. Pour agrandir le délai axonal, il est possible
d’envisager en pré-synthèse du code VHDL de changer le temps de décalage.
• Nn variables d’état u et v.
• 3 x Nn courants.
Pour le calcul du bruit suivant le processus Ornstein-Ulhenbeck, nous avons les paramètres µ,σ,
θ (représentés sur Nbits bits) et les bits de permission d’injection. Pour
Le stockage de ces variables et de ces paramètres est intuitif. En effet, ils sont chacun stockés
dans un tableau contenant Nn cases. Concernant les paramètres inhérents au cœur de calcul de
synapses et les valeurs issues de ce cœur, nous avons :
1
Nbits est la somme du nombre E de bits pour la partie entière et du nombre DEC de bits pour la partie décimale.
2.4. A RCHITECTURE DE NOTRE IMPLÉMENTATION 43
• Ns paramètres pour le délai axonal : D (sur 6 bits) et le vecteur qui lui est associé (sur 50
bits).
L’ensemble des adresses de neurones post-synaptiques est rangé dans la matrice de connecti-
vité (notée m1 pour la matrice interne et m2 pour la matrice externe). Chaque adresse de neurone
est représentée sur 7 bits et chaque adresse de synapse utilise 13 bits. Nous avons donc 7 matrices
indépendantes pour déterminer la destination d’une synapse et ses propriétés. Ces matrices sont
dites jumelles car elles possèdent la même taille et la même stratégie de stockage. Deux stratégies
de stockage se présente alors à nous : l’utilisation de Nn tableaux à 60 cases (ce qui confère nos
60 synapses pour chaque neurone) ou alors notre stratégie de listes flexibles. Une liste flexible a
pour avantage de récupérer des synapses non utilisées par un autre neurone.
En effet, grâce à cette stratégie, chaque neurone (du neurone 1 à 100) aura une liste d’adresses
de neurones post-synaptiques qui se termine par les maillons de fin de chaîne. Les maillons
de fin de chaîne sont l’adresse du neurone 0 (repère de fin de liste) et l’adresse du neurone
101 (neurone factice permettant la temporisation au sein des différents cœurs de calcul). Cette
flexibilité obtenue a donc un coût de 2 synapses (une aboutissant sur le neurone 0 et une autre
aboutissant sur le neurone 101). Un exemple de connectivité est présenté dans la Figure 2.9.
En définitif, la mémoire doit pouvoir stocker 6200 synapses pour les neurones de notre
réseau, soit 62 synapses par neurone (60 étant la limite fixée par notre cahier des charges et
les 2 restantes permettant le bon fonctionnement du réseau), ainsi que 1200 synapses pour les
connexions entre le vecteur de PA extérieur et les neurones de notre réseau (soit suivant le même
44 C HAPITRE 2 - I MPLÉMENTATION DE RÉSEAU DE NEURONES SUR FPGA
principe, (10+2) synapses extérieures par neurone). Le total représentant 7400 synapses.
N1
inh inh
(-12) (-12)
exc Connectivité
N2 N3
(+24) N1 N2 N0 N101
N2 N1 N3 N0 N101
(a)
N3 N0 N101
(b)
Poids synaptiques
N1 -12 0 0
N2 -12 24 0 0
N3 0 0
(c)
F IGURE 2.9 – Exemple d’un réseau de neurones accompagné de ses matrices de connectivité et de poids
synaptiques correspondantes. (a) Dans ce réseau, le neurone N1 est connecté au neurone N2 par une
synapse inhibitrice (noté inh). Le neurone N2 est connecté au neurone N1 par une synapse inhibitrice
et au neurone N3 par une synapse excitatrice (noté exc), tandis que le neurone N3 n’a pas de neurone
post-synaptique. (b) La matrice de connectivité reprend la description faite en (a) et termine chaque
liste de neurone post-synaptique par le neurone N0 et le neurone N101 . (c) Les synapses excitatrices
(ou inhibitrices) sont caractérisées par des poids synaptiques positifs (ou négatifs). Les matrices de
connectivité et de poids synaptiques ont la même taille. Ce principe s’applique également aux matrices de
plasticité à court-terme (contenant les xsyn , les p et les tsyn ) et de délai axonal.
2.4. A RCHITECTURE DE NOTRE IMPLÉMENTATION 45
SY NEXT
IN I start IDLE N EU R
stop
fin des calculs fin des calculs
SY NIN T
F IGURE 2.10 – Machine d’états de l’architecture montrant la succession des états de calculs (SYNEXT ,
NEUR et SYNIN T ), de l’état de configuration offline INI et de l’état de temporisation IDLE. Les états
de calculs se partagent entre les mises à jour synaptiques (SYNEXT et SYNIN T ) et les mises à jour
neuronales (NEUR). Les mises à jour synaptiques s’achèvent lorsque toutes les listes de connectivité ont
été parcourues et le pipeline de calcul correspondant est vide. Les mises à jour neuronales s’achèvent
lorsque tous les enregistrements des valeurs mises à jours sont terminés.
à notre système, nous avons ajouté la possibilité d’utiliser une liaison série (nommée aussi
communication RS232 ou connexion UART), présente sur MULTIMED.
CLK RS232
idle Start bit 0 bit 1 bit 2 bit 7 bit 8 Stop
Données
Fin
La communication RS232 est un communication série symétrique, utilisant donc un fil pour
l’envoi et un fil pour la réception. La Figure 2.11 nous montre que cette opération est encadrée
par un bit de start et un bit de stop, qu’il s’agisse de l’envoi ou de la réception des 8 bits de
données. Par ailleurs, la communication RS232 permet d’envoyer un caractère en envoyant en
série, bit par bit (en partant du bit de poids fort). Du côté de la réception, le caractère envoyé
sera reconstitué, bit par bit. A la fin de la réception, un bit nous permettra de confirmer la fin de
réception du caractère reçu.
le courant synaptique Istat (première ligne de l’exemple B), ils seront représentés par le caractère
’i’ suivi du caractère ’b’.
Les 3 caractères suivants vont permettre d’indiquer le neurone à configurer (en orange).
Du point de vue de la mémoire, ce nombre sur 3 digits décimaux allant de 0 à 100 représente
l’adresse du neurone.
Pour finir, toutes les instructions de configuration s’achèvent sur une valeur à affecter
au paramètre choisi (en violet). Ces valeurs peuvent être la valeur d’un bit dans le cas de
l’autorisation de l’injection du bruit ou être un nombre décimal dans les autres cas, variant entre
-99.99999 et 99.99999.
e2
e
on
au
de
èr
èr
ur
se
an
ce
ce
ct
ct
ne
ré
pa
pa
ér
ra
ra
no
no
op
r ;
ca
ca
es
es
TABLE 2.4 – Exemple des instructions servant à configurer les paramètres liés aux neurones. Nous
avons pris pour exemple ici l’initialisation du neurone 100 du réseau 7. Dans ce tableau, nous avons les
instructions dans leurs intégralités telles qu’elles doivent être envoyées en partant de la gauche. Chaque
instruction commence par ’r’, finit par le caractère ’ ;’ et sont de taille variable.
48 C HAPITRE 2 - I MPLÉMENTATION DE RÉSEAU DE NEURONES SUR FPGA
TABLE 2.5 – Exemple des instructions servant à configurer les paramètres liés aux synapses. Nous avons pris pour exemple ici l’initialisation de la synapse 2 du
réseau 7, qui a pour neurone post-synaptique le neurone 9. Dans ce tableau, nous avons les instructions dans leur intégralité telles qu’elles doivent être envoyées
en partant de la gauche. Chaque instruction commence par ’r’, finit par ’ ;’ et est de taille variable.
2.4. A RCHITECTURE DE NOTRE IMPLÉMENTATION
49
50 C HAPITRE 2 - I MPLÉMENTATION DE RÉSEAU DE NEURONES SUR FPGA
TABLE 2.6 – Exemple des instructions servant à configurer les paramètres liés à l’effet GABA-ergique
(A) et l’effet AMPA-ergique. Nous avons pris dans l’exemple (A) l’initialisation de la constante de temps
τGABA du réseau 7, à une valeur de 5000 ms. Dans l’exemple (B), nous avons mis en œuvre l’initialisation
de la constante de temps τAM P A à une valeur de 10 ms. Dans ce tableau, nous avons les instructions dans
leur intégralité telles qu’elles doivent être envoyées en partant de la gauche. Chaque instruction commence
par ’r’, finit par ’ ;’ et est de taille variable.
TABLE 2.7 – Exemple de l’instruction permettant de changer la configuration. Nous avons pris pour
exemple ici la configuration du réseau 7. Dans ce tableau, nous avons l’instruction dans son intégralité
telle qu’elle doit être envoyée en partant de la gauche. L’instruction indique que la description du réseau
démarre par la synapse 45.
d’instructions est complété par une commande pour stopper l’activité du réseau (r7_ ;) et aussi
une commande pour le redémarrer (s ;). Ces 2 instructions permettent de configurer le réseau
offline. Le débit de la communication RS232 sur la plateforme MULTIMED est de 115200
bits par seconde, ce qui signifie qu’un bit est transmis en approximativement 8,68 µs. La plus
courte instruction (le changement de configuration) est transmise et prise en compte en 86,8 µs
tandis que l’instruction la plus longue met 18.2 ms. Notre implémentation peut être configurée
de manière offline (en arrêtant le réseau, puis redémarrant ce dernier). En étant offline, le réseau
peut recevoir autant d’instructions que nécessaire, tandis qu’en online, nous avons limité à 1
instruction par milliseconde.
(chacun sur 25 bits), l’adresse d’un neurone post-synaptique (sur 8 bits 2 ), un vecteur Délai (sur
50 bits) et une valeur de délai axonal (sur 6 bits). Au total, pour une synapse, nous avons 4
paramètres sur 25 bits, 1 sur 8 bits,1 sur 50 bits et 1 sur 6 bits.
En prenant une plateforme FPGA Spartan 6 LX150, l’ensemble des paramètres pour tous les
neurones et toutes les synapses doit tenir dans les 4824 Kb de mémoire (soit 4824 x 10224).
301Nn + (156 + log2 (Nn )).Ns ≤ 4939776 (2.15)
Ces contraintes nous donnent donc un système à 2 équations, que nous allons résoudre en
choississant Ns =Nn x Nn .
(
2Nn + 2Ns + 11 ≤ 50000
(2.16)
301Nn + 164Ns ≤ 4939776
Notre architecture nous permet d’avoir un réseau de 155 neurones et 24025 synapses à
condition d’utiliser toute la mémoire disponible sur la plateforme FPGA. Pour finir, notre
implémentation d’un réseau de 100 neurones et 6200 synapses, pour le projet BRAINBOW,
tient dans les ressources disponibles sur Multimed. La Table 2.8 nous montre les ressources
nécessaires suivant les options souhaitées.
BRAINBOW
HYRENE
Architecture en virgule fixe sur
Options du SNN 25 bits 31 bits
délai axonal X X X X
Plasticité à court-terme X X X X X
Bruit X X X X
Ressources Totales disponibles Utilisées suivant l’implémentation
Bascules 184 304 1619 2130 1877 2388 2161 2414 2161 2672 2377
LUTs 92 152 3112 3742 3543 4166 3699 3884 3699 4301 4597
Multiplieurs 180 28 34 36 42 36 34 36 42 36
RAM 16 kb 268 8 8 17 17 52 43 52 52 23
RAM 8 kb 5336 9 12 9 12 9 12 9 12 10
Total RAM 4824 kb
TABLE 2.8 – Liste des ressources occupées par le réseau de neurones artificiel en fonction de la com-
plexité voulue (une implémentation de 100 neurones et 6200 synapses). La colonne bleue représente la
configuration choisie pour le projet BRAINBOW (une implémentation de 100 neurones et 6200 synapses)
et la colonne violette est la configuration choisie pour le projet HYRENE (10 CPGs avec différentes
fréquences, pour une implémentation de 100 neurones et 340 synapses).
2
8 bits ont été choisis, en prévision d’un réseau contenant moins de 256 neurones.
2.5. C ONCLUSION 53
2.5 Conclusion
Ce chapitre 2 a permis de montrer que notre implémentation peut émuler un réseau composé
de 100 neurones Izhikevich et un total de 6200 synapses, utilisable à la convenance de l’utilisateur.
Les premiers aspects novateurs de cette architecture sont sa modularité et sa reconfigurabilité
(offline et online). L’utilisateur peut configurer le réseau qu’il désire et aussi choisir en pré-
synthèse les dynamiques qu’il souhaite mettre en action dans son réseau. L’autre apsect novateur
de ce travail de thèse réside dans la diversité des dynamiques biologiquement réalistes (les
dynamiques GABA-ergique et AMPA-ergique, la plasticité à court-terme, le délai axonal et
l’injection d’un bruit stochastique).
De plus, nous avons exposé des contraintes de notre système, le pas d’intégration du modèle
et la mémoire disponible sur la plateforme cible qui restreignent le nombre de neurones maximal.
Ce nombre maximal de neurones est intrinsèquement lié à la technologie employée sur le FPGA.
En effet, les performances de cette implémentation augmenteront sur des générations de FPGA
supérieures au Spartan6 (comme Ultrascale).
Au final, notre implémentation convient ainsi parfaitement au projet BRAINBOW qui requiert
100 neurones et 6200 synapses et peut aussi émuler plusieurs CPGs. Cette architecture peut
facilement être utilisée pour le projet HYRENE qui n’utilise qu’un CPG de 8 neurones et 16
synapses.
C HAPITRE 3
E troisième chapitre est consacré aux expériences menées dans le cadre des projets
Pour ces deux projets, un protocole expérimental identique a été utilisé, divisé en trois
grandes étapes :
• L’étape I consiste à connecter le réseau de neurones artificiels vers le réseau de neurones
biologiques.
Pour représenter les réseaux de neurones, nous allons adopter une convention, selon laquelle
les synapses inhibitrices seront représentées par des segments se terminant par un disque noir.
Les synapses excitatrices seront représentées par des flèches.
TABLE 3.1 – Description du réseau de 8 neurones décrivant le réseau "chenillard". Les neurones utilisés
sont des neurones RS. En condition initiale, les neurones N2 à N8 ont v=-65 et u=-13. Le neurone N1 a
v=20 et u=-13.
F IGURE 3.1 – Raster plot de l’activité d’un réseau "chenillard". En condition initiale, nous avons imposé
au premier neurone d’émettre un PA. Ainsi l’activité des 8 neurones s’enchaîne par un lien de causalité
évident. Le PA de N1 entraîne un PA chez le neurone N2 .
3.1. U TILISATION DU RÉSEAU DE NEURONES 59
TABLE 3.2 – Description du réseau de 8 neurones décrivant le réseau "chenillard". Les neurones utilisés
sont des neurones RS. En condition initiale, les neurones N2 à N8 ont v=-65 et u=-13. Le neurone N1 a
v=20 et u=-13.
La Figure 3.2 nous montre l’activité du réseau "chenillard" plastique dans laquelle nous
pouvons voir que la plasticité ainsi calibrée empêche l’enchaînement de PAs observés dans la
Figure 3.1.
F IGURE 3.2 – Raster plot de l’activité d’un réseau "chenillard" plastique. En condition initiale, nous
avons imposé au neurone N1 un courant Istat =10. Ainsi l’activité des 8 neurones s’enchaîne par un lien de
causalité évident nuancé par des synapses plastiques.
si les stimulations des 3 neurones excitateurs (N2 , N3 et N4 ) lui parviennent. Cependant, ces 3
neurones doivent émettre chacun un PA dans un ordre particulier, imposé par les valeurs du délai
synaptique assignées à chacune des synapses (voir Table 3.3).
TABLE 3.3 – Description du réseau de 4 neurones décrivant le réseau de reconnaissance temporelle. Les
neurones utilisés sont des neurones RS. En condition initiale, les neurones N2 à N4 ont v=-65 et u=-13.
Le neurone N1 a v=20 et u=-13.
Le neurone N1 devient ainsi un détecteur dont la séquence d’activation est composée par les
PAs provenant de N3 , puis N2 et N4 (i.e l’ordre des synapses ayant le délai synaptique le plus
élevé au plus faible conformément à la configuration présentée dans le Tableau 3.3).
F IGURE 3.4 – Raster plot de l’activité des 4 neurones mettant en valeur la reconnaissance des motifs
temporels.
La Figure 3.4 nous montre que le motif que l’on cherche à reconnaitre est simple. Le neurone
N3 doit émettre un PA en premier, puis les neurones N2 et N4 doivent émettre simultanément1 un
PA. Si cet ordre est respecté, alors le neurone N1 pourra émettre un PA.
1
Le réseau n’a pas été optimisé pour une telle application, ce qui explique la variabilité observée
3.2. T HÉORIE DES C ENTRAL PATTERN G ENERATOR 61
Le but de l’approche biophysique est d’atteindre une proximité (ou même une équivalence)
entre le système biologique et le modèle simulé afin de faciliter ou rendre possible l’expérimen-
tation hybride. C’est pourquoi (Hill et al., 2001) rapporte les mesures effectuées sur un CPG
biologique responsable du battement du coeur chez la sangsue (voir Table 3.4) avant d’utiliser
le modèle HH pour émuler l’activité caractéristique de ce CPG. Comme nous l’avions vu au
Chapitre 1, le modèle HH est peu souhaité pour une implémentation numérique.
L’approche abstraite se focalise principalement sur la structure des CPGs et les dynamiques
de leurs phases. La neurorobotique utilise les CPGs pour coordonner les mouvements de robots
bipèdes (Li et al., 2013), multipèdes (Barron-Zambrano and Torres-Huitzil, 2013) ou robots
nageurs (Ijspeert et al., 2007). Les applications de la neurorobotique sont implémentées à l’aide
de microcontrôleurs ou microprocesseurs (Crespi and Ijspeert, 2006), utilisant principalement des
oscillateurs sinusoïdaux non-linéaires (Fitzhugh-Nagumo (FitzHugh, 1955)(FitzHugh, 1961)(Na-
gumo et al., 1962), Stein (Stein, 1967), Van der Pol (Der Pol, 1920)(Van der Pol and Van der
Mark, 1928)). Les dynamiques décrites par ces systèmes ont été étudiées utilisant des outils
mathématiques classiques (Zielinska, 1996) de manière à faciliter l’émulation des diverses mou-
vements trouvés dans le règne animal (comme le trot, la marche et le galop (Barron-Zambrano
and Torres-Huitzil, 2013)). En dépit d’une possible implémentation du modèle Van Der Pol sur
FPGA, démontré par (Barron-Zambrano and Torres-Huitzil, 2013), le niveau d’abstraction est
trop élevé pour envisager une connexion avec des organismes vivants.
Une approche intermédiaire (dite "connexionniste") est nécessaire pour réaliser un CPG sur
une plateforme FPGA via un modèle de neurone impulsionnel, faibles ressources, utilisable
pour l’expérimentation hybride. Comme exposé dans le Chapitre 1, le modèle Izhikevich (IZH)
(Izhikevich, 2003) possède les qualités requises pour cette implémentation. Afin de pouvoir
implémenter le premier CPG utilisant le modèle IZH, nous avons d’abord étudié les CPGs
biologiques dans la littérature et passé en revue les différentes implémentations de CPGs. Sur la
base de l’architecture présentée dans le Chapitre 2, nous allons présenter notre CPG, sa topologie
et les paramètres utilisés, en rappelant que notre objectif est de s’approcher le plus possible
des organismes vivants. C’est d’ailleurs pour cela que, dans la suite de ce chapitre, nous allons
comparer l’activité de notre implémentation de CPG avec l’activité mesurée dans le système
biologique.
62 C HAPITRE 3 - M ISE EN ŒUVRE DE NOTRE RÉSEAU ET E XPÉRIENCES HYBRIDES
D’ailleurs en robotique, les réseaux de neurones sans potentiel d’action (ces réseaux sont
dépendants du temps : il ne s’agit pas de perceptrons) sont utilisés. Ces derniers sont basés
sur le modèle Amari-Hopfield (Amari, 1972) ou d’autres modèles plus simples (Van der Pol
and Van der Mark, 1928). En effet les CPGs utilisés pour la coordination des mouvements des
robots multipèdes sont basés sur des oscillateurs sinusoïdaux avec des fréquences et amplitudes
variables, à l’aide de plusieurs paramètres. Nous trouvons aussi plusieurs implémentations
analogiques réalisées par plusieurs équipes (Linares-Barranco et al., 1993)(Still and Tilden,
1998)(Lewis et al., 2001)(Nakada et al., 2003)(Lee et al., 2007)(Wijekoon and Dudek, 2008).
Etant donné que nous cherchons à utiliser des réseaux de neurones impulsionnels, nous ne
pouvons adopter aucune de ces solutions.
Au final, dans la robotique, émergent 2 politiques différentes sur l’implémentation et l’émulation
de CPG qui sont :
Nous savons que des études (Jung et al., 2001)(Le Masson et al., 2002)(Vogelstein et al.,
2006) ont réalisé une expérimentation hybride (i.e la connexion entre un réseau de neurones
artificiels et un réseau de neurones biologiques). Les neurones artificiels mis en œuvre utilisaient
le modèle HH (Hodgkin and Huxley, 1952).
(Hill et al., 2001) nous montre que le CPG Hodgkin-Huxley (CPG composé de neurones
décrits par le modèle Hodgkin-Huxley (CPG-HH)) a été décrit à l’aide de plusieurs courants
ioniques qui sont absents du modèle Izhikevich. La question est alors : "Comment décrire un
CPG-IZH à partir de la description d’un CPG-HH ?"
La complexité de la synapse joue un rôle majeur dans la génération et la réalisation des CPGs
et celle-ci doit être adaptée au modèle de neurones qu’elle cherche à connecter. Évidemment,
nous n’obtenons aucune activité en connectant des neurones IZH avec des synapses Hill.
(Nadim et al., 1995)(Olsen et al., 1995) présentent un modèle biophysique de cet oscillateur
élémentaire en incluant des courants ioniques "mesurés" en voltage-clamp. En croisant différentes
études (Nadim et al., 1995)(Olsen and Calabrese, 1996), (Hill et al., 2001) présente un nouveau
modèle d’oscillateur élémentaire faisant intervenir des modifications intrinsèques des courants
synaptiques.
Mais comment décrire un comportement issu des dynamiques des courants ioniques dans un
modèle qui en est dépourvu ?
(Matsuoka, 1987) nous donne des éléments de réponse. En effet, dans cette étude, Matsuoka
montre qu’il existe 4 stratégies pour générer un pattern rythmé :
• par une variation uniforme des stimuli d’entrée (voir Fig 3.7).
• par une variation temporaire du pattern des stimuli d’entrée du réseau permettant de
produire potentiellement plusieurs rythmes.
Pour répondre à cette question, il faut donc élever le niveau d’abstraction. Un neurone est
un oscillateur qui n’est actif que lorsque le courant de stimulation lui parvenant est assez élevé.
Ainsi un neurone appartenant à l’oscillateur élémentaire alternera entre un temps d’activité et un
temps d’inactivité. Le temps d’inactivité du neurone N2 est expliqué par l’inhibition exercée par
le neurone N1 qui, quant à lui, est dans son temps d’activité.
L’effet GABA-ergique permet de faire persister l’inhibition reçue sur le courant du neurone
post-synaptique N2 (ou N1 si N2 est le neurone pré-synaptique actif en premier) obligeant le
neurone post-synaptique à être inhibé (donc inactif), puis lorsque l’inhibition s’estompera le
neurone post-synaptique sera de nouveau actif. Cepedant l’effet GABA-ergique n’explique pas
à lui seul l’activité au sein d’un CPG. En effet, comme le montre (Matsuoka, 1987), il est
nécessaire qu’une variation des poids synaptiques ait lieu pour démarrer et soutenir l’activité
du CPG. C’est pour appliquer la quatrième stratégie que la plasticité à court-terme intervient.
En suivant les explications données dans le Chapitre 2, plus un neurone pré-synaptique est actif,
plus le(s) poids de la (des) synapse(s) conduisant au(x) neurone(s) post-synaptique(s) varie(nt)
dans le temps suivant un paramètre P et une constante de temps τsyn .
Au sein de notre CPG, en utilisant un paramètre P inférieur à 1 et une certaine constante
de temps, plus le neurone N1 sera actif, plus le poids de la synapse allant de N1 vers N2 sera
diminué. Cela signifie que plus N1 est actif, plus son emprise inhibitrice sur N2 diminuera dans
le temps, jusqu’à être très petite (voire négligeable). Dans le même temps, l’effet GABA-erqique
va disperser l’inhibition subie par N2 et permettre à N2 de redevenir actif. Le secret de notre
CPG numérique réside alors dans deux biomécanismes : l’effet GABA-ergique (défini par la
constante de temps τGABA ) et la plasticité à court-terme décrite par (Izhikevich and Edelman,
2008), définie par les paramètres x,p et τsyn .
C’est ainsi que dans la quatrième et dernière étape de notre passage d’un CPG-HH à un
CPG-IZH, nous utilisons des synapses munies de la plasticité à court terme, rendant un réseau
de neurones IZH capable d’imiter le comportement des CPGs biologiques et des CPG-HH et de
devenir par la même un CPG-IZH.
64 C HAPITRE 3 - M ISE EN ŒUVRE DE NOTRE RÉSEAU ET E XPÉRIENCES HYBRIDES
De plus, (Matsuoka, 1987) et (Hill et al., 2001) décrivent des CPGs comme des réseaux ayant
une inhibition mutuelle. (Hill et al., 2001) va plus loin dans son étude en présentant le CPG
Hodgkin-Huxley produisant une activité semblable au CPG biologique à l’origine du battement
de coeur chez la sangsue. Cette étude nous montre alors que le CPG élémentaire est composé
de 2 neurones (proche de la description RS donnée par Izhikevich) reliés mutuellement par 2
synapses inhibitrices.
Ces études conjointes vont donc conditionner notre expérimentation, à savoir que notre
CPG élémentaire sera composé de 2 neurones RS connectés par 2 synapses inhibitrices ayant la
plasticité à court-terme. (Hill et al., 2001) présente également un CPG segmental composé de 8
neurones et des synapses inhibitrices. Nous allons donc dans un premier temps étudier le CPG
élémentaire, puis dans un deuxième temps le CPG segmental.
(a)
(b)
(a)
(b)
Notre approche connexionniste nous permet d’obtenir une période moyenne et un rapport
cyclique moyen proche de la biologie. Ceci nous permet de déclencher les stimuli électriques
avec un timing compatible avec le vivant. La contrepartie de notre approche ne permet pas
d’égaler les fréquences mesurées dans les bouffées dans le système biologique.
Plus précisément, nous allons étudier l’influence de stimuli externes sur le comportement d’un
CPG. Pour nous mettre en contexte dans le projet HYRENE, ces stimulis externes peuvent être
tout simplement des signaux issus ou déduits d’un réseau de neurones biologiques, considérés
comme des commandes de l’activité du CPG. Pour illustrer cette stratégie, nous allons utiliser
un oscillateur élémentaire ayant les caractéristiques décrites dans la Table 3.5. Pour produire la
Figure 3.7, l’oscillateur élémentaire sera stimulé par des PAs générés à l’aide d’un compteur.
La Figure 3.7 nous montre le CPG élémentaire présenté précédemment (avec une période de
10 s). Lors de cette expérience, nous injectons à l’entrée de ce CPG un vecteur de PA qui suit
la condition suivante. A l’aide d’un compteur, les neurones N1 et N2 reçoivent chacun un PA
(respectivement PA1 et PA2 ). Le PA externe envoyé à N2 est émis entre 2 PAs externes envoyés à
N1 . Les potentiels d’action PA1 et PA2 sont transmis respectivement aux neurones N1 et N2 par
une synapse excitatrice (avec wP Ax −→Nx =9, pP Ax −→Nx =1,τsyn(P Ax −→Nx ) =1 ms).
Cette expérience met en oeuvre une stratégie évoquée par Matsuoka pour obtenir un CPG
multimodal en utilisant l’influence de stimulis (ou PAs) appliqués aux neurones composant le
CPG. Par extension, il est possible d’appliquer ce résultat sur les paires directrices du CPG
segmental.
3.2. T HÉORIE DES C ENTRAL PATTERN G ENERATOR 67
(a)
(b)
(c)
(d)
F IGURE 3.7 – Influence des stimuli externes (PA1 et PA2) sur un CPG élémentaire. La Sous-Figure (a)
présente un oscillateur élémentaire sans stimuli externes. Les autres cas présentent une stimulation sur les
neurones (N1 et N2) allant de 3 secondes d’écart (Sous-Figure (b)), 2 secondes d’écart (Sous-Figure (c)),
1 seconde d’écart (Sous-Figure (b)) entre chaque stimuli. Chaque stimulation est exercée sur le même
CPG présenté en (a).
En stimulant les neurones d’un oscillateur élémentaire, il est possible de changer la dynamique
du CPG comme présenté dans la Figure 3.7 et ainsi lui faire adopter des périodes alternatives à
sa période d’origine.
commencé par changer ces 2 paramètres au sein d’un oscillateur élémentaire. La Table 3.6
montre l’influence de ce couple de paramètres sur la période d’un oscillateur élémentaire. Dans
le projet HYRENE, nous sommes intéressés par des CPGs ayant une période allant entre 1 à 10
s.
Malgré cette technique de division par 2 (Table 3.6), l’oscillateur élémentaire n’est pas
suffisant pour obtenir un CPG avec une période proche de la seconde. Pour atteindre ces valeurs,
il nous faut donc augmenter le nombre de neurones pour nous approcher de cette valeur. C’est
ainsi qu’en s’inspirant de (Hill et al., 2001), nous avons étudié l’oscillateur segmental (CPG à 8
neurones).
TABLE 3.6 – Evolution de la période au sein de l’oscillateur élémentaire en fonction des paramètres du
réseau de neurones numérique (poids synaptiques, τGABA et τsyn ).
La Table 3.7 nous montre qu’en utilisant un oscillateur segmental, tout en faisant varier le
couple τsyn , τgaba , il est à présent possible d’obtenir un intervalle de période allant de 1.3 s à 10 s.
TABLE 3.7 – Evolution de la période au sein de l’oscillateur segmental en fonction des paramètres du
SNN (poids synaptiques, τGABA et τsyn ).
neurones en 2D et en 3D, mais aussi l’élaboration d’un réseau de neurones numérique capable
d’imiter une activité d’un réseau de neurones biologiques.
La Figure 3.8 résume l’idée globale des expérimentations du projet BRAINBOW, qui est de
mettre en œuvre notre réseau de neurones configurable implémenté dans la plateforme MultiMed
(permettant l’enregistrement et la détection des PAs biologiques), un stimulateur MCS 2 voies
et des neurones posés sur des électrodes (MEA 64 voies MCS équipés de pré-amplificateurs
MCS) (Figure 3.8). Notre réseau de neurones sera configuré en début d’expérience selon les
paramètres trouvés par l’UNIGE (équipe de modélisation au sein du projet). Le stimulateur
a été programmé pour émettre des stimulations électriques (série d’impulsions biphasiques,
d’une amplitude de 750 mV pendant 300 µs) à la réception de signaux déclencheurs (ici PAs
provenant de notre réseau de neurones). Les neurones sont disposés en une couche uniforme
sur les électrodes et séparés en quatre groupes (ou clusters) de neurones, voir la Figure 3.9(a).
Les cultures de neurones utilisées pour nos expérimentations ont été réalisées par l’IIT (Istituto
Italiano di Technologia). Pour finir, nous disposons d’un système Matlab pour décoder et traiter
les données offline.
F IGURE 3.8 – Vue globale du projet BRAINBOW. Ce projet met en œuvre Multimed (plateforme
numérique sur laquelle est implémenté notre réseau de neurone), un stimulateur commercial préprogrammé
et des neurones posés sur un lit d’électrodes.
(a)
(b)
F IGURE 3.9 – Photos de clusters de neurones sur MEA avant et après une lésion. Les neurones sont
regroupés en cluster (repéré par les cadres rouges). Chaque cluster est connecté à ses voisins par des
synapses visibles sur la photo. (a) montre ces clusters avant la lésion et (b) montre les mêmes clusters
après une lésion opérée au laser (repérée par les flèches bleues). La distance entre 2 électrodes est de 200
µm.
3.3. R ÉSULTATS EXPÉRIMENTAUX DES DIFFÉRENTS PROJETS 71
F IGURE 3.10 – Exemple d’activité du réseau de 100 neurones soumis au bruit généré par le processus
d’Ornstein-Uhlenbeck. La connectivité des neurones est de 50 synapses plastiques par neurone en moyenne.
Nous pouvons voir les PAs émis par les 100 neurones (points verts et bleus). L’activité est caractérisée par
des épisodes de synchronicité (émission simultanée de PAs par la majorité des neurones).
72
TABLE 3.8 – Résumé des paramètres permettant de créer l’activité du réseau dans la Figure 3.10. Le fichier de configuration pour ce réseau étant conséquent,
nous avons choisi de présenter le principe de base de ce réseau. Les 100 neurones sont divisés en 2 groupes : 80 neurones excitateurs (Table A) et 20 neurones
inhibiteurs (Table B) dont la connectivité des 2 groupes est repérée par respectivement la ligne "exc." et la ligne "inh." de la Table C. La Table D indique la
connectivité externe du réseau. Celle-ci est en liaison directe (le premier PA provenant de l’extérieur est connecté au neurone N1 , le deuxième PA provenant de
l’extérieur à N2 , ainsi de suite pour le centième PA connecté à N100 ).
C HAPITRE 3 - M ISE EN ŒUVRE DE NOTRE RÉSEAU ET E XPÉRIENCES HYBRIDES
3.3. R ÉSULTATS EXPÉRIMENTAUX DES DIFFÉRENTS PROJETS 73
Pour conclure, (Guggenmos et al., 2013) a montré dans son étude la possibilité d’implanter
une neuroprothèse non neuromorphique capable d’être l’intermédiaire entre deux zones céré-
brales. La Figure 3.11 nous montre qu’il est possible d’utiliser un réseau de neurones artificiel
pour faire la jonction entre deux réseaux de neurones biologiques, montrant par la même occasion
qu’une meilleure compréhension des réseaux de neurones nous a permis d’interfacer l’artificiel
2
Ces résultats ont été reproduits plusieurs fois. Cela reste des expériences préliminaires qui seront complétées
ultérieurement.
3
Pour des raisons de compréhension, un code de couleur a été choisi pour représenter l’entropie du transfert.
74 C HAPITRE 3 - M ISE EN ŒUVRE DE NOTRE RÉSEAU ET E XPÉRIENCES HYBRIDES
Des expérimentations en novembre 2015 viendront approfondir ces premiers résultats pour
montrer que l’utilisation du RNA peut aussi servir à moduler l’activité au sein d’un réseau de
neurones biologiques.
(a) (b)
(c) (d)
F IGURE 3.11 – Procédure expérimentale. Chaque flèche représente une connexion et se termine sur un
carré qui représente l’activité du réseau induite par la connexion. Plus l’activité du cluster est élevée et
plus la couleur s’approche du rouge. La Sous-Figure (a) représente une situation initiale où les clusters 2
et 3 sont connectés. La Sous-Figure (b) représente la lésion visant à séparer le cluster 2 et le cluster 3.
Pour rétablir l’activité du cluster 3, le cluster 5 (RNA) va servir de jonction entre le cluster 2 et le cluster 3
(Sous-Figure (c)). Dans la Sous-Figure (d), le cluster 5 est déconnecté et aucune activité n’est transmise.
le rat est un quadrupède, nous repérons 4 sites de locomotion (L2R/L2L, pour le contrôle des
pattes avants respectivement droite et gauche et L5R/L5L (Figure 3.12(a)), pour le contrôle des
pattes arrières droite et gauche).
Les bouffées alternées de notre CPG correspondent à une séquence flexeur-extenseur. En
régime normal, la moelle épinière intacte transmet les instructions provenant du cerveau aux
racines ventrales L2/L5, qui entraînent à leur tour la locomotion. Si la moelle épinière est
sectionnée transversalement (Figure 3.12(b)), les instructions provenant du cerveau sont stoppées
et ne peuvent plus être transmises aux racines ventrales. Les racines L2/L5 deviennent inactives.
(a) (b)
F IGURE 3.12 – Photos de moelle épinière de rat utilisé lors des expérimentations hybrides. La Sous-
Figure (a) montre la moelle épinière, repérant les racines L2/L5 et la Sous-Figure (b) montre partant du
haut une section transversale (qui est la lésion opérée sur la moelle épinière), l’électrode en fourchette et
nos racines L2/L5 à sa base.
La Figure 3.13 résume l’idée de ce projet qui est d’étudier la faisabilité d’une microstimu-
lation électrique pilotée par notre CPG numérique (fourni par l’équipe AS2N et embarqué sur
Multimed appartenant à l’équipe Elibio). Cette microstimulation (composée de 10 impulsions bi-
phasiques, chacune séparée d’1 ms, fournissant 150-300 µA pendant 500 µs) sera délivrée, par un
stimulateur MCS 2 voies, sur les sites appropriés au travers d’une électrode en fourchette. Cette
électrode en fourchette a été créée spécialement pour ce projet par l’ESIEE (Paris) connectée au
système BioMea (Charvet et al., 2007), afin de permettre l’enregistrement de l’activité électrique
issue de la colonne vertébrale et aussi la stimulation très localisée de celle-ci (Joucla et al., 2013).
Les préparations de la moelle épinière (localisation des racines et des sites à stimuler, la section
transversale et le maintien des tissus biologiques) incombaient à l’équipe du Dr Yvert (INCIA,
Bordeaux).
F IGURE 3.13 – Vue globale du projet HYRENE. Ce projet met en œuvre Multimed (plateforme numérique
sur laquelle est implémenté notre CPG), un stimulateur préprogrammé et une moelle épinière.
En effet, nous avons vu que le CPG a une activité en bouffées en antiphase, reprenant l’activité
en alternance entre les racines du côté droit et du côté gauche de la colonne vertébrale. Cependant,
il n’est pas nécessaire d’utiliser chaque PA de notre CPG numérique comme déclencheur d’une
microstimulation. Une succession rapide de microstimulations (de l’ordre de la milliseconde)
risquerait d’endommager prématurément les tissus biologiques et l’électrode. Nous avons par
conséquent décidé d’extraire le premier PA de chaque bouffée provenant d’une paire motrice (par
exemple les neurones N3/N4 dans la Figure 3.14). Celui-ci déclenchera alors la microstimulation
adéquate à la racine ciblée (Joucla et al., 2013).
La dernière étape pour construire le CPG final du projet HYRENE est de déterminer la
méthode d’extraction du premier PA des bouffées qui nous intéressent. Pour éviter d’utiliser
une méthode basée sur des compteurs numériques (qui serait à recalibrer lors de changements
de fréquence du CPG), nous allons utiliser notre réseau de neurones pour créer les signaux
déclencheurs désirés. En utilisant une propriété de notre plasticité synaptique (présentée en
Section 3.1.2), il est possible alors de stimuler fortement un neurone (non présent dans le CPG
présenté en Section 3.2.4) grâce au premier PA d’une bouffée. La Table 3.9 nous donne les
paramètres des synapses aboutissant sur les neurones NR/NL et les paramètres de ces neurones
(voir Figure 3.14).
F IGURE 3.14 – Réseau de neurones utilisé dans le projet Hyrène. Ce réseau est le CPG présenté jusque
là, mais auquel nous avons ajouté une synapse excitatrice allant du neurone N3 au neurone NR et une
synapse excitatrice du neurone N4 au neurone NL. Pour rappel, les neurones moteurs N3/N4 ont une
activité en anti-phase. Ces 2 synapses sont plastiques et permettent de stimuler fortement les neurones
NR/NL uniquement sur le premier PA de chaque bouffée de notre CPG.
En rappelant que notre stimulateur a deux voies d’entrées numériques, les PAs de NR sont
injectés dans une première voie numérique permettant de déclencher une micro-stimulation visant
3.3. R ÉSULTATS EXPÉRIMENTAUX DES DIFFÉRENTS PROJETS 77
TABLE 3.9 – Paramètres décrivant les neurones NR/NL et les synapses qui relient les neurones N3/N4.
Ces paramètres sont classés dans l’ordre pour les CPGs de périodes moyennes de 10, 3 et 1.3 secondes.
les racines L2L/L5R tandis que les PAs de NL sont injectés dans la deuxième voie numérique
pour déclencher une micro-stimulation visant les racines L2R/L5L.
La Figure 3.15 nous montre un exemple où les neurones NR/NL émettent des PAs alternés
d’une période moyenne de 10 secondes. Toujours en suivant la course d’action présentée dans
la Figure 3.13, ces PAs vont être injectés dans le stimulateur qui va, à son tour, provoquer
une micro-stimulation dans les racines nommées précédemment. Nous constatons alors que les
racines rendues inactives par la lésion de la moelle épinière reprennent une activité en bouffée
cadencée par les PAs des neurones NR/NL.
F IGURE 3.15 – Enregistrements de l’activité des racines ventrales L2/L5 suite aux stimulations pilotées
par les PAs des neurones NR et NL.
78 C HAPITRE 3 - M ISE EN ŒUVRE DE NOTRE RÉSEAU ET E XPÉRIENCES HYBRIDES
Cet excellent résultat nous a montré avec succès la possibilité de stimuler le vivant en
pilotant des micro-stimulations par l’activité d’un CPG numérique. Par la même occasion, nous
avons montré une preuve de concept d’une future génération de neuroprothèse neuromorphique.
L’ajout d’un réseau de neurones dans une neuroprothèse permet d’amener de la flexibilité dans
les stimulations des tissus biologiques.
• le bruit synaptique qui permet de générer dans notre réseau de neurones une activité
spontanée similaire à celle observée dans un réseau de neurone biologique.
• biologique. Il s’agit dans notre cas de neurones en culture sur des électrodes.
Les plateformes neuromorphiques ne contiennent qu’un nombre limité de neurones (de 100
à plusieurs millions selon notre état de l’art). Cependant, augmenter la taille des réseaux de
neurones permettrait de mener d’autres études sur le cerveau, par exemple. Il est donc devenu
crucial de faire entrer en communication les plateformes neuromorphiques afin d’obtenir un
réseau plus grand.
Dans ce chapitre, nous allons présenter un protocole très connu au sein de la communauté
des concepteurs neuromorphiques ainsi que ses limites. Ce protocole s’appelle le protocole AER
(pour Address Event Representation). L’idée d’origine du protocole AER est de pouvoir échanger
entre 2 différentes plateformes neuromorphiques d’un même type, les différents potentiels
d’actions qu’elles émettent. Lors de cette présentation, nous allons aussi constater que ce
protocole a été adapté suivant les divers besoins des implémentations neuromorphiques voulant
mettre en œuvre le protocole AER. Ces différentes versions demeurent incompatibles entre elles,
et posent une limitation à une très large utilisation des plateformes neuromorphiques.
Pour résoudre cette problématique, l’idée serait de créer alors un protocole simple, permettant
par l’intermédiaire d’un média commun, d’échanger librement les informations importantes.
Nous choisissons cette fois-ci de parler d’informations importantes car nous avons vu précédem-
ment que les PAs ne sont pas les seules informations utiles et détectées au sein d’un réseau de
neurones (par exemple, il y a aussi la présence d’une bouffée de PAs ou de LFP (Local Field
Potential)).
Viser une hybridation plus large signifierait donc d’être capable d’abolir la frontière entre
l’électronique, l’informatique et le biologique afin de créer un immense réseau de réseaux
neuromorphiques. Après avoir présenté un réseau de neurones numérique pouvant interagir
avec le vivant (Chapitre 2 et Chapitre 3), ce chapitre propose le protocole GIHON ((Generic
Interconnection between Heterogeneous spiking neurONs)) comme solution à cette probléma-
tique, en utilisant l’Ethernet comme média commun pour les différents échanges. Nous verrons
comment, au travers de l’Ethernet, il est possible de faire communiquer ces 3 types de réseaux
de neurones.
84 C HAPITRE 4 - V ERS LE PROTOCOLE UNIVERSEL GIHON
4.1.1 Introduction
Dans un réseau de neurones, les potentiels d’action sont l’essentiel de l’information nerveuse,
échangés entre un neurone pré-synaptique et ses neurones post-synaptiques. Le protocole doit
être capable de faire la correspondance entre les neurones.
Le protocole AER (Adress-Event Representation) se propose, au travers d’un bloc de
mapping (appelé «mappeur», connaissant l’interconnexion entre les neurones d’une plateforme
vers les neurones d’une autre plateforme) et de bus de données, de convoyer un potentiel d’action
de l’émetteur vers son ou ses destinataires. Plus précisément, à l’émission d’un potentiel, le
neurone pré-synaptique va transmettre au mappeur son identifiant.
Grâce à la table de connectivité stockée dans le mappeur, dès la réception de l’identifiant du
neurone pré-synaptique (neurone source), le mappeur enverra en série l’identifiant de chaque
neurone post-synaptique (neurone cible). Chaque neurone ainsi identifié reçoit le potentiel d’ac-
tion.
Le protocole AER permet de manière asynchrone de convoyer les potentiels d’action d’une
plateforme à une autre. A l’origine, ce protocole utilise un mappeur global et une série de bus, de
multiplexeurs et de démultiplexeurs. L’inconvénient de ce protocole est qu’il a été modifié pour
en augmenter les performances et aussi pour l’adapter aux différents montages neuromorphiques.
(Zamarreno-Ramos et al., 2013) fait une revue des différents protocoles AER ainsi créés et nous
présente 5 versions les plus communes. Cependant ces 5 protocoles, bien que basés sur le même
principe, n’en demeurent pas moins incompatibles les uns avec les autres.
AER simple
Chaque plateforme possède une entrée AER_in et une sortie AER_out. Chaque fois qu’un
neurone d’une plateforme émet un potentiel d’action, alors la plateforme transmet l’identifiant du
neurone (i.e numéro de neurone). Un arbitre reçoit toutes les requêtes ainsi émises les ordonnant
avant de les transmettre au mappeur. Dans le protocole AER, toutes les plateformes voulant
communiquer sont classées selon un ordre de priorité. Cette propriété fait du protocole AER un
protocole non égalitaire.
Une fois que le mappeur reçoit un identifiant, il associe immédiatement l’identifiant du neu-
rone émetteur, ainsi que le numéro de la plateforme dont il vient, aux neurones post-synaptiques.
Le mappeur enverra en série (l’un à la suite de l’autre), un message à chaque neurone post-
synaptique. Ici, le mappeur est alors appelé mappeur global, car il est le seul bloc à connaître les
connexions inter-plateformes (Figure 4.1). Evidemment, en reprogrammant le mappeur, il est
possible de changer la connectivité inter-plateforme à volonté. Nous prendrons par convention
une flèche colorée pour représenter les bus de données AER.
En adoptant une vue macroscopique, ce protocole est un lien de communication point à point
(c’est à dire un neurone pré-synaptique (émetteur) aura une liste de neurones selon laquelle
chaque neurone post-synaptique (destinataire) sera atteint en série), pondéré par un mappeur
global (Mortara et al., 1995)(Boahen, 2000)(Boahen, 2004)(Chicca et al., 2007)(Vogelstein et al.,
2007)(Mayr et al., 2005)(Cassidy et al., 2011).
4.1. L E PROTOCOLE AER 85
AER pré-structuré
Ce type de protocole (voir Figure 4.3) s’affranchit de la présence d’un mappeur global en le
substituant par un ensemble de nœuds de centralisation, notés "M" dans la figure pour Merger, de
répartition , notés "S" pour Splitter, et aussi de mappeurs locaux selon les versions. Ces différents
nœuds forment une structure qui doit être définie en même temps que l’architecture du réseau.
86 C HAPITRE 4 - V ERS LE PROTOCOLE UNIVERSEL GIHON
L’optimisation de cette conception permet d’éviter de transporter inutilement les événements sur
toutes les plateformes.
Le bloc S possède une entrée et plusieurs sorties, ce qui permet de partager des informations
provenant d’une plateforme vers plusieurs autres plateformes. Le bloc M possède plusieurs
entrées et une sortie, ce qui permet de rassembler des informations provenant de plusieurs
plateformes vers une seule plateforme.
Même si cette catégorie d’AER augmente l’efficacité des transports d’événements, elle
rend par contre plus difficile la reconfigurabilité. En effet, pour changer la connectivité entre 2
plateformes, il devient nécessaire de changer manuellement les nœuds qui les relient ainsi que
d’ajouter/enlever les bus de données qui font le pont entre les nœuds et les plateformes.
Ce protocole est un protocole point à point qui met en scène des mappeurs locaux à défaut
d’utiliser un mappeur global (Serrano-gotarredona et al., 2009).
Pour illustrer ce propos, nous pouvons nous reporter aux travaux de (Rast et al., 2013) qui
présentent la communication entre 2 plateformes neuromorphiques utilisant la version de l’AER
à mailles de routage . L’une de ces plateformes est celle développée par l’Université d’Heidelberg
durant le projet BrainScaleS et la seconde est SpiNNaker de l’Université de Manchester. Les
deux plateformes utilisent pour leur communication interne un AER mais le contenu des trames
asynchrones est diffèrent. Pour que ces deux plateformes puissent communiquer, il est nécessaire
d’ajouter sur chaque plateforme un module de conversion adaptant les trames de la plateforme
émettrice pour les rendre compatibles avec la plateforme réceptrice.
Pour surpasser ces limitations, il faudrait créer un protocole de communication capable
de connecter entre-elles des plateformes neuromorphiques électroniques mais aussi informa-
tiques ou biologiques. Ceci est le but du protocole GIHON (Generic Interconnection between
Heterogeneous spiking neurONs).
Le protocole GIHON utilisera un bus Ethernet commun avec lequel il sera possible d’envoyer
des messages-événements (i.e potentiel d’action) d’une plateforme à une autre. Dans la suite
de ce chapitre, nous discuterons plus précisément des spécifications du protocole universel,
open-source GIHON.
F IGURE 4.6 – Architecture mettant en œuvre GIHON sur FPGA. L’architecture est divisé en 3 parties :
un microprocesseur Microblaze, une couche intermédiaire de relais (les blocs "GIHON vers réseau" et
"Réseau vers GIHON") et le réseau de neurones numériques.
Le microprocesseur Microblaze
Le MicroBlaze est un cœur de processeur softcore 32 bits créé par la société Xilinx, conçu
pour être implémenté sur les FPGA appartenant à ce fabricant.
Le cœur de processeur est fourni avec un ensemble de bibliothèques C permettant de gérer
les différentes entrées/sorties qui lui sont associées à l’aide de macros.
Pour configurer le microprocesseur Microblaze, nous précompilons un code C. Lors de la
synthèse finale, ce code C compilé sera réutilisé pour compléter le design VHDL de l’architecture
globale. L’architecture proposée est similaire à tous les intervenants.
L’utilisation d’un microprocesseur rend cette architecture plus flexible et plus universel.
La souplesse provient du code C, qui nous permet de changer le comportement global du
microprocesseur au besoin sans passer par de longues phases de synthèse. De l’autre côté,
l’universalité provient du code VHDL en lui-même qui est commun à toutes les plateformes
FPGA. Cependant, le microprocesseur varie suivant le constructeur. Par exemple, Altera a le
processeur Nios II.
Dans notre cas, le microprocesseur MicroBlaze abrite le protocole GIHON et prend en charge
les entrées/sorties Ethernet sur notre plateforme FPGA. Le protocole GIHON exige un identifiant
du neurone (numéro du neurone ayant émis un PA) et le temps auquel ce PA a été émis. Sur la
base de ces 2 informations, le microprocesseur MicroBlaze émettra une trame UDP dont les
données seront en premier l’identifiant du neurone suivi du temps d’émission du PA.
La couche intermédiaire
La couche intermédiaire est une couche stratégique qui s’adapte au réseau de neurone en
amont. Cette couche a pour effet d’une part de convertir les paquets GIHON en un vecteur de PA
utilisable pour notre réseau de neurones (bloc "GIHON vers Réseau") et d’autre part de récupérer
les identifiants des neurones ayant émis un PA et l’horodatage qui leur correspond (bloc Réseau
vers GIHON").
92 C HAPITRE 4 - V ERS LE PROTOCOLE UNIVERSEL GIHON
Dans notre cas, les PAs sont émis de manière synchrone et sont rassemblés en un vecteur de
PA. C’est ainsi que le bloc "Réseau vers GIHON" exploitera le vecteur de PAs et émettera en
série les identifiants des neurones ayant émis un PA.
Le réseau de neurones
En amont de la connexion Ethernet se trouve le réseau de neurones. Ce bloc abrite aussi un
compteur (sur 23 bits cadencé à 50 µs) permettant d’horodater l’émission des PAs.
Nous utiliserons ici le réseau de neurones présenté au Chapitre 2.
F IGURE 4.7 – Présentation d’une trame GIHON. Comme toute trame Ethernet II (UDP), elle démarre
avec l’adresse MAC destination (Dans GIHON, cette adresse est l’adresse Broadcast).
connaît pas le nombre d’esclave présents et connectés à l’Ethernet. Le maître envoie un message
UDP à tous les possibles intervenants puis passe en attente de réponse (état REGISTER).
Mettons que P2 soit le premier à répondre alors P1 enregistre l’IP de P2. L’état intermédiaire
ARP & UDP permet de rendre le maître indisponible pour tout autre intervenant que P2. Dans
cet état, P1 envoie une trame UDP à P2 et déclenche un chronomètre afin de mesurer le temps de
réponse de P2.
Comme nous montre la Figure 4.3.4, P2 est dans l’état ANSWER_PING dans lequel à la
réception d’une trame UDP provenant du maître (ici P1) va lui retourner une trame UDP en
réponse. Une fois la réponse adressée, P2 passe alors à l’état SYNCHED.
A la réception de la réponse de P2, P1 passe en état STOP_CHRONO qui lui permet de
stopper le chronomètre précédemment lancé. P1 récupère alors la valeur du chronomètre, calcule
le temps de mi-parcours (état 7) puis renvoie à P2 la valeur ainsi calculée (état 8). Une fois ces
étapes complétées, P1 passe en état 12 ( CHECK_SYNCHED_VALUE).
P2 reçoit la valeur calculée et renvoie à P1 cette dernière (état 10) et passe alors en état 11 (
WAIT_VALIDATION). P1 reçoit la valeur et vérifie qu’elle correspond à celle qu’il avait envoyé
précédemment. Si cela est le cas alors il envoie une trame de confirmation à P2, qui passera dans
l’état 15 (PAUSE). L’esclave P2 est alors considéré comme synchronisé (le temps de mi-parcours
est la moitié du temps total).
Dans le cas où la valeur envoyée par P2 ne correspond pas à la valeur calculée par P1, P1
passe par l’état 13 de temporisation (TEMPO) avant de recommencer la procédure depuis l’état
4 (ARP & UDP).
Si par contre la valeur est correcte, P1 passe en état 14 où il vérifiera la liste des esclaves à
cibler. Si la liste est vide, cela signifie qu’il ne reste plus d’esclave à synchroniser. Dans ce cas là,
P1 passe dans l’état PAUSE durant lequel il va lancer une trame UDP qui a pour but de lancer P2
dans l’état 16 (COMPUTATION) et passe lui même dans l’état 16.
Dans l’état 16, toutes les plateformes neuromorphiques sont autorisées à générer des trames
GIHON pour signaler l’activité des neurones qu’elles abritent.
94 C HAPITRE 4 - V ERS LE PROTOCOLE UNIVERSEL GIHON
1
CALL
2
ANSWER
3
REGISTER
5
ANSWER
PING
4
ARP &
UDP
9
SYNCHED!
6
STOP
CHRONO
10
SEND
SYNCHED
7-8 VALUE
COMPUTE
TIME &
SEND
11
WAIT VA-
LIDATION
12
CHECK
SYNCHED
VALUE
15
PAUSE
13
TEMPO
16
COMPUTATION
14
CHECK
LIST OF
SLAVES
F IGURE 4.8 – Présentation de la machine d’états régissant les échanges du protocole GIHON.
4.4. A RCHITECTURES POUR RÉSEAUX DE NEURONES INFORMATIQUE ET BIOLOGIQUE 95
• la séquentialité du code. Dans le monde informatique, chaque ligne de code s’exécute les
unes après les autres. Il est difficile de se repérer dans le temps.
• la vitesse de calcul des processeurs. La trop grande rapidité pose un problème pour simuler
un petit réseau de neurones fonctionnant au temps biologique.
L’utilisation d’un timer peut réguler l’activité du réseau de neurones informatiques ainsi que
l’envoi des trames GIHON.
D’un point de vue technique, le problème de la séquentialité peut être contourné en utilisant
une ensemble de processus parallèles et d’interruptions (Figure 4.9).
F IGURE 4.9 – Architecture mettant en œuvre GIHON avec un réseau de neurones informatiques. Les
bulles représentent les processus parallèles et leurs rôles.
La Figure 4.10 décrit une architecture pouvant mettre en œuvre le protocole GIHON connecté
à un réseau de neurones biologique. Cette architecture comprend un microcontrôleur Microblaze
(gérant le protocole GIHON), un stimulateur qui stimulera le réseau de neurones biologique
et une couche intermédiaire (les blocs "Réseau vers GIHON" et "GIHON vers Réseau"). Le
bloc "Réseau vers GIHON" contient une chaîne de détection des PAs biologiques, comme
déjà implémentée dans les projets HYRENE et BRAINBOW, et permet de les transmettre au
microcontrôleur qui les enverra au travers du protocole GIHON. Le bloc "GIHON vers Réseau"
permet de traduire les PAs transmis par GIHON en signaux ordonnant une stimulation comme
cela avait été aussi déjà fait dans les deux projets.
F IGURE 4.10 – Architecture mettant en œuvre GIHON avec un réseau de neurones biologiques. Les
rectangles représentent les différents blocs nécessaires pour mettre en œuvre du protocole GIHON.
F IGURE 4.11 – Architecture mettant en œuvre l’architecture GIHON connectant un réseau de neurones
électroniques, informatiques et biologiques. Chaque plateforme neuromorphique est relié à un routeur
Ethernet.
TABLE 4.1 – Liste des ressources occupées par Microblaze puis par l’ensemble de l’architecture présentée
en Figure 4.6 comprenant un RNA de 10 neurones et 46 synapses.
F IGURE 4.12 – Frise chronologique présentant les échanges dans le protocole GIHON entre le maître et
l’esclave pour la synchronisation. Les rectangles représentent une trame GIHON avec successivement
l’émetteur, la donnée et l’état de l’émetteur au moment de l’émission de la trame (chiffre coloré).
maître et 1 esclave. Une connexion RS232 permet de communiquer des informations sur les
échanges d’initialisation.
Cette procédure se réalise en 138 ms par esclave.
4.6 Conclusion
Le protocole GIHON est un protocole qui respecte le protocole UDP (dans la procédure
d’envoi et la procédure en cas de collisions), qui incorpore une procédure de synchronisation en
cas de besoin, dont l’échange d’informations est conditionné par l’émission de PA.
Ce protocole est un puissant outil pour les expériences hybrides futures, donnant la possibilité
de connecter réseaux de neurones biologique, informatique et électronique, afin de créer des
plateformes neuromorphiques mettant à contribution une plus grande population de neurones, et
afin d’augmenter la compatibilité des plateformes. La Table 4.2 compare le protocole GIHON et
les différentes versions du protocole AER. Le protocole GIHON ne dépend pas des plateformes
qu’il interconnecte.
A ce jour, seuls deux types de données sont échangés (l’identifiant du neurone ayant émis
un PA et le temps auquel il est émis). Mais dans un futur proche, il est possible d’envisager de
transmettre différents types d’informations. En effet, les informations transmises sont stockées
dans un paquet de 32 bits (8 bits réservés + 24 bits de données). Les 8 bits réservés (voir Figure
4.7) permettent de coder jusqu’à 28 types d’informations différents.
Parmi les informations, nous trouvons les bouffées de PAs, les amplitudes des potentiel
d’action, les potentiels de champs, etc.
4.6. C ONCLUSION 99
connectivité
locale
définissant Non Non Non Oui Oui Non
réseau
global
Table
connectivité Oui Oui Non Non Non Non
globale
Neurones Oui Non Non Oui Non Oui
isolés
neurones
avec Non Oui Oui Non Oui Oui
synapses
evenements
Module
TABLE 4.2 – Tableau inspiré et adapté de (Zamarreno-Ramos et al., 2013) comparant les différentes
versions du protocole AER et notre protocole GIHON, en répertoriant le type de réseaux de neurones
avec lesquels ils interagissent.
C ONCLUSION & P ERSPECTIVES
103
ETTEthèse s’est appuyée sur deux projets pluridisciplinaires : le projet européen BRAIN-
C BOW (1 ) et le projet ANR HYRENE (2 ). Ces projets ont rassemblé des chercheurs
appartenant au monde de la biologie, de l’électronique, des matériaux (HYRENE) et de
l’informatique pour réaliser des expériences hybrides alliant l’artificiel et le vivant.
Ces trois années de recherche autour de l’hybridation se sont matérialisées au travers de
deux problématiques : la construction de réseaux de neurones numériques et l’élaboration du
protocole GIHON. Les réseaux de neurones numériques ont été réalisés dans le cadre des deux
projets pluridisciplinaires tandis que l’élaboration du protocole GIHON a été faite en vue de
futurs projets.
Le chapitre 1 nous a permis, dans un premier temps, de passer en revue quelques principes de
base des réseaux de neurones, pour aboutir aux modèles de neurones fondés sur les mécanismes
biologiques. Dans un second temps, nous avons souligné les efforts des chercheurs de l’ingé-
nierie neuromorphique pour imiter les réseaux de neurones afin d’en étudier le fonctionnement
et de créer des architectures de calculs. Nous avons ensuite présenté la double problématique
de cette thèse à savoir i) la création d’un réseau de neurones en vue d’expériences hybrides
et ii) la création d’un protocole de communication permettant de connecter des plateformes
neuromorphiques d’origine hétérogène (Protocole GIHON).
Le chapitre 3 a été divisé en trois parties. La première partie a présenté une mise en œuvre
des différents mécanismes implémentés. La deuxième partie montre une émulation des compor-
tements des CPG (Central Pattern Generator) biologiques, caractérisés par des alternances de
bouffées de potentiels d’action, en combinant plusieurs mécanismes implémentés. Pour finir, ce
chapitre s’achève sur les résultats prometteurs obtenus au sein des deux projets : l’utilisation de
CPGs numériques en vue de la réhabilitation d’une moelle épinière sectionnée (projet HYRENE)
et l’utilisation d’un réseau de neurones en vue de créer une jonction bidirectionnelle au-dessus
d’une lésion corticale (projet BRAINBOW).
Dans le chapitre 4, nous avons passé en revue les différentes versions du protocole AER qui
permettent de connecter différentes plateformes neuromorphiques. Le protocole AER avait été
créé pour connecter différentes plateformes neuromophiques afin de créer des réseaux encore
plus grands, mais les différentes versions, parfois incompatibles entre elles, ont compliqué cette
perspective. Cette incompatibilité nous a donné l’ambitieuse idée de concevoir un protocole de
communication permettant de connecter les plateformes neuromorphiques d’origine hétérogène
1
European project FP7-ICT-2011-C
2
French ANR 2010-Blan-031601
104 C ONCLUSION & P ERSPECTIVES
Au travers de ces trois années de recherche, nous avons créé et implémenté une architecture
biologiquement réaliste d’un réseau de neurones numérique. Cette implémentation a pu répondre
aux contraintes des projets BRAINBOW et HYRENE. Par ailleurs, les résultats obtenus en
connectant la plateforme MultiMed (dans laquelle notre réseau de neurones a été implémenté)
et une culture de neurones ou une moelle épinière furent un succès et annoncent une série
d’expérimentations hybrides plus avancées (en novembre 2015 pour le projet BRAINBOW). En
effet, les résultats du projet BRAINBOW vont déboucher sur l’étude des réseaux de neurones
3D. Parallèlement, les résultats du projet HYRENE vont aboutir à une collaboration avec l’en-
treprise Synapse Biomedical Inc. sur l’utilisation des CPGs in vivo dans l’étude de maladies
neurodégénératives comme la sclérose latérale amyotrophique (SLA). Notre architecture sert
aussi actuellement de support pour le dépôt de projets (projet ANR octobre 2015, KAKENHI
(ANR japonaise) en novembre 2015 et un projet européen FET en avril 2016).
En plus de la poursuite de ces travaux dans le domaines des neurosciences, il sera aussi
possible d’approfondir ce travail d’un point de vue électronique en cherchant à optimiser l’implé-
mentation du code en vue de la réalisation d’une neuroprothèse faible consommation. Ce travail
de thèse a permis à l’équipe AS2N d’élargir son champ de compétences dans le domaine de la
conception neuromorphique en implémentant des réseaux de neurones en mode numérique. Elle
envisage de poursuivre cet axe de recherche.
Ambroise M., Levi T., Joucla S., Yvert B., Saïghi S., « Real-time biomimetic Central Pattern
Generators into FPGA for hybrid experiments », Frontiers in Neurosciences, 7 :215, November
2013.
Chapitre d’ouvrage
Ambroise M., Levi T., Saïghi S., « Biomimetic CPG », Biomimetic Technologies, édité par
Dr Trung Dung Ngo, Elsevier, 2015.
Levi T., Ambroise M., Grassia F., Malot O., Saïghi S., Bornat Y., Tomas J., Renaud S., “Bio-
mimetic neural networks for hybrid experiments”, International Symposium on Neuromorphic
and Non-linear Engineering (ISNNE 2014), Tokyo, Japon, Février 2014.
Levi T., Ambroise M., Grassia F., Saïghi S., Kohno T., Fujii T., « Biomimetics CPGs fo
robotic applications», 19th International Symposium on Artificial Life and Robotics, pp. 355-358,
Beppu Japon, Janvier 2014.
Bonifazi P., Massobrio P., Levi T., Difato F., Breschi G., Pasquale V., Goldin M., Ambroise
M., Bornat Y., Tedesco M., Bisio M., Frega M., Tessadori J., Nowak P., Grassia F., Kanner S.,
Ronit G., Renaud S., Matinoia S., Taverna S., Chiappalone M., « In vitro experimental and theo-
ritical studies to restore lost neuronal functions : the Brain Bow experimental framework », 6th
International IEEE EMBS Conference on Neural Engineering, San Diego, USA, Novembre 2013.
Joucla S., Ambroise M., Levi T., Lafon T., Chauvet P., Rousseau L., Lissorgues G., Saïghi
S., Bornat Y., Lewis N., Renaud S., Yvert B., « Generation of Locomotor-Like Activity in the
Isolated Rat Spinal Cord by Electrical Microstimulations Driven by an Artifcial CPG », », 6th
International IEEE EMBS Conference on Neural Engineering, San Diego, USA, Novembre 2013.
Ambroise M., Levi T., Saïghi S., « Leech Heartbeat Neural Network on FPGA », Biomime-
tic and biohybrid systems, Lecture notes in computer science, Vol. 8064, pp. 347-349, Living
Machines 2013, London, Angleterre, 29 juillet-2 août 2013.
Ambroise M., Levi T., Bornat Y., Saïghi S., « Biorealistic Spiking Neural Network on
FPGA”, IEEE CISS 2013, Baltimore , USA, Mars 2013.
110 R ÉFÉRENCES BIBLIOGRAPHIQUES DE L’ AUTEUR
Levi T., Ambroise M., Grassia F., Kohno T., “Conception d’un réseau de neurones du cœur
de sangsue », Journées Francophones de la Recherche JFR 2013, Tokyo, Japon, Novembre 2013.
Joucla S., Ambroise M., Levi T.,Lafon T., Chauvet P., Rousseau L., Lissorgues G., Saïghi
S., Bornat Y., Lewis N., Renaud S., Yvert B., « Generation of Locomotor-Like Activity in the
isolated Rat Spinal Cord by Electrical Microstimulations Driven by an Artificial CPG », GDR
multielectrode systems & signal processing for neuroscience, Bordeaux, France, Octobre 2013.
R ÉFÉRENCES BIBLIOGRAPHIQUES
115
Abbott, L. F. and Nelson, S. B. (2000). Synaptic plasticity : taming the beast. Nature neuroscience,
3 Suppl(november) :1178–1183.
Afshar, P., Khambhati, A., Stanslaski, S., Carlson, D., Jensen, R., Linde, D., Dani, S., Lazarewicz,
M., Cong, P., Giftakis, J., and Others (2012). A translational platform for prototyping closed-
loop neuromodulation systems. Frontiers in neural circuits, 6.
Amari, S.-I. (1972). Characteristics of random nets of analog neuron-like elements. Systems,
Man and Cybernetics, IEEE Transactions on, (5) :643–657.
Ambroise, M., Levi, T., Bornat, Y., and Saighi, S. (2013). Biorealistic spiking neural network on
FPGA. In Information Sciences and Systems (CISS), 2013 47th Annual Conference on, pages
1–6. IEEE.
Arthur, J. V., Merolla, P. a., Akopyan, F., Alvarez, R., Cassidy, A., Chandra, S., Esser, S. K.,
Imam, N., Risk, W., Rubin, D. B. D., Manohar, R., and Modha, D. S. (2012). Building block
of a programmable neuromorphic substrate : A digital neurosynaptic core. Proceedings of the
International Joint Conference on Neural Networks, pages 10–15.
Bamford, S. A., Hogri, R., Giovannucci, A., Taub, A. H., Herreros, I., Verschure, P., Mintz, M.,
and Del Giudice, P. (2012). A VLSI Field-Programmable Mixed-Signal Array to Perform
Neural Signal Processing and Neural Modeling in a Prosthetic System.
Bamford, S. A., Murray, A. F., and Willshaw, D. J. (2010). Large developing receptive fields
using a distributed and locally reprogrammable address- event receiver. IEEE Trans. Neural
Netw., 21(2) :286–304.
Bareket-Keren, L. and Hanein, Y. (2012). Carbon nanotube-based multi electrode arrays for
neuronal interfacing : progress and prospects. Frontiers in neural circuits, 6.
Ben-Ari, Y., Khazipov, R., Leinekugel, X., Caillard, O., and Gaiarsa, J. L. (1997). GABAA,
NMDA and AMPA receptors : a developmentally regulated ’ménage à trois’. Trends in
neurosciences, 20(11) :523–529.
Benosman, R., Ieng, S.-H., Clercq, C., Bartolozzi, C., and Srinivasan, M. (2012). Asynchronous
frameless event-based optical flow. Neural Networks, 27 :32–37.
Berger, T. W., Song, D., Chan, R. H. M., Marmarelis, V. Z., LaCoss, J., Wills, J., Hampson,
R. E., Deadwyler, S. A., and Granacki, J. J. (2012). A Hippocampal Cognitive Prosthesis :
Multi-Input, Multi-Output Nonlinear Modeling and VLSI Implementation. Neural Systems
and Rehabilitation Engineering, IEEE Transactions on, 20(2) :198–211.
116 R ÉFÉRENCES BIBLIOGRAPHIQUES
Bonabi, S. Y., Asgharian, H., Bakhtiari, R., Safari, S., and Ahmadabadi, M. N. (2014). FPGA
implementation of a cortical network based on the Hodgkin-Huxley neuron model. Iconip,
8(November) :1–12.
Bonifazi, P., Difato, F., Massobrio, P., Breschi, G. L., Pasquale, V., Levi, T., Goldin, M., Bornat,
Y., Tedesco, M., Bisio, M., and Others (2013). In vitro large-scale experimental and theoretical
studies for the realization of bi-directional brain-prostheses. Frontiers in neural circuits, 7.
Brainbow (2012). Brainbow Project European Union’s Seventh Framework Program (ICT-
FETFP7/2007-2013, FET Young Explorers scheme) Under Grant Agreement no 284772.
Disponible en ligne sur : [Link].
Brewer, G. J., Boehler, M. D., Leondopulos, S., Pan, L., Alagapan, S., DeMarse, T. B., and
Wheeler, B. C. (2013). Toward a self-wired active reconstruction of the hippocampal trisynaptic
loop : DG-CA3. Frontiers in neural circuits, 7.
Bryce Beverlin, I. I. and Netoff, T. I. (2012). Dynamic control of modeled tonic-clonic seizure
states with closed-loop stimulation. Frontiers in neural circuits, 6.
Cassidy, A. and Andreou, A. G. (2008). Dynamical digital silicon neurons. 2008 IEEE-BIOCAS
Biomedical Circuits and Systems Conference, BIOCAS 2008, pages 289–292.
Cassidy, A., Andreou, A. G., and Georgiou, J. (2011). Design of a one million neuron single
FPGA neuromorphic system for real-time multimodal scene analysis. 2011 45th Annual
Conference on Information Sciences and Systems, CISS 2011, pages 2–7.
Charvet, G., Billoint, O., Rousseau, L., and Yvert, B. (2007). Biomea tm : a 256-channel mea
system with integrated electronics. In Engineering in Medicine and Biology Society, 2007.
EMBS 2007. 29th Annual International Conference of the IEEE, pages 171–174. IEEE.
Chicca, E., Whatley, A. M., Lichtsteiner, P., Dante, V., Delbruck, T., Giudice, P., Douglas,
R. J., and Indiveri, G. (2007). A multichip pulse-based neuromorphic infrastructure and its
application to a model of orientation selectivity. IEEE Trans. Circuits Syst. I, Reg. Papers,,
54(5) :981–993.
Crespi, A. and Ijspeert, A. J. (2006). AmphiBot II : An amphibious snake robot that crawls and
swims using a central pattern generator. In Proceedings of the 9th international conference
on climbing and walking robots (CLAWAR 2006), number BIOROB-CONF-2006-001, pages
19–27.
R ÉFÉRENCES BIBLIOGRAPHIQUES 117
Cymbalyuk, G. S., Gaudry, Q., Masino, M. a., and Calabrese, R. L. (2002). Bursting in leech heart
interneurons : cell-autonomous and network-based mechanisms. The Journal of neuroscience :
the official journal of the Society for Neuroscience, 22(24) :10580–10592.
Daalen, M. V., Jeavons, P., and Shawe-Taylor, J. (1993). A stochastic neural architecture that
exploits dynamically reconfigurable FPGAs. [1993] Proceedings IEEE Workshop on FPGAs
for Custom Computing Machines.
De Andrés, J. A., Reina, M. A., López, A., Sala-Blanch, X., and Prats, A. (2010). Blocs nerveux
périphériques, paresthésies et injections intraneurales. Praticien en Anesthesie Reanimation,
14(4) :213–221.
Delahaye, J.-P. (2001). Jusqu’où l’ordinateur calculera-t-il ? Pour la Science, pages 100–105.
Delbrück, T. (1993). Silicon Retina with Correlation-based Velocity-Tuned Pixels. 4(3) :1–34.
Delbruck, T. and Mead, C. A. (1991). Time-derivative adaptive silicon photoreceptor array.
International Society for Optics and Photonics, pages 92–99.
Delbruck, T., van Schaik, A., and Hasler, J. (2014). Research topic : neuromorphic engineering
systems and applications. A snapshot of neuromorphic systems engineering. Frontiers in
Neuroscience, 8(December) :1–2.
Der Pol, B. (1920). A theory of the amplitude of free and forced triode vibrations. Radio Review,
1(1920) :701–710.
Destexhe, a., Mainen, Z. F., and Sejnowski, T. J. (1994). An Efficient Method for Computing
Synaptic Conductances Based on a Kinetic Model of Receptor Binding. Neural Computation,
6(1) :14–18.
Dhingra, R. R., Zhu, Y., Jacono, F. J., Katz, D. M., Galán, R. F., and Dick, T. E. (2013). Decreased
Hering–Breuer input-output entrainment in a mouse model of Rett syndrome. Frontiers in
neural circuits, 7.
Ekeberg, O. (1993). A combined neuronal and mechanical model of fish swimming. Biological
cybernetics, 69(5-6) :363–374.
Fernandez-Vargas, J., Pfaff, H. U., Rodríguez, F. B., and Varona, P. (2013). Assisted closed-loop
optimization of SSVEP-BCI efficiency. Frontiers in neural circuits, 7.
FitzHugh, R. (1955). Mathematical models of threshold phenomena in the nerve membrane. The
bulletin of mathematical biophysics, 17(4) :257–278.
FitzHugh, R. (1961). Impulses and physiological states in theoretical models of nerve membrane.
Biophysical journal, 1(6) :445.
Fourcaud-Trocme, N., Hansel, D., van Vreeswijk, C., and Brunel, N. (2003). How spike
generation mechanisms determine the neuronal response to fluctuating inputs. Journal of
Neuroscience, (23) :11628–11640.
Furber, S. B., Lester, D. R., Plana, L. a., Garside, J. D., Painkras, E., Temple, S., and Brown, A. D.
(2013). Overview of the SpiNNaker system architecture. IEEE Transactions on Computers,
62(12) :2454–2467.
118 R ÉFÉRENCES BIBLIOGRAPHIQUES
Jahnsen, B. Y. H. and Llinas, R. (1984). Ionic Basis for the Electroresponsiveness. pages
227–247.
Joshi, S., Deiss, S., Arnold, M., Park, Y. J., and Cauwengerghs, G. (2010). Scalable event
routing in hierachical neural array architecture with global synaptic connectivity. Proc. 12th
Int. Workshop Cellular Nanoscale Networks and Their Applications.
Joucla, S., Ambroise, M., Levi, T., Lafon, T., Chauvet, P., Rousseau, L., Lissorgues, G., Saïghi,
S., Bornat, Y., Lewis, N., and Others (2013). Generation of Locomotor-Like Activity in the
Isolated Rat Spinal Cord by Electrical Microstimulations Driven by an Artificial CPG. In GDR
multielectrode systems & signal processing for neuroscience.
Jung, R., Brauer, E. J., and Abbas, J. J. (2001). Real-time Interaction Between a Neuromorphic
Electronic Circuit and the Spinal Cord. 9(3) :0–2.
Jung, R., Horch, K., Abbas, J. J., Phillips, S., Bakkaloglu, B., and Kim, S.-J. (2015). Communi-
cation interface for sensory stimulation.
Kandel, E., Schwartz, J. H., and Jessell, T. M. (2000). Principles of Neural Science. Medical,
Mc Graw-Hill, 4th edition.
Katz, B. and Miledi, R. (1965). The effect of calcium on acetylcholine release from motor nerve
terminals. Proceedings of the Royal Society of London B : Biological Sciences, 161(985) :496–
503.
Khan, M., Lester, D., Plana, L., Rast, A., Jin, X., Painkras, E., and Furber, S. (2008). SpiNNaker :
Mapping neural networks onto a massively-parallel chip multiprocessor. Proceedings of the
IEEE Int. Joint Conf. Neural Networks, pages 2849–2856.
Kolbl, F. (2014). Design of electrical adaptive stimulators for different pathological contexts : a
global approach. PhD thesis.
Krips, M., Lammert, T., and Kummert, A. (2002). FPGA implementation of a neural network
forareal-time handtracking system. Proceedings of First IEEE International Workshopon
Electronic Design Test and Applications, pages 313–317.
Kuga, N., Sasaki, T., Takahara, Y., Matsuki, N., and Ikegaya, Y. (2011). Large-scale calcium
waves traveling through astrocytic networks in vivo. The Journal of neuroscience : the official
journal of the Society for Neuroscience, 31(7) :2607–2614.
Le Masson, G., Renaud-Le Masson, S., Debay, D., and Bal, T. (2002). Feedback inhibition
controls spike transfer in hybrid thalamic circuits. Nature, 417(6891) :854–858.
120 R ÉFÉRENCES BIBLIOGRAPHIQUES
Lee, Y. J., Lee, J., Kim, K. K., Kim, Y.-B., and Ayers, J. (2007). Low power CMOS electro-
nic central pattern generator design for a biomimetic underwater robot. Neurocomputing,
71(1–3) :284–296.
Lewis, M., Hartmann, M. J., Etienne-Cummings, R., and Cohen, A. H. (2001). Control of a
robot leg with an adaptive aVLSI CPG chip. Neurocomputing, 38–40 :1409–1421.
Li, C. A. I., Lowe, R., and Ziemke, T. (2013). Humanoids Learning to Walk : a Natural
CPG-Actor-Critic Architecture. Frontiers in Neurorobotics, 7(5).
Li, W.-C., Merrison-Hort, R., Zhang, H.-Y., and Borisyuk, R. (2014). The generation of antiphase
oscillations and synchrony by a rebound-based vertebrate central pattern generator. The Journal
of Neuroscience, 34(17) :6065–6077.
Lin, J., Merolla, P., Arthur, J., and Boahen, K. (2006). Programmable connections in neuromor-
phic grids. Proc. Int. Midwest Symp. Circuits and Systems, pages 80–84.
Liu, C.-N., Michaelis, M., Amir, R., and Devor, M. (2000). Spinal nerve injury enhances
subthreshold membrane potential oscillations in DRG neurons : relation to neuropathic pain.
Journal of neurophysiology, 84(1) :205–215.
Liu, S. C., Kramer, J., Indiveri, G., Delbrück, T., Burg, T., and Douglas, R. (2001). Orientation-
selective aVLSI spiking neurons. Neural Networks, 14(6-7) :629–643.
Matsuoka, K. (1987). Mechanisms of frequency and pattern control in the neural rhythm
generators. Biological Cybernetics, 56(5-6) :345–353.
Mayr, C., Eisenreich, H., Henker, S., and Schüffny, R. (2005). Pulsed multilayered image
filtering : A VLSI implementation. Int. J. Appl. Math. Comput. Sci.,, 1 :60–65.
Mead, C. (1989). Analog VLSI and Neural. Addison-Wesley Longman Publishing Co.,Inc.
Merolla, P., Arthur, J., Shi, B., and K. Boahen (2007). Expandable networks for neuromorphic
chips. IEEE Trans. Circuits Syst. I, Reg. Papers,, 54(2) :301–311.
Minneci, F., Kanichay, R. T., and Silver, R. A. (2012). Estimation of the time course of
neurotransmitter release at central synapses from the first latency of postsynaptic currents.
Journal of neuroscience methods, 205(1) :49–64.
Misra, J. and Saha, I. (2010). Artificial neural networks in hardware : A survey of two decades
of progress. Neurocomputing, 74(1-3) :239–255.
Mortara, A., Vittoz, E. A., and Venier, P. (1995). A communication scheme for Systems, analog
VLSI perceptive. IEEE J. Solid-State Circuits, 30(6) :660–669.
R ÉFÉRENCES BIBLIOGRAPHIQUES 121
Nadim, F., Olsen, O. H., De Schutter, E., and Calabrese, R. L. (1995). Modeling the leech
heartbeat elemental oscillator I. Interactions of intrinsic and synaptic currents. Journal of
computational neuroscience, 2(3) :215–235.
Nagumo, J., Arimoto, S., and Yoshizawa, S. (1962). An active pulse transmission line simulating
nerve axon. Proceedings of the IRE, 50(10) :2061–2070.
Nakada, K., Asai, T., and Amemiya, Y. (2003). An analog CMOS central pattern generator for
interlimb coordination in quadruped locomotion.
Nazari, S., Amiri, M., Faez, K., and Amiri, M. (2015a). Multiplier-less digital implementation
of neuron–astrocyte signalling on FPGA. Neurocomputing, 164 :281–292.
Nazari, S., Faez, K., Amiri, M., and Karami, E. (2015b). A digital implementation of neu-
ron–astrocyte interaction for neuromorphic applications. Neural Networks, 66 :79–90.
Nishimura, Y., Perlmutter, S. I., and Fetz, E. E. (2013). Restoration of upper limb movement
via artificial corticospinal and musculospinal connections in a monkey with spinal cord injury.
Frontiers in neural circuits, 7.
Olsen, O. H. and Calabrese, R. L. (1996). Activation of intrinsic and synaptic currents in leech
heart interneurons by realistic waveforms. The Journal of Neuroscience, 16(16) :4958–4970.
Olsen, O. H., Nadim, F., and Calabrese, R. L. (1995). Modeling the leech heartbeat elemental
oscillator II. Exploring the parameter space. Journal of computational neuroscience, 2(3) :237–
257.
Opris, I., Fuqua, J. L., Huettl, P. F., Gerhardt, G. A., Berger, T. W., Hampson, R. E., and Deadwy-
ler, S. A. (2012). Closing the loop in primate prefrontal cortex : inter-laminar processing.
Frontiers in neural circuits, 6.
Papa, M., C., D. L., Petta, F., Alberghina, L., and Cirillo, G. (2014). Astrocyte-neuron interplay
in maladaptive plasticity.
Pimashkin, A., Gladkov, A., Mukhina, I., and Kazantsev, V. (2013). Adaptive enhancement of
learning protocol in hippocampal cultured networks grown on multielectrode arrays. Frontiers
in neural circuits, 7.
Pocek, K., Tessier, R., and DeHon, A. (2013). Birth and Adolescence of Reconfigurable
Computing : A Survey of the First 20 Years of Field-Programmable Custom Computing
Machines. Ieee, page 17.
Pospischil, M., Toledo-Rodriguez, M., Monier, C., Piwkowska, Z., Bal, T., Frégnac, Y., Markram,
H., and Destexhe, A. (2008). Minimal hodgkin-huxley type models for different classes of
cortical and thalammic neurons. Biological Cybernetics, 99 :427–441.
Potter, S. M., El Hady, A., and Fetz, E. E. (2014). Closed-loop neuroscience and neuroenginee-
ring. Frontiers in Neural Circuits, 8(September) :2013–2015.
122 R ÉFÉRENCES BIBLIOGRAPHIQUES
Prueckl, R., Taub, A. H., Herreros, I., Hogri, R., Magal, A., Bamford, S. A., Giovannucci, A.,
Almog, R. O., Shacham-Diamand, Y., Verschure, P., Mintz, M., Scharinger, J., Silmon, A., and
Guger, C. (2011). Behavioral rehabilitation of the eye closure reflex in senescent rats using
a real-time biosignal acquisition system. In Engineering in Medicine and Biology Society,
EMBC, 2011 Annual International Conference of the IEEE, pages 4211–4214.
Quotb, A. (2012). Systems and methods for adaptive and real-time detection of biological
activity. Theses, Universit{é} Sciences et Technologies - Bordeaux I.
Rast, A. D., Partzsch, J., Mayr, C., Schemmel, J., Hartmann, S., Plana, L. a., Temple, S., Lester,
D. R., Schuffny, R., and Furber, S. (2013). A location-independent direct link neuromorphic
interface. Proceedings of the International Joint Conference on Neural Networks.
Reuveni, I., Fried Man, A., Amitai, Y., and Gutnick, M. (1993). Stepwise repolarization from
ca2+ plateaus in neocortical pyramidal cells : evidence for nonhomogeneous distribution of
hva ca2+ channels in dendrites. The Journal of Neuroscience, 13(11) :4609–21.
Rice, K., Bhuiyan, M., Taha, T., Vutsinas, C., and Smith, M. (2009). FPGA Implementation of
Izhikevich Spiking Neural Networks for Character Recognition. 2009 International Conference
on Reconfigurable Computing and FPGAs, pages 451–456.
Robinson, J. T., Jorgolli, M., and Park, H. (2013). Nanowire electrodes for high-density stimula-
tion and measurement of neural circuits. Frontiers in neural circuits, 7.
Ros, E., Ortigosa, E. M., Agís, R., Carrillo, R., and Arnold, M. (2006). Real-time computing
platform for spiking neurons (RT-spike). IEEE Transactions on Neural Networks, 17(4) :1050–
1063.
Rudolph, M. and Destexhe, A. (2005). An extended analytic expression for the membrane
potential distribution of conductance-based synaptic noise. Neural Computation, 17(11) :2301–
2315.
Sabarad, J., Kestur, S., Park, M. S., Dantara, D., Narayanan, V., Chen, Y., and Khosla, D. (2012).
A reconfigurable accelerator for neuromorphic object recognition. Proceedings of the Asia
and South Pacific Design Automation Conference, ASP-DAC, pages 813–818.
Schoenauer, T., Atasoy, S., Mehrtash, N., and Klar, H. (2002). NeuroPipe-Chip : A digital neuro-
processor for spiking neural networks. IEEE Transactions on Neural Networks, 13(1) :205–213.
Serrano-gotarredona, R., Oster, M., Lichtsteiner, P., Linares-barranco, A., Paz-vicente, R., Gómez-
rodríguez, F., Camuñas mesa, L., Berner, R., Rivas-pérez, M., Delbrück, T., Liu, S.-c., Douglas,
R., Häfliger, P., Jiménez-moreno, G., Ballcels, A. C., Serrano-gotarredona, T., Acosta-jiménez,
A. J., and Linares-barranco, B. (2009). CAVIAR : A 45k Neuron , 5M Synapse , 12G Connects
/ s AER Hardware Sensory – Processing – Learning – Actuating System for High-Speed Visual
Object Recognition and Tracking. 20(9) :1417–1438.
R ÉFÉRENCES BIBLIOGRAPHIQUES 123
Sorensen, M., DeWeerth, S., Cymbalyuk, G., and Calabrese, R. L. (2004). Using a hybrid neural
system to reveal regulation of neuronal network activity by an intrinsic current. The Journal of
neuroscience : the official journal of the Society for Neuroscience, 24(23) :5427–5438.
Stein, R. B. (1967). Some models of neuronal variability. Biophysical journal, 7(1) :37.
Still, S. and Tilden, M. W. (1998). Controller for a Four-Legged Walking Machine. In Neuromor-
phic Systems, volume Volume 10 of Progress in Neural Processing, pages 138–148. WORLD
SCIENTIFIC.
Tessadori, J., Bisio, M., Martinoia, S., and Chiappalone, M. (2012). Modular neuronal assemblies
embodied in a closed-loop environment : toward future integration of brains and machines.
Frontiers in neural circuits, 6.
Touboul, J. (2004). Bifurcation analysis of a general class of non-linear integrate and fire neurons.
pages 1–36.
Tritsch, D., Chesnoy-Marchais, D., and Feltz, A. (1999). Physiologie du neurone. France.
Wolters Kluwer France.
Van der Pol, B. and Van der Mark, J. (1928). LXXII. The heartbeat considered as a relaxa-
tion oscillation, and an electrical model of the heart. The London, Edinburgh, and Dublin
Philosophical Magazine and Journal of Science, 6(38) :763–775.
Vogelstein, R., Tenore, F., Etienne-Cummings, R., Lewis, M., and Cohen, A. (2006). Dynamic
control of the central pattern generator for locomotion. Biological Cybernetics, 95(6) :555–566.
Vogelstein, R. J., Mallik, U., Vogelstein, J. T., and Cauwenberghs, G. (2007). Dynamically
reconfigurable silicon array of spiking neurons with conductance-based synapses. IEEE
Transactions on Neural Networks, 18(1) :253–265.
Walter, A., Murguialday, A. R., Rosenstiel, W., Birbaumer, N., and Bogdan, M. (2012). Coupling
BCI and cortical stimulation for brain-state-dependent stimulation : methods for spectral
estimation in the presence of stimulation after-effects. Frontiers in neural circuits, 6.
Walter, A., Murguialday, A. R., Spüler, M., Naros, G., Leão, M. T., Gharabaghi, A., Rosenstiel,
W., Birbaumer, N., and Bogdan, M. (2013). Erratum : Coupling BCI and cortical stimulation
for brain-state-dependent stimulation : methods for spectral estimation in the presence of
stimulation after-effects. Frontiers in neural circuits, 7.
Wang, D. and Terman, D. (1997). Image segmentation based on oscillatory correlation. Neural
computation, 9(4) :805–836.
124 R ÉFÉRENCES BIBLIOGRAPHIQUES
Wang, R., Cohen, G., Stiefel, K. M., Hamilton, T. J., Tapson, J., and van Schaik, A. (2013). An
FPGA Implementation of a Polychronous Spiking Neural Network with Delay Adaptation.
Frontiers in Neuroscience, 7(February) :1–14.
Weeks, M., Freeman, M., Moulds, A., and Austin, J. (2005). Developing Hardware-Based
Applications Using Presence-2. pages 107–114.
Wijekoon, J. H. B. and Dudek, P. (2008). Compact silicon neuron circuit with spiking and
bursting behaviour. Neural Networks, 21(2) :524–534.
Yamada, W. M., Koch, C., and Adams, P. R. (1989). Methods in neuronal modeling. Cambridge,
MA, USA.
Zou, Q., Bornat, Y., Tomas, J., Renaud, S., and Destexhe, A. (2006). Real-time simulations of
networks of Hodgkin-Huxley neurons using analog circuits. Neurocomputing, 69(10-12) :1137–
1140.