[PYTHON] Simulons le modèle neuronal d'Izhikevich sur le Web!

introduction

Je ne suis pas un spécialiste des neurosciences, mais tant que je fais de la recherche sur les réseaux de neurones dopants, les neurosciences sont un domaine inséparable.

Le réseau de neurones profonds, célèbre dans les rues, est également un ensemble de modèles mathématiques de cellules nerveuses appelés ** modèles de neurones formels **. Les neurones formels ne disposent pas de données chronologiques et sont un modèle assez ancien proposé en 1943 comme modèle de cellule nerveuse, mais ils sont toujours utilisés car ils sont compatibles avec l'apprentissage en profondeur aujourd'hui. ..

Cependant, bien sûr, dans le domaine des neurosciences, beaucoup plus de modèles mathématiques biologiquement sophistiqués de cellules nerveuses sont nés. Ceux-ci ont généralement des concepts tels que «potentiel de membrane» et «pics», et de tels modèles sont appelés ** modèles de neurones de pointe (SNM) **. De plus, s'il est mis sur le réseau, il s'appelle ** Spiking Neural Network (SNN) **. Pour SNN, lisez mon vieux livre Qu'est-ce que le réseau neuronal Spiking.

Izhikevich Neuron Model (2003) À propos, le thème de cette époque est ** Izhikevich Neuron Model **, qui est célèbre parmi les modèles de neurones à pointes. Le modèle LIF est souvent utilisé dans la recherche en ingénierie, mais ce modèle Izhikevich est souvent utilisé (je pense) dans la recherche médicale.

La raison en est que le modèle Izhikevich peut imiter les activités de divers neurones simplement en modifiant les paramètres. De plus, il n'a pas la complexité du modèle de Hodgkin-Huxley, et présente le grand avantage de pouvoir simuler efficacement le comportement détaillé des cellules nerveuses. (réf. Essayez d'implémenter le modèle de neurone Hodgkin-Huxley)

Le modèle Izhikevich se compose des deux équations différentielles suivantes. $\frac{dv}{dt}=0.04v^{2} + 5v + 140 -u + I$ $\frac{du}{dt}=a(bv-u)$ ${\rm if}\ \ v\geq30,\ \ {\rm then}\ \ v\leftarrow c,\ u\leftarrow u+d$

A ce moment, $ v $ est le potentiel de membrane [mV], $ t $ est le temps [ms], $ u $ est la variable appelée variable de récupération et $ I $ est le courant d'entrée du monde extérieur. De plus, $ (a, b, c, d) $ est un hyper paramètre. $ a $ est une constante (constante de temps) qui contrôle combien $ u $ est atténué avec le temps, $ b $ est la sensibilité de $ u $ à $ v $, $ c $ est le potentiel du film au repos, et $ d $ est C'est une constante qui affecte le temps nécessaire au potentiel de la membrane pour récupérer après que $ v $ s'enflamme.

Eh bien, ** je ne pense pas que je peux comprendre même si une telle chose est écrite, alors déplaçons-la **.

Izhikevich Neuron Simulator J'ai fait un simulateur qui fonctionne sur le Web.

Izhikevich Neuron Simulator -un simulateur de neurones fonctionnant sur le Web-

Le back-end est Python (Flask / NumPy), et le dessin graphique est Javascript.

Une explication de modèle similaire et un exemple de paramétrage sont également écrits, veuillez donc jouer de manière appropriée. Vous pouvez l'utiliser sur votre smartphone, mais cela écrasera le dessin, donc ** PC ou tablette recommandé **. Dans le cas d'un smartphone, il peut être préférable de le tenir sur le côté.

Par exemple, si vous laissez les paramètres par défaut et cochez $ I_ {DC} $ et simulez. izh_simu.png $⬇️$ rs.png

De cette manière, le potentiel de membrane $ v $ et la variable de récupération $ u $ calculés en fonction du courant d'entrée déterminé sont tirés.

De plus, comme la résolution temporelle est définie en détail comme $ dt = 2 ^ {-5} $ au moment du calcul, le chaos peut être confirmé pour le moment. chaos.png (Est-ce le chaos? S'il vous plaît laissez-moi savoir si vous le connaissez.)

en conclusion

Cet article était un article d'introduction sur les applications Web. (Personnellement, je serais heureux si vous pouviez l'utiliser pour des débutants en neurosciences ou pour un petit guide ...)

Il n'y a rien de mal à jouer, alors j'espère que plus de gens seront intéressés par les neurosciences en les utilisant! Si vous rencontrez des problèmes, veuillez commenter cet article.

référence

  1. Exprimons l'activité neuronale avec une équation différentielle, Yuji Ikeya
  2. Simple Model of Spiking Neurons, M. Izhikevich, 2003

Recommended Posts

Simulons le modèle neuronal d'Izhikevich sur le Web!
Affinons les hyper paramètres du modèle avec scikit-learn!
Télécharger des fichiers sur le Web avec Python
Publier le répertoire actuel sur le serveur Web
Demandez aux pandas de lire le fichier zip sur le Web
Personnalisez la page modèle de l'écran d'administration de Django
Jusqu'à la sortie de l'application Web avec Sakura VPS
Surveiller le modèle d'entraînement avec TensorBord sur Jupyter Notebook
[Partie 2] Construisons un serveur Web avec EC2 Linux
Faire du modèle une chaîne sur le modèle HTML Django
Exécuter une commande sur le serveur Web et afficher le résultat