Bonjour,

J'ai en ce moment l'idée (car la deuxième vidéo est vraiment jolie ;D) de créer un Spiking neural network (recurrent) en mode integrate-and-fire (exemple ici à ~7mn et ).
Je pense avoir compris le rôle d'un peu prêt tous les éléments du problème ; du genre, layers, inhibition, stimulus, etc, mais une question subsiste...

. J'ai lu sur Internet que dans le cerveau humain, le vrai, seul ~1% des neurones & synapses sont actifs à un moment T (ce que je retranscrirais en "sont actives à chaque tour de loop du programme"). Je souhaite donc copier ce comportement, cependant, je ne suis pas sûr de bien saisir ; par exemple, si un neurone reçoit une impulsion via une synapse, doit-il par moment attendre que les 99 autres pourcent soient passés avant de faire son tour (et d'augmenter son action potential, etc)? J'admet trouver cela un peu bizarre ; y aurait-il un truc que j'ai oublié s'il vous plait?

. De plus, je me posais cette petite question annexe, car je n'ai pas vraiment trouvé de réponse précise sur Internet ; les neurones sont censés être connectées à combien d'autres neurones (via les synapses) s'il vous plait? en considérant que je compte faire un réseau d'un peu prêt 100k neurones. Une des vidéos que j'ai vu avec en moyenne 30 connexions, un autre 5, et j'ai l'impression que le "vrai" cerveau en a beaucoup plus ; je fais un peu au jugé? :p
. Et en parlant de synapses, j'ai symbolisé les connexions synaptiques dans ma struct neurone par un tableau de pointeurs sur des autres struct neurone ; et quand je dois faire feu, je parcours mon tableau en envoyant l'impulsion. Je pense que c'est over-simplifié, mais ça me parait atteindre son but, non?

Merci d'avance pour vos réponses ,.


PS: D'un point de vue plus technique, même si cela ne devrait rien changer, je travaille en C++ avec CUDA, et je compte modéliser les neurones avec OpenGL comme dans la seconde vidéo. J'ai fait des groupes de neurones (ils ont plus de chance d'établir une connexion si elles sont proches en XYZ et/ou dans le même groupe), de probablement 50 ou 100 neurones chacun. J'ai un groupe input, un groupe output, et un bon paquet en hidden. Du coup je pense parallélisé avec CUDA en envoyant tout à chaque loop 1 groupe = 1 thread ; mais ce point, justement, fait partie implicitement de ma question des 1%.