人工神经网络
1 人工神经网络结构
1.1 概述
- 人工神经网络是利用物理器件来模拟生物神经网络的某些结构和功能。
- 人工神经网络在本质上是由许多小的非线性函数组成的大的非线性函数,反映的是输入变量到输出变量间的复杂映射关系。
- 人工神经网络是一个并行和分布式的信息处理网络结构,该网络结构一般由许多个神经元组成,每个神经元有一个单一的输出,他可以连接到很多其他神经元,其输入有多个连接通路,每个连接通路对应一个连接权系数。
- 人工神经元是人工神经网络的基本单元。依据生物神经元的结构和功能,可以把他看作一个多输入单输出的非线性阈值器件。
1.2 结构
人工神经网络分为层状结构和网状结构。因为单个人工神经元不能完成输入信号的处理,所以需要按照一定的规则连成网络,并让网络中的每个神经元的权值和阈值按照一定的规则变化,才能实现一定的功能要求。
1.2.1 层状结构
由若干层组成,每层中有一定数量的神经元,相邻层中神经元单向连接,一般同层内的神经元不能连接。
1.2.2 网状结构
-
前馈网络(前向网络)
- 不含反馈的前向网络结构如图1.1所示。网络中的神经元分层排列,接受输入量的神经元节点组成输入层,产生输出量的神经元节点组成输出层,中间层亦称为隐层。每一层的神经元只接受前一层神经元的输入,输入向量经过各层的顺序变换后,由输出层得到输出向量。
图1.1 前向神经网络
- 不含反馈的前向网络结构如图1.1所示。网络中的神经元分层排列,接受输入量的神经元节点组成输入层,产生输出量的神经元节点组成输出层,中间层亦称为隐层。每一层的神经元只接受前一层神经元的输入,输入向量经过各层的顺序变换后,由输出层得到输出向量。
-
反馈前向网络
从输出层到输入层有反馈的前向网络简称为反馈神经网络,如图1.2所示。网路中的神经元也是分层排布,但是输入层神经元在学习过程中接受输出层神经元或部分输出层神经元的反馈输入。-
图1.2 反馈神经网络
-
-
层内有相互结合的前向网络
每一层的神经元除接受前一层神经元的输入之外,也可接受同一层神经元的输入,如图1.3所示。通过层内神经元的相互结合,可以实现同层神经元之间的抑制或兴奋机制,从而可以限制一层内能同时动作的神经元的个数。图1.3 层内结合神经网络 -
相互结合型网络
任意两个神经元之间都可能有连接,在不含反馈的前向网络中,输入信号一旦通过某个神经元就将输出这个信 传递,网络处于一种不断改变状态的动态之中,如图1.4所示。从某初态开始,经过若干次的状态变化,网络才会到达某种稳定状态,根据网络的结构和神经元的映射特性,网络还有可能进入周期振荡或其他平衡动态号的变换值。图1.4 相互结合神经网络
2 人工神经网络特征
- 非线性
非线性关系是自然界的普遍特性,人工神经元处于兴奋或抑制两种不同的状态,这种行为在数学上表现为一种非线性关系。具有阈值的神经元构成的网络具有更好的性能,可以提高容错性和存储容量。 - 非局限性
一个神经网络通常由多个神经元广泛连接而成,一个系统的整体行为不仅取决于单个神经元的特征,而且可能主要由单元之间的相互作用、相互连接所决定。通过单元间的大量连接模拟大脑的非局限性。联想记忆是非局限性的典型。 - 非常定性
人工神经网络具有自适应、自组织、自学习能力。神经网络不但处理的信息可以有各种变化,且在处理信息的同时,非线性动力系统本身也在不断变化。经常采用迭代过程描写动力系统的演化过程。 - 非凸性
一个系统的演化方向,在一定条件下取决于某个特定的状态函数。如能量函数,她的极值相应于系统比较稳定的状态。非凸性是指这种函数有多个极值,故系统具有多个较稳定的平衡态,将导致系统演化的多样性。
3 神经元建模的假设
- 每个神经元都是一个多输入单输出的信息处理单元。
- 神经元输入分兴奋输入和一致性输入。
- 神经元具有空间整合特性和阈值特性。
- 神经元输入与输出之间有固定的时滞,主要取决于突出延搁。
- 忽略时间整合作用和不应期。
- 神经元本身是非时变的,即其突出时延和突触强度均为常数。
4 人工神经元模型(M-P模型)
- M-P神经元模型
人工神经网络的基本处理单元,对全部输入依据不同权重进行整合,以确定各类输入的作用效果,图4.1表示组合输入的“总和”,相当于生物神经元的膜电位,神经元是否**取决于某一阈值电平,即只有当输入总和超过阈值时,神经元才被**二发放脉冲,否则神经元不会产生输出信号。图4.1 M-P神经元模型 - 数学模型:
其中,
:第i个神经元的输入;
:神经元i到神经元的j权重至;
:神经元的阈值;
:神经元的**函数(转移函数);
:神经元j的输出;
5 **函数
5.1 作用
**函数是用来引入非线性因素的。网络中仅有线性模型的话,表达能力不足。如果一个多层的线性网络,其表达能力和单层的线性网络是相同的,网络中卷积层、池化层和全连接层全是线性的,所以,需要在网络中引入非线性的**函数层。
5.2 特性
- 非线性:弥补线性模型的不足。
- 处处可导:反向传播时需要计算**函数的偏导数,所以需要**函数除个别点外,处处可导。
- 单调性:当**函数是单调的时候,单层网络能够保证是凸函数。
- 输出值的范围:当**函数输出值是有限的时候,基于梯度的优化方法会更加稳定,因为特征的表示受有限权值的影响更加显著,当**函数的输出为无限的时候,模型的训练会更加有效,不过这种情况下,一般需要更小的learning rate。
- 常见**函数
sigmod、tanh、relu,其中Relu效果最好,使用较广泛。
5.3 **函数实例
- 使用MatLab绘制**函数图像。
- 阈值型**函数
图5.1 阈值型**函数 - 非线性**函数(sigmod)
图5.2 非线性**函数 - 双曲正切**函数
图5.3 双正切**函数 - Relu(Rectified Linear Units)**函数
图5.4 Relu**函数
6 术语解析
- 网络训练
要使网络模型实现某种功能,必须对他进行训练,让他逐步学会要做的事情,并把所学到的知识记忆在网络的权值(weight)中,人工神经网络权值的确定不是通过计算,而是通过网络的自身训练来完成。调整权重类似于智能过程,网络最重要的信息存在于调整过的权重之中。于是,神经网络的关键在于如何决定每一神经元的权值。 - 网络学习
神经网络模型是怎样确定最后的权重值,即学习的过程,相应的由很多学习准则,网络的训练和学习是一起讨论的,都是通过训练集获取权重,完成模型训练。
由于训练网络权值的原理不同,从而形成各种各样的神经网络学习规则。常用规则有Hebb、感知器(Perceptron)Delta、反向传播学习、Widrow-Hoff、相关(Correlation)、胜者为王(Winner-Take-All)、外星(outstar)、最小均方(LMS)、Kohonen和Grosberg。 - 泛化能力
经过训练(学习)后的预测模型对为经训练的数据集中出现的样本做出正确反应的能力。学习不是简单地记忆已经学习过的输入,而是通过对有限个训练样本的学习,学到隐含在样本中的有关环境本身的内在规律性。