merci @0xdefec7edcafe@piaille.fr du message et de la question.
mmmhhh...
"une définition formelle du mécanisme d'inférence des spiking neural networks? "
c'est pas une question facile :-)
Je vais essayer de répondre en étant le moins verbeux possible tout en restant le plus précis que possible, hésite pas à me reprendre.
Pour commencer, je définirais un mécanisme d'inférence comme la solution d'un problème inverse (par exemple, détecter un prototype / symbole extrait d'un dictionnaire et plongé dans une entrée bruitée) et on sait depuis belle lurette que le perceptron peut donner une réponse satisfaisante à ce problème, quitte à régulariser le problème en incluant des informations a priori, comme la connaissance que la représentation est parcimonieuse (cf par exemple https://laurentperrinet.github.io/publication/perrinet-04-tauc/ histoire de ressortir sans vergogne mes anciens travaux).
Là où les neurones impulsionnels sont différents c'est au niveau de la représentation de l'information : pour simplifier, la seule information qui sort d'un neurone, c'est le potentiel d'action, ce fameux spike - qui est effectivement "tirée" dans la zone de la gâchette ou cône axonique (cf https://fr.wikipedia.org/wiki/C%C3%B4ne_axonique). Biologiquement, la seule information qui vaille, c'est qui a tiré et à quel instant.
Un neurone tel qu'il est traditionnellement modélisé va émettre plus ou moins de spikes et c'est leur fréquence qui va encoder le message de sortie, cf le perceptron où l'utilisation des non-linéarités telles que le ReLU dans les réseaux actuels où on oublie carrément tous les mécanismes de tir. Mais par cette approximation, on dit explicitement que comme c'est la fréquence qui importe, alors le processus de génération n'a que faire de la précision de chaque spike individuellement, c'est la moyenne sur une courte fenêtre (typiquement une cinquantaine de millisecondes) qui importe. Mathématiquement, on considère que le processus de génération est un processus de Poisson inhomogène dont la fréquence de décharge étant la variable encodante.
Mais en jetant le bébé (la temporalité du spike) avec le bain (le motif spatio-temporel des spikes dans une population de neurones interconnectés), on perd une information d'encodage énorme. C'est le cheval de bataille de toute une communauté dont, en particulier, Simon Thorpe et les différentes générations d'étudiants qu'il a pu former (https://neurotree.org/neurotree/tree.php?pid=15537). L'idée est que l'on passe au niveau de la représentation d'un codage fréquentiel (hypothèse de Poisson) à un codage temporel. Il existe un certain nombre de ce type de codage (cf cette revue pour plus d'alternatives : https://laurentperrinet.github.io/publication/grimaldi-22-polychronies/), comme le codage par rang proposé par Simon : ce n'est pas la fréquence de décharge mais l'ordre d'émission des spikes qui importe. D'autres considèrent que c'est la synchronisation des spikes dans une population qui encode l'information - un mécanisme d'inférence étant alors la propagation d'une "synfire chain" et expliquerait les différentes oscillations observées dans le cerveau; ones alpha, beta, gamma, ...
Une hypothèse récente que je poursuis est basée sur un papier récent (pour les boomers) de 2006 par Izhikevich : au niveau de la population, c'est le motif spatio-temporel des spikes qui peut encoder l'information, la polychronisation. Et là on peut exploser la dimension du dictionnaire qu'on encode. Là où c'est génial, c'est que les neurones ont une contrainte majeure, ils sont relativement lents et ont des délais de communication, et ben justement ces délais de communication peuvent être utilisés conjointement avec les poids synaptiques pour créer un mécanisme d'inférence. Intuitivement, prenons l'exmple d'un symbole encodé par une volée de spikes qui soit comme une vague se déroulant d'un point de l'espace neuronal à un autre avec une certaine vitesse (comme une vague qui se déroule sur la plage), des délais ajustés suivant cette dynamique (plus long à l'initiation, plus court à l'arrivée) peuvent faire en sorte que ces impulsions, en voyageant sur l'arbre dendritique du neurone, vont toutes converger vers le corps cellulaire de ce neurone et appuyer sur la gâchette pour signaler la détection (cf formalisation dans https://laurentperrinet.github.io/publication/grimaldi-22-polychronies/). Ce formalisme s'applique à des formalismes d'apprentissage supervisé (assez proches de l'excellent SpikeProp de Sander Bohte) comme, par exemple, pour la détection du mouvement dans une image encodée par des impulsions (cf https://laurentperrinet.github.io/publication/grimaldi-23-bc/).
L'avantage ? Dans ce dernier papier, on montre pouvoir faire aussi bien qu'un perceptron classique, mais avec 500 fois moins d'énergie. Sûrement une inspiration qui explique l'utilisation de #spikes compte tenu des ressources énergétiques limitées de notre métabolisme (le cerveau consommerait de l'ordre de 20W) - à méditer la prochaine fois qu'on passe à côté d'un data center...