讲解人工神经网络的基本模型:M-P模型。

为了尽早上完研究生课程,这学期把明年的课也提前选上了。这其中包括了人工神经网络(ANN)这门课。说句实话压力还是挺大的,按照正常的上课顺序是先上模式识别,然后再上人工神经网络这门课。因此有些知识点是在研二下学期的模式识别先讲的,但我现在就必须提前接触了。加上第一节课因为有些原因没去上,到了第二节课开始讲感知器的时候我整个就懵了,很多内容都听不懂。下周我还要被安排去讲BP,为了不丢脸,只好拼命恶补了。

博客是一个非常适合总结最近所学的东西的地方,所以就先从M-P模型开始说起吧。

什么是M-P模型

所谓M-P模型,其实是按照生物神经元的结构和工作原理构造出来的一个抽象和简化了的模型。简单点说,它是对一个生物神经元的建模。它实际上是两位科学家的名字的合称,1943年心理学家W.McCulloch和数学家W.Pitts合作提出了这个模型,所以取了他们两个人的名字(McCulloch-Pitts)。类似这样合作取名的情况很普遍,比如安全学里著名的RSA非对称加密算法,就是由Rivest、Shamir和Adleman三位大神合作的。在The Bigbang Theory里,我们的Sheldon同志就找到了诺贝尔奖得主Dr.Smoot希望进行合作,瞧瞧他的伟大计划:

生物神经元的结构

在谈M-P模型的内容之前,我们先得了解一下人脑中的神经元的结构,然后再研究M-P对人脑的神经元是如何建模的。右图是一张生物神经元的简化示意图。

神经元在结构上由细胞体、树突、轴突和突触4部分组成。

(1)细胞体

细胞体是神经元的主体,由细胞核、细胞质和细胞膜3部分组成。细胞体的外部是细胞膜,将膜内外细胞液分开。由于细胞膜对细胞液中的不同离子具有不同的通透性,这使得膜内外存在着离子浓度差,从而出现内负外正的静息电位。这种电位差称为膜电位

(2)树突

从细胞体向外延伸出许多突起的神经纤维。负责接收来自其他神经元的输入信号,相当于细胞体的输入端(input)

(3)轴突

由细胞体伸出的最长的一条突起称为轴突。轴突比树突长而细。轴突也叫神经纤维,末端处有很多细的分支称为神经末梢,每一条神经末梢可以向四面八方传出信号,相当于细胞体的输出端(output)

(4)突触

一个神经元通过其轴突的神经末梢和和另一个神经元的细胞体或树突进行通信连接,这种连接相当于神经元之间的输入/输出接口(I/O),称为突触。

突触使神经细胞的膜电位发生变化,且电位的变化是可以累加的,单个神经元可以与多达上千个其他神经元的轴突末梢形成突触连接,接受从各个轴突传来的脉冲输入。这些输入可到达神经元的不同部位,输入部位不同,对神经元影响的权重也不同。输入部位不同,该神经细胞膜电位是它所有突触产生的电位总和,当该神经细胞的膜电位升高到超过一个阈值时,就会产生一个脉冲,从而总和的膜电位直接影响该神经细胞兴奋发放的脉冲数。

神经元的信息是宽度和幅度都相同的脉冲串,若某个神经细胞兴奋,其轴突输出的脉冲串的频率就高;若某个神经细胞抑制,其轴突输出的脉冲串的频率就低,甚至无脉冲输出。因此,突触可以分为兴奋性和抑制性两种,兴奋性的突触可能引起下一个神经细胞兴奋,抑制性的突触使下一个神经细胞抑制。脉冲的传递是正向的,不允许逆向传播。另外,突触传递信息需要一定的延迟

关于上面的电位变化过程,我一直在想用一个更加通俗易懂的模型1 图 1 水桶与神经元来介绍。我们可以把一个神经元想象成一个水桶,这个水桶侧边接着很多条水管(神经末梢),水管既可以将桶里的水输出去(抑制性),也可以将其他水桶的水输进来(兴奋性)。当桶里的水达到一个高度时,就会通过另一条管子(轴突)将水输送出去。由于水管的粗细不同,对桶里的水的影响程度(权重)也不同。水管对水桶里的水位的改变(膜电位)自然就是这些水管输水量的累加。当然,这样来理解并不是很完美,因为神经元中的信号是采用一个个脉冲串的离散形式,而这里的水则是连续的。

关于权值的理解,还有人做出一个非常形象的比喻。比如现在我们要选一个餐厅吃饭,于是对于某一个餐厅,我们有好几种选择因素e.g.口味、位置、装潢、价格等等,这些选择因素就是输入,而每一个因素占的比重往往不同,比如我们往往会把口味和价格放在更重要的位置,装潢和位置则稍微不那么重要。很多个候选餐厅的选择结果最终汇总之后,就可以得到最后的决策。

综上所述,我们可以概括出生物神经网络的假定特点:

  1. 每个神经元都是一个多输入单输出的信息处理单元;
  2. 神经元输入分兴奋性输入抑制性输入两种类型;
  3. 神经元具有空间整合特性阈值特性
  4. 神经元输入与输出间有固定的时滞,主要取决于突触延搁。图 2 M-P模型示意图

M-P模型

按照生物神经元,我们建立M-P模型。为了使得建模更加简单,以便于进行形式化表达,我们忽略时间整合作用、不应期等复杂因素,并把神经元的突触时延和强度当成常数。图2就是一个M-P模型的示意图。

那么接下来就好类比理解了。我们将这个模型和生物神经元的特性列表来比较:

结合M-P模型示意图来看,对于某一个神经元 \(j\) (注意别混淆成变量了,在这里 \(j\) 只是起到标识某个神经元的作用),它可能接受同时接受了许多个输入信号,用 \(\chi_{i}\) 表示,前面说过,由于生物神经元具有不同的突触性质和突触强度(水管粗细不同),所以对神经元的影响不同,我们用权值 \(\omega_{ij}\) 来表示,其正负模拟了生物神经元中突出的兴奋和抑制(进水和出水),其大小则代表了突出的不同连接强度。由于累加性,我们对全部输入信号进行累加整合,相当于生物神经元中的膜电位(水的变化总量),其值就为:

\[ net'_j(t)=\sum_{i=1}^n\omega_{ij}\chi_{i}(t) \]

神经元激活与否(外接专用水管流出与否)取决于某一阈值电平(水位高度),即只有当其输入总和超过阈值 \(T_{j}\) 时,神经元才被激活而发放脉冲,否则神经元不会发生输出信号。整个过程可以用下面这个函数来表示: \[o_{j}(t+1) = f\{[\sum_{i=1}^n\omega_{ij}\chi_{i}(t)]-T_{j}\}\]

由此我们可以得到总结出M-P模型的6个特点:

  1. 每个神经元都是一个多输入单输出的信息处理单元;
  2. 神经元输入分兴奋性输入抑制性输入两种类型;
  3. 神经元具有空间整合特性阈值特性
  4. 神经元输入与输出间有固定的时滞,主要取决于突触延搁;
  5. 忽略时间整合作用和不应期;
  6. 神经元本身是非时变的,即其突触时延和突触强度均为常数。

前面4点和生物神经元保持一致。结合公式(2)来看,公式(2)中的输入 \(x_{i}\) 的下标 \(i = 1,2,...,n\) ,输出 \(o_{j}\) 的下标 \(j\) 体现了第1个特点“多输入单输出”;权重值 \(\omega_{ij}\) 的正负体现了第2个特点中“突触的兴奋与抑制”; \(T_{j}\) 代表第3个特点 中的阈值,当 \(net'_j(t)-T_j > 0\) 时,神经元才能被激活;为了简单起见,对膜电位的 计算 \(net'_j(t)\) 并没有考虑时间整合,只考虑了空间整合,即只对每条神经末梢传来的信 号根据权重进行累加整合,而没有考虑输入输出间的突触时延。体现了第5个特点。

如果 \(\chi_0 = -1\) , \(\omega_{0j} = T_j\) ,则有 \(-T_j = \chi_0\omega_{0j}\) 。

公式(1)和(2)还可以简化成公式(3)和(4)的形式:

\[net'_j = W_j^TX\]

\[o_j = f(net_j) = f(W_j^TX)\]