1 生物神经元网络的基本原理
1.1 生物神经元
神经元即神经细胞是构成生物神经系统的结构和功能的最基本单元。它由细胞体、树突和轴突组成。树突是从细胞体向外延伸出的树状突起,其感受作用,接收来自其他神经元的传递信号。由细胞体审查处的一条最长的突起叫树突,用来传出细胞体产生的输出电信号。
细胞体相当于一个初等处理器,它对来自其他神经元的神经信号进行总体求和,如果求和的结果足够大,则产生一个神经输出信号。
兴奋过程
当膜电位比静息电位高出约20mV时,该细胞被激活,其膜电位自发地急速升高,然后又急速下降,回到静息时的值,这一过程成为细胞的兴奋过程。兴奋的结果就是产生一个幅值在100mV左右,宽度为1ms的电脉冲,这个脉冲又叫神经的动作电位。
不应期
当细胞体产生一个电脉冲后,即使受到很强的刺激,也不会立刻产生另一个动作电位,这段时间叫做绝对不应期。当绝对不应期过后,暂时性阈值升高,要激活这个细胞需要更强的刺激,这段时间成为相对不应期。绝对不应期和相对不应期合称为不应期。
生物电信号通过突触传递的过程
由于电脉冲的刺激,前突触会释放出一些神经递质,这些神经递质通过突触间隙扩散到后突触,并在突触后膜与特殊的受体结合,改变了后膜的离子通透性,使膜电位发生变化,产生生理反应。
神经元的整合功能
一个神经元是把来自不同的树突的兴奋性和抑制性输入信号累加求和进行整合。神经元的整合功能是一种时空整合。当神经元经时空整合产生的膜电位超过阈值时,神经元产生兴奋性电脉冲,处于兴奋状态;否则无电脉冲产生,处于静息状态。
1.2 生物神经元网络的结构
脑神经系统组织结构的基本特征
- 大量神经细胞同时工作;
- 分布处理;
- 多数神经细胞是以层次结构的形式组织起来的;
- 不用功能区的层次组织结构存在差别。
2 人工神经元网络的基本原理
2.1 人工神经元
人工神经元相当于一个多输入单输出的非线性阈值器件。如果输入信号的加权和超过阈值θ,则人工神经元被激活。阈值θ一般不是一个常数,它随着神经元的兴奋程度而变化。
激活函数
激活函数可归纳为三种形式:
- 阈值型:阶跃响应函数,特性硬。
- S型:Sigmoid响应特性激活函数,输出特性比较软,输出状态的取值范围为[0,1]或[-1,+1],硬度由λ调节。
- 线性型
人工神经元的特点
- 神经元是一对多输入、单输出元件。
- 它具有非线性的输入、输出特性。
- 它具有可塑性,其塑性变化的部分主要是权值的变化。
- 神经元的输出响应是各个输入值的综合作用结果。
- 输入分为兴奋型(正值)和抑制型(负值)两种。
2.2 人工神经元网络模型
神经元网络对信息处理的快速性和强有力的学习记忆功能是由其大规模的并行工作方式、非线性处理、网络结构的可变性等固有结构特性决定的。
人工神经元通过一定的结构组织起来,就可以构成人工神经元网络。根据拓扑结构的不同,人工神经元网络可分为:
- 分层网络
- 互相连接型网络
分层网络
所有神经元按功能分为输入层、中间层(隐含层)和输出层。中间层可以有多层,也可以没有。
分层网络又可以细分为:
- 简单的前向网路。如BP网络。
- 具有反馈的前向网络:反馈的回路形成闭环,与生物神经元网络结构相似。
- 层内有互相连接的前向网络:层内单元互相连接,彼此牵制。
相互连接型网络
网络中任意两个单元之间都是可以互相连接的。但是在相互连接网络中,对于给定的输入模式,网络由某一初始状态出发开始运行,在一段时间内网络处于不断更新输出状态的变化过程中,设计的好最终会产生某一稳定的输出模式,设计得不好,也可能会进入周期性振荡或发散状态。
神经元网络的主要特点
- 并行处理的结构
- 可塑性的网络连接
- 分布式的存贮记忆
- 全方位的互连
- 群体的集合运算
- 强大的非线性处理能力
前向网络
激活值是标量,是输入矢量和权矢量之积。前向网络没有反馈,可以连成多层网,前向网络一般是有监督的学习,可以从误差信号来修正权值,直到误差小于允许范围。
反馈网络
反馈网络实际上是将前馈网络中输出层神经元的输出信号经延时后再送给输入层神经元而成。
相互结合型网络
各个神经元都可能相互双向联接,所有神经元既作为输入,同时也用作输出。这种网络如果在某一时刻从外部加一个输入信号,各个神经元一边互相作用,一边进行信息的处理,直到收敛于某个稳定值为止。
混合型网络
前向网络的同一层间各个神经元又有互连的结构。
2.3 神经元网络的学习方式
学习方式有:
- 有监督
- 无监督
- 强化学习
2.4 神经元网络的学习规则
神经元网络最大的特点就是它有学习的能力。在学习的过程中,主要是网络的连接权的值产生了相应的变化,学习到的内容也是记忆在连接权之中。
2.4.1 Hebb学习规则
学习信号r等于神经元的输出。适合于前馈无监督学习。
2.4.2 Perceptron学习规则
有监督学习,学习信号是期望信号与神经元实际响应之差。这个规则仅能用于双极二进制神经响应。在这一规则下,仅当实际输出不正确的情况下才进行权调整,误差是学习的必要条件。
2.4.3 Delta学习规则
仅对连续激活函数,并支队有监督学习模型有效。
2.5 神经元网络的处理信息的能力
- 分类
- 联想
- 识别
- 归纳概括
2.6 神经元网络的优点与缺点
神经网络的主要优点是它们能够处理复杂的非线性函数,并且能发现不同输入间依赖关系。神经网络也允许增量式训练,并且通常不要求大量空间来存储训练模型,因为它们需要保存的仅仅是一组代表突触权重的数字而已。同时,也没有必要保留训练后的原始数据,这意味着,可以将神经网络用于不断有训练数据出现的应用之中。
神经网络的主要缺点在于它是一种黑盒方法。在现实中,一个网络也许会有数百个节点和上千个突触,这使我们很难确知网络如何得到最终的答案。可是无法确知推导的过程对于某些应用而言,也许是一个很大的障碍。
神经网络的另一个缺点是,在训练数据的比率及与问题相适应的网络规模方面,没有明确的规则可以遵循。最终的决定往往需要依据大量的试验。选择过高的训练数据比率,有可能会导致网络对噪音数据产生过度归纳(overgeneralize)现象,而选择过低的训练比率,则意味着除了我们给出的已知数据外,网络有可能就不会再进一步学习了。
3 感知机模型网络
3.1 感知机网络结构
通常由:
- 感知层Sensory
- 连接层Association
- 反应层Response
A层至R层的连接权是通过学习来确定的,这些连接权在初始化时去[-1,+1]区间内的随机值。
3.2 感知机学习过程
- 初始化,将A层至R层的连接权向量及输出单元的阈值赋予[-1,+1]区间内的随机值。
- 随机选取一输入模式加到网络的输入端。
- 计算网络的实际输出,使用双击阶跃函数作为激活函数。
- 计算输出层单元的希望输入与实际输出之间的误差
- 修正A层各单元与输出层R之间的连接权与阈值
- 返回第2步,直到m个输入模式全部计算完
- 返回第2步,反复学习,直到误差趋于零或小于预先给定的误差限。
3.3 感知机网络的局限性
不适用于非线性输入模式的分类。如异或问题。
4 多层网络的误差逆传播校正方法
4.1 误差逆传播校正方法
误差逆传播校正方法是利用实际输出与期望输出之差对网络的各层连接权由后向前逐层进行校正的一种计算。BP网络的学习规则是一种Delta学习规则,即利用误差的负梯度来调整连接权,使其输出误差单调减少。
这里应注意,BP网络的学习规则实现的是学习模式集合上平方和误差E的梯度下降,而不是特定某个模式分量的绝对误差的梯度下降。因此,在每次校正网偶,网络输出端的误差对于某些神经元来说也有可能增加,但在进行多次反复计算后,其误差还是应该变小的。
4.2 BP网络的学习规则与计算方法
BP网络的学习过程主要有四部分组成:
- 输入模式顺传播(输入模式由输入层经中间层像输出层传播计算)
输出误差逆传播(输出的误差由输出层经中间层传向输入层)。
调整量与误差成正比,与输入值的大小成比例,与学习系数成正比。循环记忆训练(模式顺传播与误差逆传播的计算过程反复交替循环进行)
对于BP网络输入的每一组训练模式,一般要经过数百次甚至上万次的循环记忆训练,才能是网络记住这一模式。学习结果判别(判定全局误差是否趋向极小值)
每次循环记忆训练结束后,都要进行学习结果的判别,主要检查输出误差是否已经小于允许的程度。其收敛过程有两个缺陷:- 收敛速度慢
- 存在“局部极小值”问题。适当改进BP网络中间层的单元个数,或者给每个连接权加上一个很小的随机数,都有可能使收敛过程避开局部极小点。能够保证网络收敛于全局最小值的有效办法就是随机学习算法。
4.3 BP网络算法步骤
4.4 BP网络隐含层结构
实例结果表明: 双隐层网络的两个隐层节点数相近时, 网络训练效果最好。 由 Komogorov 定理, 对于任意连续函数, 可以由一个三层网络来精确实现它, 其中网络第一层有 m 个单元, 中间层有 2m+1单元;三层有 n 个单元. 此定理保证三层网络可以精确地实现任意连续函数,且提到了隐含层节点数目,故而单隐含层 BP网可以解决大部分问题。 实际上,隐含层单元数,主要取决于问题复杂程度而非样本数,只是复杂的问题都需要大量的样本。
另外,通过实验发现规律:当隐含层节点数取输入层节点数和输出层节点数之间的值时,尤其当靠近输入节点数时,网络收敛速度较快. 隐层节点数太少时,学习过程不收敛;但隐含层节点数太多时,网络映射能力增强,局部最小点越少,越容易收敛到全局最小点,却致使学习时间长,且网络容易训练过渡,此时导致网络不仅记住了学习样本一般特征而且记住了个别特征(如随机噪声)导致网络容错性降低。
在实际工程应用中,上述经验公式也仅仅作为参考,具体在设计网络结构时,还需要进行试凑,结合经验公式以缩短BP网络结构的研制周期。当隐含层数难以确定时,可以先选较多的隐含层单元数,待学习完成后,再逐步减少一些隐含层单元,使网络更精简。