f(x)?1 (2-5) ?x1?e(3)双曲正切活化函数:
1?e?x f(x)? (2-6)
1?e?x(4)高斯活化函数:
f(x)?e?x2/?2?? (2-7)
2.2 神经网络的学习方式和学习规则
2.2.1 神经网络的学习方式
学习是神经网络的主要特征之一。学习规则就是修正神经元之间连接强度或加权系数的算法,使获得的知识结构适应周围环境的变化。在学习过程中,执行学习规则,修正加权系数。神经网络的学习方式主要分为有导师(指导式)学习、无导师(自学式)学习和再励学习(强化学习)三种[19]:
(l)有导师学习:就是在学习的过程中,有一个期望的网络输出,学习算法根据给定输入的神经网络实际输出与期望输出之间的误差来调整神经元的连接强度,即权值。因此学习需要有导师来提供期望输出信号。
(2)无导师学习:就是在学习过程中不需要有期望输出,因而不存在直接的误差信息。网络学习需要建立一个间接的评价函数,每个处理单元能够自适应连接权值,以对网络的某种行为趋向作出评价。
(3)再励学习:这种学习介于上述两种情况之间,外部环境对系统输出结果只给出评价(奖或罚)而不是给出正确答案,学习系统经过强化那些受奖励的行为来改善自身性能。
2.2.2 神经网络的学习规则
神经网络通常采用的网络学习规则包括以下三种: (l)误差纠正学习规则[19]
令yk?n?是输入xk?n?时神经元k在n时刻的实际输出,dk?n?表示应有的输出(可由训练样本给出),则误差信号可写为:
ek?n??dk?n??yk?n? (2-8)
误差纠正学习的最终目的是使某一基于ek?n?的目标函数达到要求,以使网络中每一输出单元的实际输出在某种统计意义上逼近应有输出。一旦选定了目标函数形式,误差
9
纠正学习就变成了一个典型的最优化问题,最常用的目标函数是均方误差判据,定义为误差平方和的均值:
?1?J?E??e2k?n?? (2-9)
?2k?其中E为期望算子。上式的前提是被学习的过程是平稳的,具体方法可用最优梯度下降法。直接用J作为目标函数时需要知道整个过程的统计特性,为解决这一问题,通常用J在时刻n的瞬时值代替J,即:
E?1e2k?n? (2-10) ?2k问题变为求E对权值w的极小值,据梯度下降法可得:
?wkj??ek(n)xj(n) (2-11)
其中?为学习步长,这就是通常所说的误差纠正学习规则。 (2)Hebb学习规则[13]
由神经心理学家Hebb提出的学习规则可归纳为“当某一突触连接两端的神经元同时处于激活状态(或同为抑制)时,该连接的强度应增加,反之应减弱”用数学方式可描述为:
?wkj??yk(n)yj(n) (2-12)
由于?wkj与yk(n),yj(n)的相关成比例,有时称为相关学习规则。 (3)竞争学习规则[19]
顾名思义,在竞争学习时,网络各输出单元互相竞争,最后达到只有一个最强者激活,最常见的一种情况是输出神经元之间有侧向抑制性连接,这样原来输出单元中如有某一单元较强,则它将获胜并抑制其它单元,最后只有此强者处于激活状态。最常用的竞争学习规则可写为:
????xk?wjk?若神经元j竞争获胜 (2-13)
?wkj??若神经元j竞争失败0??2.3 神经网络的特点及应用
神经网络具有以下特点(1)、分布式存贮信息
神经网络使用大量的神经元之间的连接及对各连接权值的分布来表示特定的信息,从而使网络在局部网络受损或输入信号因各种原因发生部分畸变时,仍能够保证网络的正确输出,提高网络的容错性和鲁棒性。
(2)、并行协同处理信息
神经网络中的每个神经元都可以根据接收到的信息进行独立的运算和处理,并输出结果,同一层中的各个神经元的输出结果可被同时计算出来。
10
[11]
:
(3)、信息处理与存储和二为一
神经网络的每个神经元都兼有信息处理和存储功能,神经元之间连接强度的变化,既反映了对信息的记忆,同时又和神经元对激励的响应一起反映了对信息的处理。
(4)、对信息的处理具有自组织、自学习的特点,便于联想、综合和推广 神经网络的神经元之间的连接强度用权值大小来表示,这种权值可以通过对训练的学习而不断变化,而且随着训练样本量的增加和反复学习,这些神经元之间的连接强度会不断增加,从而提高神经元对样本特征的反映灵敏度。正是因为神经网络具有的这些特点,才使它在模式识别、人工智能、控制工程、信号处理等领域有着广泛的应用,相信随着人工神经网络研究的进一步深入,其应用领域会更广,用途会更大。
2.4 BP神经网络
20世纪80年代中期,以Rumelhart和McClelland为首,提出了多层前馈网络(MFNN)的反向传播(BP,back Propagation)的学习算法,简称BP算法。
2.4.1 BP神经网络的结构
BP网络结构如下图:
j
i k x o
输入层节点 隐层节点 输出层节点
图2-2 BP网络结构图
x,o为网络的输入和输出,每个神经元用一个节点表示,网络包含一个输出层和一
个输入层,隐含层可以是一层也可以是多层。图中j表示输入层神经元,i表示隐层神经元,k表示输出层神经元。已经证明BP网络能逼近任意非线性函数,在各个领域中有广泛的应用。BP网络中采用梯度下降法,即在网络学习过程中,使网络的输出与期望输出的误差边向后传播边修正连接权值,以使其误差均方值最小。学习算法有正向传播和反向传播组成,在正向传播中,输入信号从输入层经过隐层传向输出层,若输出层得到期望的输出,学习结束,否则,转至反向传播。反向传播算法是将误差信号按照原链路
11
反向计算,由梯度下降法调整各层神经元的权值,使误差信号最小。这两部分是相继连续反复进行的,直到误差满足要求。
2.4.2 BP神经网络的算法
BP神经网络的算法主要可以分为两部分,一是前向传播算法,就是已知网络的输入和活化函数求各层的输出;二是反向传播算法,即如果输出不满足要求就不断修正权值。 (1) BP神经网络的前向传播算法
设某BP神经网络具有m个输入、q个隐含节点、r个输出的三层结构,则BP神经网络的输入为:
x(j) j=1,2.......m (2-14)
输入层节点的的输出为 :
oj(1)?x(j) j=1,2.......m (2-15)
隐含层第i个神经元的输入:
net(t)??wij(2)oj(1) i=1,2......q (2-16)
(2)ij?om输出可表达为 :
oi(2)(t)?g(neti2(t)) i=1,2......q (2-17)
其中wij?2?为输入层到隐层加权系数;上标(1)、(2)、(3)分别代表输入层、隐含层、输出层,g???为隐层活化函数,这里取为Sigmoid活化函数[8]。
g(x)?1 (2-18)
1?e?x输出层的第k个神经元的总输入为:
net(t)??wik(3)ki?0q(3)o(2)i(t) k=1,2......r (2-19)
输出层的第k个神经元的总输出为
o(3)k(t)?f(netk(3)(t)) k=1,2......r (2-20)
(3)式中,wik:为隐层到输出层加权系数,f???为输出活化函数。
以上工作在神经网络工作时,就可以完成了一次前向传播的计算。
(2) BP神经网络的反向传播计算
12
相关推荐: