電脳の中の脳──脳科学・メンタルヘルスの最新研究やデバイス

脳科学やメンタルヘルスの最前線を、研究者・当事者目線からお伝え。生きづらさを解消するためのプロダクトの紹介も。

pythonで神経発火モデル(Hodgkin-Huxley Model)を実装してみた

今回は脳科学メンタルヘルスの研究紹介ではなく、筆者が実際に神経科学の研究用プログラムを回してみたよ……という記事になります。

というのも、縁あって@tak yammさんの『pythonゼロから作るSpiking Neural Networks』を購入しまして、一通り勉強してみようと思い至りました。pythonというプログラミング言語神経科学の実装に非常に優れていながら、筆者は食わず嫌いで全く手を付けてこなかった経緯があります。

というわけで今回は、この書籍に沿って淡々と導入をし、最終的には脳神経のはたらきをニューラルネットワークで再現してみるのが目的です。

解剖学, 生物学, 脳, 思想, 心, 思考, 頭蓋骨, 頭蓋, 心理学, 健康, 科学, チップ, 回路基板

今回の目的

Pythonで神経発火モデル(H-H Model)を実装してみる

Hodgkin-Huxley modelとは

なんと70年近くも前に、イカの巨大脊索を使った実験から「神経活動の電気変化を方程式でシミュレーションした」というモデルになります。コンピュータもろくになかった時代に非常に精密なモデルを描いたという点で、神経モデルといえばまずHHモデル、といわれるところがあります。

詳細を知りたい方はこちら↓

bsd.neuroinf.jp

今回は、このHHモデルの振る舞いを、Python上で再現されるのを確認します(確認します、と言っているのは、参考書籍の著者が非常に厳密にコードを書いてくださっているので、コードを理解したらそこで終わりだから……という、大変ありがたい理由によります)。

実装の流れ

  • 導入
  • 仮想環境構築
    • venvで仮想環境を作成
    • Users/julyfaraway/python3 に envという仮想環境を作った
      • pip install jupyter numpy scipy pandas matplotlib tqdm chainer
    • Jupyter Notebookで作業
      • >Jupyter Notebook
  • 実際に作ってみた:コードは書籍内にあるため割愛。
    • Hodkin-Huxleyモデル
      • 備忘:ラベルに’'をつけるのを忘れずに
      • インデントをしないとうまく動かないのを忘れずに(Pythonの基礎の基礎)
      • 描画結果

        f:id:julyfaraway:20190930200952p:plain

      • T=250(ms)に変更すると

        f:id:julyfaraway:20190930201004p:plain

         

      • アノーダルブレイク:電流を流し続けるだけでなく、ぴたりと止めたとき、静止膜電位が通常よりも低くなる現象。HHモデルで再現可能。
      •  f:id:julyfaraway:20190930201603p:plain
      • どうやらきちんと再現できていた(あたりまえ)。