从生物到人工智能——论神经元模型
血压小子 2024-09-13 17:01:01 阅读 53
前言
本系列主要讲述人工神经网络基础知识,并结合数学公式与生物模型,对比分析人工智能与生物计算的区别与联系。鄙人不才,所有观点与想法均为笔者所理解内容,同时所有图表均为网络搜寻图片,请尊重原创,欢迎大家批评指正。
神经元模型
本文从生物神经元入手,由生物神经元模型逐步过度到人工神经元模型,并讨论其演变过程
1.生物神经元模型——HH模型
高中生物中,所学的生物神经元结构如下图所示,主要可以分为树突(dendrite)、细胞体(soma)、轴突(axon)三个部分,神经元之间通过突触连接,主要通过电信号与化学信号进行传递,当目标神经元膜电位到达阈值后,则会发放脉冲,从而实现信号的传递。然而,不论是哪种信号传播方式,最终的目的均为引起目标神经元的膜电位变化。基于此,1950年,艾伦
∙
\bull
∙霍奇金(Allen Hodgkin)与安德鲁
∙
\bull
∙赫胥黎(Andrew Huxley)以神经元的电位变化为切入点,实现对生物神经元的建模,即Hodgkin-Huxley(HH)模型。
关注到生物神经元的膜电位变化,该过程主要为离子的内流与外流,而离子通道则是调控离子进出的通道,其通过开关导致细胞膜电导的变化,最终实现膜电位的调控。由于实验所采用的乌贼巨轴突主要分布有钠离子通道与钾离子通道,因此实验主要对钠钾离子通道、带负电的氯离子以及外来电流进行建模。对应的等效电路图如下所示:
I
(
t
)
I(t)
I(t)为随时间变化的外来电流,
C
M
C_M
CM为细胞膜电容(下列公式中
c
c
c),
V
M
V_M
VM为静息状态下的膜电位差,
R
x
R_x
Rx则为
x
x
x离子通道(电阻为电导的倒数,即
R
=
1
/
g
R=1/g
R=1/g),
E
x
E_x
Ex为静息状态下
x
x
x离子膜内外电位差。基于此,有常微分方程:
c
d
V
d
t
=
−
g
N
a
(
V
−
E
N
a
)
−
g
K
(
V
−
E
K
)
−
g
L
(
V
−
E
L
)
+
I
(
t
)
c\frac{dV}{dt}=-g_{Na}(V-E_{Na})-g_{K}(V-E_K)-g_L(V-E_L)+I(t)
cdtdV=−gNa(V−ENa)−gK(V−EK)−gL(V−EL)+I(t)
设
K
+
K^{+}
K+离子通道最大值为
g
ˉ
K
\bar{g}_K
gˉK,则有
g
K
=
g
ˉ
K
n
x
g_K=\bar{g}_Kn^x
gK=gˉKnx,其中,
n
∈
[
0
,
1
]
n\in[0,1]
n∈[0,1],为离子通道的门控变量,表示为开闭的概率,
x
x
x则为通过实验拟合的结果,其生物含义表示离子通道的开闭的影响因素。
N
a
+
Na^{+}
Na+、
C
l
−
Cl^{-}
Cl−离子同理,因此,通过实验拟合后,总结有:
c
d
V
d
t
=
−
g
ˉ
N
a
m
3
h
(
V
−
E
N
a
)
−
g
ˉ
K
n
4
(
V
−
E
K
)
−
g
ˉ
L
(
V
−
E
L
)
+
I
(
t
)
c\frac{dV}{dt}=-\bar{g}_{Na}m^3h(V-E_{Na})-\bar{g}_{K}n^4(V-E_K)-\bar{g}_L(V-E_L)+I(t)
cdtdV=−gˉNam3h(V−ENa)−gˉKn4(V−EK)−gˉL(V−EL)+I(t)
同时,通过实验,也对离子通道的门控变量
n
n
n、
m
m
m、
h
h
h分别建立了微分方程,每个离子通道的通式为
d
x
d
t
=
ϕ
[
α
x
(
V
)
(
1
−
x
)
−
β
x
(
V
)
x
]
\frac{dx}{dt}=\phi[\alpha_x(V)(1-x)-\beta_x(V)x]
dtdx=ϕ[αx(V)(1−x)−βx(V)x]
其中,
ϕ
\phi
ϕ是温度因子,
α
x
(
V
)
\alpha_x(V)
αx(V)与
β
x
(
V
)
\beta_x(V)
βx(V)均为与膜电位相关的转换速率函数,其具体形式由实验测得,本文不在赘述。
联合所有方程有:
{
c
d
V
d
t
=
−
g
ˉ
N
a
m
3
h
(
V
−
E
N
a
)
−
g
ˉ
K
n
4
(
V
−
E
K
)
−
g
ˉ
L
(
V
−
E
L
)
+
I
(
t
)
d
n
d
t
=
ϕ
[
α
n
(
V
)
(
1
−
n
)
−
β
n
(
V
)
n
]
d
m
d
t
=
ϕ
[
α
m
(
V
)
(
1
−
m
)
−
β
m
(
V
)
m
]
d
h
d
t
=
ϕ
[
α
h
(
V
)
(
1
−
h
)
−
β
h
(
V
)
h
]
\left\{\begin{array}{l} c\frac{dV}{dt}=-\bar{g}_{Na}m^3h(V-E_{Na})-\bar{g}_{K}n^4(V-E_K)-\bar{g}_L(V-E_L)+I(t)\\ \frac{dn}{dt}=\phi[\alpha_n(V)(1-n)-\beta_n(V)n]\\ \frac{dm}{dt}=\phi[\alpha_m(V)(1-m)-\beta_m(V)m]\\ \frac{dh}{dt}=\phi[\alpha_h(V)(1-h)-\beta_h(V)h] \end{array}\right.
⎩⎪⎪⎨⎪⎪⎧cdtdV=−gˉNam3h(V−ENa)−gˉKn4(V−EK)−gˉL(V−EL)+I(t)dtdn=ϕ[αn(V)(1−n)−βn(V)n]dtdm=ϕ[αm(V)(1−m)−βm(V)m]dtdh=ϕ[αh(V)(1−h)−βh(V)h]
2.简化生物神经元模型——脉冲神经元
由于HH模型的计算复杂性,在冯诺依曼为主体的计算机架构中,具有较高的时间复杂度。因此简化其脉冲发放的过程,忽略对离子门控建模的过程,构建出简化的脉冲神经元模型,本文主要介绍最为常见的泄露整合发放模型(Leaky Integrate-and-Fire, LIF)。
LIF神经元将所有离子通道简化为一个,其等效电路图如下图所示:
其参数含义与HH模型中相差不大,因此不在此过多解释,可建立微分方程:
{
τ
d
V
d
t
=
−
(
V
−
V
r
e
s
t
)
+
R
I
(
t
)
i
f
V
>
V
t
h
,
V
←
V
r
e
s
e
t
\left\{\begin{array}{l}\tau\frac{dV}{dt}=-(V-V_{rest})+RI(t) \\ if\ V>V_{th},V\leftarrow V_{reset}\end{array}\right.
{ τdtdV=−(V−Vrest)+RI(t)if V>Vth,V←Vreset
其中
τ
=
R
C
\tau=RC
τ=RC,表示模型的时间常数,
V
r
e
s
t
V_{rest}
Vrest是神经元的静息电位,
V
t
h
V_{th}
Vth表示神经元脉冲发放的阈值,
V
r
e
s
e
t
V_{reset}
Vreset表示神经元产生脉冲后的重置膜电位。
如下图所示,该图展示了在恒定外部电流输入下,使用brainpy对HH模型(左)与LIF模型(右)进行模拟的结果,可以发现相较于HH模型,LIF神经元只建模了膜电位缓慢上升的过程,保留了其脉冲发放的特性,从而只有单一的脉冲发放模式(缺少如适应性发放、簇发放等发放模式)。同时在发放脉冲后,生物神经元会进入一段时间的“不应期”,即神经元在发放动作电位后的一段时间内不会再兴奋,而LIF神经元并不能很好的建模该特性。
3.人工神经元模型
联想回高中的线性规划,例如在二维平面上存在着许多不同的散点,如下图所示,蓝点与橙点是不同种类的散点。为了分别二个种类,可通过线性函数,即图中红色线条所示,而该线条数学公式则为
y
=
w
x
+
b
y=wx+b
y=wx+b。
而将图中想象更高的维度,并存在着许多散点,如何才能找到一个函数将2或更多种类的数据进行区分?这也就是深度学习中的分类任务,而每一个散点都对应为一条数据。
在人工智能中,数据可以视作由多个维度组成的输入,如一张图片通过各种图形变换,可以得到一个矩阵,如下图所示。由于该图形为灰度图,所以该矩阵形状可以视作
R
H
×
W
R^{H\times W}
RH×W,其中,
H
H
H与
W
W
W可以分别视作图形的高(height)与宽(width)。
仍然以这样一张二维图像为例,若要将其输入到神经网络中,其对应的维度空间为
H
×
W
{H\times W}
H×W,神经网络训练的过程便是由随机的初始状态,在该空间中通过散点的分布去不断拟合的过程。
以神经元尺度为例,如下图所示,首先通过线性变化,当输入的维度为3时,输入
X
=
[
x
0
x
1
x
2
]
X=\begin{bmatrix} x_0\\ x_1 \\ x_2 \end{bmatrix}
X=⎣⎡x0x1x2⎦⎤,权重类比于二维平面,输出
Y
=
[
y
0
y
1
y
2
]
Y=\begin{bmatrix} y_0\\ y_1 \\ y_2 \end{bmatrix}
Y=⎣⎡y0y1y2⎦⎤,为方便显示,本文不讨论矩阵转置,并默认矩阵乘法为点乘。
可是若神经网络中只存在线性变换,那么则有
Y
=
[
y
0
y
1
y
2
]
=
W
0
W
1
W
2
X
+
b
=
W
′
X
+
b
Y=\begin{bmatrix} y_0\\ y_1 \\ y_2 \end{bmatrix}=W_0W_1W_2X+b=W^{\prime}X+b
Y=⎣⎡y0y1y2⎦⎤=W0W1W2X+b=W′X+b,最终结果仍为一次线性变换的结果。因此,前人引入了激活函数的概念,即图中的
h
(
∙
)
h(\bull)
h(∙)函数,该函数一般为非线性函数,从而使得神经网络具有更高的变化性。
讨论与总结
通过对生物到人工神经元的过渡,其在神经元尺度下存在着的本质区别总结如下:
生物神经元由于存在着各种离子门控、化学递质以及树突连接的复杂性,并不是人工神经元的简单线性求和与单一的激活函数。有研究表明(参考2021年发表在Neurons上的Single cortical neurons as deep artificial neuron networks),单个生物神经元的复杂信息处理结果大约需要5-8层的深度神经网络才能准确拟合出其脉冲输出发放。生物神经元具有高度的时间相关性,在接受外部输入时往往会与其上一时刻以及下一时刻产生联系,而神经元之间又在空间层面上产生了联系。而人工神经网络属于数据驱动类型,单个神经元尺度下是对于数据集中的部分维度进行拟合,因此,数据集的大小与好坏与人工神经网络训练的结果具有直接关系。相较于人工神经网络,生物神经网络具有更低功耗。笔者认为其主要原因有三点:(1)生物神经元之间的脉冲发放具有稀疏性,在脑区中每个时刻神经脉冲的发放相较于整体神经网络占比极少,因此具有稀疏性。(2)生物神经元之间的连接较为稀疏,相较于人工神经网络中较为常见的全连接模式,生物脑中从幼儿发育开始,树突在各种化学分子的影响下向着特定方向发展,同时,由赫布学习法则,突触在不断的动态变化过程中进行,因此神经元之间的突触连接会进行一定的剪枝操作,减少无用信息之间的交流。(3)生物神经元之间采用脉冲的形式进行信息传递,可以理解为计算机中的0或1的二进制,而计算机中的浮点计算要复杂的多,需要更加精确。
同时二者之间也存在着部分联系,总结如下:
人工神经元是受生物神经元启发的结果,其整体均可分为输入-处理-输出三个部分,其内部权重连接数学上可以理解为对数据集的拟合过程如本文所述,同时也可理解为生物中的突触可塑性,其权重大小代表其连接强度。
反向传播(Back Propagation, BP)算法一直认为是人工神经网络中为了提高计算效率而独有的算法。然而,有研究表明,在单神经元尺度下,脉冲发放并不总是单向的,细胞体也有可能通过各种方式调控其树突输入,笔者认为这与局部的反向传播算法有着一定关系。
人工神经网络的大模型的“涌现”的特质,展现出一定的智能。什么是智能?笔者认为能对所得到的输入进行相应的归纳总结并产生相应的操作,也就是理解,便可认为是一种广泛的智能。
如语言大模型中的涌现特质,能够对部分信息输入进行自发的总结归纳并产生相应的语言输出,即便是部分语法错误并不影响其对句子本身含义的理解,笔者认为其内部能学习到一定的语言形成中的关键特性。而生物可以根据所处环境进行交互,通过视觉等信息输入,经过编码融合,也就是信息整合,随后发放不同种类的化学分子或电信号,从而做出相应的反应,在生物个体层面而言体现出一定的智能。
同样的,如果推广到群体,如蚂蚁等动物群体也会产生一定的智能,仿照蚁群的模式,前人构建了蚁群算法。而神经元群数量到达一定程度,也就形成了大脑,也就是“量变引起质变”。因此,笔者总结智能产生的原因为:是群体且到达一定数量,个体之间产生联系,并经过一段时间的迭代后会产生智能。
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。