『Python数値計算ノート』ではアフィリエイトプログラムを利用して商品を紹介しています。

生物の神経細胞ネットワーク

本章から現代の機械学習の核心部分ともいえる人工ニューラルネットワークを学びます。人工ニューラルネットワークは、生物の神経細胞間で行われる情報伝達の仕組みを模倣した自動学習システムです。本格的な人工ニューラルネットワークについて学ぶ前に、今回は 生物の神経細胞ネットワーク について簡単に解説しておきます。

神経細胞とシナプス

生物の神経系を構成する個々の 神経細胞(ニューロン)は、情報処理と情報伝達の役割を担う細胞です(下図参照)。
 
Python ニューロン模式図(イラスト)
樹状突起が他の神経細胞から信号を受け取ると、細胞体の膜電位がわずかに上昇します。この電位が閾値を超えると(他の神経細胞からある一定以上の強さの信号を受け取ると)、インパルスとよばれる電気信号が発生し、軸索を通って枝分かれした軸索端末まで伝わります。

ある神経細胞の軸索端末は他の神経細胞の樹状突起につながっていますが、互いに直に接触しているわけではなく、約 20 nm (ナノメートル) ほどの隙間が空いています(下図参照)。この神経細胞同士の接合部を シナプス とよびます。
 
シナプス(synapse)、シナプス前細胞、シナプス後細胞
信号には方向性があることから、信号を渡す側の神経細胞をシナプス前細胞、受け取る側の神経細胞をシナプス後細胞とよびます。もちろん、1つの神経細胞は信号を送る側にも受け取る側にもなり得るので、前細胞、後細胞は、ある瞬間の状態を説明するための便宜的な名称にすぎません。

シナプス前細胞の軸索端末に電気信号が達すると、シナプス小胞が化学物質(神経伝達物質)を放出して間隙に拡散させます。この物質がシナプス後細胞の樹状突起にある受容体に接合すると、シナプス後細胞の膜電位が上昇して再び電気信号に変換されます。

このように、神経細胞同士はシナプスを介して互いに情報伝達を行ないます。ヒトの場合は1個の神経細胞は約1000個の他の神経細胞とつながって、神経細胞ネットワーク(ニューラルネットワーク)を形成します(特に脳の場合は、100億~1000億のニューロンで構成されると推測されています)。生物の記憶・学習過程はニューラルネットワークを巡る電気信号と化学物質によって形成されると考えられています。

このような神経細胞のはたらきをコンピュータ上で再現することができれば、人工知能も生物のように柔軟な学習能力をもつことができるようになるかもしれません。実際、現代のニューラルネットワークを用いた技術はボードゲームや画像識別などの分野で、すでに人間を超える能力を身につけ始めています。次回記事では単体ニューロンをモデル化して Python で実装し、その機能を Matplotlib で可視化してみます。

コメント