見出し画像

脳をフルスクラッチで構築しよう!――近刊『はじめての神経回路シミュレーション-1ニューロンからヒト全脳モデルまで-』一部公開

2022年12月中旬発行予定の新刊書籍、『はじめての神経回路シミュレーション-1ニューロンからヒト全脳モデルまで-』のご紹介です。

同書の「巻頭言」「オープニング」の一部を、また、内容の一部PDFを、発行に先駆けて公開します。


***

〈巻頭言〉    
私たちが色々な物を見分けたり、器用に体を動かしたり、喜びや悲しみ感じたりする脳の仕組みはどうなっているのだろう?これは理系の学生や研究者でなくても誰もが興味を持つ謎ではないでしょうか。実際この謎を解こうと、世界中で何万人という脳研究者が脳の構造や活動、それを支える分子や遺伝子のはたらきを詳細に追いかけています。

近代的な脳科学は、19世紀後半にイタリアのゴルジが脳の中の個々の神経細胞を染色する手法を発明し、それを使ってスペインのカハールが脳の各部位で神経細胞がおりなす回路を詳細に記述することから始まりました。今日では、バイオテクノロジーを駆使して、脳のどこの神経細胞でどんな分子や遺伝子がはたらいているかを調べ上げる「セルセンサス(細胞の国勢調査)」や、レーザー顕微鏡や電子顕微鏡で撮像した詳細かつ大量の画像データを人工知能で処理することで、脳の全部またはある部位の神経細胞のなす回路図を描き出す「コネクトーム」という研究も可能になって来ました。

では、このように脳の神経細胞やその回路構造を調べ上げることによって脳の仕組みは完全にわかったか、というとまだそうではありません。脳の神経回路の構造はとても複雑なので、その回路図を見るだけでそこで何が起こるかを理解するのは至難の技です。そこで重要になってくるのが計算機シミュレーションです。個々の神経細胞が入力にどう応答するかという特性と、それらの間のシナプス結合の有無や強さがわかれば、それらを数式で記述して数値シミュレーションを行うことで、神経回路の個々の細胞がどのタイミングでどう活動するかを予測することが可能です。さらに、感覚入力や身体や外界の数値モデルも加えてシミュレーションを行えば、神経回路でどのような機能が実現されるかを推定することも可能になるのです。

もちろん、脳のすべての神経細胞の特性と結合を完璧に計測するのは困難ですし計測誤差もあります。しかし最近では、神経細胞が活動すると蛍光を発するように遺伝子操作を行うことで、レーザー顕微鏡を使って脳内の1万個以上の神経細胞の活動を記録することも可能になってきました。このような活動記録データとシミュレーション結果をすり合わせることによって未知の数値を推定して、シミュレーションの信頼度を上げていくことができます。

そのような神経回路モデルの強みは、ある特定の結合を切ったり強めたり様々な条件でシミュレーションを行うことによって、回路のどの部分がどういう機能や特性に貢献しているのかを系統的に調べ上げられることです。今日、光を使って神経回路を操作する技術も大幅に進歩してきていますが、それには遺伝子操作や光ファイバーの埋め込みなど個々の実験のために相当の手間がかかります。しかしそうした実験操作の結果は、シミュレーションによる予測と照らし合わせることで、その信頼度を試すために活用することもできます。

今日、ムーアの法則は終わったとはいえ、超並列化と省エネルギー化により科学技術用計算機の性能は向上を続けています。この本の著者の山﨑さんと五十嵐さんは「京」「富岳」といったスパコンを活用して、人間の脳の全神経細胞に相当する数の神経回路モデルのシミュレーションを初めて実現した世界的なパイオニアです。この本は、その過程で得た知識と技術を次の世代に伝えたいという情熱のこもった虎の巻です。ぜひ皆さんもその真髄を盗み取って、脳の仕組みの謎解き計算に挑戦してみてください。

― 銅谷賢治( 沖縄科学技術大学院大学 神経計算ユニット 教授 )


〈オープニング〉

 まえがき

脳は、ニューロンとよばれるたくさんの神経細胞が、シナプスとよばれる構造を介して結合した巨大かつ複雑なネットワークです。そのネットワーク上で、ニューロンはスパイクとよばれる電気パルスを交換することで情報処理を行い、ネットワーク全体のはたらきとして様々な脳の機能が現れます。この過程を理解し、ネットワーク構造から機能が生まれる仕組みを解明するためには、ニューロンひとつひとつがどのようにスパイクを発射し、そのスパイクがどのようにネットワーク上を伝播し、最終的にネットワーク全体としてどのように振る舞うのかを、丹念に調べる必要があります。

しかし、それを実験的に行うのは非常に困難です。なぜなら脳には膨大な数のニューロンとシナプスが存在し、それらひとつひとつを十分な解像度をもって同時に計測することができないからです。一方、計算機を使ったシミュレーションを行うことは可能であり、それによってすべての神経細胞の相互作用を考慮して、神経活動の再現と予測に取り組むことができます。

本書は、1個のニューロンがスパイクを発射する過程から、ニューロンのネットワークが様々な機能を生み出す過程までを、シミュレーションによって再現・予測するための、神経回路シミュレーションの入門書です。従来の計算神経科学や神経情報学の教科書でカバーされていない数値計算や並列計算の詳細に踏み込み、ニューロンモデルから数値計算法まで、すべてをアルゴリズムレベルであからさまに書き下します。プログラミング言語としては、そのような用途にふさわしく、かつ並列計算に必要なOpenMP、MPI、CUDAがすべてサポートされているC言語を用います。

タイトルを「はじめての」神経回路シミュレーションとしましたが、これはほとんどの読者にとって神経回路シミュレーションははじめてであると同時に、計算神経科学や神経情報学から神経回路シミュレーションが巣立ち、シミュレーション神経科学という独立した分野として確立するための、一般神経科学から高性能計算までを網羅したはじめての本である、という意味を込めています。

著者らはそれぞれ大学等で講義や学生実験を持っており、2019年にはバルセロナで開催された国際会議Computational Neuroscience(CNS*2019)にて、共同でハンズオンのチュートリアルを開催しました。それらの講義やハンズオンとその準備の過程で得られた知見、さらに自分達の研究成果とその経験が詰まった本になっています。とくに大学で教える身としては、単に「動けばいいや」でやみくもにコードを書くのではなく、構造化された、副作用のない、きれいなコードを書いてほしいと思っており、そのようなコードを多数用意しました。

本書の執筆は、まず山﨑が骨格を作成し、その後2人がかりで肉付けしていく、という方法をとりました。事前に担当章を決めて分担執筆にはしなかったので、一貫性や全体の統一感はよいと思います。とはいえ、第I部~第III部前半は山﨑の、それ以降は五十嵐のカラーがより強く出ています。

想定する読者層

想定する読者は、まず脳の計算に興味を持っている一般の方々です。基本的には大学の学部生以上を想定していますが、とがった高校生でも読めるように、高校生向けの数値シミュレーション入門や各種資料を付録に加えています。読み物としても完結していると著者らは信じますが、実際にコードを走らせてパラメータを変えて挙動の変化を確認すると、より理解が深まります。第I部をさらっと流して、第II部を読まれるとよいでしょう。様々な脳内の現象を実際に再現してみせており、楽しいと思います。

計算神経科学や神経情報学を授業で教えている大学の先生方も想定しています。座学で通り一遍の知識を伝えるだけでなく、実際に動かして、パラメータを変えて試すことで、授業がよりダイナミックになるでしょう。また、それを発展させ、事前にテキストとコードを配布して試させておいて、授業当日はそれを踏まえてより深い内容を講義する、という反転授業に応用することも可能です。

計算科学の方で神経回路シミュレーションに興味をお持ちの方、この分野へようこそ。第I部と第IV部を読めば、あとはご自身の専門知識を十分に発揮して、この分野での活躍が期待できます。数値シミュレーションを高速化して、研究を効率よくしたいと思っている計算神経科学の方々も重要な読者です。第III部を読むことをお勧めします。ご自身の研究成果に直結することと思います。


**********************************

初学者におすすめ!内容一部公開

**********************************


著:山﨑匡(電気通信大学大学院 情報理工学研究科 情報・ネットワーク工学専攻 准教授)    五十嵐潤(理化学研究所 計算科学研究センター 上級研究員)

パソコンの性能向上やスパコンの利用拡大によって今後ますます注目を浴びる脳の神経回路シミュレーション。本書では、脳の構成要素であるニューロンがスパイクを発射し、それがシナプスを介してネットワークを伝播して機能が生じる過程を、フルスクラッチで構築して再現します。

神経科学の基礎からスタートし、数値計算法、ニューロンとシナプスの構築、スパイク列の解析法、大脳皮質・小脳・大脳基底核・海馬における脳の様々な現象の再現など幅広い範囲をカバー。それだけでなく、並列計算による計算の高速化や、神経回路シミュレーション研究の現状と今後の展望など、実践には欠かせない知識も身につきます。

また、C言語によるコードも多数掲載されており、手を動かしながら読み進めることができます。脳のしくみに興味はあるけど座学では物足りない方、シミュレーション神経科学を俯瞰して学びたい方、神経回路シミュレーションの方法をより深く知りたい・高速化したい方におすすめの1冊です。

自分でつくれるもう一つの脳 ― 先端脳研究者が書き下ろしたコードが満載!

― 山川宏( 全脳アーキテクチャ・イニシアティブ代表 )


【目次】

オープニング
 
まえがき
 想定する読者層
 サポートページ
 謝辞

第I部 ようこそ神経回路シミュレーションへ
 第1章 計算神経科学入門
  1.1 計算神経科学とは何か
  1.2 神経回路シミュレーションとは何か
  1.3 ニューロンのモデル
  1.4 シナプスのモデル
  Column シミュレータを使う?自分で1から書く?

 第2章 常微分方程式の数値解法
  2.1 常微分方程式の初期値問題
  2.2 オイラー法
  2.3 ホイン法
  2.4 ルンゲ・クッタ法
  2.5 各種方法による誤差の評価
  Column Linux環境を用意しよう!

 第3章 神経回路シミュレーション入門
  3.1 ホジキン・ハクスレーモデルのシミュレーション
  3.2 積分発火型モデルのシミュレーション
  3.3 その他のニューロンモデル
  3.4 シナプスのシミュレーション
  3.5 ネットワークのシミュレーション
  3.6 スパイク列の解析手法
  3.7 ニューロンの形状まで考慮したシミュレーション
  Column Makefileを書こう!

第II部 脳の様々な現象を再現する
 第4章 脳とは何か
  4.1 脳の構造と機能
  4.2 脳の学習とシナプス可塑性
  4.3 脳の学習の種類

 第5章 大脳皮質―第1次視覚野の眼優位性マップ形成のシミュレーション
  5.1 大脳皮質の構造と機能
  5.2 大脳皮質の学習
  5.3 眼優位性マップ形成のシミュレーション

 第6章 小脳―瞬目反射条件づけのシミュレーション
  6.1 小脳の構造と機能
  6.2 小脳の学習
  6.3 瞬目反射条件づけのシミュレーション

 第7章 大脳基底核―強化学習によるゴール探索のシミュレーション
  7.1 大脳基底核の構造と機能
  7.2 大脳基底核の学習
  7.3 ゴール探索のシミュレーション

 第8章 海馬―連想記憶のシミュレーション
  8.1 海馬の構造と機能
  8.2 連想記憶のシミュレーション

 第9章 脳-身体シミュレーション
  9.1 中枢パターン生成器(CPG)のモデル
  9.2 下肢筋骨格系モデルによる二足歩行のシミュレーション

 第10章 自己組織化マップ(SOM)
  10.1 SOMとは何か
  10.2 SOMの実装とMNISTへの適用
  10.3 発火頻度符号化と時間符号化
  10.4 シミュレーション結果

 第11章 組合せ最適化問題の近似解法
  11.1 ナンプレとは何か
  11.2 ネットワークの構成法
  11.3 シミュレーション結果
  Column よい乱数を使おう!

第III部 スパコンを上手に使う
 第12章 高性能神経計算入門

  12.1 スパコンの性能指標
  12.2 高性能計算とは何か?
  12.3 神経回路シミュレーションの並列化

 第13章 OpenMPによる計算の並列化
  13.1 ランダムネットワーク再訪
  13.2 OpenMPの利用法

 第14章 MPIによる計算の並列化
  14.1 MPIの利用法
  14.2 スケーリング性能
  14.3 フラットMPIとハイブリッド並列
  14.4 性能評価

 第15章 GPUによる計算の並列化
  15.1 GPUとは何か
  15.2 ニューロンの並列計算
  15.3 シナプス入力の並列計算

 第16章 その他の並列計算の方法や高速化手法
  16.1 SIMD
  16.2 パイプライン処理
  16.3 キャッシュ
  16.4 通信
  Column AoS vs. SoA

第IV部 神経回路シミュレーションの最前線
 第17章 神経回路シミュレーションのこれまでとこれから

  17.1 神経回路シミュレーションに関する世界の状況
  17.2 神経回路シミュレーションに関する日本の状況
  17.3 今後の展望
  17.4 「シミュレーション神経科学」の確立に向けて
  Column なぜ大規模な神経回路シミュレーションを行うのか

クロージング
 
あとがき

付録
 A.1 高校生にもわかる数値シミュレーション
 A.2 gnuplotの使い方
 A.3 ソースコードのファイル構成

参考文献
索引

いいなと思ったら応援しよう!