1、计算智能12 人工神经网络基础2.1 生物神经网 2.2 人工神经元 2.3 人工神经网络的拓扑特性 2.4 存储与映射 2.5 人工神经网络的训练22.1 生物神经网1、构成胞体胞体(Soma)枝蔓(枝蔓(Dendrite)胞体胞体(Soma) 轴突(轴突(Axon)突触(突触(Synapse)3The Biological Neuron 10 billion neurons in human brain Summation of input stimuli Spatial (signals) Temporal (pulses) Threshold over composed inputs
2、Constant firing strengthu billionsynapsesinhumanbrainuChemicaltransmissionandmodulationofsignalsuInhibitorysynapsesuExcitatorysynapses6104Neural DynamicsRefractory timeAction potentialAction potential 100mVActivation threshold 20-30mVRest potential -65mVSpike time 1-2msRefractory time 10-20ms5神经网络的复
3、杂性 神经网路的复杂多样,不仅在于神经元和突触的数量大、组合方式复杂和联系广泛,还在于突触传递的机制复杂。现在已经发现和阐明的突触传递机制有:突触后兴奋,突触后抑制,突触前抑制,突触前兴奋,以及“远程”抑制等等。在突触传递机制中,释放神经递质是实现突触传递机能的中心环节,而不同的神经递质有着不同的作用性质和特点6神经网络的研究 神经系统活动,不论是感觉、运动,还是脑的高级功能(如学习、记忆、情绪等)都有整体上的表现,面对这种表现的神经基础和机理的分析不可避免地会涉及各种层次。 这些不同层次的研究互相启示,互相推动。在低层次(细胞、分子水平)上的工作为较高层次的观察提供分析的基础,而较高层次的观
4、察又有助于引导低层次工作的方向和体现其功能意义。 既有物理的、化学的、生理的、心理的分门别类研究,又有综合研究。72.1 生物神经网 3、六个基本特征: 1)神经元及其联接; 2)神经元之间的联接强度决定信号传递的强弱; 3)神经元之间的联接强度是可以随训练改变的; 4)信号可以是起刺激作用的,也可以是起抑制作用的; 5)一个神经元接受的信号的累积效果决定该神经元的状态; 6) 每个神经元可以有一个“阈值”。82.2 人工神经元 神经元(Neuron)是构成神经网络的最基本单元(构件)。 人工神经元模型应该具有生物神经元的六个基本特性。 92.2.1 人工神经元的基本构成 人工神经元模拟生物神
5、经元的一阶特性。输入:X=(x1,x2,xn)联接权:W=(w1,w2,wn)T网络输入: net=xiwi向量形式: net=XWxnwnx1w1x2w2net=XW10激活函数 激活函数执行对该神经元所获得的网络输入的变换,也可称为激励函数、活化函数: o=f(net) 111、线性函数(Liner Function) f(net)=k*net+c netooc122、非线性斜面函数(Ramp Function) if netf(net)= k*netif |net|0为一常数,被称为饱和值,为该神经元的最大输出。 132、非线性斜面函数(Ramp Function) - - net o
6、143、阈值函数if netf(net)=-if net 、均为非负实数,为阈值二值形式:1if netf(net)=0if net 双极形式:1if netf(net)=-1if net 153、阈值函数 -onet0164、S形函数 压缩函数(Squashing Function)和逻辑斯特函数(Logistic Function)。 f(net)=a+b/(1+exp(-d*net)a,b,d为常数。它的饱和值为a和a+b。最简单形式为: f(net)= 1/(1+exp(-d*net) 函数的饱和值为0和1。 S形函数有较好的增益控制 174、S形函数 a+b o(0,c)netac=
7、a+b/2183 M-P模型 x2w2 fo=f(net)xnwnnet=XWx1w1McCullochPitts(MP)模型,也称为处理)模型,也称为处理单元(单元(PE) 19人工神经网络的拓扑特性 连接的拓扑表示 ANiwijANj20联接模式 用正号(“+”,可省略)表示传送来的信号起刺激作用,它用于增加神经元的活跃度; 用负号(“-”)表示传送来的信号起抑制作用,它用于降低神经元的活跃度。 层次(又称为“级”)的划分,导致了神经元之间的三种不同的互连模式: 21联接模式 1、 层(级)内联接层内联接又叫做区域内(Intra-field)联接或侧联接(Lateral)。用来加强和完成层
8、内神经元之间的竞争 2、 循环联接反馈信号。 22联接模式 3、层(级)间联接 层间(Inter-field)联接指不同层中的神经元之间的联接。这种联接用来实现层间的信号传递前馈信号反馈信号 232.3.2 网络的分层结构 单级网 多级网24简单单级网x1x2xno1o2omwnmw11w1mw2mwn1输出层输出层输入层输入层单级网单级网 简单单级网简单单级网25简单单级网W=(wij)输出层的第j个神经元的网络输入记为netj: netj=x1w1j+x2w2j+xnwnj其中, 1 j m。取NET=(net1,net2,netm)NET=XWO=F(NET)26多级网输出层输出层隐藏层
9、隐藏层输入层输入层o1o2omx1x2xn27 层次划分 信号只被允许从较低层流向较高层。层号确定层的高低:层号较小者,层次较低,层号较大者,层次较高。输入层:被记作第0层。该层负责接收来自网络外部的信息输出层输出层隐藏层隐藏层输入层输入层o1o2omx1x2xn28 第j层:第j-1层的直接后继层(j0),它直接接受第j-1层的输出。 输出层:它是网络的最后一层,具有该网络的最大层号,负责输出网络的计算结果。 隐藏层:除输入层和输出层以外的其它各层叫隐藏层。隐藏层不直接接受外界的信号,也不直接向外界发送信号输出层输出层隐藏层隐藏层输入层输入层o1o2omx1x2xn29 约定 :输出层的层号
10、为该网络的层数:n层网络,或n级网络。第j-1层到第j层的联接矩阵为第j层联接矩阵,输出层对应的矩阵叫输出层联接矩阵。今后,在需要的时候,一般我们用W(j)表示第j层矩阵。输出层输出层隐藏层隐藏层输入层输入层o1o2omx1x2xnW(1)W(2)W(3)W(h)30多级网h层网络输出层输出层隐藏层隐藏层输入层输入层o1o2omx1x2xnW(1)W(2)W(3)W(h)31网络的分层结构Output layerInput layerHidden layersfully connectedsparsely connected32Feedforward ANN Architectures Inf
11、ormation flow unidirectional Static mapping: y=f(x)For example Multi-Layer Perceptron (MLP) Radial Basis Function (RBF) Kohonen Self-Organising Map (SOM)33多级网 非线性激活函数 F(X)=kX+CF3(F2(F1(XW(1)W(2)W(3)34循环网x1o1输出层输出层隐藏层隐藏层输入层输入层x2o2omxn35循环网 如果将输出信号反馈到输入端,就可构成一个多层的循环网络。 输入的原始信号被逐步地“加强”、被“修复”。 大脑的短期记忆特征
12、看到的东西不是一下子就从脑海里消失的。 稳定:反馈信号会引起网络输出的不断变化。我们希望这种变化逐渐减小,并且最后能消失。当变化最后消失时,网络达到了平衡状态。如果这种变化不能消失,则称该网络是不稳定的。 364 存储与映射 空间模式(Spatial)、时空模式(Spatial-temporal)空间模式三种存储类型 1、 RAM方式(Random Access Memory)随机访问方式是将地址映射到数据。 2、 CAM方式(Content Addressable Memory)内容寻址方式是将数据映射到地址。 3、 AM方式(Associative Memory)相联存储方式是将数据映射到
13、数据。 37存储与映射 在学习/训练期间,人工神经网络以CAM方式工作;权矩阵又被称为网络的长期存储(Long Term Memory,简记为LTM)。 网络在正常工作阶段是以AM方式工作的;神经元的状态表示的模式为短期存储(Short Term Memory,简记为STM)。 382.4 存储与映射 自相联(Auto-associative)映射:训练网络的样本集为向量集合为A1,A2,An 在理想情况下,该网络在完成训练后,其权矩阵存放的将是上面所给的向量集合。 392.4 存储与映射 异相联(Hetero-associative)映射(A1,B1),(A2,B2),(An,Bn) 该网络
14、在完成训练后,其权矩阵存放的将是上面所给的向量集合所蕴含的对应关系。 当输入向量A不是样本的第一的分量时,样本中不存在这样的元素(Ak,Bk),使得AiAkA或者AAkAj 且此时有AiAAj 则向量B是Bi与Bj的插值。 40人工神经网络的学习方法 人工神经网络最具有吸引力的特点是它的学习能力。 1962年,Rosenblatt给出了人工神经网络著名的学习定理:人工神经网络可以学会它可以表达的任何东西。 人工神经网络的表达能力大大地限制了它的学习能力。 人工神经网络的学习过程就是对它的训练过程41无导师学习 无导师学习(Unsupervised Learning)与无导师训练(Unsuper
15、vised Training)相对应 抽取样本集合中蕴含的统计特性,并以神经元之间的联接权的形式存于网络中。42无导师学习 Hebb学习律、竞争与协同(Competitive and Cooperative)学习、随机联接系统(Randomly Connected Learning)等。 Hebb算法D. O. Hebb在1961年的核心:当两个神经元同时处于激发状态时被加强,否则被减弱。数学表达式表示: Wij(t+1)=Wij(t)+oi(t)oj(t)43有导师学习 有导师学习(Supervised Learning)与有导师训练(Supervised Training)相对应。 输入向
16、量与其对应的输出向量构成一个“训练对”。 有导师学习的训练算法的主要步骤包括:1) 从样本集合中取一个样本(Ai,Bi);2) 计算出网络的实际输出O; 3) 求D=Bi-O;4) 根据D调整权矩阵W; 5) 对每个样本重复上述过程,直到对整个样本集来说,误差不超过规定范围。 44Delta规则 Widrow和Hoff的写法:Wij(t+1)=Wij(t)+(yj- aj(t)oi(t)也可以写成:Wij(t+1)=Wij(t)+ Wij(t) Wij(t)=joi(t)j=yj- aj(t)Grossberg的写法为: Wij(t)=ai(t)(oj(t)-Wij(t)更一般的Delta规则
17、为: Wij(t)=g(ai(t),yj,oj(t),Wij(t)45增强学习与学习规则 增强学习 外部环境对系统的输出结果给出评价,学习系统通过强化受奖的动作来改善自身性能。 学习规则 误差纠错学习 Hebb学习 竞争学习462 人工神经网络基本模型一、MP模型 MP模型属于一种阈值元件模型,它是由美国Mc Culloch和Pitts提出的最早神经元模型之一。MP模型是大多数神经网络模型的基础。 47标准MP模型 njijjiivwu1)(iiufv 48 wij 代表神经元i与神经元j之间的连接强度(模拟生物神经元之间突触连接强度),称之为连接权; ui代表神经元i的活跃值,即神经元状态;
18、 vj代表神经元j的输出,即是神经元i的一个输入; i代表神经元i的阈值。 函数f表达了神经元的输入输出特性。在MP模型中,f定义为阶跃函数: 0,00,1iiiuuv49如果把阈值i看作为一个特殊的权值,则可改写为:其中,w0i-i,v01 为用连续型的函数表达神经元的非线性变换能力,常采用s型函数:该函数的图像如下图所示 )(0jnjjiivwfviuieuf11)(5051 MP模型在发表时并没有给出一个学习算法来调整神经元之间的连接权。但是,我们可以根据需要,采用一些常见的算法来调整神经元连接权,以达到学习目的。下面介绍的Hebb学习规则就是一个常见学习算法。 Hebb学习规则 :神经
19、网络具有学习功能。对于人工神经网络而言,这种学习归结为神经元连接权的变化。调整wij的原则为:若第i和第j个神经元同时处于兴奋状态,则它们之间的连接应当加强,即: wijuivj 这一规则与“条件反射”学说一致,并已得到神经细胞学说的证实。 是表示学习速率的比例常数。 522 感知器模型 感知器是一种早期的神经网络模型,由美国学者F.Rosenblatt于1957年提出.感知器中第一次引入了学习的概念,使人脑所具备的学习功能在基于符号处理的数学中得到了一定程度的模拟,引起了广泛的关注。 简单感知器 简单感知器模型实际上仍然是MP模型的结构,但是它通过采用监督学习来逐步增强模式划分的能力,达到所
20、谓学习的目的。53其结构如下图所示 感知器处理单元对n个输入进行加权和操作即:其中,Wi为第i个输入到处理单元的连接权值为阈值。 f取阶跃函数.)(0iniiixwfv54 感知器在形式上与MP模型差不多,它们之间的区别在于神经元间连接权的变化。感知器的连接权定义为可变的,这样感知器就被赋予了学习的特性。 利用简单感知器可以实现逻辑代数中的一些运算。 Y=f(w1x1+w2x2-)55Logic Operations(1)“与”运算。当取w1w21,1.5时,上式完成逻辑“与”的运算。(2)“或”运算, 当取wlw21, 0.5时,上式完成逻辑“或”的运算。(3)“非”运算,当取wl=-1,w
21、20, -1时完成逻辑“非”的运算。 56 与许多代数方程一样,上式中不等式具有一定的几何意义。对于一个两输入的简单感知器,每个输入取值为0和1,如上面给出的逻辑运算,所有输入样本有四个,记为(x1,x2):(0,0),(0,1),(1,0),(1,1),构成了样本输入空间。 例如,在二维平面上,对于“或”运算,各个样本的分布如下图所示。直线 1*x1+1*x2-050 将二维平面分为两部分, 上部为激发区(y,=1,用表示), 下部为抑制区(y0,用表示)。 57简单感知器引入的学习算法称之为误差学习算法。该算法是神经网络学习中的一个重要算法,并已被广泛应用。现介绍如下: 误差型学习规则:
22、(1)选择一组初始权值wi(0)。 (2)计算某一输入模式对应的实际输出与期望输出的误差58(3)如果小于给定值,结束,否则继续。 (4)更新权值(阈值可视为输入恒为1的一个权值): wi(t+1) wi(t+1)- wi(t) dy(t)xi。 式中为在区间(0,1)上的一个常数,称为学习步长,它的取值与训练速度和w收敛的稳定性有关;d、y为神经元的期望输出和实际输出;xi为神经元的第i个输入。 (5)返回(2),重复,直到对所有训练样本模式,网络输出均能满足要求。 5960对于学习步长的取值一般是在(0,1)上的一个常数,但是为了改进收敛速度,也可以采用变步长的方法,这里介绍一个算法如下式
23、:式中,为一个正的常量这里取值为0.1。所以,对应于输入(0,0),修正权值(注意:=w0 , x0=-1) w0(1)dyx0 0.1(10)(1)0.1, W0(1)=0.1+ w0(1)=0.1-0.1=0.0依次进行。)()()(2121iiittxtw61同样的方法,对其他输入样本都进行学习。整个学习过程就是某一超平面在样本空间中几何位置调整的过程 。初值w1(7)0225 w2(7)00875, (7)01875。这样的一组网络参数满足计算要求。 6263 感知器对线性不可分问题的局限性决定了它只有较差的归纳性,而且通常需要较长的离线学习才能达到收效。 64多层感知器 如果在输入和
24、输出层间加上一层或多层的神经元(隐层神经元),就可构成多层前向网络,这里称为多层感知器。 注意:多层感知器只允许调节一层的连接权。这是因为按感知器的概念,无法给出一个有效的多层感知器学习算法。65 可以证明,只要隐层和隐层单元数足够多,多层感知器网络可实现任何模式分类。但是,多层网络的权值如何确定,即网络如何进行学习,在感知器上没有得到解决:当年Minsky等人就是因为对于非线性空间的多层感知器学习算法未能得到解决,使其对神经网络的研究作出悲观的结论。 66定理 如果样本输入函数是线性可分的,那么下面的感知器学习算法经过有限次迭代后,可收敛到正确的权值或权向量。 假设样本空间F是单位长度样本输
25、入向量的集合,若存在一个单位权向量w*。和一个较小的正数0,使得w*x= 对所有的样本输入x都成立,则权向量w按上述学习过程仅需有限步就可收敛。 67 因此,感知器学习迭代次数是一有限数,经过有限次迭代,学习算法可收敛到正确的权向量w*。对于上述证明,要说明的是:正数越小,迭代次数越多:其次,若样本输入函数不是线性可分的,则学习过程将出现振荡,得不到正确的结果。 68定理 假定隐含层单元可以根据需要自由设置,那么用双隐层的感知器可以实现任意的二值逻辑函数(证明略)。69 感知器的层数与模式划分区域的关系703、 感知器3.1 感知器与人工神经网络的早期发展 3.2 感知器的学习算法 3.2.1
26、 离散单输出感知器训练算法 3.2.2 离散多输出感知器训练算法3.2.3 连续多输出感知器训练算法3.3 线性不可分问题3.3.1 异或(Exclusive OR)问题 3.3.2 线性不可分问题的克服 实现!实现!问题的发现与解决!问题的发现与解决!713.1 感知器与ANN的早期发展McCulloch和和Pitts1943年,发表第一个系统的年,发表第一个系统的ANN研究研究阈值加权和阈值加权和(M-P)数学模型。数学模型。1947年,开发出感知器。年,开发出感知器。1949年,提出年,提出Hebb学习律。学习律。单输出的感知器单输出的感知器(M-P模型模型)x2x1oxn723.1 感
27、知器与ANN的早期发展 1962年,Rosenblatt宣布:人工神经网络可以学会它能表示的任何东西 o1多输出感知器多输出感知器x1x2o2omxn输入层输入层输出层输出层733.2 感知器的学习算法 感知器的学习是有导师学习基本思想:逐步地将样本集中的样本输入到网络中,根据输出结果和理想输出之间的差别来调整网络中的权矩阵 74离散单输出感知器训练算法 二值网络:自变量及其函数的值、向量分量的值只取0和1函数、向量。 权向量:W=(w1,w2,wn) 输入向量:X=(x1,x2,xn) 训练样本集:(X,Y)|Y为输入向量X对应的输出 75算法3-1离散单输出感知器训练算法 1.初始化权向量
28、初始化权向量W;2.重复下列过程,直到训练完成:重复下列过程,直到训练完成:2.1对每个样本(对每个样本(X,Y),重复如下过程:),重复如下过程:2.1.1输入输入X;2.1.2计算计算o=F(XW););2.1.3如果输出不正确,则如果输出不正确,则当当o=0时,取时,取W=W+X,当当o=1时,取时,取W=W-X76离散多输出感知器训练算法 样本集:(X,Y)|Y为输入向量X对应的输出 输入向量:X=(x1,x2,xn) 理想输出向量:Y=(y1,y2,ym) 激活函数:F 权矩阵W=(wij) 实际输出向量:O=(o1,o2,om)o1多输出感知器多输出感知器x1x2o2omxn输入层
29、输入层输出层输出层77算法3-2离散多输出感知器训练算法 1.初始化权矩阵初始化权矩阵W;2.重复下列过程,直到训练完成:重复下列过程,直到训练完成:2.1对每个样本(对每个样本(X,Y),重复如下过程:),重复如下过程:2.1.1输入输入X;2.1.2计算计算O=F(XW););2.1.3forj=1tomdo执行如下操作:执行如下操作:ifojyjthenifoi=0thenfori=1tonwij=wij+xielsefori=1tondowij=wij-xi78算法3-2离散多输出感知器训练算法 算法思想:将单输出感知器的处理逐个地用于多输出感知器输出层的每一个神经元的处理。 第1步,
30、权矩阵的初始化:一系列小伪随机数。 79算法3-2离散多输出感知器训练算法 第2步,循环控制。 方法1:循环次数控制法:对样本集执行规定次数的迭代 改进分阶段迭代控制:设定一个基本的迭代次数N,每当训练完成N次迭代后,就给出一个中间结果80算法3-2离散多输出感知器训练算法 方法2:精度控制法:给定一个精度控制参数精度度量:实际输出向量与理想输出向量的对应分量的差的绝对值之和;实际输出向量与理想输出向量的欧氏距离的和 “死循环”:网络无法表示样本所代表的问题81算法3-2离散多输出感知器训练算法 方法3:综合控制法:将这两种方法结合起来使用 注意:精度参数的设置。根据实际问题选定;初始测试阶段
31、,精度要求低,测试完成后,再给出实际的精度要求。823.2.3 连续多输出感知器训练算法 用公式wij=wij+(yj-oj)xi取代了算法3-2 第2.1.3步中的多个判断 yj与oj之间的差别对wij的影响由(yj-oj)xi表现出来 好处:不仅使得算法的控制在结构上更容易理解,而且还使得它的适应面更宽 83算法3-3 连续多输出感知器训练算法 1用适当的小伪随机数初始化权矩阵用适当的小伪随机数初始化权矩阵W;2.初置精度控制参数初置精度控制参数,学习率,学习率,精度控制变量,精度控制变量d=+1;3Whileddo3.1d=0;3.2for每个样本(每个样本(X,Y)do3.2.1输入输
32、入X(=(x1,x2,xn)););3.2.2求求O=F(XW););3.2.3修改权矩阵修改权矩阵W:fori=1ton,j=1tomdowij=wij+(yj-oj)xi;3.2.4累积误差累积误差forj=1tomdod=d+(yj-oj)284算法3-3 连续多输出感知器训练算法 1、程序实现:、d、i、j、n、m为简单变量来表示,W为n行m列的二维数组。样本集二维数组2、系统的调试3、Minsky在1969年证明,有许多基本问题是感知器无法解决4、问题线性可分性可能与时间有关5、很难从样本数据集直接看出问题是否线性可分6、未能证明,一个感知器究竟需要经过多少步才能完成训练。853.3
33、 线性不可分问题 3.3.1 异或(Exclusive OR)问题 g(x,y)y01x00111086用于求解XOR的单神经元感知器 xyo单神经元感知器单神经元感知器的图像的图像ax+by=1yx1(0,0)(1,1)87线性不可分函数变量变量函数及其值函数及其值xyf1f2f3f4f5f6f7f8f9f10f11f12f13f14f15f16000000000011111111010000111100001111100011001100110011110101010101010101883.3.2 线性不可分问题的克服 用多个单级网组合在一起,并用其中的一个去综合其它单级网的结果,我们就
34、可以构成一个两级网络,该网络可以被用来在平面上划分出一个封闭或者开放的凸域来 一个非凸域可以拆分成多个凸域。按照这一思路,三级网将会更一般一些,我们可以用它去识别出一些非凸域来。 解决好隐藏层的联接权的调整问题是非常关键的 89两级单输出网在n维空间中划分出m边凸域 x1ANmAN1ANoxno90作业 1、什么是感知器?它与M-P模型有什么区别? 2、实现一个2输入单输出的感知器,并用于实现逻辑“与”,“或”,“异或”,给出详细求解过程和中间步骤。 3、为什么单个感知器无法解决异或问题?你对此有什么深刻认识?应该如何解决该问题? 4、在实际问题应用感知器的困难在哪里?有解决办法吗?91谢谢!92