文章目录

正如生物的神经元式神经系统的最小功能单元,在人工神经网络(ANN)中,神经元也是所有大型网络的最基础的功能单元。每一个神经元“细胞”都可以看成最小的神经网络,可以接受输入、更新参数,并输出一个结果。由许多这样的小“细胞”,最终构成了各种复杂庞大的神经网络。

人工神经网络发展到现在,神经元的模型基本已经固定了。常见的结构就是类似感知机模型的形式,这种结构由McCulloch和Pitts于1943年提出,因此也被成为M-P神经元。http://blog.halashuo.cn/607/中提到的Rossenblatt的感知机模型实际上就是来源于M-P神经元。然而近年来,另一种更加接近人脑的生物学属性的神经网络模型,即脉冲神经网络也得到了发展。脉冲神经网络采用了和常用的感知机模型形式的神经元不同的结构,用以模拟神经网络细胞的生物电位。由于现阶段仍然是M-P神经元的改进版本应用最广泛,因此本文着重讨论该类型的神经元结构。

M-P神经元结构

M-P神经元结构如图所示。其中,$x=(x_1,x_2,\cdots,x_n)$代表所有输入该神经元节点的信号,$w=(w_1,w_2,\cdots,w_n)$代表该神经元与个输入信号之间的连接上的权重,该权重参数是神经元本身的性质,在训练时更新,在测试时保持不变。图中的$\theta$表示该神经元的语支,即只有$w^Tx$的结果超过该阈值,才会对输出产生影响。$\theta$也是一个待学习的参数。

M-P神经元结构

      将该神经元的计算过程用数学形式表示为:

\begin{cases}
z=w^Tx \\
y=sgn(z-\theta) \\
\end{cases}

$sgn( · )$是符号函数,这里作为提供非线性的激活函数(Activation Function),其形式为:

$$
sgn(x) =
\begin{cases}
-1, & \text{x$\lt$0} \\
+1, & \text{x$\ge$0}
\end{cases}
$$

这就是M-P神经元的基本结构。其具有如下几个特点:首先,它是一个多输入单输出的结构单元,这也就表明它具有一定的空间整合能力,将来自不同输入链接的上级神经元的输出进行整合,并形成新的输出结果;其次,他的阈值设定也模拟了生物体内神经元的动作电位,或者称为神经冲动中的阈电位的机理,使其具有更好的适应性;最后,神经元各路输入上的权重$w_i$取值可正可负,且绝对值可大可小,均通过数据训练得到。这里的$w_i$的政府就代表着一路上传来的信号时兴奋性的还是抑制性的,这两种类型的输入在生物的神经元中也是普遍存在的。

如果单纯第从数学角度来看,回想感知机模型的物理意义,这里的神经元通过连接权值对输入进行整合并进行阈值处理的结果,就是计算输入向量$x$与法向量$w$,截距为$-\theta$的超平面的距离(含有正负号,表示分别在超平面的两侧)。神经元输出结果实际上就是利用了一个非线性函数,可以将神经元的结构稍作修改,如图所示:

修改后的M-P神经元的表示方法

 

从上图中可以直接看出神经元所进行的数学操作。另外,用f表示神经元的激活函数,在感知机结构中,f采用的是符号函数sgn( · )。

以上就是M-P神经元的基本结构。这种形式的神经元是目前最常见和使用最广泛的。

脉冲神经网络神经元

感知机模型通常被称为第一代神经网络,采用BP算法的神经网络被称为第二代神经网络(也是现在最常见的),而这里将要介绍的脉冲神经网络被誉为第三代神经网络或者下一代神经网络。和第二代神经网络相比,脉冲神经网络的工作机制与人脑的生物学神经网络更为接近,因而也常被称为“类脑智能”。人们普遍认为,在该框架下,人工智能可以更好地与神经科学相结合,从而更深层次地揭示智能的本质。

脉冲神经网络的神经元结构与MP神经元有很大的不同。如下图所示,脉冲神经网络的输入和输出都是一个脉冲序列(Spike Train),而非MP神经元中的连续数值。每个脉冲的幅度都是一样的,因此只能用“有脉冲”和“无脉冲”来表示0或1两个状态。而脉冲序列是一个时间序列,脉冲出现的位置代表时刻,因此,脉冲神经网络用脉冲序列作为输入\输出并没有损失信息,而是将信息储存在了时序之中。这也与生物神经网络结构类似。

脉冲神经元

那么,脉冲神经元如何对输入的脉冲序列进行整合并输出一个新的脉冲呢?这里仍然采用了类似生物体神经细胞的方式,即在神经元上维持一个膜电位的变量。

膜电位的建模也有不同的方式。这里介绍一种常用的建模方式,即LIF(Leaky Integrate and Fire,带泄露积分触发)模型。在该模型中,膜电位具有整合、泄露即产生脉冲的功能。具体来说,在初始状态时,膜电位保持为零,当接触到某一个输入在时刻t0的脉冲刺激时,膜电位就会产生累加效应,累加的电位的量有该输入连接上的权重(也称为突触影响,即Synapitc Influence)决定。但是由于脉冲是瞬时的,并不具有时间长度,因此在没有输入脉冲时,膜电位会有一定程度的泄露。在膜电位累加过程中,当膜电位从下往上到达某个阈值后,就会被重置到一个较低的值,同时产生一个脉冲作为输出,这就是神经元的激活(Fire)。

如图所示,向上的箭头表示在某个时刻接收到了某个输入脉冲序列中的一次脉冲;中间的曲线表示膜电位的变化;而上方的脉冲则表示膜电位到达了阈值,产生了输出。

脉冲神经元的膜电位

       虽然脉冲神经网络理论上来说具有很多已有神经网络不具备的优势,然而由于其脉冲形式不连续,因此对其进行求导和训练有一定的难度。现在已经有了一些方法用来对脉冲神经网络进行训练,但是总体来说,还没有一个像BP算法那样有效而通用的方式来对网络进行训练。

另外,在现在通用的第二代神经网络中,无论是图像、语音还是其他信号,都可以直接作为连续的实数值输入网络进行操作。然而对于脉冲神经网络来说,如何将待处理的信号编码为一系列的脉冲,并且对输入的脉冲进行解码,也是一个很大的问题。现有的方法中,有的将数值大小编码为某一时间段内的脉冲的频率,有的将数值和脉冲的时延相对应等。但是由于神经科学中神经编码的本质仍在研究当中,因此关于脉冲神经网络的编码问题仍然需要进一步的研究。

总体来说,现阶段的脉冲神经网络在实践中和现在流行的第二代神经网络仍有一定的距离,暂时还未达到实用化的水平,但是其理论上的优势使其具有较大的潜力,有望在未来为人工智能的发展找到一条新的路径。