1、人工神经网络人工神经网络Artificial Neural Netwroks-ANN什么是人工神经网络?什么是人工神经网络?T.Koholen的定义:“人工神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体作出交互反应。”人工神经网络目的与意义人工神经网络目的与意义 争取构造出尽可能与人脑具有相似功能的计算机,即ANN计算机。研究仿照脑神经系统的人工神经网络,将在模式识别、组合优化和决策判断等方面取得传统计算机所难以达到的效果。神经元神经元 当神经细胞透过神经突触与树当神经细胞透过神经突触与树突从其它神经元输入脉波讯号突从其它神经元输入脉波讯号
2、后,经过细胞体处后,经过细胞体处,产生一,产生一个新的脉波讯号。如果脉波讯个新的脉波讯号。如果脉波讯号够强,将产生一个约千分之号够强,将产生一个约千分之一秒一秒100 100 毫伏的脉波讯号。这毫伏的脉波讯号。这个讯号再经过轴突传送到它的个讯号再经过轴突传送到它的神经突触,成为其它神经细胞神经突触,成为其它神经细胞的输入脉波讯号。的输入脉波讯号。如果脉波讯号是经过如果脉波讯号是经过兴奋神经兴奋神经突触(突触(excitatory synapseexcitatory synapse),则,则会会增加增加脉波讯号的速脉波讯号的速;相反;相反的,如果脉波讯号是经过的,如果脉波讯号是经过抑制抑制神经突
3、触(神经突触(inhibitory synapseinhibitory synapse),则会则会减少减少脉波讯号的速脉波讯号的速。因。因此,脉波讯号的速此,脉波讯号的速是不仅取是不仅取决于输入脉波讯号的速决于输入脉波讯号的速,还,还取决于神经突触的取决于神经突触的强强。而神经突触的强而神经突触的强可视为神经可视为神经网网储存信息之所在,神经网储存信息之所在,神经网的学习即在调整神经突触的的学习即在调整神经突触的强强。空间整合、时间整合空间整合、时间整合空间整合:同一时刻来自不同神经元的输入信号,作用于神经元的不同突触,形成的突触电位将会代数相加。时间整合:神经元对不同时刻通过同一个突触输入的
4、神经脉冲有代数求和功能。阈值电位阈值电位 神经元对其他神经元的激神经元对其他神经元的激励呈现非线性响应,如果励呈现非线性响应,如果膜电位高于阈值电位,则膜电位高于阈值电位,则该神经元进入兴奋状态,该神经元进入兴奋状态,产生一个尖峰脉冲,如果产生一个尖峰脉冲,如果小于,则进入抑制状态,小于,则进入抑制状态,此时没有脉冲输出。此时没有脉冲输出。神经网络研究的发展神经网络研究的发展(1)(1)第一次热潮第一次热潮(40-60(40-60年代未年代未)1943 1943年年,美国心理学家美国心理学家W.McCullochW.McCulloch和数学家和数学家W.PittsW.Pitts在提出了一个简单
5、的神经在提出了一个简单的神经元模型,即元模型,即MPMP模型。模型。19581958年,年,F.RosenblattF.Rosenblatt等研制出了感知机。等研制出了感知机。(2)(2)低潮低潮(70-80(70-80年代初年代初):):1969 1969年,年,MITMIT学者学者M.MinskyM.Minsky和和S.PapertS.Papert编写了影响巨大的编写了影响巨大的PerceptronPerceptron一书,一书,指出单层的感知机只能用于线性问题求解。指出单层的感知机只能用于线性问题求解。(3)(3)第二次热潮第二次热潮 1982 1982年,美国物理学家年,美国物理学家J
6、.J.HopfieldJ.J.Hopfield提出提出HopfieldHopfield模型,它是一个互联的非线性模型,它是一个互联的非线性动力学网络动力学网络.他解决问题的方法是一种反复运算的动态过程他解决问题的方法是一种反复运算的动态过程,这是符号逻辑处这是符号逻辑处理方法所不具备的性质理方法所不具备的性质.1987.1987年首届国际年首届国际ANNANN大会在圣地亚哥召开,国际大会在圣地亚哥召开,国际ANNANN联合会成立,创办了多种联合会成立,创办了多种ANNANN国际刊物。国际刊物。19901990年年1212月,北京召开首届学月,北京召开首届学术会议。术会议。人工神经元人工神经元数
7、学模型数学模型其中x(x1,xm)T 输入向量,y为输出,wi是权系数(连接强度),为阈值,f(X)是激活函数。BP神经网络神经网络 RumelhartRumelhart,McClellandMcClelland于于19851985年提出了年提出了BPBP网络的网络的误差反向误差反向传播传播BP(Back Propagation)BP(Back Propagation)学习算法学习算法 BPBP算法基本原理算法基本原理 利用输出后的利用输出后的误差误差来估计输出层的直接前导层的误差,来估计输出层的直接前导层的误差,再用这个误差估计更前一层的误差,如此一层一层的再用这个误差估计更前一层的误差,如
8、此一层一层的反传下去,就获得了所有其他各层的误差估计。反传下去,就获得了所有其他各层的误差估计。J.McClelland David Rumelhart BP神经网络模型神经网络模型三层三层BPBP网络网络 BP算法是由两部分组成:信息的正向传递与误差的反向传播。神经网络的学习神经网络的学习X1:衣服X3:面部特征X2:身高01W1W2W3增加权值减小权值识别系统学习本质学习本质学习的过程:学习的过程:神经网络在外界输入样本的刺激下不断改变网神经网络在外界输入样本的刺激下不断改变网络的连接权值络的连接权值,以使网络的输出不断地接近期以使网络的输出不断地接近期望的输出。望的输出。学习的本质:学习
9、的本质:对各连接权值的动态调整对各连接权值的动态调整BP网络的标准学习算法网络的标准学习算法-算法思想算法思想核心思想:核心思想:将输出误差将输出误差以某种形式以某种形式通过隐层向输入层逐层反传通过隐层向输入层逐层反传将误差分摊给各层的所有将误差分摊给各层的所有单元各层单元的误单元各层单元的误差信号差信号修正各单元权修正各单元权值值学习类型学习类型 有监督或称有导师的学习,这时有监督或称有导师的学习,这时利用给定的样本标准进行分类或利用给定的样本标准进行分类或模仿;模仿;无监督学习或称无为导师学习,无监督学习或称无为导师学习,这时,只规定学习方式或某些规这时,只规定学习方式或某些规则,则具体的
10、学习内容随系统所则,则具体的学习内容随系统所处环境处环境 (即输入信号情况)而异,(即输入信号情况)而异,系统可以自动发现环境特征和规系统可以自动发现环境特征和规律性,具有更近似人脑的功能律性,具有更近似人脑的功能。有导师的学习无导师的学习BP网络的标准学习算法网络的标准学习算法-学习过程学习过程 正向传播:正向传播:输入样本输入层各隐层输出层输入样本输入层各隐层输出层 判断是否转入反向传播阶段:判断是否转入反向传播阶段:若输出层的实际输出与期望的输出(教师信号)不若输出层的实际输出与期望的输出(教师信号)不符符 误差反传误差反传 误差以某种形式在各层表示修正各层单元误差以某种形式在各层表示修
11、正各层单元的权值的权值 网络输出的误差减少到可接受的程度网络输出的误差减少到可接受的程度进行到预先设定的学习次数为止进行到预先设定的学习次数为止BP网络的标准学习算法网络的标准学习算法 网络结构网络结构输入层有输入层有n n个神经元,隐含层有个神经元,隐含层有p p个神经元个神经元,输出层有输出层有q q个神经元个神经元变量定义变量定义输入向量输入向量;隐含层输入向量;隐含层输入向量;隐含层输出向量隐含层输出向量;输出层输入向量输出层输入向量;输出层输出向量输出层输出向量;期望输出向量期望输出向量;BP神经网络模型神经网络模型激活函数激活函数必须处处可导必须处处可导 一般都使用一般都使用S S
12、型函数型函数 使用使用S S型激活函数时型激活函数时BPBP网络输入与输出关系网络输入与输出关系输入输入输出输出BP网络的标准学习算法网络的标准学习算法输入层与中间层的连接权值输入层与中间层的连接权值:隐含层与输出层的连接权值隐含层与输出层的连接权值:隐含层各神经元的阈值隐含层各神经元的阈值:输出层各神经元的阈值输出层各神经元的阈值:样本数据个数样本数据个数:激活函数激活函数:误差函数:误差函数:BP网络的标准学习算法网络的标准学习算法第一步,网络初始化 给各连接权值分别赋一个区间(给各连接权值分别赋一个区间(-1-1,1 1)内)内的随机数,设定误差函数的随机数,设定误差函数e e,给定计算
13、精度,给定计算精度值值 和最大学习次数和最大学习次数MM。第二步,随机选取第 个输入样本及对应期望输出 BP网络的标准学习算法网络的标准学习算法 第三步,计算隐含层、输出层各神经元的输入和输出第三步,计算隐含层、输出层各神经元的输入和输出隐含层:输出层:BP网络的标准学习算法网络的标准学习算法第四步,利用网络期望输出和实际输出,计算误差函数e对输出层的各神经元的偏导数 。BP网络的标准学习算法网络的标准学习算法p第五步,利用隐含层到输出层的连接权第五步,利用隐含层到输出层的连接权值、输出层的值、输出层的 和隐含层的输出计算误和隐含层的输出计算误差函数对隐含层各神经元的偏导数差函数对隐含层各神经
14、元的偏导数 。BP网络的标准学习算法网络的标准学习算法BP网络的标准学习算法网络的标准学习算法第六步,利用输出层各神经元的 和隐含层各神经元的输出来修正连接权值 。BP网络的标准学习算法网络的标准学习算法第七步,利用隐含层各神经元的 和输入层各神经元的输入修正连接权。BP网络的标准学习算法网络的标准学习算法第八步,判断网络误差是否满足要求。当误差达第八步,判断网络误差是否满足要求。当误差达到预设精度或学习次数大于设定的最大次数,则到预设精度或学习次数大于设定的最大次数,则结束算法。否则,选取下一个学习样本及对应的结束算法。否则,选取下一个学习样本及对应的期望输出,返回到第三步,进入下一轮学习。
15、期望输出,返回到第三步,进入下一轮学习。BP网络的标准学习算法网络的标准学习算法BP算法直观解释 当误差对权值的偏当误差对权值的偏导数大于零时,权值导数大于零时,权值调整量为负,实际输调整量为负,实际输出大于期望输出,出大于期望输出,权值向减少方向调整,权值向减少方向调整,使得实际输出与期望使得实际输出与期望输出的差减少。输出的差减少。whoe0,此时,此时who0BP网络的标准学习算法网络的标准学习算法BP算法直观解释 当误差对权值的偏导数当误差对权值的偏导数小于零时,权值调整量小于零时,权值调整量为正,实际输出少于期为正,实际输出少于期望输出,权值向增大方向望输出,权值向增大方向调整,使得
16、实际输出与期调整,使得实际输出与期望输出的差减少。望输出的差减少。e0whoBP神经网络的特点神经网络的特点非线性映射能力 能学习和存贮大量输入能学习和存贮大量输入-输出模式映射关系,而无需事输出模式映射关系,而无需事先了解描述这种映射关系的数学方程。只要能提供足够先了解描述这种映射关系的数学方程。只要能提供足够多的样本模式对供网络进行学习训练,它便能完成由多的样本模式对供网络进行学习训练,它便能完成由n n维输入空间到维输入空间到m m维输出空间的非线性映射。维输出空间的非线性映射。泛化能力 当向网络输入训练时未曾见过的非样本数据时,网络也当向网络输入训练时未曾见过的非样本数据时,网络也能完
17、成由输入空间向输出空间的正确映射。这种能力称能完成由输入空间向输出空间的正确映射。这种能力称为泛化能力。为泛化能力。容错能力 输入样本中带有较大的误差甚至个别错误对网络的输入输入样本中带有较大的误差甚至个别错误对网络的输入输出规律影响很小。输出规律影响很小。BP神经网络的应用实例神经网络的应用实例例例1 1:基于人工神经网络的基于人工神经网络的BaTiOBaTiO3 3陶瓷配方研究陶瓷配方研究 清华大学材料科学与工程系新型陶瓷与精细工艺国家重点实验室清华大学材料科学与工程系新型陶瓷与精细工艺国家重点实验室,郭栋郭栋,王永王永力等人应用神经网络算法对力等人应用神经网络算法对BaTiOBaTiO3
18、 3的配方的研究。该成果发表在硅酸盐学的配方的研究。该成果发表在硅酸盐学报上。报上。因陶瓷的性能对配方中各变量极为敏感因陶瓷的性能对配方中各变量极为敏感,且掺杂剂之间有时存在复杂的交互且掺杂剂之间有时存在复杂的交互作用作用,新型介电陶瓷材料的研制或原有材料的改进一般都要进行新型介电陶瓷材料的研制或原有材料的改进一般都要进行 “炒菜式炒菜式”、“试凑法试凑法”的实验摸索过程。的实验摸索过程。正确了解不同掺杂剂的作用规律及相互影响一直是本领域研究的一个难点。正确了解不同掺杂剂的作用规律及相互影响一直是本领域研究的一个难点。基于人工神经网络的基于人工神经网络的基于人工神经网络的基于人工神经网络的Ba
19、TiOBaTiO3 3陶瓷配方研究陶瓷配方研究陶瓷配方研究陶瓷配方研究 其中其中BaTiO3 BaTiO3 固定而其它固定而其它5 5 个个掺杂剂掺杂剂参数参数为为输入输入变变量量。以室温以室温损损耗耗d f,d f,室温介室温介电电常数常数25 25 和和-55125-55125 温度范温度范围围内相内相对对于室于室温的最大容温温的最大容温变变化率化率绝对值绝对值K K作为输出量。作为输出量。该实验输入有5 个神经元而输出层有 3 个神经元.以实验结果作为对ANN的训练数据初始化:初始化:输入层和中间层的连接权值;输入层和中间层的连接权值;中间层和输出层之间的连接权值;中间层和输出层之间的连
20、接权值;学学习习速率速率为为 0.15 0.15;初始初始权值权值范范围围在在-0.3-0.3 到到 0.3 0.3 之之间间;最大叠代次数和均方根最大叠代次数和均方根误误差差为为 5000 5000 次和次和 0.010.01。对配方中各组分对所需指标的影响规律采用对配方中各组分对所需指标的影响规律采用 ANN ANN 模型进行了分析模型进行了分析,这对于获得介电陶瓷多性能指标的优化配方具有重要的指导作用这对于获得介电陶瓷多性能指标的优化配方具有重要的指导作用,表明人工神经网络技术在陶瓷这种多成分多相的复杂材料的研究中表明人工神经网络技术在陶瓷这种多成分多相的复杂材料的研究中具有广阔的应用前
21、景具有广阔的应用前景.例例例例2 2:基于:基于:基于:基于BP BP 神神神神经经经经网网网网络络络络的滑坡地的滑坡地的滑坡地的滑坡地质质质质灾害灾害灾害灾害预测预测预测预测方法方法方法方法 为了解决滑坡地质灾害传统预测方法中出现的综合性、实用性不为了解决滑坡地质灾害传统预测方法中出现的综合性、实用性不强等问题,本文研究用基于优化参数设置的强等问题,本文研究用基于优化参数设置的BP BP 神经网络模型来预测神经网络模型来预测滑坡地质灾害。该方法基于滑坡地质灾害。该方法基于BP BP 神经网络,顾及与滑坡地质灾害产生神经网络,顾及与滑坡地质灾害产生紧密相关的地质条件和环境因素,对紧密相关的地质
22、条件和环境因素,对BP BP 神经网络的输入层、隐含层、神经网络的输入层、隐含层、输出层的参数进行优化输出层的参数进行优化;再由历史的经验数据通过训练、泛化建立基再由历史的经验数据通过训练、泛化建立基于于BP BP 神经网络的地质灾害预测模型神经网络的地质灾害预测模型;最后,按照最后,按照0 0 和和1 1 的组合结果对的组合结果对滑坡地质灾害进行预测。滑坡地质灾害进行预测。本文利用该模型对汶川地震诱发的滑坡地质灾害进行分析预测,本文利用该模型对汶川地震诱发的滑坡地质灾害进行分析预测,结果表明结果表明:该模型的预测结果与实际结果吻合度达到该模型的预测结果与实际结果吻合度达到86%86%90%9
23、0%,预,预测精度较高,验证了基于改进的测精度较高,验证了基于改进的BP BP 神经网络预测滑坡地质灾害的方神经网络预测滑坡地质灾害的方法是实际可行的。法是实际可行的。基于基于基于基于BP BP 神神神神经经经经网网网网络络络络的滑坡地的滑坡地的滑坡地的滑坡地质质质质灾害灾害灾害灾害预测预测预测预测方法方法方法方法输入层:地层岩性、坡度、坡高、切割深度、震中距、地震烈度这输入层:地层岩性、坡度、坡高、切割深度、震中距、地震烈度这六项作为输入层,即输入层节点数为六项作为输入层,即输入层节点数为6 6。隐含层:隐含层设置为一层,为了尽可能地避免隐含层:隐含层设置为一层,为了尽可能地避免“过拟合过拟
24、合”现象并现象并保证神经网络模型的训练能力和泛化能力,对于有保证神经网络模型的训练能力和泛化能力,对于有m m 个输入节点的个输入节点的BP BP 网络,取网络,取(2m+1)(2m+1)个隐含节点会有较好的效果,所以隐含层上应个隐含节点会有较好的效果,所以隐含层上应设置设置13 13 个节点。个节点。输出层:设输出层:设BP BP 神经网络的输出层有两个节点,每个节点的输出值为神经网络的输出层有两个节点,每个节点的输出值为1 1 或或0 0,组合有,组合有(0(0,1)1)和和(1(1,0)0)两种情况,分别代表了滑坡的两种状两种情况,分别代表了滑坡的两种状态,态,(0(0,1)1)表示不会
25、发生滑坡表示不会发生滑坡;而而(1(1,0)0)表示会发生滑坡。当然也表示会发生滑坡。当然也可能出现可能出现(0(0,0)0)和和(1(1,1)1)的情况,这两种情况没有任何意义,只能的情况,这两种情况没有任何意义,只能表示无效结果。这种表示方式清楚明了,可以较快地给工作人员以表示无效结果。这种表示方式清楚明了,可以较快地给工作人员以警示,及时为滑坡灾害做出防范措施。警示,及时为滑坡灾害做出防范措施。最后,把最大训练次数规定在最后,把最大训练次数规定在2000 2000 次,实际输出与期望输出的平方次,实际输出与期望输出的平方和误差需满足精度为和误差需满足精度为0.0350.035。基于基于基
26、于基于BP BP 神神神神经经经经网网网网络络络络的滑坡地的滑坡地的滑坡地的滑坡地质质质质灾害灾害灾害灾害预测预测预测预测方法方法方法方法导入训练样本集,训练后的效果演示图如图4所示。从图4 中可以发现,曲线在训练次数为680 次左右时停止,并没有抵达2000 次,表示模型已达到规定精度。基于基于基于基于BP BP 神神神神经经经经网网网网络络络络的滑坡地的滑坡地的滑坡地的滑坡地质质质质灾害灾害灾害灾害预测预测预测预测方法方法方法方法经过预测可知经过预测可知:该斜坡体很该斜坡体很不稳定,有很大发生滑坡的不稳定,有很大发生滑坡的可能性。此外通过分析表可能性。此外通过分析表4 4 中预测结果和实际结果,可中预测结果和实际结果,可知除了序号为知除了序号为4 4 的预测错误的预测错误之外,其余的均预测正确,之外,其余的均预测正确,精确度达到精确度达到86%86%。在此基础上,本文还运用了在此基础上,本文还运用了许多实验数据进行验证,发许多实验数据进行验证,发现精度有小幅度波动,基本现精度有小幅度波动,基本稳定在稳定在86%86%90%90%之间,与之间,与其他滑坡预测方法相比,预其他滑坡预测方法相比,预测精度有所提高,由此可知测精度有所提高,由此可知本文建立的基于改进的本文建立的基于改进的BP BP 神神经网络模型是实际可行的。经网络模型是实际可行的。谢谢!