前言
本系列主要讲述人工神经网络基础知识,并结合数学公式与生物模型,对比分析人工智能与生物计算的区别与联系。鄙人不才,所有观点与想法均为笔者所理解内容,同时所有图表均为网络搜寻图片,请尊重原创,欢迎大家批评指正。
神经元模型
本文从生物神经元入手,由生物神经元模型逐步过度到人工神经元模型,并讨论其演变过程
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)算法一直认为是人工神经网络中为了提高计算效率而独有的算法。然而,有研究表明,在单神经元尺度下,脉冲发放并不总是单向的,细胞体也有可能通过各种方式调控其树突输入,笔者认为这与局部的反向传播算法有着一定关系。
-
人工神经网络的大模型的“涌现”的特质,展现出一定的智能。什么是智能?笔者认为能对所得到的输入进行相应的归纳总结并产生相应的操作,也就是理解,便可认为是一种广泛的智能。
如语言大模型中的涌现特质,能够对部分信息输入进行自发的总结归纳并产生相应的语言输出,即便是部分语法错误并不影响其对句子本身含义的理解,笔者认为其内部能学习到一定的语言形成中的关键特性。而生物可以根据所处环境进行交互,通过视觉等信息输入,经过编码融合,也就是信息整合,随后发放不同种类的化学分子或电信号,从而做出相应的反应,在生物个体层面而言体现出一定的智能。
同样的,如果推广到群体,如蚂蚁等动物群体也会产生一定的智能,仿照蚁群的模式,前人构建了蚁群算法。而神经元群数量到达一定程度,也就形成了大脑,也就是“量变引起质变”。因此,笔者总结智能产生的原因为:是群体且到达一定数量,个体之间产生联系,并经过一段时间的迭代后会产生智能。
产生一定的智能,仿照蚁群的模式,前人构建了蚁群算法。而神经元群数量到达一定程度,也就形成了大脑,也就是“量变引起质变”。因此,笔者总结智能产生的原因为:是群体且到达一定数量,个体之间产生联系,并经过一段时间的迭代后会产生智能。