2  一個のニューロン ── 膜電位のダイナミクスと発火率

前章で、人工ニューロンが生物のニューロンから何を捨てているかを見た。時間を捨て、スパイクを捨て、樹状突起の構造を捨てていた。

この章では、捨てる前のものを見る。

なぜそんなことをするのか。理由は二つある。

第一に、活性化関数の由来を知るためである。シグモイド関数はどこから来たのか。ReLU はなぜあの形なのか。深層学習の教科書では「経験的にうまくいくから」で済まされることが多いが、もともとは実在するニューロンの入出力特性の近似だった。その出所を見ておくと、後で活性化関数を選ぶときの感覚が違ってくる。

第二に、力学系の道具を手に入れるためである。微分方程式・相平面・分岐—これらは次章のウィルソン・コーワン方程式でそのまま使う。そして本章第4節では、本書を貫くことになるヤコビアンが最初に顔を出す。

ホジキンとハクスレーは1952年、ヤリイカの巨大軸索を使って活動電位の発生機構を解明した。彼らの方程式は、いまも計算論的神経科学の出発点である。まずはそこから始めよう。

ヒント本章のガイド

各節は「なぜこれをやるか → 必要な数学 → 導出 → 数値で確かめる」の順に進む。

第1節の常微分方程式に見覚えがあれば飛ばしてよい。第4〜5節の相平面と分岐は、第3章のネットワークでそのまま使う道具なので、ここで手に馴染ませておきたい。

第6節のスパイク統計は、第6章のデコーディングで使う。ポアソン過程の性質(とくに平均と分散が等しいこと)だけは押さえてほしい。

第7節は、この章を深層学習につなぐ節である。急ぐならここだけでもよい。


1. 必要な数学:常微分方程式と数値解法

一階線形の方程式

本章と次章で繰り返し現れるのは、次の形の方程式である。

\tau \frac{dx}{dt} = -x + I

読み方はこうだ—xI に向かって減衰していく。x > I なら右辺が負なので x は減り、x < I なら増える。x = I で止まる。

I が定数なら、解は手で書ける。y = x - I と置くと \tau\, dy/dt = -y となり、

y(t) = y(0)\, e^{-t/\tau} \quad\Longrightarrow\quad x(t) = I + \big(x(0) - I\big)\, e^{-t/\tau}

\tau は時定数である。t = \tau で、初期値と最終値の差が 1/e \approx 0.37 倍に縮む。\tau が小さいほど速く応答する。

この形の方程式は本書に何度も出る。膜電位の緩和(本章)、集団活動の緩和(第3章)、そして勾配流(第8章)。「今の値と目標値の差に比例して動く」という構造は、それだけ普遍的である。

数値解法

一般には解析解が得られないので、数値的に解く。もっとも単純なのが オイラー法である。

\frac{dx}{dt} = g(x, t) \quad\Longrightarrow\quad x(t + \Delta t) \approx x(t) + \Delta t\, g\big(x(t), t\big)

「いまの傾きで \Delta t だけ直進する」を繰り返すだけだ。実装は数行で済む。

def euler(g, x0, T, dt):
    n = int(T / dt)
    xs = np.empty((n, *np.shape(x0)))
    x = np.array(x0, dtype=float)
    for i in range(n):
        xs[i] = x
        x = x + dt * g(x, i * dt)
    return xs

注意すべきは刻み幅である。\Delta t が時定数 \tau に比べて大きいと、数値解が振動したり発散したりする。目安は \Delta t \ll \tau。ホジキン・ハクスレー方程式(Hodgkin–Huxley、第3節)では \tau が 0.1 ms 程度まで小さくなるので、\Delta t = 0.01 ms 程度が要る。

より精度の高い方法(Runge–Kutta 法など)もあるが、本書ではオイラー法で足りる場面がほとんどである。


2. 膜を RC 回路として見る

膜電位とは何か

ニューロンの細胞膜は、内外でイオンの濃度が違う。細胞内は \mathrm{K}^+ が多く、細胞外は \mathrm{Na}^+ が多い。この濃度差のせいで、膜の内外に電位差が生じる。これが膜電位 V である。静止時には約 -70 mV(細胞内が負)。

膜は脂質でできていて電気を通さないが、イオンチャネルという穴が開いていて、特定のイオンだけを通す。

この構造は、電気回路として書ける。

  • 膜そのもの — 電気を通さない絶縁体が二つの導体(細胞内液と細胞外液)を隔てている。これはコンデンサである。容量を C とする
  • イオンチャネル — イオンを通す経路。これは抵抗(コンダクタンス g)である
  • 濃度差 — イオンを押し流す力。これは電池(平衡電位 E)である

膜方程式

回路の法則(電流の保存)から式が出る。膜を通って流れる電流の合計が、コンデンサに溜まる電流と外部から注入される電流の和に等しい。

C \frac{dV}{dt} = -g_L (V - E_L) + I_{\text{ext}}

右辺第一項が漏れ電流(leak)である。VE_L より高ければ電流が外へ流れ、V を下げる。負号がついているのはそのためだ。

この式を、第1節の形に整理してみよう。両辺を g_L で割る。

\underbrace{\frac{C}{g_L}}_{=\,\tau_m} \frac{dV}{dt} = -(V - E_L) + \frac{I_{\text{ext}}}{g_L}

第1節の \tau\, dx/dt = -x + I そのものである。膜は「入力に向かって時定数 \tau_m = C/g_L で緩和する系」だと分かる。典型的には \tau_m \approx 10〜20 ms。

リーク積分発火モデル

上の式には、スパイクが出てこない。ずっと緩和し続けるだけである。

そこで、手で閾値を入れる。「V が閾値 V_{\text{th}} に達したらスパイクを出し、VV_{\text{reset}} に戻す」という規則を付け加えるのだ。これがリーク積分発火モデル(leaky integrate-and-fire, LIF)である。

\tau_m \frac{dV}{dt} = -(V - E_L) + R I_{\text{ext}}, \qquad V \ge V_{\text{th}} \;\Rightarrow\; \text{スパイク発火},\; V \leftarrow V_{\text{reset}}

乱暴だが、驚くほど有用なモデルである。スパイクの波形は諦めるが、「いつ発火するか」だけなら実際のニューロンをかなりよく予測する。

f–I 曲線

LIF モデルで、入力電流を上げると発火率がどう変わるかを計算してみよう。これが後で活性化関数につながる。

定常入力 I を与える。VV_{\text{reset}} から V_{\text{th}} まで上がるのにかかる時間を求めればよい。第1節の解を使うと、V(t) = E_L + RI + (V_{\text{reset}} - E_L - RI)e^{-t/\tau_m} である。V(T) = V_{\text{th}} と置いて T について解く。

T = \tau_m \ln \frac{E_L + RI - V_{\text{reset}}}{E_L + RI - V_{\text{th}}}

発火率は f = 1/T である。この関数を f–I 曲線(frequency–current curve)と呼ぶ。

形を読もう。E_L + RI < V_{\text{th}} のときは、対数の中身の分母が負になる—つまり閾値に届かず、発火しない。f = 0 である。閾値をわずかに超えると T が急激に小さくなり、f が立ち上がる。入力をさらに上げると f は増え続けるが、増え方は鈍る(対数の中身が 1 に近づくため)。

「閾値までゼロ、超えたら急に立ち上がり、やがて増え方が緩やかになる」—この形が、活性化関数の原型である。ただし LIF そのものは飽和しない(電流を上げれば発火率はいくらでも上がる)。飽和が現れるのは不応期を入れたときで、第7節でそこに戻る。第7節で回収する。


3. ホジキン・ハクスレー方程式

LIF モデルは閾値を手で入れた。ホジキンとハクスレーがやったのは、閾値そのものを導くことだった。

イオンチャネルは電位で開閉する

鍵となる発見はこうである。\mathrm{Na}^+ チャネルと \mathrm{K}^+ チャネルのコンダクタンスは、膜電位に依存して変化する。

しかも変化の仕方が違う。膜電位が上がると、

  • \mathrm{Na}^+ チャネルは速く開き、その後ゆっくり閉じる(不活性化する)
  • \mathrm{K}^+ チャネルはゆっくり開く

この時間差が、活動電位という現象を生む。

方程式

ホジキンとハクスレーは、コンダクタンスをゲート変数で表した。

C \frac{dV}{dt} = -\underbrace{\bar{g}_{\mathrm{Na}}\, m^3 h\, (V - E_{\mathrm{Na}})}_{\mathrm{Na}^+ \textsf{ 電流}} -\underbrace{\bar{g}_{\mathrm{K}}\, n^4\, (V - E_{\mathrm{K}})}_{\mathrm{K}^+ \textsf{ 電流}} -\underbrace{g_L (V - E_L)}_{\textsf{漏れ電流}} + I_{\text{ext}}

ゲート変数 m, h, n はそれぞれ [0,1] の値を取り、次の方程式に従う(xm, h, n のいずれか)。

\frac{dx}{dt} = \alpha_x(V)\,(1 - x) - \beta_x(V)\, x

これも第1節の形である。実際、\tau_x(V) = 1/(\alpha_x + \beta_x)x_\infty(V) = \alpha_x/(\alpha_x+\beta_x) と置くと、

\tau_x(V) \frac{dx}{dt} = -x + x_\infty(V)

x は、その電位での目標値 x_\infty(V) へ、時定数 \tau_x(V) で緩和する」—という読み方ができる。時定数も目標値も電位に依存する、というのが HH モデルの心臓部である。

各変数の役割

三つのゲート変数の性格を、はっきりさせておこう。

変数 対象 電位が上がると 速さ
m \mathrm{Na}^+ 活性化 増える(開く) 速い(〜0.1 ms)
h \mathrm{Na}^+ 不活性化 減る(閉じる) 遅い(〜1 ms)
n \mathrm{K}^+ 活性化 増える(開く) 遅い(〜1 ms)

\mathrm{Na}^+ 電流の項に m^3 h という積が入っていることに注目してほしい。m が大きく、かつ h が大きいときだけ電流が流れる。m は速く上がり、h は遅れて下がる。だから \mathrm{Na}^+ 電流は「一瞬だけ流れて、すぐ止まる」。

活動電位が起きる筋書き

以上を組み合わせると、活動電位の物語が読める。一手ずつ追ってほしい。

  1. 外部電流で V が少し上がる
  2. m速く増える → \mathrm{Na}^+ が流れ込む → V がさらに上がる
  3. これは正のフィードバックである。V が上がるほど m が増え、m が増えるほど V が上がる。爆発的に V が跳ね上がる(立ち上がり)
  4. 遅れて h が減る → \mathrm{Na}^+ 電流が止まる
  5. 同じく遅れて n が増える → \mathrm{K}^+ が流れ出る → V が下がる(立ち下がり)
  6. V が静止電位を下回る(過分極)。n がゆっくり戻るまで、次の発火が起きにくい(不応期)

ここがポイント

活動電位の本質は、速い正のフィードバック(m)と、遅い負のフィードバック(hn)の組み合わせである。速い自己増強と遅い抑制—この構造は神経系のあちこちに現れ、第3章では集団レベルの振動を生む同じ構造を見ることになる。

そして「閾値」は、方程式のどこにも書かれていない。正のフィードバックが暴走を始める境目が、結果として閾値のように見えるだけである。LIF モデルが手で入れたものを、HH モデルは導出した—これが「機構モデル」の力である(第1章第2節)。

ヒント手を動かす

HH 方程式をオイラー法で解いてみよう。パラメータは原論文の値、刻み幅は \Delta t = 0.01 ms である。コードは コード/02_hh.py にある。

C, gNa, gK, gL = 1.0, 120.0, 36.0, 0.3      # μF/cm², mS/cm²
ENa, EK, EL = 50.0, -77.0, -54.387          # mV
DT = 0.01                                    # ms

def simulate(I, T=300.0):
    V = -65.0
    am, bm, ah, bh, an, bn = rates(V)
    m = am/(am+bm)          # 静止状態から始める
    h = ah/(ah+bh)
    n = an/(an+bn)
    spikes = []
    for i in range(int(T/DT)):
        am, bm, ah, bh, an, bn = rates(V)
        m += DT*(am*(1-m) - bm*m)
        h += DT*(ah*(1-h) - bh*h)
        n += DT*(an*(1-n) - bn*n)
        I_ion = (gNa*m**3*h*(V-ENa) + gK*n**4*(V-EK)
                 + gL*(V-EL))
        V_new = V + DT*(I - I_ion)/C
        if V < 0 <= V_new:      # 0 mV の上向き通過=スパイク
            spikes.append(i*DT)
        V = V_new
    return spikes

rates はゲート変数の \alpha, \beta を返す関数。全体は コード/02_hh.py を見てほしい。)

I_{\text{ext}} を階段状に与えると、活動電位が出る。V(t) と一緒に m(t), h(t), n(t) も描いてみてほしい。上の1〜6の筋書きが、グラフの上で読めるはずである。

そして I_{\text{ext}} を少しずつ上げて、発火が始まる電流を探す。結果はこうなる。

def firing_rate(I, T=300.0, warmup=100.0):
    """定常状態での発火率 [Hz]。最初の 100 ms は捨てる。"""
    s = [t for t in simulate(I, T) if t > warmup]
    if len(s) < 2:
        return 0.0
    return 1000.0*(len(s) - 1)/(s[-1] - s[0])

# 発火が始まる電流を二分法で詰める
lo, hi = 0.0, 10.0
for _ in range(40):
    mid = (lo + hi)/2
    if firing_rate(mid) > 0: hi = mid
    else:                    lo = mid
print(hi, firing_rate(hi + 0.1))
I [μA/cm²] 2.0 5.0 6.2 6.3 10 20 40 80
発火率 [Hz] 0 0 0 53 69 87 109 0

発火率がゼロから 53 Hz へ飛んでいる。二分法で境目を詰めると I \approx 6.21 μA/cm² で、その直上の発火率は約 53 Hz である。いくらでも遅く発火することはできない—これが次節で扱う Type II の特徴である。

表のいちばん右に注目してほしい。電流をさらに上げると、発火が止まる。全体を描くと、こうなる。

図 1: ホジキン・ハクスレー方程式の f–I 曲線(コード/02_hh.py の出力)。I \approx 6.21 で発火率がゼロから 53 Hz へ飛ぶ—これが Type II の特徴である。そこから 127 Hz まで上がるが、I \approx 64脱分極ブロックが起き、発火が完全に止まる。強く押せば速く発火する、という素朴な期待は両端で裏切られる。

I \approx 64 を超えると、膜は脱分極したまま固定されてしまう。強く押せば速く発火する、という素朴な期待は成り立たない。なぜ止まるのかを、h の振る舞いから考えてみてほしい。


4. 相平面解析と次元削減

HH 方程式は4変数(V, m, h, n)の非線形系である。4次元は絵に描けない。2次元に落とせないだろうか。

縮約の論理

第3節の表を見返すと、手がかりがある。

  • m非常に速い。他の変数が動く時間スケールでは、m はすでに目標値に達している。だから m \approx m_\infty(V) と置いてよい(断熱近似
  • hn同じくらいの速さで、しかも h が減るときに n が増える。数値的に h + n \approx \text{const} が成り立つ。だから一つの変数にまとめられる

こうして4変数が2変数に減る。V と、まとめた回復変数 w である。

FitzHugh–Nagumo モデル

この縮約を、さらに単純化して数学的に扱いやすくしたのが FitzHugh–Nagumo モデルである。

\begin{aligned} \frac{dV}{dt} &= V - \frac{V^3}{3} - w + I \\ \tau_w \frac{dw}{dt} &= V + a - b w \end{aligned}

生物学的な意味は薄れたが、構造は保たれている。V の式の V - V^3/3 が正のフィードバック(小さい V では V が自己増強する)を表し、-w が負のフィードバックである。\tau_w が大きいので w は遅い。

相平面

2変数なら、(V, w) 平面に軌道を描ける。これが相平面である。

平面の上に、二本の特別な曲線を引く。ヌルクライン(nullcline)である。

  • V-ヌルクライン — dV/dt = 0 となる曲線。ここでは軌道が垂直に動く
  • w-ヌルクライン — dw/dt = 0 となる曲線。ここでは軌道が水平に動く

FitzHugh–Nagumo なら、V-ヌルクラインは w = V - V^3/3 + I という三次曲線(N 字形)、w-ヌルクラインは w = (V+a)/b という直線である。

二本の交点が固定点である。そこでは両方の微分がゼロだから、系は動かない。

FitzHugh–Nagumo モデルの相平面を描いたのが 図 2 である。

図 2: FitzHugh–Nagumo モデルの相平面(模式)。三次曲線が V-ヌルクライン、直線が w-ヌルクラインで、その交点が固定点である。ここでは固定点が不安定なので、軌道はそのまわりを回る閉じた軌道(リミットサイクル)へ巻き込まれていく。これが繰り返し発火に対応する。

固定点の安定性

固定点があっても、それが安定とは限らない。少しずらしたとき、戻ってくるのか離れていくのか。

調べ方は、固定点のまわりで線形化することである。固定点を (V^*, w^*)、そこからのずれを (\delta V, \delta w) とすると、

\frac{d}{dt}\begin{pmatrix}\delta V \\ \delta w\end{pmatrix} \approx \underbrace{\begin{pmatrix} \partial \dot{V}/\partial V & \partial \dot{V}/\partial w \\ \partial \dot{w}/\partial V & \partial \dot{w}/\partial w \end{pmatrix}}_{= \, J \ \textsf{(ヤコビ行列)}} \begin{pmatrix}\delta V \\ \delta w\end{pmatrix}

ヤコビ行列 J が現れた。本書で五つの役目を負うことになる J の、最初の登場である(第1章第3節の表を参照)。ここでの役目は固定点の安定性を決めることである。

線形の方程式 \dot{\mathbf{u}} = J\mathbf{u} の解は、J の固有値 \lambda_i を使って e^{\lambda_i t} の重ね合わせで書ける。だから判定は単純である。

  • すべての固有値の実部が負 → ずれは減衰する → 安定
  • 一つでも実部が正 → ずれは増大する → 不安定
  • 複素固有値 → 実部が振動の減衰・増大、虚部が振動の速さを与える

ここがポイント

固定点の安定性は、そこでのヤコビ行列の固有値の実部の符号で決まる。これは本書で最初に現れるヤコビアンの用法である。第3章でネットワークに、第9章で学習ダイナミクスに、第11章で表現の幾何に、同じ行列が別の顔で現れる。


5. 分岐 ── 発火が始まる瞬間の数学

前節の「手を動かす」で問うたことに答える。入力電流を上げていくと、発火はどう始まるのか。

分岐とは

パラメータ(ここでは I)を連続的に変えていくと、固定点の位置や安定性が変わる。ある値で、解の質的な性質が変わることがある。これを分岐(bifurcation)と呼ぶ。

「質的に変わる」というのは、固定点の数が変わる、安定だったものが不安定になる、周期解が生まれる—といったことである。

二つの型

神経モデルで主に現れるのは、次の二つである。

サドルノード分岐。安定な固定点と不安定な固定点(サドル)が近づいてきて、衝突して消滅する。固定点がなくなると、系は行き場を失って周期軌道に落ちる。

このとき、発火率はゼロから連続的に立ち上がる。消滅の直前には、軌道が「元固定点があった場所」の近くで長く足踏みするため、周期が非常に長くなる(=発火率が非常に低い)からだ。任意に低い発火率が実現できる。

Hopf 分岐。固定点は残るが、複素固有値の実部が負から正に変わり、不安定になる。同時に周りに周期軌道(リミットサイクル)が生まれる。

このとき、発火率はゼロでない値から突然始まる。振動の周波数は固有値の虚部で決まっており、それは分岐点で有限の値を持つからだ。

二つの分岐の違いは、f–I 曲線の形の違いとして現れる(図 3)。

図 3: サドルノード分岐(Type I)と Hopf 分岐(Type II)で、f–I 曲線の立ち上がり方が違う(模式)。Type I は発火率がゼロから連続に立ち上がるので、任意に低い発火率を出せる。Type II はゼロでない値から不連続に始まるので、最低発火率が存在する。

Type I と Type II

この違いは、実際のニューロンで観察されている。

分岐の型 f–I 曲線 発火開始
Type I サドルノード 連続的に立ち上がる 任意に低い発火率が可能
Type II Hopf 不連続に飛ぶ 最低発火率が存在する

Type II のニューロンは、低い発火率を出せない。これは機能的な違いを生む。Type I は入力の強さを発火率で細かく符号化できる(積分器として働く)が、Type II は特定の周波数の入力に共鳴しやすい(共鳴器として働く)。

そして興味深いことに、同じニューロンでも、神経修飾物質などの作用で Type I と Type II を行き来することが知られている。回路の計算特性が、その場で切り替わりうるわけである。

ヒント手を動かす

FitzHugh–Nagumo モデルで分岐図を描いてみよう。コードは コード/02_fhn.py にある。

DT = 0.005

def run(I, a=0.7, b=0.8, tau=12.5, T=2000.0, warm=1000.0):
    V, w = -1.0, -0.5
    n, nw = int(T/DT), int(warm/DT)
    Vs = np.empty(n - nw); sp = []
    for i in range(n):
        dV = V - V**3/3 - w + I    # 速い変数
        dw = (V + a - b*w)/tau     # 遅い変数
        Vn = V + DT*dV
        w += DT*dw
        if i >= nw:                # 前半は過渡なので捨てる
            Vs[i-nw] = Vn
            if V < 0 <= Vn:        # 上向きのゼロ交差=発火
                sp.append(i*DT)
        V = Vn
    f = 0.0 if len(sp) < 2 else \
        1000.0*(len(sp) - 1)/(sp[-1] - sp[0])
    return Vs.min(), Vs.max(), f   # 分岐図の上下と発火率

I を細かく動かしながら長時間シミュレーションし、定常状態での V の最大値と最小値を記録する。発火していなければ最大=最小(一点)、発火していれば二点に分かれる。

結果はこうなる。

I 0.30 0.32 0.33 0.40 0.80 1.42 1.50
V の最小 -0.99 -0.98 -1.99 -1.98 -1.93 -1.76 1.03
V の最大 -0.99 -0.98 1.76 1.82 1.91 1.99 1.03
発火率 [Hz] 0 0 21 24 27 21 0
図 4: FitzHugh–Nagumo の分岐図(コード/02_fhn.py の出力)。上は定常状態での V の最大と最小。I \approx 0.32一点が二点に割れI \approx 1.43 でまた一点に戻る。あいだの灰色の領域がリミットサイクルである。下は同じ範囲の発火率で、両端でゼロから飛んでいる。

I=0.320.33 のあいだで、一点が二点に割れている。これが分岐である。二分法で詰めると I \approx 0.324、その直上の発火率は約 19 Hz—ゼロから飛んでいる。前節の HH 方程式と同じ Type II である。

表の右端にも注目してほしい。I=1.50 でまた一点に戻る。振動には上限もあるのだ(HH の脱分極ブロックと同じことが起きている)。

そして問い—パラメータ a, b, \tau_w を変えると、同じ方程式が Type I にもなる。どう変えればよいか、二本のヌルクラインの交わり方から考えてみてほしい。


6. スパイク列の統計

ここまでは決定的な方程式だった。だが実際のニューロンの応答は、同じ刺激を繰り返しても毎回違う。

発火率という記述

スパイクの時刻を t_1, t_2, \dots とする。この列そのものを扱うのは大変なので、多くの場合発火率に縮約する。

r(t) = \lim_{\Delta t \to 0} \frac{\textsf{区間 } [t, t+\Delta t) \textsf{ のスパイク数の期待値}}{\Delta t}

「期待値」と書いたことに注意してほしい。一回の試行では発火率は定義できない。多数の試行にわたる平均か、時間方向の平均(定常なら)が必要である。

ポアソン過程

もっとも単純なモデルは、各瞬間に独立に、確率 r\,\Delta t でスパイクが起きるというものである。これが(非斉次)ポアソン過程である。

このモデルの性質を三つ確認しよう。

性質1:時間 T の間のスパイク数 n はポアソン分布に従う。

P(n) = \frac{(rT)^n}{n!}\, e^{-rT}

性質2:平均と分散が等しい。\mathbb{E}[n] = \mathrm{Var}[n] = rT

ばらつきの大きさが、平均の大きさで決まってしまう—独立なコイン投げの重ね合わせだから当然だが、この性質は第6章で決定的に効く。

性質3:スパイク間隔(ISI)は指数分布に従う。

p(\tau) = r\, e^{-r\tau}

導出は簡単だ。「次のスパイクまで \tau 以上待つ」確率は、区間 [0,\tau) にスパイクが一つもない確率、つまり P(0) = e^{-r\tau} である。これを \tau で微分して符号を変えれば密度が出る。

指数分布のモードは \tau = 0 である。つまり「直前に発火したばかりの瞬間」がもっとも起きやすい—これは実際のニューロンとは違う。不応期があるからだ。

変動性の指標

スパイク列のばらつきを測る指標として、変動係数(coefficient of variation)が使われる。

C_V = \frac{\sigma_{\text{ISI}}}{\mu_{\text{ISI}}}

指数分布では \sigma = \mu = 1/r だから、C_V = 1 である。ポアソン過程が基準値 1 を与える。

  • C_V < 1 — ポアソンより規則的(不応期がある、周期的に発火する)
  • C_V > 1 — ポアソンより不規則(バースト発火する)

皮質のニューロンを記録すると、C_V はしばしば 1 に近い。皮質は驚くほど不規則に発火している。これは長らく謎とされ、「興奮性入力と抑制性入力がほぼ釣り合っていて、その揺らぎで発火している」という説明(バランス状態)が提案されている。第3章で触れる。

発火率という近似はいつ妥当か

本書の以降の章では、ほとんどの場面で発火率を使う。だがそれが妥当でない場面もあることは、意識しておきたい。

  • スパイクの正確なタイミングが情報を担っている場合(聴覚系の位相同期など)
  • 発火が非常にまばらで、一回の試行に数個しかスパイクがない場合
  • 同期が重要な場合(複数の細胞が揃って発火することに意味がある場合)

発火率への縮約は、こうした情報をすべて捨てている。捨ててよいかは、問いによる—第1章第2節の主題が、ここでも効いている。


7. 活性化関数はどこから来たのか

章の締めくくりとして、深層学習へ橋を架ける。

f–I 曲線と活性化関数

第2節で LIF モデルの f–I 曲線を計算した。形は「閾値までゼロ、超えたら急に立ち上がり、やがて緩やかになる」だった。

人工ニューロンの活性化関数は、この曲線の近似である。

シグモイド関数

\varphi(u) = \frac{1}{1 + e^{-u}}

滑らかに立ち上がり、上下に飽和する。飽和は、実際のニューロンが不応期のせいで最大発火率を持つことに対応している。

ReLU(正規化線形関数)

\varphi(u) = \max(0, u)

閾値以下でゼロ、以上で線形。f–I 曲線の閾値近傍を線形近似したものと読める。飽和を捨てているが、実際のニューロンも通常の動作範囲では飽和まで行かないことが多い。

そして ReLU は、勾配が消えないという計算上の利点を持つ(第8章第6節)。生物学的な妥当性と計算上の都合が、たまたま一致した例である。

対応の限界

ただし、この対応を過大評価してはいけない。

深層学習で活性化関数が選ばれる理由は、ほとんどが計算上の都合である。ReLU が普及したのは勾配消失を避けられるからであって、生物学的に正しいからではない。GELU や Swish といった近年の関数は、生物学的な動機をまったく持たない。

逆向きの対応も怪しい。実際のニューロンの入出力関係は、入力の時間的な構造や樹状突起での非線形な統合に依存し、単一の静的な関数では書けない。

それでも出所を知る価値はある。「活性化関数」という部品が、どこかから降ってきたのではなく、実在するものの単純化として生まれたことを知っていると、モデルを設計するときの判断が変わる。何を捨てているかが見えるからだ。

本書が置いている前提

ここでもう一歩踏み込んでおきたい。活性化関数だけの話ではなく、本書全体が何を前提にしているかである。

本書はこの先ずっと、情報はスパイクとして運ばれ、化学シナプスで受け渡され、発火率に要約される—という描像のうえに数学を組み立てる。これはニューロン説(neuron doctrine)と呼ばれる考え方の延長にある。神経系の機能単位は個々の細胞であり、細胞は接点を介して信号をやりとりする、という前提だ。

これは確定した事実ではなく、記述の選択である。実際の脳には、この枠に収まらない伝達の仕組みがいくつも見つかっている。

  • 樹状突起の演算。樹状突起は入力を素直に足し合わせる導線ではない。局所的に活動電位を起こし、枝ごとに違う非線形演算をする(London と Häusser 2005)
  • ギャップ結合(gap junction)。細胞膜が直接つながってイオンが行き来する。化学シナプスを経ないので速く、集団の同期に効く
  • 体積伝達(volume transmission)。伝達物質が細胞外液に拡散し、接点を持たない多数の細胞に届く。宛先が一つに決まらない伝達である
  • 電場介在伝達(ephaptic transmission)。細胞外の電場そのものが、隣の細胞の興奮性を変える
  • グリア伝達(gliotransmission)。ニューロンでない細胞が伝達に加わる

さらに、スパイクを使わない伝達もある。網膜の光受容細胞や双極細胞では、膜電位の緩やかな変化がそのまま伝達物質の放出量に反映される。「情報はスパイクの列である」という前提は、脳のすべての場所で成り立つわけではない。

この一覧は Bullock ら (2005) の整理に沿っている。彼らはニューロン説を捨てよと言ったのではない。書き換えが必要だと論じたのである。

もっと大きな水準では、記述の切り方そのものを変える提案もある。皮質を離散した単位の集まりと見るのではなく、連続した媒質と見て、活動を進行波や形状の共鳴モードとして書く立場だ。これは次章の話題に直接関わるので、そこで改めて触れる(第3章第7節)。

では、なぜ本書はそれでもニューロン説の描像を採るのか。

正直に言えば、そこでしか脳とAIを同じ数学に載せられないからである。人工ニューラルネットワークは「ユニットと重み」の言葉で書かれている。脳の側を同じ言葉に翻訳して初めて、両者を並べて比べられる。本書の主題はその比較にあるから、この抽象化を採る。

ただし前提を前提として意識しているかどうかで、結論の読み方は変わる。脳とAIが「同じ数学で書ける」と確かめられたとして、それは脳をこの抽象化で切り取った限りでの話である。切り取り方を変えれば、似ている度合いも変わりうる。第1章第2節で述べた「どの水準で似ていると言っているのか」という問いは、実はもう一段手前から始まっている—どの水準で脳を記述すると決めたのか、である。

本書を読み終えたとき、あなたはこの前提のどこを外してみたいと思うだろうか。

次章へ

本章で扱ったのは一個のニューロンだった。だが脳の計算は、明らかに集団の性質である。

次章では、多数のニューロンの集団を一つの変数(集団発火率)に縮約し、その相互作用を微分方程式で書く。本章で使った道具—微分方程式、相平面、固定点、分岐—が、そのまま集団のレベルで使える。記述の水準が変わっても数学は変わらない、という本書の主題の最初の実例になる。

ノートコラム:ニューロンとシナプスのかたち

本文の HH 方程式が指している実物を確認しておく(図 5)。

図 5: ニューロンの各部位と、膜の一区画の等価回路(模式)。下の回路の各素子が、本文の HH 方程式の各項に対応する—コンデンサ C は脂質二重膜そのもの、可変抵抗は電位依存性チャネル(開き具合が m^3hn^4)、電池は濃度差が作る平衡電位である。式を見て意味を見失ったら、この絵に戻ってほしい。

ニューロンの形。典型的なニューロンは、樹状突起(入力を受ける枝)・細胞体(統合する)・軸索(出力を送る)からなる。皮質の錐体細胞では、樹状突起の総延長が数ミリメートルに達し、そこに1万個規模のシナプスがつく。軸索は数センチメートル以上に伸びることもある。

シナプス。軸索の終末と、次の細胞の樹状突起が接する場所。両者は直接つながっておらず、20〜40 nm の隙間(シナプス間隙)がある。活動電位が終末に届くと神経伝達物質が放出され、受け手側の受容体に結合してイオンチャネルを開く。主な伝達物質は、興奮性がグルタミン酸、抑制性が GABA である。

イオンチャネルとイオンポンプ。本文の \bar{g}_{\mathrm{Na}}\bar{g}_{\mathrm{K}} は、膜に埋まった電位依存性チャネルの総コンダクタンスである。一個のチャネルは開くか閉じるかの二択で、m, h, n はその開いている割合にあたる(だから [0,1] の値を取る)。

濃度差そのものを維持しているのはナトリウム・カリウムポンプで、ATP を消費して \mathrm{Na}^+ を汲み出し \mathrm{K}^+ を汲み入れる。脳が大量のエネルギーを消費する理由の相当部分がこれである。

分かっていないこと。HH 方程式はヤリイカの巨大軸索という、例外的に扱いやすい標本で作られた。哺乳類の皮質ニューロンに、そのまま当てはまるわけではない。

実際には、皮質ニューロンには十数種類のイオンチャネルがあり、それぞれ動態が違う。樹状突起にも電位依存性チャネルがあり、局所的に活動電位が発生することが知られている。つまり「入力を細胞体で足し合わせる」という描像自体が、単純化しすぎである可能性がある。

さらに—チャネルの種類と密度は、細胞の種類ごとに違い、しかも同じ細胞でも部位ごとに違う。これらのパラメータを実測から決めることは難しく、多くのモデルでは適合によって決められている。「HH 型のモデルが実験データを再現した」という主張が、どこまで機構の正しさを支持しているのかは、慎重に見るべき論点である。

出典 Hodgkin & Huxley (1952)、宮川・井上『ニューロンの生物物理』、カンデル神経科学 第2版。

確認問題

  1. [導出]\tau\,dx/dt = -x + II は定数)を解き、t = \tau で初期値と最終値の差が何倍になるかを示せ。(第1節)

  2. [導出]HH 方程式のゲート変数の式 dx/dt = \alpha_x(1-x) - \beta_x x\tau_x\,dx/dt = -x + x_\infty の形に変形し、\tau_xx_\infty\alpha_x, \beta_x で表せ。(第3節)

  3. [確認]\mathrm{Na}^+ 電流の項が m^3h という積を含むことの意味を述べよ。mh の速さの違いが、活動電位のどの局面に対応するか。(第3節)

  4. [考える]HH 方程式には閾値が明示的に書かれていない。それにもかかわらず閾値のような振る舞いが現れるのはなぜか。(第3節・第5節)

  5. [確認]2変数系の固定点の安定性が、ヤコビ行列の固有値でどう判定されるかを述べよ。(第4節)

  6. [確認]サドルノード分岐と Hopf 分岐の違いを、f–I 曲線の形の違いとして説明せよ。(第5節)

  7. [導出]ポアソン過程において、スパイク間隔が指数分布に従うことを導出せよ。(第6節)

  8. [考える]シグモイド関数と ReLU が、f–I 曲線のどの性質を捉え、どの性質を捨てているかを述べよ。(第7節)


参考文献

  • Hodgkin, A. L. & Huxley, A. F. (1952) A quantitative description of membrane current. J Physiol — 本章第3節の原典。読みやすい論文なので一度は当たってほしい
  • Gerstner, W. et al. (2014) Neuronal Dynamics ch.2, 4 — 単一ニューロンモデルの標準的な教科書。無料で公開されている
  • 宮川博義・井上雅司『ニューロンの生物物理 第2版』 — 生物物理の側から。膜と channel の記述が丁寧[3節・コラム C2]
  • Izhikevich, E. M. (2007) Dynamical Systems in Neuroscience — 分岐による発火の分類を徹底的に扱う[4〜5節]
  • Bullock, T. H. et al. (2005) The neuron doctrine, redux. Science — 本書が置いている前提を外から眺めるために。ギャップ結合・体積伝達・電場介在伝達など、化学シナプス以外の伝達を一望できる短い論文[7節]
  • London, M. & Häusser, M. (2005) Dendritic computation. Annu Rev Neurosci — 樹状突起を「導線」ではなく演算装置として見る[7節・コラム C2]