• Aucun résultat trouvé

Le codage par rang

Dans le document en fr (Page 49-54)

3 LE CODAGE NEURONAL ASYNCHRONE

3.3. Le codage par rang

Dans cette section, nous allons considérer une forme de codage temporel de l’information pour expliquer le traitement visuel rapide. Tout d’abord, commençons par examiner différentes manières de coder l’information en respectant les contraintes issues du traitement visuel rapide.

3.3.1. Alternatives de codage avec 1 impulsion par neurone

Partons du principe selon lequel chaque neurone, à n’importe quelle étape de traitement, n’a le temps de décharger qu’une fois au mieux. Quelles sont alors les différentes manières de coder l’information ? Dans cette partie, nous allons considérer quelques unes des possibilités les plus évidentes, à partir d’un exemple simple, où les réponses de 10 neurones sont enregistrées sur une période de 10 ms, pendant laquelle ils ne déchargeront pas plus d’une fois (Figure 9A).

Une première option est de simplement compter le nombre de neurones à avoir déchargé, sans prendre en compte une quelconque structure temporelle. On se retrouve dans le cas de figure d’un codage par activité d’une population. Sur 10 neurones, admettons que 9 ont déchargé une impulsion pendant la période d’observation (Figure 9A) : ceci correspond à une activité de 9/10 impulsions en 10 ms, soit 90 Hz. Il est clair qu’avec un tel codage, la quantité maximale d’information que l’on puisse transmettre est de log2 (N+1) bits, où N est le nombre de neurones, puisque dans ce cas il n’existe que N+1 = 11 états possibles au système, soit 3,46 bits. De plus, avec ce type de codage, la quantité d’information qu’apporte chaque neurone supplémentaire va décroître (Figure 9B).

Figure 9. Comparaison de 3 types de codage pouvant être appliqués à une fenêtre de temps réduite (adapté de Thorpe, Delorme & VanRullen, 2001 et Gautrais & Thorpe, 1998). (A) Les 10 neurones de A à J déchargent à différents moments sur un intervalle de 10ms. Avec un comptage, ce qui revient à mesurer un taux d’activité de population, il n’existe que 11 états que peut prendre le système. Si la latence de chaque impulsion peut être déterminée avec une précision de l’ordre de la milliseconde, il existe alors 1010 messages différents. Avec, un codage par ordre de décharge le système peut prendre 10! états différents. (B) Information moyenne transmise par neurone en fonction du nombre de neurones.

3.3.1.2. Codage binaire

Une manière plus efficace d’utiliser ces 10 neurones est d’utiliser un codage binaire. Le profil de décharge dans la figure correspondrait alors à 1111111101, une valeur parmi 1024 différentes. La quantité maximale d’information transmissible avec N neurones est en effet de log2 (2N) = 10

bits ; autrement dit, chaque neurone apporte 1 bit d’information. Si cela est clairement plus efficace que le codage précédent, notons tout de même que l’information codée ainsi dépend de la longueur de la fenêtre d’observation. Sur une période de 5 ms, la valeur obtenue aurait été 1111100000. Un codage binaire ne serait alors pas très efficace, puisque instable sur le temps.

3.3.1.3. Codage temporel

Le montant maximum d’information est atteint quand le mécanisme de décodage est capable de déterminer la date précise des décharges sur chaque afférence. Dans ce cas, le montant total d’information transmissible va simplement dépendre du nombre de canaux ainsi que de la précision avec laquelle la latence de chaque impulsion peut être déterminée. En supposant que cette précision soit de 1 ms, le montant maximum d’information transmissible en t ms va être de N.log2(t) bits, soit plus de 33 bits (Figure 9A), chaque neurone l’augmentant de 3,3 bits environ (Figure 9B). Un tel codage est donc potentiellement très puissant, mais souffre d’un désavantage : un mécanisme de décodage capable de mesurer de la date précise de chaque impulsion pourrait être beaucoup trop compliqué à implémenter avec des neurones réels.

3.3.1.4. Codage par rang

Une autre alternative n’est alors pas de mesurer les dates précises de décharges mais plutôt de considérer l’ordre dans lequel les neurones déchargent (Thorpe & Gautrais, 1998). Dans ce cas, les neurones de la Figure 9A transmettraient le message CBDAEFGJHL. La séquence ainsi observée ne serait alors qu’une des 10! séquences de décharges possibles avec 10 neurones – soit plus de 3,6 millions de possibilités. Un code basé sur le rang peut donc en principe transmettre jusqu’à log2(N!) bits d’information, soit plus de 21 bits avec 10 neurones (Figure 9B).

3.3.1.5. Codage synchrone

Une dernière possibilité de coder l’information que nous allons exposer ici, mais il y en a potentiellement beaucoup d’autres, est d’utiliser la synchronie pour lier différents groupes de neurones ensemble (Figure 10). Plutôt que de traiter les 10 neurones avec un code binaire (0111011001), les neurones sont regroupés en 2 blocs (0111022002), ce qui augmente énormément le nombre de combinaisons possibles. Dans ce cas, le nombre de messages différents pouvant être transmis sur une fenêtre de temps donnée va dépendre du nombre de périodes que

l’on peut y différencier. Si le nombre de phases distinguables sur une période de 10 ms est fixé à K, un codage synchrone pourrait alors transmettre jusqu’à log2(K+1)N messages différents. Soit, pour K = 3, un maximum de log2(410) = 20 bits d’information ; et un apport constant par neurone de 2 bits.

Figure 10. Cas de la synchronie. (tiré de Thorpe, Delorme & VanRullen, 2001). Diagramme illustrant comment la synchronie pourrait être utilisée pour augmenter la bande passante du même groupe de 10 neurones que dans la figure précédente. Dans ce cas, chaque impulsion est repérée comme faisant partie d’un des deux groupes de réponses synchronisées (ici à la milliseconde prés).

Il émerge de cette revue rapide et incomplète que même avec une impulsion par neurone et une fenêtre d’observation réduite, un grand nombre de candidats potentiels au codage sont à examiner. Il est d’ailleurs intéressant de remarquer que de tous les codes présentés, le codage par activité de population est de loin le moins efficace. Ainsi, comme précédemment où il est montré qu’un code par taux usant d’un processus Poisson semble peu adapté à une propagation de l’information rapide et efficace, nous pouvons remarquer ici qu’à moins de faire l’hypothèse d’une structuration temporelle des réponses, un code basé sur un taux de décharge se retrouve loin derrière d’autres types de codage.

3.3.2. De l’asynchronie au rang de décharge

Une stratégie de codage reposant sur une structuration temporelle des décharges offre donc un avantage substantiel dans un contexte de traitement de l’information avec une impulsion par

neurone. Mais avant de proposer un modèle qui tire partie de cela, reste à savoir comment l’information pourrait être encodée dans la dimension temporelle des décharges.

La possibilité existe que les neurones puissent décharge de manière synchrone, mais une autre option réside dans l’utilisation du caractère asynchrone des décharges. Dans le cas du système visuel, une asynchronie des décharges suite à une stimulation est bien établie. Les latences observées chez les neurones du système visuel ont en effet tendance à augmenter progressivement depuis la rétine jusqu’à des aires visuelles de plus haut niveau (Nowak & Bullier, 1997). Au niveau de la rétine, les latences de décharge des cellules ganglionnaires dépendent à la fois de la luminance locale et du contraste (Levick, 1973). Les cellules du corps genouillé latéral présentent de plus des latences dépendant et du contraste et de la fréquence spatiale (Sestokas & Lehmkuhle, 1986). Et dans V1, Celebrini, Thorpe, Trotter & Imbert (1993) ont montré que pour certaines cellules, la latence des réponses à une stimulation visuelle dépendait nettement de l’orientation du stimulus.

Cette asynchronie s’explique à l’aide d’un simple modèle intègre-et-décharge à fuite, soumis à une excitation continue (Gautrais & Thorpe, 1998). Plus la stimulation est forte, plus la latence de décharge du neurone va être courte ; et inversement. De tels neurones agissent alors non seulement comme des convertisseurs intensité-fréquence mais aussi comme des convertisseurs intensité-délai. Il n’est alors pas déraisonnable de supposer qu’un ordre particulier de décharge va résulter d’une situation dans laquelle l’intensité de la stimulation appliquée à chaque neurone varie. Pour le cas illustré dans la Figure 9A par exemple, le neurone C aura reçu la stimulation la plus forte, le neurone B la deuxième plus forte et ainsi de suite.

La propriété de conversion intensité-délai des neurones signifie donc que les temps de décharge précis mais aussi l’ordre de décharge sont des codes plausibles. Mais nous nous concentrerons ici sur la proposition de codage par rang de décharge, car celle-ci possède des propriétés computationnelles avantageuses pour le traitement visuel. Tout d’abord, un code basé sur l’ordre de décharge des neurones va se montrer plus robuste aux petites perturbations temporelles observées sur les temps de décharge (« jitter ») qu’un codage temporel pur, lequel requiert une précision temporelle très fine. De plus, des variations inter-essais de latences ne seront pas forcément problématiques, puisque l’élément important du codage est l’ordre de décharge : une quelconque fluctuation d’intensité d’origine endogène, qui affecterait toute une population de

manière homogène, n’aurait aucun effet sur l’ordre. Enfin, l’ordre de décharge des neurones est aussi totalement invariant à des changements de contraste et de luminance de l’image présentée à la rétine, alors que ceux-ci affecteraient grandement les temps de décharge précis.

Figure 11. Modèle de rétine utilisé par VanRullen & Thorpe (2001c) pour étudier le codage par rang dans le nerf optique. Ce modèle se compose de cellules « on- » et « off- center » à différentes échelles spatiales. Chaque cellule calcule un niveau d’activation en fonction de son champ récepteur et de la zone de l’image concernée. Plus une cellule sera active, plus elle déchargera tôt.

Dans le document en fr (Page 49-54)