基础知识
人工神经网络的特点有哪些?
人工神经网络突出的优点
(1)可以充分逼近任意复杂的非线性关系;
(2)所有定量或定性的信息都等势分布贮存于网络内的各神经元,故有很强的鲁棒性和容错性;
(3)采用并行分布处理方法,使得快速进行大量运算成为可能;
(4)可学习和自适应不知道或不确定的系统;
(5)能够同时处理定量、定性知识。
人工神经网络的特点和优越性,主要表现在三个方面:
第一,具有自学习功能。例如实现图像识别时,只在先把许多不同的图像样板和对应的应识别的结果输入人工神经网络,网络就 会通过自学习功能,慢慢学会识别类似的图像。自学习功能对于预测有特别重要的意义。预期未来的人工神经网络计算机将为人类提 供经济预测、市场预测、效益预测,其应用前途是很远大的。
第二,具有联想存储功能。用人工神经网络的反馈网络就可以实现这种联想。
第三,具有高速寻找优化解的能力。寻找一个复杂问题的优化解,往往需要很大的计算量,利用一个针对某问题而设计的反馈型 人工神经网络,发挥计算机的高速运算能力,可能很快找到优化解。
人工神经网络(Artificial Neural Networks,ANNs),也简称为神经网络(NNs),是模拟生物神经网络进行信息处理的一种数学模型。它以对大脑的生理研究成果为基础,其目的在于模拟大脑的某些机理与机制,实现一些特定的功能。目前,人工神经网络已应用于很多领域。本章主要对人工神经网络的基本理论做一个全面简要的介绍。
神经网络的特点
神经网络的基本属性反映了神经网络特点,主要表现在:
1.并行分布式处理 神经网络具有高度的并行结构和并行实现能力,具有高速寻找优化解的能力,能够发挥计算机的高速运算能力,可能很快找到优化解。
2.非线性处理 人脑的思维是非线性的,故神经网络模拟人的思维也应是非线性的。这一特性有助于处理非线性问题。
3.具有自学习功能 通过对过去的历史数据的学习,训练出一个具有归纳全部数据的特定的神经网络,自学习功能对于预测有特别重要的意义。
4.神经网络的硬件实现 要使人工神经网络更快、更有效地解决更大规模的问题,关键在于其超大规模集成电路(V LSI)硬件的实现,即把神经元和连接制作在一块芯片上(多为CMOS)构成ANN,神经网络的VLSI设计方法近年来发展很快,硬件实现已成为ANN的一个重要分支。
神经网络的应用领域
近些年来神经网络在众多领域得到了广泛的运用。在民用应用领域的应用,如语言识别、图像识别与理解、计算机视觉、智能机器人故障检测、实时语言翻译、企业管理、市场分析、决策优化、物资调运、自适应控制、专家系统、智能接口、神经生理学、心理学和认知科学研究等等;在军用应用领域的应用,如雷达、声纳的多目标识别与跟踪,战场管理和决策支持系统,军用机器人控制各种情况、信息的快速录取、分类与查询,导弹的智能引导,保密通信,航天器的姿态控制等。
人工神经网络模型具有并连结构、容错性、非线性映射等特征,近年来已在河道水流模拟及平面二维流场计算中得到一定的应用和发展。Y.B.Dibike,D.Olomatne &M.B.Abbott[1]将神经网络理论与水动力学模型结合,利用水动力学模型为神经网络提供网络学习样本,再用训练好的神经网络对重要河段航深、二维流场中重要位置的水流运动(包括水位、流速、流向以及流量等要素)进行预测,取得了令人鼓舞的结果。神经网络模型和水动力模型的有机结合避免了水动力学模型计算量大、计算速度慢难以满足实时预报的要求等问题,同时利用水动力学模型给神经网络提供训练样本,弥补了神经网络在重要河段和区域缺乏资料而应用受到局限的困难。杨荣富、丁晶和刘国东[2]将流域概化为若干个水库,利用水量平衡和非线性水库原理与神经网络结合,对英国Irwell流域的Salford大学控制站的径流及以上6个降雨站的观测资料进行了模拟,模型对流域的日和月径流时序变化模拟效果较好,对洪水过程模拟尚需进一步的研究。尽管如此,神经网络理论在河网水沙运动模拟方面还几乎是空白。目前用于各类模拟及预报的神经网络模型普遍存在网络内部参数物理概念不明确,隐层结构难以确定等问题。
人工神经网络与河网在结构上具有许多相似之处,两者都是由各个内部结构通过并联或串联形成一个相互制约的整体网络结构。通过调整系统内部各个“神经元”之间的相互作用达到系统输入、输出之间的最优或平衡,即可达到运用神经网络模拟复杂河网水沙运动的目的。
1 一般河网概化
天然河网水系十分复杂,河流湖泊众多。根据问题研究的需要、河道湖泊之间的相互关系以及计算的需要,对河网可以作不同的概化,本文对河网的概化主要目的是满足建立具有河网水沙运动特点人工神经网络模型的要求。
(1)将河网概化为不同非线性水库相互连接而成的网络结构。
(2)水系中各个水源、沙源(如上游进入河网的来水来沙)作为模型的输入,水系需要预测站点的水流、泥沙运动过程作为模型的输出。
(3)每层水库之间相互有关连(如自然状态下某个上下层之间不存在水流或泥沙交换关系,则在网络优化中连接权赋0,这样处理既能较好地反映河网的水沙运动特性,又能满足人工神经网络模型的要求),而处于同一层的水库没有水沙交换。
(4)第一层节点只是简单地将河网输入量输入到下一节点,节点没有水量调蓄作用也没有泥沙量的变化;中间各层节点存在水量调蓄作用并且存在泥沙冲淤变化,而最后一层接受上一层各水库的来水来沙,模拟结果作为整个网络的输出值。
(5)非线性水库的出流与水库蓄水量之间为非线性关系,对于每一水库水量及整个河网总水量保持守恒。
(6)水库的输沙与水库“蓄沙”之间为非线性关系。对于每一水库泥沙总量及整个河网总沙量保持守恒。
在上述概化条件下,整个河网由河网水源或沙源的输入、河网内部相互串联和并联而成的水库、河网输出三部分构成;第一层和最后一层节点的输入输出为简单的线性关系;利用节点输水输沙平衡方程和整个河网泥沙和水量守恒关系保证各个节点和整个河网沙量、水量守恒。
2 具有河网水沙特点的人工神经网络模型
传统BP神经网络模型是一种简单的非线性系统模型,通过误差反传自动调整网络内部连接权向量,达到系统输入、输出之间的响应。有许多自然现象就属于这类简单的关系。例如电力负荷变化与天气变化、工业状况等因素之间的关系;年径流量受年降雨量和年蒸发量的影响;短时段河段出流主要取决于河段进流、区间汇流等。
然而,大多数情况下的系统输出不仅依赖于当时或前期的输入量,同时也取决于系统的状态。如在河道发生较大的冲淤变形时,其输出不仅依赖于系统的输入量,同时还决定于系统所处的状态即河道冲淤情况。在这样的情况下,用传统BP神经网络来模拟系统的输入输出关系比较困难。另外,传统BP神经网络模型是一个“黑箱”模型,内部参数没有物理意义,也很难找出参数与模型输出向量之间的关系。因此,用神经网络理论来模拟河网水流泥沙运动时,不能简单地利用BP算法,还应考虑河网内各个部分以及整个河网的水量沙量守恒。在概化的河网模型中,每一节点以及整个河网都应满足水量沙量守恒方程。
水流连续方程:
(1) |
式中:,i为第k层第i个“水库”的蓄水量;Qki为第k层“水库”第i个水源出流量;为第k层“水库”第j个水源进入第k+1层第i水库的份额,即相应权重;T为时间;N为进入第k+1层水库的水源数。 |
泥沙连续方程:
(2) |
式中:VKs,i为第k层第i个“水库”的泥沙冲淤量;Vki为第k层“水库”第i个水源出沙量;为第k层“水库”第j个沙源进入第k+1层第i水库的份额,即相应权重;S为含沙量。 |
上述两方程的通用形式可写为:
(3) |
式中:,,. |
式(3)的差分形式为:
(4) |
则T+1时刻K+1层第i水库的相互物理量的变化为:
(5) |
一般情况下,水库或河道水系由于边界条件或其他外界条件的改变常常引起水流形态和泥沙输移规律的改变,这种改变往往会引起河道和水库的输沙不平衡,水库或河道发生冲淤变形,从而又导致水流运动和泥沙输移规律的改变。这种水沙规律的变化以泥沙为“纽带”,在输沙平衡与不平衡之间交替变化。因此,水库出流量和水库输沙量应该还要考虑河道冲淤等因素的影响。如以水库累计冲淤量近似表示水库的地形,则水库出流表示为:
Q|T=f(Vω|T,VS|T……) |
(6) |
同样,水库每个节点的泥沙输出为输入沙量、水库地形等因素的函数,表示为:
V|T=f1(V′|T,VS|T……) |
(7) |
其中: |
当水库冲淤变形不很明显时,水库出流可以认为是水库蓄水量的非线性函数,即T时刻的水库出流量与水库蓄水量之间的关系式为:
Q|T=f(Vω|T) |
(8) |
同样,水库冲淤不很明显的条件下,水库排沙量也可以认为是水库来沙量的非线性函数,即T时刻的水库输沙量与水库来沙之间的关系为:
V|T=f1(V′|T) |
(9) |
设网络第k各层节点数为NK,K为网络总层数,对第一层节点,其输入输出关系表示为:
(10) |
式中:φin、φ1i分别为第一层节点输入和输出量;Wi,j为该层第i节点与下层第j节点之间的连接权;N2为第二层节点的个数。
对河网内部第k+1层节点,输入输出关系为:
(11) |
式中φkj,in为K层第j节点的输入量。
对输出层输出节点,输入输出关系为:
(12) |
由水沙连续方程和水库排水排沙方程一起组成具有河网特点的神经网络模型。尽管本文所建立的模型在结构和算法上与传统的BP神经网络结构和算法有许多相似之处,但神经网络理论与水沙守恒方程的有机结合形成的具有河网水沙运动特点的神经网络模型在许多方面有其本身的特点:
(1)考虑水沙的相互作用。水沙非耦合神经网络模型为泥沙神经网络模型和水流神经网络模型组成的整体模型。泥沙模型中各个节点在相同输入条件下其输出并不一定相同,受节点冲淤变化的影响;水流模型中的各个节点的输出同样受河床累积冲淤量的影响,而此时的河床累积冲淤量必须由泥沙模型得到。
(2)网络结构合理。由于人工神经网络与河网在结构上相似,可按照河网的复杂程度、模拟需要的精度以及现有河网的数据资料先确定模型网络,然后再结合网络计算需要对网络结构进行一定的修改。这样既可以满足神经网络计算要求,也能在一定程度上反映河网水系之间的相互关系。在本文所建立的水沙非耦合模型中,网络结构的确定必须同时满足水流和泥沙模型的要求,即两模型在结构上既要相同,又要符合两者各自的要求。
图1 长江中游概化简图
(3)网络结构内部参数的物理意义明确。传统的BP神经网络结构内部节点之间的关系是一个“黑盒”,内部参数的物理意义模糊;而本文所建模型中的参数具有明确的物理含义,上下层之间的连接实质上反映了上层节点向下层节点输入的水量或沙量,即上层对下层节点的影响大小。
(4)对每个节点以及整个河网保证水量和沙量的守恒。传统的BP神经网络结构每个节点只考虑了其非线性作用,未考虑节点以及整个河网的物质是否守恒。本文模型从水流和泥沙连续方程出发,建立的模型反映了水流泥沙运动的客观规律。
(5)在本模型中,蓄水量及淤积量和输出水沙量随上下游条件不断变化,这种变化可以较好地反映河网水沙运动中边界条件的变化对网络输入与输出的影响,避免了传统BP神经网络模型难以考虑系统状态影响的缺陷。当河道或水库淤积量增加,可通过自动调整来调节河道的水沙输出量,如果不考虑这种影响,在同样进流进沙条件下,其产生同样的出流和出沙,这都会过高或过低估计出流出、出沙。
(6)若不考虑水库蓄水量和排沙量随时间的变化,则模型与传统BP网络相一致。
3 模型应用实例 3.1 长江中游荆江和洞庭湖河网区概况 洞庭湖平原区位于长江中游荆江河段南岸,北面有松滋、太平、藕池三口分泄长江洪水进入湖区,西南有湘、资、沅、澧四水入汇,洪水经过湖区调峰后经洞庭湖出口城陵矶注入长江干流。洞庭湖经过长期演变已由原来的八百里洞庭演变成为今天的东洞庭、南洞庭、西洞庭以及与之相连的纵横交错的洪道(如图1所示).洞庭湖流域是一个以洞庭湖为中心,从四面八方向中央汇流的辐射状河网,不同水系有不同的地貌和气象特征,洪水组成及遭遇非常复杂,洪水历时特别长,最早出现在3月,迟者可至10月,主汛期一般为5~8月。这种错综复杂的洪水遭遇,互相顶托,使不同来源的洪水在交汇处产生壅积,水位异常抬高,大大加剧了局部地区洪灾的威胁。为了充分反映四水不同的来水来沙过程对洞庭湖区水沙运动变化的影响,在模型中必须将四水作为四个不同的独立影响因子,分别作用于河网区。另外,为了将水流网络结构和泥沙网络结构相互配套,文中将区间汇流按比例分配给四水来水。 |
|
从荆江洞庭湖区水流泥沙运动特点和河道蓄水垸的特征将荆江洞庭湖区划分为8个相互联系的区域以及湘、资、沅、澧4个洪道区域(如图2所示).这12个区域分别为:区域Ⅰ:松滋河(包括东、西两支)、大湖口河、自治局河、管垸河、虎渡河水系;区域Ⅱ:藕池河的西、中两支水系;区域Ⅲ:藕池河的东支水系;区域Ⅳ~Ⅵ分别为:西洞庭湖(目平湖)水系、南洞庭湖水系、东洞庭湖水系;区域Ⅶ:枝江~藕池口河段;区域Ⅷ:藕池口~螺山河段;区域Ⅸ~Ⅻ分别为:湘、资、沅、澧4个洪道区域。
3.2 模型结构 由上述荆江及洞庭湖区基本情况分析可知:荆江及洞庭湖区是由区域Ⅰ~Ⅻ等12个区域通过串联或并联而成的相互联系的整体网络结构,河网区的输入输出就是通过这些区域的相互调节达到匹配。在不影响河网基本地理及水流特征的条件下,按照神经网络的结构要求对前文所分区域进行适当的调整,如将区域Ⅸ~区域Ⅻ分为上下两部分以及将区域Ⅷ分为三部分等。神经网络节点与河网区域之间的对应关系如表1.
根据神经网络结构要求,上下各个节点之间相互有联系。但从物理意义上来看,河网上下区域并不是都有必然联系。因此,本文将上下区域没有必然联系的点之间的权重强加为0,这样使模型既满足神经网络结构的要求,又符合河网水流运动规律。如区3除与区11有水量交换外,与第三层其余节点之间没有水量交换,故在模型中可以赋0.另外为简化起见,三口来流合并为一个来流,故荆江与洞庭湖之间的关系可以概化为与图2相似的网络模型。
由概化模型结构图可知,本文用来模拟洞庭湖水流运动的网络为一个6层网络结构。第1层为6个节点,分别代表宜昌+清江来流、四水来流;第2层~第5层为模型隐层,分别有6、7、3、2个节点;第6层为1个节点,代表螺山出流。
从神经网络结构要求来看,神经网络输入节点数为影响输出变量的个数,输出变量的数即为输出节点的个数。而隐单元数的选择是一个十分复杂的问题,往往根据设计得的经验和试验来确定,因而没有一个很好的解析式来表示。可以说隐单元数与问题的要求、输入输出单元的多少都有直接关系。隐单元数太多导致学习时间过长,误差不一定最佳;隐单元太少,容错性差,不能识别以前没有看到的样本。隐单元的选取决定了网络性能的好坏,因此就存在一个隐单元数的选取问题。文献[3]提供了隐层节点数参考公式;式中:m为输出神经元数,n为输入单元数,a为1~10之间的常数。 |
由此可见,本文采用6层隐层、隐层节点数同时,也符合网络结构的要求。鉴于人工神经网络与河网在结构上相似,将神经网络结构确定方法同河网本身的水系结构有机联系起来共同确定网络结构,可以大大节省工作量,给网络结构的确定提供了一种新的方法。
表1 模型节点与河网区域之间的对应关系
| |||
模型节点 | 河网区域 | 模型节点 | 河网区域 |
| |||
区1 | 区域Ⅶ | 区10 | 大湖口河、自治局河、管垸河、虎渡河(中河口以下)水系(区域Ⅰ下段) |
(中河口以下)水系(区域Ⅰ下段) | |||
区2 | 松滋河、弥陀寺~中河口(区域Ⅰ上段) | 区11 | 湘水下段水系 |
区3 | 湘水上段水系 | 区12 | 资水下段水系 |
区4 | 资水上段水系 | 区13 | 沅水下段水系 |
区5 | 沅水上段水系 | 区14 | 调弦口~监利河段 |
区6 | 澧水上段水系 | 区15 | 注滋口河段 |
区7 | 藕池口~调弦口河段 | 区16 | 区域Ⅳ+区域Ⅴ |
区8 | 区域Ⅱ | 区17 | 监利~螺山河段 |
区9 | 区域Ⅲ | 区18 | 区域Ⅵ |
|
2.3 城陵矶水沙过程模拟 本文利用洞庭湖1981年~1983年及1984年宜昌、四水以及螺山出口日平均水流资料,区间汇流资料根据资料用区间汇流与三口四水来流总量的比值确定。1981~1983年资料作为模型率定资料,1984年作为检验资料。为了防止部分神经元达到过饱和,对以上资料进行了规格化处理。
荆江和洞庭湖之间的演变关系是通过三口分流分沙作为纽带,三口分流分沙变化对荆江和洞庭湖的水沙变化起着关键性的作用。因此,模型要比较好地反映荆江和洞庭湖的演变发展,在模型训练过程中必须充分、正确地反映三口分流分沙变化规律。图3为1984年计算流量过程与实测流量过程比较。由图可知:用本文所建立的河网水情预报模型来模拟1984年流量过程时,模型模拟的流量过程基本上与实测流量过程变化一致,平均误差小于3%,最大误差小于6%.因此,本文所建立的河网预报模型基本上能够反映河网水流变化规律。
图3 计算与实测量过程比较 | 图4 计算与实测输沙量比较 |
本文用洞庭湖1954年~1988年三口、四水以及城陵矶出口年平均输沙量资料,来率定网络各个连接权重。由于洞庭湖区多年情况淤积率保持在74%左右,各个湖区淤积率也基本未发生大的变化,可以认为洞庭湖区的淤积对湖区泥沙淤积速率影响不大。图4为1954~1988年35年城陵矶计算输沙量过程与实测过程比较结果。
由图4可见,计算结果与实测结果误差在要求的范围之内,能够较好地反映城陵矶输沙过程,表明本文建立的具有河网水沙运动特点的神经网络模型能够用于洞庭湖区泥沙输移规律的分析和模拟。
4 结论
河网水沙运动复杂,传统水动力学数值方法在模拟河网水沙运动时很难达到实时预报的要求,对河网地形资料较缺乏的情况应用也比较困难。由于河网结构与神经网络结构相似,其输入输出关系也基本一致,因此用神经网络能够较好地模拟河网水沙运动状态。鉴于传统BP神经网络模型存在网络结构确定困难、内部节点参数物理意义不明确等缺点,本文从水沙运动的连续方程和槽蓄方程出发,建立了能反映水沙基本规律,内部节点物理意义清楚的河网神经网络模型。利用所建模型对长江中游水沙运动宏观规律进行模拟,模拟结果表明本文模型能够较好地反映客观水沙输移规律。
全部0条评论
快来发表一下你的评论吧 !