现代化的建设需要信息技术的支持,专家系统是一种智能化的信息技术,它的应用改变了过去社会各领域生产基层领导者决策的盲目性和主观性,缓解了我国各领域技术推广人员不足的矛盾,促进了社会的持续发展。但传统专家系统只能处理显性的表面的知识,存在推理能力弱,智能水平低等缺点,所以本文引入了神经网络技术来克服传统专家系统的不足,来试图解决专家系统中存在的关系复杂、边界模糊等难于用规则或数学模型严格描述的问题。本文采用神经网络进行大部分的知识获取及推理功能,将网络输出结果转换成专家系统推理机能接受的形式,由专家系统的推理机得到问题的最后结果。最后,根据论文中的理论建造了棉铃虫害预测的专家系统,能够准确预测棉铃虫的发病程度,并能给用户提出防治建议及措施。有力地说明了本论文中所建造的专家系统在一定程度上解决了传统专家系统在知识获取上的“瓶颈”问题,实现了神经网络的并行推理,神经网络在专家系统中的应用具有较好的发展前景。
关键词 神经网络 专家系统 推理机 面向对象 知识获取
I
Abstract
Modern construction needs the support of IT, expert system is the IT of a kind of intelligence, its application has changed past social each field production subjectivity and the blindness of grass-roots leader decision-making, have alleviated the contradiction that each field technical popularization of our country has insufficient people, the continued development that has promoted society. But traditional expert system can only handle the surface of dominance knowledge, existence has weak inference ability, intelligent level is low, so this paper has led into artificial neural network technology to surmount the deficiency of traditional expert system, attempt the relation that solution has in expert system complex, boundary is fuzzy etc. are hard to describe strictly with regular or mathematics model. This paper carries out the most of knowledge with neural network to get and infer function , changes network output as a result into expert system, inference function the form of accepting , the inference machine from expert system gets the final result of problem. Finally, have built the expert system of the cotton bell forecast of insect pest according to the theory in this thesis, can accurate forecast cotton bell insect become sick degree, and can make prevention suggestion and measure to user. Have proved on certain degree the expert system built using this tool have solved traditional expert system in knowledge the problem of \" bottleneck \" that gotten , the parallel inference that has realized neural network, Neural network in expert system application has the better prospect for development.
Key words Neural network Expert system Reasoning engine
Object-orientation Knowledge acquisition
II
目 录
摘 要 ........................................................... I Abstract ........................................................ II 第1章 绪 论 ................................................... 1 1.1 论文研究的背景 ............................................ 1 1.1.1 国内外研究现状 ........................................ 1 1.1.2 专家系统在开发使用中存在的缺点 ........................ 2 1.1.3 神经网络的局限性 ...................................... 3 1.2 论文研究的主要内容 ........................................ 3 1.3 论文研究的目标及意义 ...................................... 4 1.4 论文的组织结构和安排 ...................................... 4 第2章 神经网络和专家系统的基本理论 ............................. 5 2.1 神经网络的基本理论 ........................................ 5 2.1.1 神经网络的概述及工作原理 .............................. 5 2.1.2 神经网络的基本特征及优点 .............................. 6 2.1.3 BP神经网络模型 ........................................ 8 2.1.4 BP网络结构设置 ....................................... 10 2.2 专家系统的基本理论 ....................................... 12 2.2.1 专家系统的功能 ....................................... 12 2.2.2 专家系统的基本结构及组成 ............................. 13 第3章 基于神经网络专家系统的研究 .............................. 16 3.1 神经网络专家系统整体设计 ................................. 16 3.1.1 神经网络专家系统总体结构 ............................. 16 3.1.2 神经网络专家系统的组成及功能 ......................... 16 3.2 知识表示 ................................................. 17 3.2.1 传统知识表示方法 ..................................... 18 3.2.2 面向对象知识表示方法 ................................. 19
III
3.2.3 本论文采用的知识表示方法 ............................. 20 3.3 知识获取 ................................................. 21 3.3.1 知识获取的基本方法 ................................... 22 3.3.2 神经网络知识获取方法 ................................. 23 3.4 推理机 ................................................... 25 3.4.1 专家系统推理机制 ..................................... 25 3.4.2 神经网络专家系统的推理机制 ........................... 26 3.5 知识存储与维护更新 ....................................... 26 3.5.1 神经网络知识存储 ..................................... 26 3.5.2 神经网络知识维护更新 ................................. 27 3.6 用户界面 ................................................. 27 第4章 基于神经网络专家系统的应用 .............................. 29 4.1 例子的建造背景 ........................................... 29 4.2 例子的建造过程 ........................................... 30 4.2.1 特征因子选择 ......................................... 30 4.2.2 网络参数配置 ......................................... 30 4.2.3 样本数据处理 ......................................... 31 4.2.4 训练网络 ............................................. 31 4.2.5 网络训练结果分析 ..................................... 34 4.2.6 专家建议 ............................................. 34 4.3 例子的结果分析 ........................................... 34 结 论 .......................................................... 36 致 谢 .......................................................... 37 参考文献 ........................................................ 38 附录1 外文资料中文翻译 ........................................ 40 附录2 外文资料原文 ............................................ 45
IV
第1章 绪 论
1.1 论文研究的背景
专家系统(Expert System,缩写ES)是人工智能领域应用研究最活跃的领域之一,日益得到广泛的应用。它是一个具有大量专门知识与经验的程序系统,应用人工智能技术,根据某个领域里一个或多个人类专家提供的经验和知识进行推理,模拟人类专家的决策过程,解决那些需要专家解决的复杂问题。
1.1.1 国内外研究现状
国内早在1988年,戴汝为院士便提出了综合智能系统模型的设想。综合主义思想的直接成果首先是人工神经网络专家系统的产生,其实质是用神经网络去构造传统专家系统的各个部件,这在实际中是可行的,并在解决许多实践问题中发挥了作用。北京科技大学与安阳钢铁集团公司共同开发研制的高炉冶炼神经网络专家系统成功地应用于鞍钢2号300立方米高炉。安徽省地震局研制的“基于模糊神经网络和符号推理的地震预报专家系统”以模糊神经网络作为专家系统前端,通过分析杂乱无章的数据,得到有关知识[1]。
国外在八十年代末到九十年代初,将专家系统和人工神经网络结合起来的综合主义思想开始产生,国外有R.C.Lacher等人的Neural Network和Connectionist Expert Systems。同时S.L.Gallat推出的用于医疗诊断的连接主义专家系统,开创了神经网络与专家系统相结合的先例。1989年DIETZ等创建了喷气和火箭发动机故障诊断神经网络专家统,DAVID.A.HANDELMAN继承人工神经网络与专家系统用于智能机器人的研究。
1
1.1.2 专家系统在开发使用中存在的缺点
(1)知识获取的“瓶颈”。通常专家系统的知识获取主要靠人工移植,由知识工程师将领域专家的知识总结为规则加入到知识库中,这种知识获取是间接的,因而效率低;另外,领域专家的某些经验知识往往只能意会,不能言传,很难用一定的规则或者数学模型来严格描述,而这些经验知识在问题求解过程中是相当重要的,这就是专家系统设计开发中的“瓶颈”问题。
(2)另一种知识获取的困难就是多个领域专家的知识之间相互矛盾的处理。是在这些知识之间作某种折中处理,还是只取其中的某一种,作为非领域专家的知识工程师在这种情况下也束手无策。
(3)知识“窄台阶”。目前,一般的专家系统只能在相当窄的专业知识领域内求解专门性问题,对于那些可以用相应经验知识完整描述的问题能够得到正确结论,但是一旦问题超出系统所拥有的专业领域经验知识,出现系统未预计到的情况,即使问题所涉及到的知识只与现有专业领域知识有细微偏差,系统就得不出结论甚至还可能得到错误的结果。所以存在知识的“窄台阶”,即只有浅层的、表面的、经验性的知识,缺少深层的、本质的、理性的知识。
(4)推理能力弱。由于推理方法简单,控制策略不灵活,所以容易出现“匹配冲突”、“组合爆炸”及“无穷递归”等问题,推理速度慢,效率低。
(5)智能水平低。专家系统的知识存储是一一对应的,且限定没有冗余性,因而就失去了灵活性。一般的专家系统一般不具备自学习能力和联想记忆功能,不能在运行过程中自我完善、发展和创新,不能用联想记忆、识别和类比等方式进行推理。这样,系统就不能在实践中不断自我完善,就不能从环境变化中发展和创新知识。系统的功能取决于系统最初的知识和能力,它的本领只是输入知识的总和[2]。
神经网络的优点主要是良好的自组织、自学习和自适应能力,去掉冗余的数据,掌握系统内部的规律,以自身结构表达的方式进行知识的推理。因
2
此,在一定程度上,神经网络可以克服专家系统存在的缺点。但是,神经网络也存在自身的缺点。
1.1.3 神经网络的局限性
(1)对知识的表示和利用是通过把一切问题的特征都变为数字,把一切推理都变为数值计算来实现的,此推理机制过程变得简捷了,但用数字表示一切结果必然丢失信息。
(2)神经网络是“黑箱推理”,它的全部知识都存在网络内部,难以对终端用户提供可信的解释功能。
(3)单靠神经网络阵列来获取知识,系统将长期处于“智力低下”的阶段。
综上所述,不管是传统的靠符号推理的专家系统,还是神经网络专家系统都有其局限性。专家系统的特色在于知识的逻辑推理,神经网络的长处在于知识获取,专家系统和神经网络在很多方面具有互补性。一般说,专家系统在宏观上模拟人的知识推理能力,而神经网络则是在微观上模拟人的认知能力,因此研究利用神经网络改造传统的专家系统,并在此基础上进行改进,将神经网络和专家系统技术有机结合,对集成系统的研究进行尝试具有重要意义[3]。
1.2 论文研究的主要内容
本论文主要对神经网络、专家系统技术、神经网络训练算法和神经网络与专家系统相结合的理论及方法进行了研究,具体内容有:神经网络的输出结果向专家系统推理机输入知识的转换方法;神经网络专家系统的知识表示方法、知识获取方法;在神经网络专家系统中BP神经网络模型的建造过程等。基于上述理论建造的神经网络专家系统主要应用于模式识别、智能诊断、预测等方面。
3
1.3 论文研究的目标及意义
传统专家系统在很多方面的局限性,在本文中,作者根据神经网络所具有的良好自组织、自学习和自适应能力等优点,解决了传统专家系统存在的不足。文中对部分理论做了较详细的论述,并且在最后给出了神经网络专家系统在农业方面中的一个应用。神经网络技术在专家系统领域中的应用具有较好的发展前景。
1.4 论文的组织结构和安排
本论文在提出了传统专家系统的缺点与不足的基础上引入了神经网络的概念,并对国内外研究现状进行了认真地归纳总结,认真分析了基于神经网络专家系统的相关技术,解决了传统专家系统中存在的不足。
全文分为四章。
首先,探讨了课题的国内外研究现状。阐述了传统专家系统的不足,在此基础上引出神经网络的概念。
其次,本文研究了专家系统和神经网络的基本概念、相关技术和理论。并且给出了BP神经网络模型的相关理论。
再次,本文在研究分析了专家系统和神经网络的基本概念、相关技术和理论之后,分析了基于神经网络专家系统的基本模型,并且对模型的整体结构及其各组成部分的功能做了详细分析。
最后,本文研究了基于神经网络专家系统在农业中的应用。
4
第2章 神经网络和专家系统的基本理论
2.1 神经网络的基本理论
2.1.1 神经网络的概述及工作原理
人工神经网络是抽象、简化与模拟大脑生物结构的计算模型,是一种大规模并行处理和自学习自组织非线性动力学系统。
人工神经网络(Artificial Neural Network,简称ANN),简称神经网络。它通过采用物理可实现的器件或采用现有的计算机来模拟生物体中神经网络的某些特征与功能,并反过来应用于工程与其他领域[4]。就其本身性质来看,神经网络属于基于案例学习的模型,它模拟人类神经网络结构来构造人工神经元。
人的智能来源于大脑,大脑是由大量的神经细胞或神经元组成的,每个神经元可以看作为一个小的处理单元,这些神经元按照某种方式互相连接起来,构成了大脑内部的生理的神经元网络,各神经元之间连接的强弱,按照外部的激励信号作自适应变化,而每个神经元又随着接收到的多个激励信号的综合大小呈现兴奋或抑制状态。如图2-1是简化的神经元数学模型:
ui为神经元内部状态,其中x1,x2,xn为输入信号,i为阈值,wij为ui到uj连接的权值,si表示外部输入信号(在某些情况下,它可以控制神经元
ui,使ui可以保持在某一状态),f(.)为激发函数,yi为输出,上述模型可
以描述为:
iwij*xjsii (2-1)
uig(i) (2-2) yih(ui)f(i)f(wij*xjsii) (2-3)
5
其中fh*g。
x1x2
. . .
i xn
si 图2-1 简化的神经元数学模型
每一个神经元的输入接受前一级神经元的输出,因此,对神经元i的作用
i为所有输入的加权和减去阈值,若无阈值就不减了(见式(2-1)),此作用
引起神经元i的状态变化(见式(2-2)),而神经元i的输出yi为其当前状态i的函数(见式(2-3))[5]。
2.1.2 神经网络的基本特征及优点
1.神经网络的基本特征 (1)结构特征
神经网络的结构特征主要指并行处理,分布式存储与容错性。神经网络是由大量简单处理元件相互连接构成的高度并行的非线性系统,具有大规模并行性处理特征。结构上的并行性使神经网络的信息存储必然采用分布式方式,即信息不是存储在网络的某个局部,而是分布在网络所有的连接权中。一个神经网络可存储多种信息,其中每个神经元的连接权中存储的是多种信
6
息的一部分。当需要获得已存储的知识时,神经网络在输入信息激励下采用“联想”的办法进行回忆,因而具有联想记忆功能。神经网络内在的并行性与分布性表现在其信息的存储与处理都是空间上分布的、时间上并行的。 (2)能力特征
神经网络的能力特征主要指自学习、自组织和自适应性。自适应性是指一个系统能改变自身的性能以适应环境变化的能力,包括自学习与自组织两层含义。神经网路的自学习是指当外界环境发生变化时,经过一段时间的训练或感知,神经网络能通过自动调整网络结构参数,使得对于给定输入能产生期望的输出,训练是神经网络学习的途径。神经网络能在外部刺激下按一定的规则调整神经元之间的突触连接,逐渐构建起神经网络,这一构建过程称为网络的自组织(或称重构)。神经网络的自组织能力与自适应性相关,自适应性是通过自组织实现的。
2.神经网络的优点
通过对以上特征的分析,可知神经网络具有以下优点:
(1)实现了并行处理机制(网络内各个神经元或层内各个神经元之间都可以并行工作或调整),从而可以提供高速处理的能力;
(2)信息是分布式存储的(存储在各个人工神经网元的权值上),从而提供了联想与全息记忆的能力;
(3)由于它的联接强度可以改变,使得网络的拓扑结构具有非常大的可塑性,从而具有很高的自适应能力;
(4)通常人工神经网络是包含巨量的处理单元和超巨量的联接关系,形成高度的冗余,因而具有高度的容错能力和坚韧性;
(5)神经元的特性(输入输出关系)都是非线性的,因此,神经网络是一类大规模的非线性系统,这就提供了系统的自组织和协同的潜力;
(6)神经网络可以用数字方式实现,也可用模拟的方式实现,而且,它通常是数模共存的,这更接近于人脑神经网络的工作方式[6]。
迄今,神经网络的研究已经获得多方面的新进展和新成果。提出了大量
7
的网络模型,发展了许多学习算法,对神经网络的系统理论(如非线性动力学理论、自组织理论、混沌理论等)和实现方法(如vr.s1方法、光学方法、分电子学方法等)进行了成功的探讨和实验。神经网络还在模式分类、机器视觉、机器听觉、智能计算、机器人控制、信号处理、组合优化问题求解、联想记忆、编程理论、医学诊断、金融决策等许多领域获得了卓有成效的应用。近年来,在图像、语言、文字识别、天气预报、经济预测、管理决策、自动控制等领域也有大量关于神经网络的应用报道。
2.1.3 BP神经网络模型
1.BP神经网络模型概述
多层前馈式误差反向传播神经网络(Error Back-Propagation)通常简称为BP神经网络,通常由输入层、输出层和若干隐含层构成,每层由若干个结点组成,每一个结点表示一个神经元,上层结点与下层结点之间通过权连接,同一层结点之间没有联系。
BP网络的学习,由四个过程组成:输入模式由输入层经中间层向输出层的“模式顺传播”过程;网络的希望输出与网络的实际输出之差的误差信号由输出层经中间层向输入层逐层修正连接权的“误差反向传播”过程;由“模式顺传播”与“误差反向传播”的反复交替进行的网络“记忆训练”过程;网络趋向收敛即网络的全局误差趋向极小值的“学习收敛”过程。归结起来为,“模式顺传播”→“误差反向传播” →“记忆训练” →“学习收敛”过程。
由于BP神经网络具有逼近任意连续函数和非线性映射的能力,因此在神经网络研究领域中得到了广泛的应用。其结构简单,可操作性强,能模拟任意的非线性输入输出关系。
2.BP算法(Back Propagation)
8
1986年Hinton和Williams完整而简明地提出一种神经网络的误差反向传播训练算法(简称BP算法),系统地解决了多层网络中隐含单元连接权的学习问题[7]。BP神经网络模型结构如图2-1所示:
`
BP算法的主要思想是把学习过程分为两个阶段:第一阶段(正向传播过程),给出输入信息通过输入层经隐含层逐层处理并计算每个单元的实际输出值;第二阶段(反向过程),若在输出层未能得到期望的输出值,则逐层递归地计算实际输出与期望输出之差值(即误差),以便根据此差值调结权值,具体些说,就是可对每一个权值计算出接收单元的误差值与发送单元的激活值的积。因为这个积和误差对权重的(负)微商成正比(又称梯度下降算法),把它叫做权重误差微商。权重的实际改变可由权重误差微商逐个模式地计算出来,即它们可以在这组模式集上进行累加。
BP算法适合于多层神经元网络的一种学习,它是建立在梯度下降法的基础上的。BP算法的步骤可概括如下:
(1)选定权系数初值; (2)重复下述过程直到收敛:
9
输入层 隐含层 信息流
图2-1 BP神经网络模型
输出层
① k1到N
正向过程计算:计算每层各单元的ojk,tjk,k2N 反向过程计算:对各层(l=L-1到2),对每层各单元,计算jk ② 修正权值
wijwij(E/wij) 0
为步长,其中
E/wijEk/wij (k为1到n)
但是传统的BP算法存在收敛速度慢、学习时间长、出现局部最小、易产生振荡,甚至达不到收敛精度等缺陷。经过研究和实验发现,网络的拓扑结构(隐含层数、隐含层结点数等)、学习率等选取影响网络训练时间、网络振荡等问题。目前出现了很多BP算法的改进算法,综合了网络参数设置、动态调整学习率、加入动量项等措施,来改进传统BP算法所存在的问题。
2.1.4 BP网络结构设置
主要包括网络隐含层数、隐含层结点数、输入输出结点数以及初始权值设定等。
(1)输入输出结点数
根据问题领域内影响所要求解问题的因素的重要程度来选取特征因子,所选择因子个数即为输入层结点个数。
求解问题所要求得结果的个数,即为网络输出层结点个数。 (2)初始权值确定
过去J.Caillon等人曾强调限制连接权重的范围,避免学习过程中的振荡[8]。实验表明,网络的权重初始值如果均相等,那么它们将始终保持相等。因此本系统设计了一个随机数产生器,对权值赋予随机的初始值。但是,如果初始权值随机设定范围太窄,都在零值附近,则更容易引起网络的振荡或停止不前,本系统采取在[-5,5]区间内设定权值的初值,这样更有利于加速收敛。
10
(3)隐含层及其结点数的选择
1989年Robert Hecht-Nielson证明一个二层的BP网络可以完成任意的N维到M维的映射,因此本系统采用单层隐含层的神经网络作为网络的隐含层数的默认值[9]。
要使得神经元网络的学习结果具有实际意义,必须对样本容量和隐含层结点数同时提出一定的约束条件。从大量的网络结果分析得出,如果隐含层结点数目过少,网络不能具有必要的学习能力和组织能力,网络的泛化能力会很差;而结点过多,不仅会增加网络结构的复杂性,使网络在学习过程中更容易陷入局部极小值,而且会使网络学习速度变慢,学习时间加长,甚至可能出现网络不收敛情况,因此应该选择合适的隐含层结点数。但是,对于某一个确定问题,在理论上没有确定的隐含层和隐含层结点数,只能利用经验公式来粗略确定。一般说来,三层以上的网络可以保证非线性映射关系,即只需要一个隐含层,并取足够多的结点就可以达到设定的识别精度。试验发现,隐含层结点输入结点数和输出结点数的中间值,并靠近输入结点数时,网络的收敛速度较快。因此本系统采用以下经验公式进行初步拟定隐含层结点数:
n0.618(nm)pm0.618(mn)nm
nm其中,n为输入结点数,m为输出结点数,p为隐含层结点数。 经验公式给出的是系统对于专家建造的网络的隐含层数及隐含层结点数的默认值,为了提高网络的性能,系统提供专家手动修改隐含层数及结点数的机会,专家可以根据系统提示的默认值,在隐含层结点数的基础上加减其数量,进行对网络的训练,直到找到一个满意的网络推理结果,确认最后的网络结构参数。
11
2.2 专家系统的基本理论
人工智能(Artificial Intelligence,简称AI ),是一门新兴的综合性强的边缘学科。它与原子能、空间技术一起被称为二十世纪的三大科学成就。人工智能是探求人类的思维过程,研究将人类的脑力劳动外延到某种物理装置的原理和实现的一门学科,它是计算机科学的一个重要分支。专家系统是人工智能走向实用化的一个最新研究领域,是一种以知识为基础智能化的计算机软件系统。它将领域专家的知识、经验加以总结,形成规则,存入计算机建立知识库,采用合适的控制策略,按输入的原始数据进行推理、演绎,做出判断和决策。专家系统的研制促进了人工智能理论和技术的发展,开辟了计算机求解非数值问题的有效途径。
专家系统也称为基于知识的系统。对于专家系统,目前尚无严格定义,现在比较通用的定义为,所谓专家系统就是利用存储在计算机内的某一特定领域专家的知识,来解决过去需要人类专家才能解决的现实问题的计算机系统[10]。
2.2.1 专家系统的功能
根据定义,专家系统具备以下几个功能: (1)存储问题求解所需的知识。
(2)存储具体问题求解的初始数据和推理过程中涉及到的各种信息,如中间结果、目标、子目标以及假设等。
(3)根据当前输入的数据,利用已有知识,按照一定的推理策略,去解决当前问题,并能控制和协调整个系统。
(4)能够对推理过程、结论或系统自身行为做出必要的解释,如解题步骤、处理策略、选择处理方法的理由、系统求解某种问题的能力、系统如何组织和管理其自身知识等。
12
(5)提供知识获取、机器学习以及知识库的修改、扩充和完善等维护手段。
(6)提供一种用户接口,便于用户使用,也便于分析和理解用户的各种要求和请求。
2.2.2 专家系统的基本结构及组成
1.专家系统的基本结构 如图2-2所示:
用户 人 机 接 口 专家 推理机 解释 程序 知识获 取程序
综合
数据库 知识库 图2-2 专家系统的一般结构
2.专家系统的组成
13
根据其基本结构,专家系统主要包括以下几个重要组成部分: (1)知识库
用以存放领域专家提供的专门知识,包括与领域相关的书本知识、常识性知识及专家凭经验得到的试探性知识。知识库中贮存的知识确定了一个专家系统能够发挥专家作用的能力,因此,知识库是专家系统的核心部分。
(2)用户接口工具
用户接口工具是专家系统和用户之间进行信息交换的媒介。专家系统的生命力在于它能同用户一起组成高性能的人机共存系统,友善的用户界面是这种人机共存系统的重要部分。目前,有些专家系统和专家系统工具开始利用声图文一体化的多媒体技术开发新一代的用户界面。
(3)知识获取机制
知识获取机制是专家系统中把问题求解的各种专门知识从人类专家的头脑中或其他知识源那里转换到知识库中来的一个重要机构。传统的知识获取方法是手工的,靠计算机专家与领域专家深入交流获得。第二种方法是半自动知识获取方法,利用具有一定知识编辑能力和知识库求精能力的知识库工程语言和知识获取工具。第三种方法是自动知识获取,也称机器学习,即系统能自动修改和完善知识库,并在问题求解过程中自动积累和形成各种有用的知识
[11]
。
(4)推理机制
推理是指从已有事实推出新事实或结论的过程。知识的运用称为推理方式,知识的选择过程称为控制策略。基于知识的推理过程的计算机实现构成了推理机,推理机的设计是专家系统设计的核心内容。
(5)解释机制
解释机制是专家系统中回答用户询问、对自己的问题求解过程或对自己当前的求解状态提供说明的一个重要机构。一个专家系统的可信程度依赖于该专家系统解释其自身推理过程的能力。但许多系统中解释工具仅局限于列出执行过程中所使用的一些规则而已。
(6)用户
14
用户也可被视为专家系统的一个组成部分,这是为了强调专家系统的人机共存和共同思考的特征。
15
第3章 基于神经网络专家系统的研究
3.1 神经网络专家系统整体设计
本系统根据BP神经网络模型的分布存储、并行处理、自学习、自组织以及映射等功能,设计了知识获取机制和并行推理机。
基于神经网络专家系统是一种以人工神经网络为前提构建的专家系统。神经网络作为前端的知识获取器,其获取的知识存储在网络的权值和阈值当中,并由网络的并行计算而得到网络的输出结果,此结果根据专家的经验判断转换成可描述的知识规则,输入到专家系统的推理机里面。专家系统的推理机处理的是各个神经网络输出结果转换后的知识及以面向对象方式存储在知识库中的专家经验知识,最后,由专家系统的推理机得到领域问题的最后结果。
3.1.1 神经网络专家系统总体结构
神经网络专家系统主要由知识库、知识获取模块、并行推理机、解释模块及人机界面等部分组成,其结构图如图3-1所示[12]。
3.1.2 神经网络专家系统的组成及功能
系统由知识库、数据文件、并行推理机、知识获取模块、解释系统及人机接口界面等部分组成。
系统分别提供两种界面给领域专家和领域用户。首先,系统将领域专家提供的存放实例知识的数据文件进行预处理,人工神经网络作为知识获取机制,从处理后的数据文件中学习专门的领域知识,并将其存储在网络权值和
16
人机接口(界面) 专家知识经验 知识获取 数据文件 推理机 知识库
图3-1 神经网络专家系统总体结构
事例知识、 解释系统 阈值中,以数据文件的形式保存。通过知识录入界面,领域专家可以总结领域内的经验知识,对神经网络输出结果进行分类判断处理,并给出专家建议或对不同结果的解决方案。对于应用的专家系统,专家可以为其创建个性化界面,使得不同的专家系统拥有不同界面。领域用户将问题数据输入建造成功的系统中,经过并行推理机的计算,得到问题的数值性结果。系统将此结果传输到对象推理机,对象推理机自动和知识库连接,得到与此问题相关的问题描述性回答及专家建议或解决措施。系统结构如图3-2所示。
3.2 知识表示
知识表示(Knowledge Representation)就是知识的符号化和形式化的过程。知识表示方法研究各种数据结构的设计,通过这种数据结构把问题领域的各种知识结合到计算机系统的程序设计过程中[13]。知识表示的目的在于通过知识的有效表示,使专家系统能够利用这些知识进行推理和做出决策。
17
领域专家/领域知识 专家界面 知识录入、修改、浏览界面 神经网络知识获取 数据文件 知识库 通用推理机 解释机制
图3-2 系统结构图
领域用户/问题数据 图形用户界面 对于同一种知识,可以采用不同的知识表示方法,但在解决某一问题时,不同的表示方法可能会产生不同的效果。因此,对于不同领域的求解问题,选择合适的知识表示方法是非常重要的。
知识表示的任务是把欲在智能系统中使用的知识变换为一定形式的数据结构及其说明程序,组织成易于利用的形式或过程。
3.2.1 传统知识表示方法
专家系统对知识表示的形式是基于形式化的符号,通常采用显式的、描
18
述性的表示方式。传统的表示方法主要有语义网络表示、产生式表示、逻辑表示、框架表示、过程表示方法等。其中,语义网络表示抓住了符号计算中符号和指针两个本质的东西,且具有联想的特性,所以在人工智能中是重要的知识表示方法,但这种用弧代表事物间的任何联系,其形式过于简单,表达受到限制,当增加联系时会增大网络的复杂度。框架适合于表示典型的概念、时间和行为,但其各知识表示单位间缺乏清晰的语义。而且上述这些表示方法存在着推理效率低、非透明性、与推理机不能独立存在、易于出现组合爆炸等缺点,并不适合于建造专家系统。
3.2.2 面向对象知识表示方法
面向对象的知识表示方法将多种单一的知识表示方法(规则、框架等)按照面向对象的程序设计原则组织成一种混合知识表达形式,即以对象为中心,将对象的属性、动态行为、领域知识和处理方法等有关知识“封装”在表达对象的结构中。这种方法将对象的概念和对象的性质结合在一起,符合专家对领域对象的认知模式[14]。因此,对于本专家系统工具的显性知识的表示,可以采用面向对象的知识表示方法。
1.基本概念
Peter Coad和Edward Yourdon提出用下列等式识别面向对象方法:面向对象=对象+分类+继承+通过消息的通信
(1)对象
在计算机系统中,对象是一组属性以及这组属性上的专用操作的封装体。一个对象通常可由对象名、属性和操作三部分组成。属性可以是一些数据,也可以是另一个对象。操作规定了对象的行为,表示对象所能提供的服务。
(2)类
类是一组具有相同属性和相同操作的对象的集合。一个类中的每个对象
19
都是这个类的一个实例。通常把一个类和这个类的所有对象称为类及对象或对象类。
(3)继承
继承是在某个类的层次关联中不同的类共享属性和操作的一种机制。一个父类可以有多个子类,一个子类也可以有多个父类。
(4)消息
在面向对象技术中,对象类的属性称为域,对象类的操作称为方法。面向对象方法的操作与对象类的内部结构和约束等封装在一起,当对象之间要进行通信、发生相互联系时,就需要通过发送“消息”来激活对象中相应的方法。
(5)方法
方法就是对对象实施各种操作的说明,也就是消息的具体实现。消息中只包含发送对象的操作要求,而不包含完成操作的具体方法。在面向对象的程序设计中,方法就是函数的定义。
2.面向对象的知识表示方法的特征
(1)它直接模拟人类思维,消除了问题领域概念与计算机概念之间的语义间隙;
(2)面向对象的知识表示使得建造专家系统过程中知识获取、知识表示、知识运用三者在概念上、形式上统一起来;从系统开发的角度,面向对象的思想将程序分析、设计、编程统一起来,中间无需任何转换。
因此,这种知识表示方法非常适合表示复杂的系统知识。
3.2.3 本论文采用的知识表示方法
在本文研究的领域问题中包括两大类知识,一类是领域专家能用自然语言描述的知识,这类为显性知识,主要包括专家的书面知识及实践中的经验
20
知识;另一类是隐含在大量数据及关系中,难以用语言描述的知识,这类为隐性知识,主要是实验及调研得到的数值型数据。对于隐性知识,本文采用神经网络对数据进行学习,知识获取和知识表示同时进行,信息被存储在网络结构当中。对于显性的描述性知识,本文采用面向对象的知识表示方法。
1.神经网络的知识表示方法
神经网络的知识以网络的权值和阈值的形式表示的。
神经网络对知识的表示是隐式的,当确定了网络的结构参数、神经元的激活函数及学习算法后,网络的知识获取和知识表示是同时进行、同时完成的。对网络的训练学习成功后,样本数据中存在的知识信息都以连接权值和阈值的形式分布存储在整个网络当中。
2.面向对象的知识表示方法
面向对象的知识表示直接模拟人类思维,消除了问题领域概念与计算机概念之间的语义间隙,并且,使得建造专家系统过程中知识获取、知识表示、知识运用三者在概念上、形式上达到了统一。
3.3 知识获取
知识获取就是把用于求解专门领域问题的知识从拥有这些知识源中抽取出来,并转换为一种特定的计算机表示。
专家系统的核心是知识,因而在一个专家系统建造中,解决知识如何获取是一个十分重要的课题[15]。在专家系统开发过程中,知识获取是最难解决的一道工序,被认为是专家系统建造中的“瓶颈”问题。只有当知识获取的手段自动化、智能化后,才可以说专家系统有了真正的智能。
21
3.3.1 知识获取的基本方法
知识获取的方法可以分为三类: (1)手工知识获取
就是通过计算机知识工程师和领域专家频繁而深入的交谈获得的。知识库中的知识便是由知识工程师把挖掘来的专家经验知识按规定的知识表示形式加工并输入到计算机的。如图3-3所示:
领域专家 知识工程师
图3-3 手工知识获取
知识库(领域知识) (2)半自动知识获取
利用具有一定知识编辑能力和知识库求精能力的知识工程语言和知识获取工具来进行的知识获取方法。如图3-4所示:
领域专家 知识编辑程序 知识库(领域知识)
图3-4 半自动知识获取
(3)自动知识获取
自动知识获取也称机器学习。自动知识获取机制能通过专家直接同系统对话而无需知识工程师介入,对话内容便可自动变换成知识库中的知识,或进行知识库的修改。具有自适应学习功能的系统能通过用户对求解结果的大量的反馈信息自动修改和完善知识库,并能在问题求解过程中自动积累和形成各种有用的知识。如图3-5所示:
22
领域专家
图3-5 自动知识获取
归纳推理程序 知识库(领域知识) 传统的知识获取方法,要求领域专家能够对制定决策过程进行准确描述,但对于决策过程的描述往往比制定决策更为困难,因为某些决策制定经常依赖于经验的“直觉”,而无法阐明理由;人工抽取需要领域专家和知识工程师大量的时间和经历;不同专家对领域知识的理解和概括不同,所做决策也不同,因此意见很难统一;另外,对于有些领域内部知识、规则隐式地存在于大量的数据联系之中,需要专家对这些数据进行大量实验性分析,才能获取领域知识,对于这样的系统,人工实现知识获取更为困难[16]。
基于上述原因及本系统的设计目的,对于领域中的隐性知识采用神经网络的数据学习替代专家分析,实现系统知识获取自动化。本文涉及到两部分知识的获取:一是传统描述性知识获取;二是从实例样本中获取隐含性知识。第一部分采用半自动化的知识获取工具,领域专家可以根据界面向导,不需要知识工程师帮助,方便地将领域知识及经验录入到知识库中;第二部分用人工神经网络进行知识的自动获取。通过神经网络对样本数据的学习,将其中隐含的知识存储到整个网络中,并用数据文件的形式保存网络的权值和阈值。此种知识获取机制的结构如图3-6所示:
3.3.2 神经网络知识获取方法
神经网络是生理学上的真实人脑神经网络的结构和功能,以及若干基本特性的某种理论抽象、简化和模拟而构成的一种信息处理系统。它是一种大规模的并行联接机制,它有一些神经元作为处理单元,通过把问题表达成单元间的权来解决问题的。
23
专家经验知识 神经网络知识获取 半自动知识编辑器 神经网络权值矩阵 数据文件 知识库 储 知 识 存 训练数据样本
图3-6 知识获取机制的结构
神经网络的学习过程也就是知识获取的过程。一般来说,神经网络要从领域的大量实例中获取知识。虽然网络的学习过程是可以自动完成的,知识获取相对较简单。但是,即使有大量的实例作为样本对神经网络进行训练,也不能保证网络一定能概括出精确的领域知识。这主要是由于三方面的原因造成的:一方面是作为知识源的样本集并不能覆盖到整个知识领域。在缺乏样本集的领域,神经网络学习后只能得到比较粗略的知识,即由于样本不完全性造成的误差;另一方面是由于对实例样本的预处理造成的,样本经过归一化处理后往往会丢失一部分信息,或加入部分噪声信号,从而影响学习效果;还有一种可能是网络拓扑结构或参数选择的不恰当,网络并没有学习到样本蕴涵的知识的本质特征。
通过借鉴神经网络计算理论的研究成果,可以改善神经网络的学习效果。本文通过动态调整学习率、加入动量项及合理配置网络参数等措施来改造BP网络,以使网络学习效果更好,输出更加准确合理。
24
3.4 推理机
知识推理是知识工程的基本技术之一。根据知识推理方法与策略,设计推理机制是专家系统设计的重要过程。推理是指从已有事实推出新事实或结论的过程。在专家系统中,推理以知识库中的已有知识为基础,是一种基于 知识的推理。基于知识的推理在计算机中的实现构成了推理机,推理机的设计是专家系统设计的核心内容。
3.4.1 专家系统推理机制
根据问题领域中各个神经网络输出结果及其他知识,专家系统推理机可以得到问题的求解结果[17]。本文设计了面向对象的通用推理机。
推理方法分为逻辑推理和不确定推理。逻辑性知识是能够确保结论正确无误的知识,当已知的数据完整、准确时,使用逻辑性知识推理所得的任何结论也必然是完全可靠的,称这种推理为逻辑推理;不确定性推理就是从不确定性的初始证据出发,通过运用不确定性的知识,最终推出具有一定程度的不确定性但却是合理或者近乎合理的结论的思维过程。由于农业知识本身的复杂性和不确定性,以及特定专家系统用户常常无法提供完整可靠的信息,所以本系统的通用推理机采用了不确定推理的方法及模糊推理技术。
搜索策略可分为盲目搜索和启发式搜索。盲目搜索具有盲目性,效率不高;启发式搜索是在搜索中加入了与问题有关的启发性信息,用以指导搜索朝着最有希望的方向前进,加速问题的求解过程并找到最优解。本推理机采用了一个折衷方案:基于“典型特征”判别的广度优先搜索,即将“典型特征”作为启发因子,在一定程度上提高了推理效率。
一般的控制策略又可分为数据驱动(正向推理)、目标驱动(反向推理)和混合驱动(正反向混合推理)。考虑到专家系统在应用中的实际情况,本通用推理机采用了数据驱动的控制策略。
25
3.4.2 神经网络专家系统的推理机制
神经网络专家系统的推理过程和传统专家系统的逻辑演绎推理不同,由于神经网络同一层各个神经元之间完全是并行关系,而同层内神经元的数目远大于层数,因此,从整体上看,它是一种并行计算过程。其推理步骤如下: (1)将输入数据加到神经网络输入层的各个神经元;
(2)按照已确定的网络传递特性和输入数据计算输入层各神经元的输出,并把它们作为隐含层单元的输入;
(3)由此再分别计算隐含层神经元及输出层神经元的输出。
由于神经网络的计算机制的独特特点,因此更加适合于进行对不确定性问题的推理
[18]
。
3.5 知识存储与维护更新
3.5.1 神经网络知识存储
系统存储的知识主要是神经网络从实例中自动学习到的隐含知识及神经网络的网络模型参数和传统的显性的描述性知识两部分知识的存储。
(1)神经网络获取的隐性知识以权值和阈值形式及网络参数存储在数据文件中。对于解决不同问题的网络结构参数、权值、阈值以不同的数据文件名保存。
(2)对于显性知识,存储在知识库中。系统采用Access数据库管理机制对知识库进行组织和管理,其组织的优点在于:
①知识库和推理机相互独立,知识库内部知识及组织方式改变不会影响推理机的工作;
②方便地进行知识库扩充、维护和修改;
③便于知识的运用和输入、输出,以及知识库内容的一致性和完整性检
26
查及维护。
3.5.2 神经网络知识维护更新
知识库的建立过程是知识经过一系列变换进入计算机系统的过程,在这个过程中存在着各种导致知识不健全的因素。例如:领域专家提供的知识存在某些不一致、不完整,甚至错误的信息对知识库的增加、修改及删除时产生的影响,以至产生的知识库的不完备情况等。还有随着经验知识的增加,科学的发展,原有知识库中知识的变得陈旧需要更新。基于以上原因,知识库都需要更新维护。
对于显性知识的维护,系统提供给领域专家半自动的知识获取及编辑界面,由于采用面向对象的知识表示方法,更接近人类的思维模式,因此,专家利用此界面便可以对知识中的知识进行浏览、增加、修改或者删除。
神经网络知识的更新,是网络再学习的过程。系统提供给专家对神经网络进行二次学习的界面,学习过程和第一次学习过程相同。二次学习可以在原来权值和阈值的基础上,进行修正,更加接近事物原来的本质规律。
3.6 用户界面
用户界面是专家系统和用户之间进行交互通信和信息交换的媒介。友善的用户界面是人机共存系统的重要部分。用户界面主要由语言处理程序组成,它接受用户输入的询问、命令和其他各种信息,并翻译成系统有关部分可接受的形式;同时,它接受系统输出的回答、求解结果、行为解释等信息,并翻译为用户易理解的形式。本系统采用多媒体技术开发了声图文一体化的用户界面。
由于本系统是基于神经网络而建造的,因此系统包括两个用户界面,一个是提供给领域专家进行神经网络训练并生成专家系统的专家界面;另一个是专家系统建造成功后提供给领域用户的用户界面。
27
1.专家界面
主要包括专家系统生成和神经网络专家系统两个部分。 2.用户界面
主要包括神经网络专家系统和帮助两个部分。为了让每个专家系统的界面加以区分,系统为专家提供创建个性化界面的机会,专家可以为自己的系统添加不同的声音、动画或图片文件作为专家系统的新界面,而不是传统的所有系统均是一个界面。
3.安全性维护
为了保证只有专家才能对专家系统进行建造和修改,系统提供密码机制,来保证系统的安全性。在进入本系统的最初,设定密码数据。主要分为专家密码用户密码两个部分,根据密码的不同,可以进入不同的界面。
28
第4章 基于神经网络专家系统的应用
基于上述几章基本理论知识的阐述,本章以“棉铃虫预测的神经网络专家系统”为例,具体介绍神经网络在专家系统中的应用。
4.1 例子的建造背景
病虫害预测是农业上很重要的生产问题。及时预报、防治主动,不仅有效控制病虫危害,减少损失,而且可以提高防治效果,减少成本和农药使用量,减低环境污染。如何将获得的病虫害发生信息进行科学合理的处理、分析,提高预报的准确性并加大预报期限,一直是预报技术研究的重点,尤其是长期预测。“作物--有害生物”系统是一个不断发展和演变的半人工系统,这种系统永远达不到自然系统的“成熟”程度,总是含有新的、结构上的新内容。
预测问题,传统方法主要有数学模型、综合分析法和数理统计模型等。数学模型试图用定量化的方法来进行严格描述问题,但是由于预测问题的信息不完全和不确定性,因此,这种方法必定丢失很多有用信息。综合分析法和数理统计模型的知识来源于经验观察,这两种方法均属于知识的表层表达方式。但是经验往往都很难进描述出来,因此有其局限性。
根据预测问题信息的不完整和不确定性,以及问题本身的规律难以用数学模型表达,并且当问题不断出现的情况下,难以用经验来确定等问题,恰恰适合用神经网络来解决[19]。因此,本文以建造棉铃虫预测的神经网络专家系统为例,来说明神经网络技术在专家系统中的实用性。
29
4.2 例子的建造过程
4.2.1 特征因子选择
根据对棉铃虫测报资料的统计,影响棉铃虫各代发生期、发生量及发生程度的因子有虫情因素也有气象因素,本文主要选取麦田1代幼虫量,5月降水天数,5月相对湿度,6月降水天数, 5、6月份气温,6月份相对湿度等7个因素[20]。神经网络的输入结点数等于预测系统的特征因子数。输出层结点数等于系统目标个数,因此本系统输入结点数等于7。
4.2.2 网络参数配置
第一种方法:专家可以手动选择学习率、动量项、隐含层数、隐含层结点数等网络参数。
第二种方法:系统自动配置参数。 (1)隐含层数
一个三层的BP网络可以完成任意的N维到M维的映射,因此系统采用单层隐含层的神经网络作为网络的隐含层数的默认值。
(2)隐含层结点数
根据以下经验公式,输入结点数n7.输出结点数m1,可知应采用:
n0.618(nm)pm0.618(mn)(3)学习率的初始值确定 根据下述公式:
nm
nm第一个分式。计算后得到p10.708,取整后得到隐含层结点数为11。
1 p30
其中p11,得到0.3015。
(4)动量项一般取值在[0, 1]区间内,本系统采用0.7作为默认初始值。
4.2.3 样本数据处理
本文采用黑龙江地区二代棉铃虫各生态和生物因素指标在1982-1991年的调查数据作为网络训练的原始样本数据,预测指标按照国家颁发的标准分级,并规定发生程度重、偏重、中、偏轻和轻的归一化数值分别为0.9, 0.7, 0.5, 0.3, 0.1。在数据中,麦田一代幼虫量中1992年和1993年的数据远远大于其他数据值,因此为了消除这些奇异值对学习结果的影响,将这两个值作为最大值,也就是和1988年的数据一样大。
利用数据预处理模块进行数据处理,具体公式如下:
x得到相应的结果[21]。
xxmin
xmaxxmin4.2.4 训练网络
数据处理完毕后,开始网络训练。训练过程也就是神经网络的学习过程。 网络结构图如图4-1所示:
网络训练成功后,网络的权值和阈值如下:
隐含层第0个神经元与输入层各神经元间的权值为:
-0.293523 -3.659293 0.079734 2.220349 -0.289168 -0.867357 -0.900379
阈值为:0.810926
31
输入层
隐含层
输出层
0 1 6 0 1 10 图4-1 网络结构图
0
隐含层第1个神经元与输入层各神经元间的权值为:
-2.040300 -0.947276 -0.496232 -1.276381 0.906158 -0.315704 0.487458
阈值:-1.037254
隐含层第2个神经元与输入层各神经元间的权值为:
0.590007 -0.625967 -1.134414 0.455414 -0.462947 -0.077191 -0.356950
阈值:0.282068
隐含层第3个神经元与输入层各神经元间的权值为:
0.742697 0.039365 1.281466 -0.280089 0.045557 -0.645832 -0.696802
阈值:-0.732111
隐含层第4个神经元与输入层各神经元间的权值为:
32
-0.275512 -0.170078 0.197279 -0.194035 0.025092 -0.645723 -0.056433
阈值:-0.628764
隐含层第5个神经元与输入层各神经元间的权值为:
3.317376 2.609213 1.730356 2.006558 -3.657198 -3.422108
阈值:0.670642
隐含层第6个神经元与输入层各神经元间的权值为:
0.208531 0.211266 1.577997 -0.395265 0.364434 -0.764615
阈值:-0.601936
隐含层第7个神经元与输入层各神经元间的权值为:
-3.303217 -0.565375 -0.380517 -1.523169 1.835853 -0.041520 0.392944
阈值:1.261122
隐含层第8个神经元与输入层各神经元间的权值为:
0.376704 -0.430827 2.432597 -0.616938 0.082495 -1.025528
阈值:0.067836
隐含层第9个神经元与输入层各神经元间的权值为:
-0.303780 0.185378 0.425638 -0.136327 -0.124178 -0.395689 -0.502313
阈值:-0.670560
隐含层第10个神经元与输入层各神经元间的权值为:
0.490528 0.970642 1.872403 0.004090 -0.532260 -1.741l69
阈值:1.155361
输出层与隐含层间各神经元间的权值为:
33
0.325970 -0.665889 -1.276186 -0,909603 3.659956 -1.229557 0.584817 -1.494509 -0.104753 5.033825 -1.658199 -2.561276 -2.558397 -0.395333 -2.595861
阈值:0.043151
4.2.5 网络训练结果分析
网络训练成功后,专家系统就完成了知识获取的过程。为了验证网络推理的准确程度,本文采用1992年和1993年的实际数据作为验证数据。
用神经网络预测1992年和1993年二代棉铃虫发生程度预测值与实际值的比较如表4-1所示:
年份 1992 1993
表4-1 神经网络预测值与实际值比较 预测值 0.965779 0.979839
预测发生 程度
实际值 0.9 0.9
实际发生 程度 重 重
7.3% 8.87% 误差率
重 重
结果表明,本网络进行二代棉铃虫发生程度预测与实际基本符合。
4.2.6 专家建议
网络的输出结果并不是专家系统的最后显示给用户的结果[22]。神经网络输出的结果转换成的知识规则为:棉铃虫在1992年的发生程度为重;棉铃虫在1993年的发生程度为重。然后将这些知识输入到专家系统的推理机里面,可得到专家给出的相应的预防建议和防治措施。
4.3 例子的结果分析
“预测棉铃虫发病趋势的神经网络专家系统”能够准确预测棉铃虫的发病
34
程度,并能给用户提出正确及时的防治建议及措施。
35
结 论
虽然专家系统已经在不少专门领域显示出相当出色的工作能力,在许多场合下不仅达到而且还超过了人类专家的水平,使人工智能实用化。但专家系统技术本身的问题和局限性已日益明显地显示出来,如前所述,人工智能专家系统所取得的成就离人们期望的水平在不断接近,专家系统的研制将会进一步促进人工智能理论和技术的发展。
基于神经网络专家系统的建造解决了传统专家系统的知识获取的瓶颈问题,且适合解决农业领域环境信息不确定、知识不完整,很难用显性知识描述的领域问题。
专家系统工具的实现可以帮助领域专家不需要知识工程师,而直接训练神经网络并生成神经网络专家系统,提高了专家系统的建造速度。本系统所训练的神经网络可以根据实际问题的情况,任意确定网络规模和拓扑结构,因此适合各种不同领域的问题。
神经网络专家系统比传统专家系统容错能力强。神经网络模型中,知识信息采取分布式存储,个别单元损坏不会引起错误,容错性好,可靠性高。但是神经网络有其适用范围,主要适合于解决网络输入结点不太多的情况。
36
致 谢
本论文是在张老师的直接指导下完成的。在系统的研制、开发和论文写作过程中,张老师给予了悉心的指导和热情的关怀。张老师严谨的治学态度和一丝不苟的工作作风使我受益匪浅,对我今后的工作学习都将产生永久的影响,感谢张老师。
同时,在论文撰写期间得到了学院领导、老师和整个信计教研组的指点和帮助;还得到了同学们的大力支持和鼓励,在此表示由衷的感谢。
37
参考文献
1 赵春江,杨刚.农业专家系统现状与未来.计算机农业应用. 2002,2(1):67-68
2 吴泉源,刘江宁. 人工智能与专家系统. 北京国防科技大学出版社,
1995:116-116
3 冯定. 神经网络专家系统. 科学出版社,2006:24-26
4 吴建鑫,周志华,陈世福.神经网络集成综述.中国人工智能学会第9届全国学术会论文集. 2001:223-224
5 冯玉强. 基于神经网络与专家系统继承的智能决策支持系统研究. 哈尔滨工业大学学报. 1997,3(2):13-14
6 杨一平,戴汝为. 神经网络专家系统及其应用. 中国应用电子学报. 1990,
5(3):68-69
7 R Setiono. Research and application based neural network. IEEE Trans on Neural Networks. 2000,11(2):512-519
8 Pearl. Probabilistic Reasoning in Intelligent Systems. Morgan Kaufmann
Publishers,1999:96-97
9 QUINLAN J R. Artificial intelligence basic principle and application. Journal of Artificial Intelligence Research. 1996,4(2):77-78
10 马玉祥,武波. 专家系统. 北京理工大学出版社,2001:123-125 11 刘群,陈云录.一种面向工程应用的专家系统开发工具.哈尔滨科学技术大学学报. 2000,3(3):78-78
12 梁静. 神经网络专家系统一体化理论与实现. 北京科技大学博士论文. 1999:35-37
13 田禾,戴汝为. 基于人工神经网络的专家系统. 计算机学报. 1998,3(2): 72-74
14 邵军力,张景,魏长华. 人工智能基础. 北京电子工业出版社,2001:
38
221-223
15 蔡自兴,龚涛. 高级专家系统. 科学出版社, 2005:111-112 16 Lyudon, M &Tan, C.(1995). An object-oriented knowledge base for
domain expert systems. Expert Systems with Applications. 1997,2(3):66-66 17 王亚东,李海峰. 专家系统开发环境. 哈尔滨工业大学学报. 1996,2(3):
211-213
18 杨燕、王万森. 专家系统中不确定知识表示和处理的研究. 中国人工智
能学会第9届全国学术会论文集. 2001:325-326
19 上官周平.农业专家系统及其应用.农业现代化研究. 1999,2(2):22-23 20 丁克怀. 水稻主要病害诊断、预测、防治专家系统的研究.安徽农业大学学报. 2000,7(3):242-243
21 Zhao chunjiang, Research and Application of Platform for Agricultural
Intelligent Systems,In ISIA IT2000 Beijing China. 2000,4(3):40-41 22 O Melnik,Neural network expert system development and survey. In:Proc of
the IEEE-INNS-ENNS Int’l Joint Conf on Neural Network.Como,Italy,2000:4(2)425-425
39
附录1 外文资料中文翻译
将计算机技术应用于图像、语音和预报的尝试有一些共同的地方,它们都需要模式识别,即不管是否有噪声和失真而对一实体进行识别或分类的能力。由于这些应用展现了人类的世界。所以它们都有很广阔的商业前景。而且,它们都在开始采用神经网络来提高精度、降低成本或两者都有。
神经网络是对大脑研究,从而产生的算法然后实现的。实际上,是神经科学的一个分支并且使用计算机建立知识功能的模型。但是这里所讨论的神经网络与生物学没有什么关系。相反地,它们是一种技术,这里计算机直接从数据学习,因而有助于进行分类、函数估计、数据压缩及类似的任务。
由于已经试用了几十年,在研究问题时,据说神经网络是一种解决问题的办法。虽然,近年来它们开始进入了实际的应用,由于有了可加速产品开发的专用硬件,才加快了这一趋势。
神经网络的价值表现在以下几个方面:
首先,它们是自适应的:它们能采到数据并从中去学习。因此,它们能从交给它们的数据中推导出解决办法,常常能看到很小的关系。这种能力与标准的软件技术很不相同。因为它不依赖于程序员对规则的先验知识。神经网络能通过学习基本的关系(即使它们是难以找出和描述的)而能减少开发时间。它们也能解决这种缺乏现成解决办法的问题。
第二,神经网络具有归纳功能:它们能正确处理广义上与当初训练它们的数据相似的数据。同样,它们能处理不完善或不完整的数据,从而提供容错功能。由于真实世界的数据是有噪声的,所以归纳功能在实际应用中很有用。
第三,神经网络是非线性的,它们能捕获到一个系统的输入变量中复杂的相互关系。在线性系统中,改变单个输入在输出端就产生了相应的变化,此输入的作用只与它自己的值有关。在非线性系统中,这种作用与其它输入值有关,其关系为高阶函数。
40
第四,神经网络是高度并行的:大量一样的、独立的运算可以同时执行。 现在,既然专用并行计算机和芯片已能用来实现神经网络,甚至大的神经网络也可以获得实时速度,面且日用产品也可使用嵌入式神经网络。
神经网络是一种信息处理技术,采用了与常规的算法程序设计完全不同的方法,它能查阅大型数据库,找出它所包含的信息模式,而无需预先判断哪些数据点是重要的,也不会在不清楚或不完整的信息上卡壳。
人工神经网络在减少使用if/then/else结构化方法的可能性很困难或不可能的情况下,较常规的专家系统具有优势。神经网络“基本上是一种大负荷的统计处理器,让你密切注视数据集合,研究它们相互之间是如何联系起来的。”
由于它们是由数据而不是算法驱动的,所以对神经网络编程需要较少的时间与精力,又由于它们是通过检查输入数据来进行学习的,所以它们的性能随着时间的推移而得到改进。其处理是由同时工作的多个单元在相同的数据上进行的,所以人工神经网络从本质上讲是容错的。串行计算机CPU出了故障就将停止工作。带有故障处理机的井行机则会产生错误的结果,因为对数据的某些部分没有进行处理。但人工神经网络在性能开始下降之前,通常能容忍多达15%的处理单元出故障。
在原来,专家系统看起来好像是解决行政决策问题的好办法,但是建立一个帮助复杂决策的有用的专家系统已证实远比开始想象的要困难。知识工程(将人类专家所知的知识变成机器可读的指令的过程)首先与专家传授专门知识的能力有关,这是很少有专家能做到的。他们的决策是依据内在化的知识和受过训练的推测上,以至于实际上是不可表达的。
专家系统的另一个问题是开发人员必须提供每一种可想象到的结果。专家系统不能被编写成只给出近似答案。当面对它们尚未被教过如何解决的问题时,它们是束手无策的。
人工神经网络因为拥有它们固有的结构和能力,可以克服(专家系统的)这些不足。神经网络的设计是在对人脑如何处理信息不大了解的情况下进行
41
的,所以神经计算机距离合成脑还相差甚远,虽然建造大脑模型正是研究人员所希望去做的。
显然,我们距制造接近人类大脑计算能力的计算机有着几代,甚至可能几个世纪之遥。神经网络研究(它是一项交叉学科的研究工作,涉及认知心理学家、神经科学家、行为科学家、工程师、理论数学家和计算机科学家)的目的现在旨在弄清楚大脑是如何处理信息的。其目标是以硬件实现这种(对脑子的)了解。
世界各地的计算机科学家正在开发神经网络软件,这种软件模仿人类的思维过程比数字计算机更接近。这样的技术在美国加州理工学院正在向现实靠近。加州理工学院博士研究生Misha Mahowald与英国牛津大学研究人员Roduey J.Douglas合作,研制出一种“硅神经元”芯片,它以有机的大脑细胞为模型。
此技术的全面应用仍很遥远,但是诸如传感数据增强处理,决策支持和机器人用的高级人工智能系统等应是可能的。
由于神经处理过程是做在硅片里面,而不是用软件方法实现,故有可能比现有的神经网络的效率要提高几个数量级。
神经网络程序通常很巨大,也很复杂,因而它们需要巨大的存储容量。对今天所能使用的最强大的计算机的处理能力来说也是一个大挑战。
Mohowald说,标准的数字计算和集成电路逻辑都是基于“思维是一个推理过程”这样一个假设。但是,实际上不是这样的。你是以你感觉经验的模式思维的。我们希望从感觉开始,能够学会神经系统使用的秘诀。
Mahowald和Douglas都没有传统计算机科学的背景。Douglas是位生理学家,而Mahowald开始主修生物学,具体是对神经系统的物理特性感兴趣。她在加州理工学院教授Carver Mead指导下对电子学开始感兴趣,Mead对称作“硅视网膜”的计算机视觉芯片的开发为神经元芯片的研究奠定了基础。
这种硅神经设计成模拟芯片,因为模拟信号比数字信号更接近神经的行为。Mahowald说“在神经元中,表膜的作用类似一个电容器—依据电容器两端的电势高低,小孔打开和关闭。”
42
在神经元芯片上,每个电路都代表着一种不同的表膜通路。Mahowald补充说:“一旦我们有了基本的模拟设计,我们只要保持不断地增加不同种类的输入即可。这种芯片模块化程度很高。”
他们两位的最新突破是有五个硅神经元芯片的样品。该芯片最初的生产将在由美国国防高级研究计划局资助的制造厂中进行。
在人工智能系统的世界里,神经网络就实际应用、高精度的结果和处理速度(有时比常规系统快10万倍)而言已跃居前列。
现在,现成的和定制设计的神经网络系统在数量越来越大的工业和研究应用中得到使用:物体形状的认识和区分,如集成电路和手写体。非线性过程的建模和控制,如薄膜刻蚀的过程或化学制品的混合和硫化过程。物理过程的优化,如改进系统功能的过程。
使用这些系统你也不必是编程专家。多数系统使用基本的算法,因而你不必开发自己的算法;另外,神经网络的初始化和教会它如何解决其问题的过程已变得简单多了。
总之,神经网络已走出计算机专家的密室,步入普通研究人员的日常世界。
神经网络是一种数据处理结构,它包含称作神经元的处理单元,它们通过单向的信号通路(叫做连接)完全互连起来。每个神经元可从很多来源获取数据,但只能在一个方向上发送数据。这个输出连接能分支出多个其它的连接,但是每个连接要运载同样的信号。
每个输入都乘以一个相应的加权,它与脑子的突触力相似。然后,所有的加权输入都加起来,以确定激活此神经元的电平。几乎所有的神经网络结构都是基于这种模型。
神经网络不用对其编程。美国圣路易斯的Tripos联合公司的一名软件工程师Thomas Dowvey说:“它们基本上以我们人类一样的方式通过范例进行学习。像人类那样,你给神经网络展示的范例的质量将确定它学习的好坏与效率。”
43
开头,连接的加权因子是随机确定的。不过在神经网络最初的“培训”期间,神经网络调整这些加权,以使其输出与操作人员提供的测试答案之间的差异变为最小。
AT&T的贝尔实验室的一名技术人员Chris Burges说:“神经网络的基本运算是乘法,而使乘法快速运算非常容易,神经网络给人们带来好处的关键原因是在同一时刻你可并行地进行大量运算。”
单凭这一点就能加快处理速度,比在采用传统处理结构的常规工作站上能做的处理快上1000倍,甚至更高。
当前的神经网络应用多数是在数字硬件系统上实现的。数字系统在加权精度和互连能力方面提供的灵活性最好。此外,很多不同的产品,如模糊逻辑控制器、傅里叶变换运算器和磁感电感应器,可以同数字系统结合起来。
反向传播是由美国圣地亚哥市的HNC公司的总裁Nielsen开发的,它不像多层后向传播那样通用,但它能缩短某些后向传播系统中所见到的长培训时间。
反向传播是一种反馈体系结构,它把芬兰赫尔辛基大学Teuvo Kohonen和波士顿大学 Stephen Crossberg开发的培训算法结合起来,反向传播网络对解决模式分类、数据压缩、样板匹配和概率函数估计中的问题都很有用。
虽然以上这些体系结构各有其自己的优势,但反向传播神经网络系统才是此行业的真正主力。
44
附录2 外文资料原文
Attempts to apply computer technology to image, speech and forecasting share several characteristics. All require pattern recognition, or the ability to identify or Classify an entity despite noise and distortion. All hold great commercial promise because they reflect the human world. Finally, all are beginning to vise neural net -works improve accuracy, reduce cost, or both.
A neural network is an implementation of an algorithm inspired by research int -o the brain. In fact, one branch of neuroscience uses computers to model cognitiv -e functions. But the neural networks discussed here have little to do with biology. Rather, they are a technology in which computers learn directly from data, thereby assisting in classification, function estimation, data compression, and similar tasks.
Having been used experimentally for decades, neural networks are reputedly a solution in search of a problem. More recently, though, they began moving into pr -actical applications, and this trend can only accelerate now that specialized hardw -are is available to speed product development.
The value performance of neural network is in some following aspects:
First, they are adaptive: They can pick data and study from it. Therefore they can push the derivation method of solving from the data given, can often catch very subtle relation. This kind of ability is completely different from the software technology of standard. Because it does not rely on programmer for rule examine knowledge first. Neural network can pass through the relation of basic study (even if they are to be hard find out and describe) and can reduce development time. They can also solve lack the ready-made method of solving problem.
Second, neural network has sum up function: They can handle broad sense correctly on with train their data similar data originally. Also, they can handle not perfect or not complete data, so offer the function of fault tolerance. Since the data of true world brings noise, so, it is very useful to sum up function in actual application.
Third, Neural network is non-linear, they can catch the complex correlation in
45
a systematic input variable. In linear system, change is single, input is in export end produce corresponding change and this input role and the value of its self concerning. In nonlinear system, this kind of role is concerning other input value, its relation for Gao Jie function.
Fourth, neural network are highly parallel: Plenty of the same, independent operations may be at the same time carried out.
Now, as the parallel computer and chip special already can be used to realize neural network, even big neural network may also get the speed of real time, surface just the product of daily use may also use embedded neural network.
Neural network is a kind of information method of having adopted the algorithm programming complete difference with routine and handling technology , it can look up large scale database , finds out the information pattern contained by it , and need not judge in advance that which data point is important , will not also get stuck on not clear or not complete information.
Artificial neural network when reducing the possibility of using the structured method of if/then/else under very difficult or impossible condition, the expert system than routine has advantage. Neural network \" is the statistical processor of a kind of big load basically, let you keep a close watch over data set to suit , study them is between each other how to connect \".
Since they are from data instead of algorithm drive, so the energy and time that is few comparatively for neural network programming needs, is also through inspection because of them data-in carries out study, so their performance gets improvement along with the passing of time. Its handling is from at the same time work many units go on identical data, so artificial neural network since saying in principle, it is fault tolerance. It will stop work if serial computer CPU has broken down. With the result of fault processor that well trip machine can produce mistake, because of some parts for data, have not carried out handling. But artificial neural network before beginning from performance decrease, can usually tolerate the handling that reaches 15% unit breaks down.
Not long since, expert system is seems the easy to do France that solves administrative decision-making problem seemingly, however establish a help is complex and decision-making, useful expert system has confirmed than begin imagination want difficulty. Knowledge engineering (will the knowledge that
46
human expert knows becomes machine the instruction that may be read process) first pass on the ability of special knowledge with expert concerning, it has expert that this is few can accomplish. Their decision-making is basis very inner knowledge with on the inference that trained, so that in is actually cannot express.
Expert systematic another problem is that development people must offer each kind of result of imagine. Expert system can not be compiled only, give approximation answer. The problem that not taught face to face for them to how to solve, they are to feel quite helpless.
Artificial neural network may be surmounted because of possessing their built-in structure and ability (the system of expert). The design of neural network is in for person brain under the condition of how to handle information not large understanding go on, so neural computer distance composes brain still differ, although building cerebrum model it is only research that people hope to do.
Obviously, we are away from manufacture the computer that is close to human cerebrum to calculate ability, have few generations, even some possible remote centuries. The research of neural network (it is the research of a overlapping subject to work , is concerned with to accept know psychologist, neural scientist, behavior scientist, engineer, theoretical mathematician and home of computer science) it is that purpose aims at making clear cerebrum in now how to handle information. Its goal is to realize this kind of(for the brain ) understanding with hardware.
Home of computer science of all parts of the world is developing neural network software, the thought process of this kind of software imitation mankind is close more than digital computer. Such technology adds state reason in America, engineering college is being near to reality. Add state reason the doctor graduate student Misha Mahowald and British Oxford university research people Roduey J.Douglas of engineering college cooperate, R&D happens a kind of \"silicon Neuron\" chip, it is model with organic cerebrum cell.
The overall application of this technology is still distant, however strengthens handling and decision-making support such as biography sense data, the high-grade system of artificial intelligence used with robot etc. should be possible. Handle process because of neural is do inside silicon chip, instead of realize with software method, so, may want to raise some quantity levels than the existing
47
efficiency of neural network.
Neural network program is usually huge, also very complex, thus they need huge memory capacity. The handling for the most powerful computer that can be used today is also a big challenge in ability.
Mohowald says that the figure of standard is calculated, with the logic of integrated circuit is based on \"thought is a inference process\" such a assumption. But actually, it is not so. You feel the pattern thought of experience with you. We hope to begin from feeling, learning nervous system the secret formula of use. Mahowald and Douglas have no background of traditional computer science. Douglas is position physiologist, and specializes in biology beginning from Mahowald, is to be interested in the physical property of nervous system. She when adding state reason under the professor guidance of engineering college of Carver Mead begin to be interested for electronics, the development that Mead symmetry makes the computer visual chip of \" silicon retina \" has established foundation for the research of Neuron chip.
This kind of silicon neural design becomes simulated chip, because simulated signal is close to the behavior of neural more than digital signal. Mahowald says ,\" in Neuron, the role of showing membrane a similar condenser — the electromotive force that holds according to condenser two difference in degree, Xiao Kong opens and closes \".
On Neuron chip, every circuit represents a kind of different table membrane route. Mahowald adds: \"once we have got basic simulated design, we will only maintain the input that increases different kind constantly can, this kind of chip modular degree is very high\"
Their two newest breakthroughs have the sample of 5 silicon Neuron chips. This chip initial production will when being carried out with the American high-grade research of national defence in the manufacturer of planned bureau financial aid.
In the world of the system of artificial intelligence, neural network is applied for reality, handling and the result of high accuracy speed (is one-hundred thousands times quicker sometimes than conventional system)has leapt house front row.
Now, ready-made and custom-made design neural network system is in
48
quantity, more and more big industry and research get use in application: Division and the knowledge of object shape. Such as integrate circuit and handwritten form. Nonlinear process build mould and control, carve vulcanization process and the mixture in chemical product or the process of losing as film. The optimization in physical process, as the process of improving systematic function.
Use these systems you need not be also programming expert. The most algorithm with basic systematic use, thus you need not develop own algorithm. Additionally, the initialization of neural network and the church process that it how to solve its problem have become simple and many.
In a word, neural network has walked out of the room used for secret purposes of computer expert, step into the daily world of ordinary research people.
Neural network is a kind of data handling structure, it contains the handling that is called as Neuron, unit and they pass through unidirectional signal route (is called connection) complete even get up mutual. Every Neuron may get data from many sources, but can only dispatch data on a direction. This export connection can branch the connection that makes many others, however every connection will transport the signal with the same year.
Every input is taken advantage of so as one corresponding add right, it with the brain suddenly Chu Li is similar. Then, all add right input to add, with definite activation the level of this Neuron. Nearly all neural network structures are based on this kind of model.
Neural network does not use, is for its programming. A software engineer Thomas Dowvey of this easy Tripos joint company says American holy road: \" they carry out study basically with our human the same way through example, like mankind, the quality that you give neural network the example of demonstration will determine it study good spoil with efficiency, \"
Beginning, it is stochastic and definite that those that join add right factor. However in neural network is initial and \"training\" duration, neural network adjustment is these add right, between with make the test answer that its export and operating people offer it is minimum that discrepancy changes.
A AT&T technician Chris Burges of BEL laboratory says: \" it is that the basic operation of neural network is multiplication , and makes the crucial reason that multiplication fast operational very easy neural network gives people to bring
49
benefit in with carve you one o'clock may carry out plenty of operations \".
Sheet is rely on this can quickly handle speed , than when adopting traditional handling on structural conventional working station, can do handling is 1000 times quicker , even higher.
Current neural network application majority is realized on digital hardware system. Digital system when adding right precision and linking ability mutual the flexibility that aspect offers is best. Besides, many different products, alternate arithmetic unit and the magnetic sense ware of electric induction as the controller of fuzzy logic and Fourier, may combine with digital system.
Reverse biography draws is developed by HNC company's president Nielsen of the American city of San Diego, it not picture is multilayer and backward propagation general, in but it can shorten some backward dissemination systems the long training time of seeing.
Reverse propagation is a kind of feedback architecture, it combines Finnish Helsinki University Teuvo Kohonen with the training algorithm of the Boston university development of Stephen Crossberg, reverse propagation network matches the problem in probability function estimate for solving pattern classfication, data compression and sample plate very useful.
Though, these above architectures have its own advantage each, backward propagation neural network system just is the genuine main force of this profession.
50
因篇幅问题不能全部显示,请点此查看更多更全内容