pythonで神経発火モデル(Hodgkin-Huxley Model)を実装してみた
今回は脳科学やメンタルヘルスの研究紹介ではなく、筆者が実際に神経科学の研究用プログラムを回してみたよ……という記事になります。
というのも、縁あって@tak yammさんの『pythonでゼロから作るSpiking Neural Networks』を購入しまして、一通り勉強してみようと思い至りました。pythonというプログラミング言語は神経科学の実装に非常に優れていながら、筆者は食わず嫌いで全く手を付けてこなかった経緯があります。
というわけで今回は、この書籍に沿って淡々と導入をし、最終的には脳神経のはたらきをニューラルネットワークで再現してみるのが目的です。
今回の目的
Pythonで神経発火モデル(H-H Model)を実装してみる
Hodgkin-Huxley modelとは
なんと70年近くも前に、イカの巨大脊索を使った実験から「神経活動の電気変化を方程式でシミュレーションした」というモデルになります。コンピュータもろくになかった時代に非常に精密なモデルを描いたという点で、神経モデルといえばまずHHモデル、といわれるところがあります。
詳細を知りたい方はこちら↓
今回は、このHHモデルの振る舞いを、Python上で再現されるのを確認します(確認します、と言っているのは、参考書籍の著者が非常に厳密にコードを書いてくださっているので、コードを理解したらそこで終わりだから……という、大変ありがたい理由によります)。
実装の流れ
-
導入
-
-
-
2.7と共存するため
-
-
昔何かをやろうとした名残でAnacondaが入っていた
-
本当はそっちでも管理できるが…色々怪しいので
-
-
3.7.4
-
-
インストーラ起動
-
-
なぜか通らなかった
-
なぜかpython3を叩けた
-
-
-
仮想環境構築
-
-
venvで仮想環境を作成
-
-
env¥bin¥ source ./activate が通らない
-
source env/bin/activate で通った
-
-
単なる文法ミスと判明
-
-
-
Users/julyfaraway/python3 に envという仮想環境を作った
-
-
pip install jupyter numpy scipy pandas matplotlib tqdm chainer
-
-
Jupyter Notebookで作業
-
-
>Jupyter Notebook
-
-
-
実際に作ってみた:コードは書籍内にあるため割愛。
-
-
Hodkin-Huxleyモデル
-
-
備忘:ラベルに’'をつけるのを忘れずに
-
インデントをしないとうまく動かないのを忘れずに(Pythonの基礎の基礎)
- 描画結果
-
-
-
-
- T=250(ms)に変更すると
-
アノーダルブレイク:電流を流し続けるだけでなく、ぴたりと止めたとき、静止膜電位が通常よりも低くなる現象。HHモデルで再現可能。
-
-
どうやらきちんと再現できていた(あたりまえ)。
- T=250(ms)に変更すると
-