1、人工神经网络理论及应用人工神经网络理论及应用屈桢深哈尔滨工业大学哈尔滨工业大学2.感知机与感知机与BP网络网络n神经元数学模型神经元数学模型n感知器感知器n多层前馈网络与多层前馈网络与BPBP算法算法nBPBP算法评述算法评述 0)(xf 1 x(b)作用函数 MP神经元模型 )(ixf i (a)神经元数学模型1njjjyfw x1njjjpw x)(iipfy 1,0()0,0 xf xx设 则作用函数神经元数学模型:向量描述输入有时也记为u设w0=-,x0=1,则神经元模型又可记为:T0njjjyfw xfw x神经元数学模型作用函数优点:1.无限次可微;2.导数形式简单=1=2神经元数
2、学模型作用函数=1=23对称型阶跃函数对称型阶跃函数神经元数学模型作用函数神经网络(前馈式)结构n 单个神经元n 单层神经元n 多层神经元:输入层,输出层,隐含层u1u21y11 w1y2 2wy 2w 1w 0w y 10u 21uu 三层神经元 学习过程就是调整权值的过程。Hebb规则 按照Hebb学习规则,神经网络调整权值wij原则:若第i与第j个神经元同时处于兴奋状态,则它们间的联接应加强,即:这和“条件反射”学说一致,并已得到证实。wy yijij0 Hebb学习规则的相关假设,是许多学习规则的基础。包含感知层,连接层和反应层。感知器(感知机)n 感知层:接受二值输入;n 连接层:根
3、据学习规则不断调整权值n 输出层:取为对称型阶跃函数 原始感知器由单个神经元组成,改进模型可由单层或多层神经元构成。单层感知器学习算法单层感知器 用于两类模式分类时 相当于在高维样本空间中,用一个超平面将两类样本分开。已证明 若输入的两类模式是线性可分集合(指存在一个超平面能将其分开),则算法一定收敛。局限性 若输入模式为线性不可分集合,网络的学习算法不收敛,不能进行正确分类。线性可分集合(1)y二维平面上的两类模式,见表。1u 2u 2w 1w 0w y 10u 21uu 使用单个感知器分类线性可分集合 二维平面上的两类模式异或(XOR)问题,见表。二维平面中不存在一条直线,将输入模式分为两
4、类,此输入模式称线性不可分集合.可见:单层感知器不能解决异或问题。2u 1u 线性不可分集合多层感知器 u1u2w 1 w2y11y12y1111 11221111111 112211,0,w uw uyw uw u1121 12222121121 122221,0,w uw uyw uw u21211122212111221,0,w yw yyw yw y因此得到 多层感知器(续)三层感知器解决异或问题 模式空间分两类 1u 2u y 与u1、u2 1 2uy1u 三层感知器可识别任一凸多边形或无界的凸区域。更多层感知器网络,可识别更为复杂的图形。多层感知器逼近能力多层前馈网络与多层前馈网络
5、与BP学习算法学习算法 多层前馈网络的反向传播(BP)学习算法,简称BP算法,是有导师的学习,它是梯度下降法在多层前馈网中的应用。网络结构网络结构见图,u、y是网络的输入、输出向量,神经元用节点表示,网络由输入层、隐层和输出层节点组成,隐层可一层,也可多层(图中是单隐层),前层至后层节点通过权联接。由于用BP学习算法,所以常称BP神经网络。u y BP学习算法学习算法o已知网络的输入/输出样本,即导师信号。oBP学习算法由正向传播和反向传播组成:正向传播是输入信号从输入层经隐层,传向输出层,若输出层得到了期望的输出,则学习算法结束;否则,转至反向传播。反向传播是将误差(样本输出与网络输出之差)
6、按原联接通路反向计算,由梯度下降法调整各层节点的权值和阈值,使误差减小。正向传播正向传播反向传播反向传播 u y BP学习算法基本思想设算法的输入输出样本(导师信号)为u1,t1,u2,t2,uQ,tQ即共Q个样本。或记为uq,tq,q=1,Q 网络训练的目的,是使对每一个输入样本,调整网络参数,使输出均方误差最小化。222121)(eytwJ 考虑迭代算法,设初始权值为w0,k时刻权值为wk,则使用泰勒级数展开,有:问题:如何选择 ,使J最小?BP学习算法基本思想(续)kTkkkddJJJwwwwww)()(1kw最直接的方法就是选择这样每一步都能保证 ,从而使J最终可收敛到最小。这就是梯度
7、下降算法,也是BP学习算法的基本思想。kddJkwwww0)()(1kkJJww 设置初始权系数w0为较小的随机非零值;给定输入/输出样本对,计算网络输出,完成前向传播 计算目标函数J。如J,训练成功,退出;否则转入 反向传播计算 由输出层,按梯度下降法将误差反向传播,逐层调整权值。BP学习算法步骤 n 所有加黑斜体表示向量;非黑体为标量;n 右上角数字表示层数;n BP网络输入u为n维,输出为m维;n 为方便观察,有时相乘关系用.表示;BP学习算法步骤:推导准备 考虑三层神经网络。对于当前样本,期望输出为t,输入为u隐含层输出:对于第i个神经元,BP学习算法步骤:前向传播 1110niiij
8、jjyffw uwu21210()()niijjjyffwywy 选取为Log Sigmoid函数输出层:xef11 BP学习算法步骤:计算误差 yteiieyitBP学习步骤:误差反传(输出层)kddJkwwwwkddJwwwT22ijijJJwweeeeJ因此需要求首先考虑输出层权值w2。根据链式求导法则,(为什么?)BP学习步骤:误差反传(输出层)122222,00TTimiijijijijijeeyewwwww e122(1)iiiiijijijyJee yyyww 2212()()(1)ijijiijiijw wkJw kyyy ew 注意到 仅和yi(ei)有关,因此,根据Log
9、Sigmoid函数性质 2ijwBP学习步骤:误差反传(隐含层)T1111iijiijyJJwyweeeeJT11111,miiiiyyyyyy ey注意到1wij仅和1yi有关y1w1 unymy1w2u1BP学习步骤:误差反传(隐含层)mymy 211212111()()nmjjnjmmjjmijiiwyyfwyfwyy )1()1(mmyyfff1(1)mmmmiiyyywy211(1)TmjjjijjiJyyw ey ee以为例说明求法。由表达式(见前向传播),可见代入上式,有因此 即误差进行反向传输 BP学习步骤:误差反传(隐含层)1111(1)iiijijyyy uw 111121111()1(1)ijmijiijijiijjijw wkdJwkyyw eyyudw 综合上述结果对比Hebb规则:各项如遇到隐含层多于1层,可依次类推 1(1)iijiyyy e111121(1)1miijiijijjyyuyyw ey1w1 uneme1w2u1 BPBP算法演示算法演示演示演示BP学习算法评述o 优点n 学习完全自主;n 可逼近任意非线性函数;BP学习算法评述o 缺点n 算法非全局收敛;n 收敛速度慢;n 学习速率选择;n 神经网络如何设计(几层?节点数?)
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。