资源描述
第四章人工神经元网络郝红卫,1,第四章人工神经元网络,4.1引言4.2神经元模型4.3前馈运算和分类4.4反向传播算法4.5改进反向传播的一些实用技术4.6讨论,第四章人工神经元网络郝红卫,2,引言,线性分类器只能解决线性可分问题,具有局限性采用的训练算法具有启发意义是否可以将其推广至非线性分类器分类器结构的推广多层神经网络学习算法的推广反向传播算法(BP),第四章人工神经元网络郝红卫,3,引言,人工神经网络的研究与计算机的研究几乎是同步发展1943年,心理学家McCulloch和数学家Pitts合作提出了神经元的数学模型,成为人工神经网络研究的开端1949年,心理学家D.Hebb提出神经元之间突触联系强度可变的假设,并据此提出神经元的学习准则,为神经网络的学习算法奠定了基础1958年,Rosenblatt提出了感知机模型,首次把神经网络的研究付诸工程实践1969年,Minsky和Papert出版感知机一书,从数学上深入分析了感知机的原理,指出其局限性。加之计算机正处于全盛发展时期,早期的人工智能研究也取得了巨大的成就,掩盖了发展新型计算机模型的迫切性,使人工神经网络的研究陷入低潮,第四章人工神经元网络郝红卫,4,引言,1982年,Hopfield提出的Hopfield网络模型,为联想记忆和最优化计算提供了一种新途径,大大促进了神经网络的研究1986年,Rumelhart等提出了多层感知机的反向传播算法,克服了当初阻碍感知机模型继续发展的重要障碍。同时期,由于传统的基于符号处理的人工智能在解决工程问题上遇到了许多困难;同时,尽管计算机性能不断提高,但在解决象模式识别、学习等对人来说轻而易举的问题时却显得非常困难。促使人们怀疑传统的VonNeumann机是否能够解决智能问题,也促使人们探索更接近人脑的计算模型。于是又形成了对神经网络研究的新热潮。九十年代后期,发展趋于平稳。理论进展不大,以多层感知机网络为主,在很多领域取得了广泛的应用,也逐渐受到了一些批评。,第四章人工神经元网络郝红卫,5,神经元模型,自然神经网络的基本构成与特点神经元(neuron)细胞体(cell)树突(dendrite)轴突(axon)突触(synapses),第四章人工神经元网络郝红卫,6,神经元模型,细胞体:神经细胞本体树突:大量分支,接受其它神经元信息突触:神经元之间连接的特殊部位轴突:远距离信息传输,第四章人工神经元网络郝红卫,7,神经元模型,特点多输入、单输出具有非线性输入/输出特性,激励达到一定强度后才激活具有可塑性,传递强度可调节输出响应是各个输入的综合作用的结果,即所有输入的累加,第四章人工神经元网络郝红卫,8,神经元模型,f,x1,x2,xn,w1,w2,wn,y,第四章人工神经元网络郝红卫,9,神经元模型,数学表达式y:激活函数、转移函数、输出函数:阈值,第四章人工神经元网络郝红卫,10,神经元模型,以矩阵表示,第四章人工神经元网络郝红卫,11,神经元模型,激活函数符号函数线性函数Sigmoid函数,x,-1,第四章人工神经元网络郝红卫,12,神经元模型,神经元网络神经元的作用:加工、传递信息(电脉冲信号)神经元网络:大量神经元的复杂连接通过大量简单单元的广泛、复杂的连接而实现各种智能活动。,第四章人工神经元网络郝红卫,13,前馈运算和分类,一个多层神经元网络由一个输入层、至少一个隐层、和一个输出层组成,各层之间通过可调节的权值互连输入层各节点与特征向量各分量相对应输出层与各类别相对应如下图所示,第四章人工神经元网络郝红卫,14,第四章人工神经元网络郝红卫,15,前馈运算和分类,yj=f(netj)zk=f(netk),第四章人工神经元网络郝红卫,16,前馈运算和分类,网络的c个输出,可以看作是计算了c个判别函数zk=gk(x)分类时将输入x归于判别函数最大值所对应的类别。问题:是否能实现任意复杂的判别函数?,第四章人工神经元网络郝红卫,17,前馈运算和分类,答案:柯尔莫戈洛夫(Kolmogorov)定理:只要给定足够数量的隐结点、选择适当的非线性函数和权值,则任何从输入到输出的连续函数都可以用一个三层的网络来实现。三个条件隐节点数足够多多少合适?合适的非线性函数什么的函数?正确的权值如何确定?,第四章人工神经元网络郝红卫,18,前馈运算和分类,激活函数应具备的特性非线性:否则多层网络将不具备非线性分类能力饱和性:即存在最大值和最小值,这样可以限定权值和激活函数的上下边界,使得训练次数有限连续性单调性:方便但非必要局部线性:当net值较小时具有线性特征,使系统能够实现线性模型,第四章人工神经元网络郝红卫,19,前馈运算和分类,Sigmoid函数(S型函数)f(x)=1/1+exp(-x)f(x)=f(x)1-f(x),第四章人工神经元网络郝红卫,20,前馈运算和分类,双曲正切,第四章人工神经元网络郝红卫,21,前馈运算和分类,我们选择激活函数确定了,然后是如何获取权值训练算法。,第四章人工神经元网络郝红卫,22,反向传播算法,我们的目标是根据训练样本确定合适的权值基本思想是根据误差反复调整权值直至误差满足要求隐层到输出层的权值可以根据误差调整输入层到隐层的权值如何调整?误差如何获得?误差的反向回传!,第四章人工神经元网络郝红卫,23,反向传播算法,网络的两种操作模式前馈学习,第四章人工神经元网络郝红卫,24,反向传播算法,令tk为第k个输出的目标值(或期望值),k=1,c令zk为第k个输出的实际值,k=1,c令w为网络的权值定义准则函数,第四章人工神经元网络郝红卫,25,反向传播算法,采用梯度下降法任取初值沿负梯度方向调整权值,即w(m+1)=w(m)+w(m),第四章人工神经元网络郝红卫,26,反向传播算法,隐层到输出层的权值调整其中称为敏感度(sensitivity),反映了误差随netk的变化情况,第四章人工神经元网络郝红卫,27,反向传播算法,由于netk=wkt.y因此所以最后得:wkj=kyj=(tkzk)f(netk)yj,第四章人工神经元网络郝红卫,28,反向传播算法,输入层到隐层的权值调整,第四章人工神经元网络郝红卫,29,反向传播算法,而故其中,第四章人工神经元网络郝红卫,30,反向传播算法,故,第四章人工神经元网络郝红卫,31,反向传播算法,采用Sigmoid激活函数有,第四章人工神经元网络郝红卫,32,反向传播算法,权值调整公式为隐层到输出层wkj=yjk=yj(tkzk)f(netk)=yj(tkzk)zk(1-zk)输入层到隐层w(m+1)=w(m)+w(m),第四章人工神经元网络郝红卫,33,反向传播算法,第四章人工神经元网络郝红卫,34,反向传播算法,Algorithm1(Stochasticbackpropagation),第四章人工神经元网络郝红卫,35,反向传播算法,Algorithm2(Batchbackpropagation),第四章人工神经元网络郝红卫,36,反向传播算法,学习曲线训练开始时,对训练集误的差通常会很高;随着学习的进展,误差会越来越小。训练过程中,误差总体上是下降的,偶尔也会发生波动最终能够达到的精度取决于训练样本的数量和网络的表达能力等因素在独立测试集上的误差通常比训练集上的误差大为了决定什么时候停止训练,需要使用验证集(Validationset),验证集须独立于训练集和测试集停止训练的时机很重要,停止过早,训练误差还很大,会造成“欠学习”;停止过晚,有可能会造成“过学习”(在隐节点数过多时)在验证集上误差达到极小值时停止训练,第四章人工神经元网络郝红卫,37,反向传播算法,第四章人工神经元网络郝红卫,38,反向传播算法,隐节点数目隐节点数目nH决定了网络的表达能力,从而决定了决策边界的复杂程度。如果样本比较容易分开,则仅需少量的隐节点;反之,则需要更多的隐节点没有更多先验知识的情况下,很难在训练之前确定合适的隐节点数目隐节点数目决定了网络中总的权值数Nw(也称自由量,包括权值和偏置)自由量的个数不应该超过训练样本数n一个经验规则是使Nw大致为n/10更基本的方法是根据训练数据相应调节网络的复杂程度,比如,可以先从较大的隐节点数开始,然后再裁剪权值;反之亦然,第四章人工神经元网络郝红卫,39,反向传播算法,要避免两种情况隐节点数太多,网络具有较高的表达能力,可以精确地反映训练集的情况,虽然对训练集的误差很小。但是对测试集的误差却很高,造成“过拟合”。隐节点数太少,网络不具备足够的自由度以较好地拟合训练数据,无论怎样训练,不仅对测试集对训练集的误差都较高,造成“欠拟合”。,第四章人工神经元网络郝红卫,40,反向传播算法,第四章人工神经元网络郝红卫,41,反向传播算法,多重局部极小存在出现多重局部极小的可能性实际计算中,我们不希望网络陷入具有较高训练误差的局部极小值,这通常表明问题的主要特征没有被网络所学会。此时,常规的作法是重新初始化权值再训练一遍,有必要的话还需要改变其他参数如果误差已经很低,那么收敛到一个局部极小值也是可以接受的通常,由于停止规则的作用,在还没有达到极小值时训练可能会已经停止,第四章人工神经元网络郝红卫,42,改进反向传播的一些实用技术,增加冲量项(惯性项)误差曲面常有一些“平坦区”(非常小的区域)。冲量(momentum)的概念大致基于惯性定律除非受到外力作用,否则运动的物体将保持匀速直线运动。引入冲量的目的在于,当误差曲面中存在平坦区时,可以更快地学习为01之间的小数,第四章人工神经元网络郝红卫,43,改进反向传播的一些实用技术,第四章人工神经元网络郝红卫,44,改进反向传播的一些实用技术,学习率原则上,只要学习率足够小以保证收敛,那么它只会影响网络的学习速度,不会影响网络的学习结果实际上,由于网络很少能充分训练而达到真正的最小值,所以学习率可以影响网络的最终性能通常,可以尝试将学习率设为0.1,若发现学习速度过慢,则将其调大;若发现学习过程发散,则将其调小,第四章人工神经元网络郝红卫,45,改进反向传播的一些实用技术,第四章人工神经元网络郝红卫,46,改进反向传播的一些实用技术,权值初始化权值不能全部初始化为0,否则,将无法学习权值初值不能太大,否则,还未开始学习节点已饱和权值初值应该有正有负一般将各层权值初始化为-0.5+0.5之间的随机数即可,第四章人工神经元网络郝红卫,47,改进反向传播的一些实用技术,目标值典型的方法是采用“c中取1”的方式来表示目标向量由于f(x)的极值是0和1,我们自然会认为目标值就应该是0和1。但这样会引起困难,对于任意有限的netk,输出永远不可能达到饱和值,一定会存在误差,训练过程将无法终止。故应选取目标值使其接近但不等于函数极值。例:对于一个四类问题,如果样本属于第三类,则目标向量为:(0.1,0.1,0.9,0.1)t或(0.05,0.05,0.95,0.05)t,第四章人工神经元网络郝红卫,48,改进反向传播的一些实用技术,样本组织方式:单样本(随机)/批量批量方式通常比随机方式学习速度慢。原因:批量训练时,同一类别的样本对权值调整的贡献会越来越小。尽管实际问题中,每类样本中的个体不会完全相同,但由于实际数据集中通常有很高的冗余度,所以上述结论仍然成立结论:对于大多数应用,尤其是训练集冗余度较大时,采用随机训练,第四章人工神经元网络郝红卫,49,改进反向传播的一些实用技术,权值衰减从具有较多权值数目的网络开始,在训练过程中对所有权值进行“衰减”。即,每次权值更新之后,执行:通过这种方式,对降低误差不起作用的权值将越来越小,直至可被完全删除。而真正对解决问题有用的权值则不会被衰减。,第四章人工神经元网络郝红卫,50,改进反向传播的一些实用技术,输入信号的尺度变换假设我们现在使用两维特征,利用质量(以克为单位)和长度(以米为单位)特征对鱼进行分类。质量的数值将比长度的数值大几个数量级。在训练过程中,网络将主要根据质量来调解权值,长度因数值很小几乎不起作用。为避免这种情况,当输入信号数值差距过大时,必须进行尺度变换,即进行训练数据的规一化(normalization),第四章人工神经元网络郝红卫,51,改进反向传播的一些实用技术,隐层数目BP算法可以适用于三层、四层或更多层的网络实验表明具有多个隐层的网络更容易陷入局部极小值中由于三层网络足以实现任意复杂的判别函数,所以除非有特殊需要,一般均采用三层网络,第四章人工神经元网络郝红卫,52,讨论,隐层的特征提取作用神经网络能够实现一种特殊的非线性变换,把输入空间变换到由其隐层输出所张成的空间,使得在这个空间中分类问题变得比较容易。故隐层可以看作是一种特殊的特征提取器。神经网络同时完成了特征提取和分类两个步骤。神经网络和贝叶斯分类器可以证明,当网络输出采用“c中取1”的编码方式,且采用最小均方误差作为准则函数时,多层感知机的输出就是对贝叶斯后验概率的估计。估计的精度受网络的复杂程度、训练样本数、训练样本反映真实分布的程度及类别先验概率等多种因素的影响。,第四章人工神经元网络郝红卫,53,讨论,产生于不同起源和针对不同目的的神经网络模型有很多种神经网络模式识别的一个重要特点就是它能够比较有效地解决很多非线性问题,而且在很多工程应用中取得了成功,第四章人工神经元网络郝红卫,54,讨论,问题神经网络中有很多重要问题仍没有从理论上得到解决,因此实际应用中仍有许多因素需要凭经验确定。比如,如何选择隐节点数、初始权值、学习率等。局部极小值问题、过学习与欠学习问题等普遍存在。虽然多层感知机网络在理论上具有实现任意复杂决策面的能力,但当需要有可靠的拒识时,则无法胜任。,第四章人工神经元网络郝红卫,55,讨论,戴汝为,社会智能科学,上海交通大学出版社,2007,pp.235.,第四章人工神经元网络郝红卫,56,讨论,上述问题的存在,很大程度上制约了神经网络理论与应用的发展尽管如此,神经网络仍是现代模式识别中的主流方法,是解决非线性问题的有效手段神经网络的应用,已经渗透到智能控制、信号处理、优化计算、知识处理、预测预报等众多领域,第四章人工神经元网络郝红卫,57,实验,用多层感知机网络解决三元异或问题训练集:特征向量目标值0000.90010.10100.10110.91000.11010.91100.91110.1,测试集:0001110.00.00.20.00.00.80.00.20.00.00.80.00.00.20.20.00.80.8,
展开阅读全文