前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的对神经网络的理解主题范文,仅供参考,欢迎阅读并收藏。
关键词:神经网络;数据挖掘;算法
1.数据挖掘过程及常用的神经网络模型
1.1数据挖掘过程
数据挖掘是一个由诸多步骤共同组成的具有反复特性的迭代过程,其最主要的目的是从海量的数据当中,找出人们最感兴趣的信息。大体上可将数据挖掘过程分为3个阶段,即数据准备、模式提取以及结果的解释与评估。
(1)第一个阶段为准备所需的数据,具体可将这个阶段细分为数据清洗、数据选取以及数据预处理和数据表示四个步骤。数据是数据挖掘过程中不可或缺的重要前提和基础,但大量的实践表明,只有数据是很难进行挖掘工作的,必须在对数据进行挖掘前,做一些相应的准确工作,这些工作也成为数据挖掘的重要环节。
(2)第二阶段为模式提取。该阶段是数据挖掘的核心环节,需要先明确数据挖掘的任务及目标,并在正式确定目标之后,选择合适的算法或工具,开始对数据进行挖掘操作。在这个环节当中,算法是关键,即可选择单一的算法,也可多种方法联合使用,具体的选择应视挖掘的任务而定。
(3)第三阶段为解释与评价。挖掘过程中发现的模式应当以最容易理解的形式呈现给用户,其间要对发现的模式进行比较、校验,看是否与用户的要求相符,进而确定出挖掘效果。
1.2神经网络模型
现阶段,已知的人工神经网络模型有40多种,较为常用的有以下几种:
(1)BP神经网络。BP是误差反向传播的简称,这种神经网络归属于前馈网络的范畴,其具有多层映射的特征,该网络所采用的主要学习方式为最小均差,结构简单、学习训练算法成熟、工作状态稳定是BP模型的3大特点,正因如此使得该模型获得了非常广泛的应用。由于BP算法对误差函数有着一定的要求,即误差函数必须可微,故此,为了有效克服局部极小的问题,多以全局优化算法为主,如遗传算法等。
(2)RBF神经网络。RBF是径向基函数的简称,该网络与BP网络在归属的范畴上相同,也属于前馈网络。RBF网络在激活函数方面有多种可选择,最常用的是高斯函数,因为这种函数具有很多显著的特点,如形式简单、径向对称、容易解析等等。由于RBF网络是一个多层前馈网络,故此只要隐单元足够多,便可达到任意给定精度,其在逼近目标时,采用的化整为零的思想,即将目标分解成为若干个局部对象。
(3)混合型神经网络。这是―种将其它方法有机融合到―起构成的神经网络模型,它与传统网络模型的拓扑结构相同,但学习机制却有所不同。常用的混合型神经网络有模糊和进化2种。
2.基于神经网络的数据挖掘方法
2.1神经网络在数据挖掘中的应用优势
神经网络是一门实用性较强的科学技术,其集多种现代技术于一身,有诸多并行分布的处理单元连接而成。从系统的角度上讲,神经网络归属于动态系统的范畴,具有自适应和非线性的特征,对噪声数据有着非常强的容错和承受能力。由于神经网络所具有的这些特点,使得基于神经网络构建的数据挖掘模型具备了与之相同的特点,这样便可以适应数据环境的不同变化,由此进一步提升了数据挖掘模型的准确性。可见,神经网络十分适用于数据挖掘领域。
2.2基于神经网络的数据挖掘过程
由上文分析可知,在数据挖掘领域中,神经网络具有较高的适用性,以此为基础的数据挖掘过程分为以下几个阶段。
2.2.1数据的选择及预处理阶段
数据选择的主要目的是为神经网络的构建提供相应的数据支撑,这个过程可以细分为以下2个环节:(1)对数据进行训练,(2)对数据进行测试。观察和理解是选择数据时必须做的工作,当样本数据集确定之后,便可按照挖掘目标,并结合挖掘方法,对数据进行编码处理。
2.2.2网络训练与剪枝
当数据选择和处理工作完成之后,数据挖掘人员需要选用一个神经网络模型,同时确定相应的网络训练算法,通过该算法对神经网络进行训练。剪枝的主要作用是以神经网络的准确性为前提,去除掉没有意义和价值的冗余结点由此会使网络模式更加简练,也更容易理解。
2.2.3规则的提取与评估阶段
经过以上2个阶段后,神经网络当中便会蕴含着学习到的规则,也就是常说的知识,但是此时的规则由于存在形式的原因,不容易理解,所以需要对规则进行提取。提取规则的主要目的在于将规则的形式转化为容易理解的形式,如模糊逻辑、决策树等,然后再借助测试样本对规则的可靠性进行测试、评估。
2.3基于RBF神经网络的数据挖掘模型设计
下面本文以RBF神经网络为依托,对数据挖掘模型进行设计,其整体框架结构如图1所示。
整个系统由以下模块构成:数据获取、数据处理、数据分类与评估、控制与干预、GUI人机交互、知识库。系统模块的设计情况如下。
2.3.1数据准备
①数据选择。在数据选择中,让用户利用数据访问接口对数据集进行自行选择,进一步确定数据集类型、数据集名称及数据集处所位置。数据访问接口为对象模型,该模型覆盖了数据访问的各个层面,具体可使用的接口包括ADO,DAO和ODBC三种,本系统采用的数据库访问方案为DAO/ODBC,选择该方案的主要原因是DAO既能够与Microsoft Jet数据库引擎并用,还可借助ODBC Direct选项不与其并用。同时,通过DA0对Jet进行访问更加简单、便捷,并且使用DATE控件和DAO,能够创建出与数据库本身无任何关联性的虚拟代码。②数据清理。该环节的主要目的是将不希望包括在内的观测值筛选掉,操作过程既可借助SQn吾句实现,也可借助相关程序予以实现。③数据合成。该环节是将独立的数据合成数据集,操作过程较为简单,只要规则确定便可利用sQL语句或相关程序来实现。
2.3.2数据挖掘
(1)挖掘方法的选择与管理。该环节在系统中具有重要的作用,与系统的可扩充性和最佳挖掘方法的选择有关。挖掘方法管理可对系统中使用的全部方法所产生的接口信息进行保存,如对文本文件分词方法、Web日志的Session戈0分方法等挖掘方法中产生的特定数据信息予以保存,粗糙集、决策树属于通用的挖掘方法。在对该模块进行设计的过程中,针对分类预测问题,使用了聚类和神经网络以及统计学等方法。选择方法的主要目的是几乎所有的方法都是数据依赖,并没苻一种方法能够在所有的数据上表现良好。因此在方法选择的初始阶段,通过专家的人为干预是有必要的。经过对前人的研究成果进行总结后发现,将多种不同的方法联合运用可大幅度提升运用效果。对于本文构建的数据挖掘系统而言,其核心部分为数据挖掘模块,该模块的设计分为3个方面:①训练模块,以训练RBF网络为主,采用数学模型方法构建网络分类模型;②预测模块,在分类实际数据的基础上,将分类产生的数据结果快速传递到评估模块;③重构模块,该模块地能够确保数据挖掘模型具有―定的可扩展性和自适应能力,按照具体需要对模型进行重新构建。(2)结果显示。该环节以多种形式显示数据挖掘结果,如列表、树、图等是最为常见的显示方式。本文采用了可视化的方法进行数据挖掘结果显示,这样能够使用户对挖掘结果的了解更加直观、具体。(3)结果评估。在评估中,采用数据挖掘评价方式,通过比较分析不同模型下产生的数据挖掘效果,从而得出各类型分析工具的最终结果,再配以相应的标准图标进行直观显示,方便用户利用相关数据信息开展定量评价。在结果评估中,强调获取规则的价值评定,其评价关键点为查看数据挖掘结果与用户期望的符合程度,并对挖掘结果的可靠性和价值性进行评价,将其作为知识库是否纳入规则的重要评判依据。在GUI交互界面上,数据挖掘系统与用户可以进行交互操作。
2.4安全性保障措施
基于RBF神经网络的数据挖掘系统在使用过程中,安全性非常重要,为此,本文提出几点安全性保障措施,以此来确保数据挖掘的安全。
(1)采用登录机制确保数据安全。所谓的登录机制主要是针对客户端的一种安全控制措施。由于用户与服务器端需要通过网络的方式进行数据传输,为了进一步提高数据传输的安全性,可对数据进行加密处理,并将用户挖掘到的数据结果存储在服务器上,由此在不同的计算机上使用客户端均可对之前挖掘到的数据结果进行利用。
(2)设置权限。可以通过用户管理来完成用户的注册、登录以及使用权限管理。当用户需要使用数据挖掘系统进行数据挖掘时,要先进行账号注册,并在使用前通过注册的账号和密码进行登录,从而保证每个用户的数据安全。此外,用户管理能够实现分级管理,赋予不同用户不同的权限,这使安全性获得了进一步提升。
人脑是自生命诞生以来,生物经过数十亿年漫长岁月进化的结果,是具有高度智能的复杂系统,它不必采用繁复的数字计算和逻辑运算,却能灵活处理各种复杂的,不精确的和模糊的信息,善于理解语言、图象并具有直觉感知等功能。
人脑的信息处理机制极其复杂,从结构上看它是包含有140亿神经细胞的大规模网络。单个神经细胞的工作速度并不高(毫秒级),但它通过超并行处理使得整个系统实现处理的高速性和信息表现的多样性。
因此,从信息处理的角度对人脑进行探究,并由此研制出一种象人脑一样能够“思维”的智能计算机和智能信息处理方法,一直是人工智能追求的目标。
神经网络就是通过对人脑的基本单元---神经元的建模和联结,来探索模拟人脑神经系统功能的模型,并研制一种具有学习、联想、记忆和模式识别等智能信息处理功能的人工系统。本文介绍神经网络的特征以及近年来有关神经网络和混沌理论、模糊计算和遗传算法等相结合的混合神经网络探究的动态。
一.神经网络和联结主义
回顾认知科学的发展,有所谓符号主义和联结主义两大流派。符号主义从宏观层次上,撇开人脑的内部结构和机制,仅从人脑外在表现出来的智能现象出发进行探究。例如,将记忆、判定、推理、学习等心理活动总结成规律、甚至编制成规则,然后用计算机进行模拟,使计算机表现出各种智能。
符号主义认为,熟悉的基本元素是符号,认知过程是对符号表示的运算。人类的语言,文字的思维均可用符号来描述,而且思维过程只不过是这些符号的存储、变换和输入、输出而已。以这种方法实现的系统具有串行、线性、准确、简洁、易于表达的特征,体现了逻辑思维的基本特性。七十年代的专家系统和八十年代日本的第五代计算机探究计划就是其主要代表。
联接主义则和其不同,其特征是从微观出发。联接主义认为符号是不存在的,认知的基本元素就是神经细胞(神经元),认知过程是大量神经元的联接,以及这种联接所引起的神经元的不同兴奋状态和系统所表现出的总体行为。八十年代再度兴起的神经网络和神经计算机就是这种联接主义的代表。
神经网络的主要特征是摘要:大规模的并行处理和分布式的信息存储,良好的自适应、自组织性,以及很强的学习功能、联想功能和容错功能。和当今的冯.诺依曼式计算机相比,更加接近人脑的信息处理模式。主要表现如下摘要:
神经网络能够处理连续的模拟信号。例如连续灰度变化的图象信号。
能够处理混沌的、不完全的、模糊的信息。
传统的计算机能给出精确的解答,神经网络给出的是次最优的逼近解答。
神经网络并行分布工作,各组成部分同时参和运算,单个神经元的动作速度不高,但总体的处理速度极快。
神经网络信息存储分布于全网络各个权重变换之中,某些单元障碍并不影响信息的完整,具有鲁棒性。
传统计算机要求有准确的输入条件,才能给出精确解。神经网络只要求部分条件,甚至对于包含有部分错误的输入,也能得出较好的解答,具有容错性。
神经网络在处理自然语言理解、图象模式识别、景物理解、不完整信息的处理、智能机器人控制等方面有优势。
符号主义和联接主义两者各有特色,学术界目前有一种看法摘要:认为基于符号主义得传统人工智能和基于联接主义得神经网络是分别描述人脑左、右半脑的功能,反映了人类智能的两重性摘要:精确处理和非精确处理,分别面向熟悉的理性和感性两个方面,两者的关系应该是互补而非互相代替。理想的智能系统及其表现的智能行为应是两者相互结合的结果。
接下去的新问题是,符号AI和联接AI具体如何结合,两者在智能系统中相互关系如何?分别扮演什么角色?目前这方面发表的文献很多,大致有如下几种类型摘要:
1.松耦合模型摘要:符号机制的专家系统和联接机制的神经网络通过一个中间媒介(例如数据文件)进行通讯。
2.紧耦合模型摘要:和松耦合模型相比较,其通讯不是通过外部数据进行,而是直接通过内部数据完成,具有较高的效率。其主要类型有嵌入式系统和黑板结构等。
3.转换模型摘要:将专家系统的知识转换成神经网络,或把神经网络转换成专家系统的知识,转换前的系统称为源系统,转换后的系统称为目标系统,由一种机制转成另一种机制。假如源系统是专家系统,目标系统是神经网络,则可获得学习能力及自适应性;反之,可获得单步推理能力、解释能力及知识的显式表示。当然,转换需要在两种的机制之间,确定结构上的一致性,目前主要新问题是还没有一种完备而精确的转换方法实现两者的转换。有待进一步探究。
4.综合模型摘要:综合模型共享数据结构和知识表示,这时联接机制和符号机制不再分开,两者相互结合成为一个整体,既具有符号机制的逻辑功能,又有联接机制的自适应和容错性的优点和特征。例如联接主义的专家系统等。
近年来神经网络探究的另一个趋向,是将它和模糊逻辑、混沌理论、遗传进化算法等相结合,即所谓“混合神经网络”方法。由于这些理论和算法都是属于仿效生物体信息处理的方法,人们希望通过她们之间的相互结合,能够获得具有有柔性信息处理功能的系统。下面分别介绍。
二.混沌理论和智能信息处理
混沌理论是对貌似无序而实际有序,表面上看来是杂乱无章的现象中,找出其规律,并予以处理的一门学科。早在七十年代,美国和欧洲的一些物理学家、生物学家、数学家就致力于寻求在许许多多不同种类的不规则性之间的联系。生物学家发现在人类的心脏中有混沌现象存在,血管在显微镜下交叉缠绕,其中也有惊人的有序性。在生物脑神经系统中从微观的神经膜电位到宏观的脑电波,都可以观察到混沌的性态,证实混沌也是神经系统的正常特性。
九十年代开始,则更进一步将混沌和神经网络结合起来,提出多种混沌神经网络模型,并探索应用混沌理论的各种信息处理方法。例如,在神经元模型中,引入神经膜的不应性,探究神经元模型的混沌响应,探究在神经网络的方程中,不应性项的定标参数,不定性时间衰减常数等参数的性质,以及这些参数于神经网络混沌响应的关系,并确定混沌---神经网络模型具有混沌解的参数空间。经过试验,由这种混沌神经网络模型所绘出的输出图形和脑电图极为相似。
现代脑科学把人脑的工作过程看成为复杂的多层次的混沌动力学系统。脑功能的物理基础是混沌性质的过程,脑的工作包含有混沌的性质。通过混沌动力学,探究、分析脑模型的信息处理能力,可进一步探索动态联想记忆、动态学习并应用到模式识别等工程领域。例如摘要:
对混沌的随机不规则现象,可利用混沌理论进行非线性猜测和决策。
对被噪声所掩盖的微弱信号,假如噪声是一种混沌现象,则可通过非线性辨识,有效进行滤波。
利用混沌现象对初始值的敏锐依靠性,构成模式识别系统。
探究基于混沌---神经网络自适应存储检索算法。该算法主要包括三个步骤,即摘要:特征提取、自适应学习和检索。
模式特征提取采用从简单的吸引子到混沌的层次分支结构来描述,这种分支结构有可能通过少数几个系统参数的变化来加以控制,使复杂新问题简单化。自适应学习采用神经网络的误差反传学习法。检索过程是通过一个具有稳定吸引子的动力学系统来完成,即利用输入的初始条件和某个吸引子(输出)之间的存在直接对应关系的方法进行检索。利用这种方法可应用于模式识别。例如黑白图象的人脸识别。
三.模糊集理论和模糊工程
八十年代以来在模糊集理论和应用方面,也有很大进展。1983年美国西海岸AI探究所发表了称为REVEAL的模糊辅助决策系统并投入市场,1986年美国将模糊逻辑导入OPS---5,并探究成功模糊专家系统外壳FLOPS,1987年英国发表采用模糊PROLOG的智能系统FRIL等。除此通用工具的研制以外,各国还开发一系列用于专用目的的智能信息处理系统并实际应用于智能控制、模式识别、医疗诊断、故障检测等方面。
模糊集理论和神经网络虽然都属于仿效生物体信息处理机制以获得柔性信息处理功能的理论,但两者所用的探究方法却大不相同,神经网络着眼于脑的微观网络结构,通过学习、自组织化和非线性动力学理论形成的并行分析方法,可处理无法语言化的模式信息。而模糊集理论则着眼于可用语言和概念作为代表的脑的宏观功能,按照人为引入的隶属度函数,逻辑的处理包含有模糊性的语言信息。
神经网络和模糊集理论目标相近而方法各异。因此假如两者相互结合,必能达到取长补短的功能。将模糊和神经网络相结合的探究,约在15年前便已在神经网络领域开始,为了描述神经细胞模型,开始采用模糊语言,把模糊集合及其运算用于神经元模型和描述神经网络系统。目前,有关模糊---神经网络模型的探究大体上可分为两类摘要:一类是以神经网络为主,结合模糊集理论。例如,将神经网络参数模糊化,采用模糊集合进行模糊运算。另一类以模糊集、模糊逻辑为主,结合神经网络方法,利用神经网络的自组织特性,达到柔性信息处理的目的。
和神经网络相比,模糊集理论和模糊计算是更接近实用化的理论,非凡近年来美国和日本的各大公司都纷纷推出各种模糊芯片,研制了型号繁多的模糊推理板,并实际应用于智能控制等各个应用领域,建立“模糊工程”这样一个新领域。日本更首先在模糊家电方面打开市场,带有模糊控制,甚至标以神经---模糊智能控制的洗衣机、电冰箱、空调器、摄象机等已成为新一代家电的时髦产品。我国目前市场上也有许多洗衣机,例如荣事达洗衣机就是采用模糊神经网络智能控制方式的洗衣机。
四.遗传算法
遗传算法(GeneticAlgorithm摘要:GA)是模拟生物的进化现象(自然、淘汰、交叉、忽然变异)的一种概率搜索和最优化方法。是模拟自然淘汰和遗传现象的工程模型。
GA的历史可追溯到1960年,明确提出遗传算法的是1975年美国Michigan大学的Holland博士,他根据生物进化过程的适应现象,提出如下的GA模型方案摘要:
1.将多个生物的染色体(Chromosmoe)组成的符号集合,按文字进行编码,称为个体。
2.定义评价函数,表示个体对外部环境的适应性。其数值大的个体表示对外部环境的适应性高,它的生存(子孙的延续)的概率也高。
3.每个个体由多个“部分”组合而成,每个部分随机进行交叉及忽然变异等变化,并由此产生子孙(遗传现象)。
4.个体的集合通过遗传,由选择淘汰产生下一代。
遗传算法提出之后,很快得到人工智能、计算机、生物学等领域科学家的高度重视,并在各方面广泛应用。1989年美国Goldberg博士发表一本专著摘要:“GeneticAlgorithmsinSearch,OptimizationandMachineLearning”。出版后产生较大影响,该书对GA的数学基础理论,GA的基本定理、数理分析以及在搜索法、最优化、机器学习等GA应用方面进行了深入浅出的介绍,并附有Pascal模拟程序。
1985年7月在美国召开第一届“遗传算法国际会议”(ICGA)。以后每隔两年召开一次。近年来,遗传算法发展很快,并广泛应用于信息技术的各个领域,例如摘要:
智能控制摘要:机器人控制。机器人路径规划。
工程设计摘要:微电子芯片的布局、布线;通信网络设计、滤波器设计、喷气发动机设计。
图象处理摘要:图象恢复、图象识别、特征抽取。
调度规划摘要:生产规划、调度新问题、并行机任务分配。
优化理论摘要:TSP新问题、背包新问题、图划分新问题。
人工生命摘要:生命的遗传进化以及自增殖、自适应;免疫系统、生态系统等方面的探究。
神经网络、模糊集理论和以遗传算法为代表的进化算法都是仿效生物信息处理模式以获得智能信息处理功能的理论。三者目标相近而方法各异;将它们相互结合,必能达到取长补短、各显优势的效果。例如,遗传算法和神经网络和模糊计算相结合方面就有摘要:
神经网络连续权的进化。
传统神经网络如BP网络是通过学习,并按一定规则来改变数值分布。这种方法有练习时间过长和轻易陷入局部优化的新问题。采用遗传算法优化神经网络可以克服这个缺点。
神经网络结构的进化。
目前神经网络结构的设计全靠设计者的经验,由人事先确定,还没有一种系统的方法来确定网络结构,采用遗传算法可用来优化神经网络结构。
神经网络学习规则的进化。
关键词:人工智能;深度学习;教学建议
0 引言
传统的人工智能课程主要包括人工智能导论、模式分析、机器学习、数据挖掘等。这些课程由各个院校根据专业情况不同而选择,课程的内容也有较大差别,但是,基本上都涉及人工神经网络的内容。然而在人工神经网络的教学内容上,一般只讲解经典的多层感知器和反向传播算法,或再加入一些反馈网络的内容,这种教学内容设计的一个不足是忽视了人工智能领域的最新发展——深度学习,它是近几年人工智能领域最具影响力的研究主题,并在大规模语音识别、大规模图像检索等领域取得突破。
北京邮电大学计算机学院开设人工智能科学与技术的本科专业,笔者从事深度学习的研究工作,同时承担了本科生和研究生人工智能类课程的教学工作,因此产生了将深度学习内容引人人工智能类课程的想法。本文先介绍深度学习的背景,说明深度学习在人工智能发展中的地位,之后分析了将深度学习基本内容引入人工智能类课程的必要性和可行性,最后给出了一些实施建议供探讨。
1 深度学习背景
2006年,加拿大多伦多大学的GeoffreyHinton教授与Salakhutdinov博士在美国《科学》杂志发表了题为“Reducing the Dimensionality ofDatawith Neural Networks”的论文,该文提出一种学习多层神经网络的方法,并将这种具有多层结构的学习方法命名为深度学习(Deep Learning),而这成为深度学习研究的一个导火索,从此深度学习的研究与应用蓬勃发展起来。
深度学习在语音识别与生成、计算机视觉等应用领域取得了突出进展。近几年的国际机器学会(International Conference on MachineLearning,ICML)、神经信息处理大会(AnnualConference On Neural Information Processing Systems,NIPS)、计算机视觉大会(InternationalConference on Computer Vision,ICCV)、
声学语音与信号处理大会(International ConferenceOn Acoustics,Speech,and Signal Processing,ICASSP)、计算语言学大会(Annual Meeting of the Association for Computational Linguistics.ACL)、计算机视觉与模式识别(InternationalConference on Computer Vision and P atternRecognition,CVPR)等都有不少相关的研究论文、会议教程和小组研讨会(Workshop)。美国国防高级研究计划(DARPA)也提出了关于深层学习的研究项目。此外,2013年6月《程序员杂志》的封面故事,采访了周志华、李航、朱军3位国内的机器学习专家对于深度学习的看法,他们一致肯定了深度学习在机器学习领域的贡献。
工业界对深度学习也寄予了很高期望。2012年6月,《纽约时报》报道了斯坦福大学计算机科学家AndrewNg和谷歌公司的系统专家JeffDean共同研究深度神经网络的机器学习模型在语音识别和图像识别等领域获得的巨大成功。2012年11月,微软公司在天津公开演示了一个全自动的同声传译系统,其关键技术也是深度学习。2013年1月,百度公司首席执行官李彦宏先生宣布建立深度学习研究院(Institute of Deep Learning)。2013年3月,谷歌公司收购了由深度学习创始人Geoffrey Hinton创立的公司。
从学术界与工业界的研究态势看,深度学习已经成为机器学习与模式识别,乃至人工智能领域的研究热点。正是在这样一个背景下,人工神经网络重新回到人们的视野。此前人工神经网络的发展大致可以分为两个时期,1943年,McCulloch和Pitts提出了最早的人工神经元,这种神经元具有学习能力,这是人工神经网络的发端,也可以被认为是人工智能的发端(当时还没有人工智能这个术语)。1949年,Hebb提出了Hebbian学习算法。1957年,Rosenblatt提出了感知器的神经网络模型。1969年,Minsky和Papert分析了这种感知器神经网络模型的局限性。然而,很多研究者认为,感知器的这种局限性对于所有的神经网络模型都适用,这使人工神经网络的研究很快暗淡下来。1980年代中期,诺贝尔奖得主John Hopfield提出了Hopfield神经网络模型,这种Recurrent神经网络具有的动态性有可能用于解决复杂的问题。同时,多层前向神经网络的后传算法也被重新发现,这两个工作使人工神经网络得到重生。这时,人工神经网络已经成为人工智能的一个重要组成部分。但是,在随后的研究中,人们发现,当学习多层神经网络包含更多的隐藏层时,后传算法并不能学到有效的网络权值,这使得神经网络的研究再次陷入低潮。此次以深层神经网络为代表的深度学习重新回到研究的舞台,其中一个重要因素是Hinton提出的逐层预训练神经网络方法治愈了多层神经网络的一个致命伤。
2 必要性与可行性
深度学习的发展使得从事教学一线的教师也无法忽视这个颇具影响力的研究主题。为此,我们提出将深度学习这个主题引入到人工智能类课程中,将它作为课题教学的一部分。
2.1 必要性
将深度学习这个主题引入到人工智能类课程中的必要性主要包括如下4点。
1)深度学习是人工智能的前沿。
2006年以来,深度学习的研究席卷了整个人工智能,从机器学习、机器视觉、语音识别到语言处理,都不断涌现出新的研究工作和突破性进展。深度学习不仅在机器学习领域成为研究热点,同时在多个应用领域也成为有力工具,而且,在工业界的系统应用中,深度学习成为其中的关键解决技术。
2)深度学习是人工智能的突破。
深度学习的发端是神经网络。关于神经网络的论述,在人工智能类常见教科书中还停留在多层神经网络,即神经网络的第二阶段,它们大部分描述多层结构无法训练的现象。但是,从深度学习的角度看,深层神经网络不仅可学习,而且有必要,这与第二代神经网络的观点是完全不同的。深度学习突破了原有人工神经网络的认识,超越了人工智能神经网络教科书中的原有内容,因此,有必要将多层神经网络结构的可学习性告知学生,从新的视角纠正原有的观点。
3)深度学习是人工智能的延伸。
深度学习不仅提供了一种可以在深层神经结构下训练网络的方法,也包含了不少新的内容,是人工智能的新发展,为人工智能补充了新的内容。到目前为止,深度学习至少包括:从生物神经网络与人类认知的角度认识深层神经网络的必要性;如何构建和学习深层学习网络;如何将深层结构用于解决视觉、语音、语言的应用问题;如何看待深度学习与原有的机器学习方法,如流形学习、概率图模型、能量模型的直接关系;深度学习与其他学科的关系等。
4)深度学习是学生的潜在兴趣点。
大学生对知识有着强烈的好奇心,加之当前信息技术的发达,部分对智能感兴趣的学生可以从其他途径了解到这个学科发展的前沿。因此,顺势而为,将深度学习这个主题做具体讲解,满足学生的好奇心,培养他们对学科前沿与发展的认识,是十分必要的。对高年级的学生而言,了解深度学习的基本知识,是他们全面认识人工智能与发展前沿的一个途径,而对于研究生,较多地了解和掌握深度学习的基本知识有助于他们研究工作的开展。
基于以上几点,笔者认为,将深度学习这个主题引入到人工智能类课程中非常有必要。深度学习作为人工智能的前沿,既是对人工智能原有理论和技术的一个突破和补充。
2.2 可行性
将深度学习引入到人工智能类课程中的可行性主要包括如下3点。
1)深度学习与现有人工智能联系密切。
深度学习并不像突兀的山峰拔地而起。而是深深植根于原有的人工智能理论与技术。深度学习是以神经网络为出发点,这正是深度学习教与学的切入点。比如,可以通过对多层感知器隐藏层的增加和后传算法的失效来讲解深度学习是如何解决这个问题的。再者,深度学习的一个核心构建“受限波尔兹曼机(Restricted Boltzmann Machine)”,可以被认为是一种能量模型,而这种模型与Hopfield网络都可以从物理学的能量模型角度分析,RBM可以认为是Hopfield网络的随机扩展。总之,深度学习与现有人工智能的联系,使学习深度学习变得容易。
2)深度学习的基本内容并不深。
深度学习有个很好的名字,这个名字恰当地描述了特定的学习结构。比如,深度学习的核心部件受限于波尔兹曼机RBM,其结构非常简单。从神经网络的角度,受限波尔兹曼机是一种随机的双向连接神经网络,信号可以从可见层传递到隐藏层,也可以从隐藏层传递到可见层。网络中每个节点是具有特定结构的神经元,其中的神经元具有典型的包含自身偏置的Logistic函数的随机单元,能够依Logistic函数计算得到的概率输出0状态或1状态。概括地说,深度学习的基本内容在高年级阶段较易掌握。
3)深度学习的资料容易获得。
当前的信息资讯非常发达,有相当多的资料可以通过互联网等多种途径获得,这使学习深度学习成为可能。近期,中国计算机学会主办了多个技术讲座均涉及深度学习的部分;深度学习的创始人Hinton教授的主页也有很多资料;Coursera网站有免费的Hinton教授的神经网络课程;斯坦福大学的Ng教授提供了很多的在线教程;蒙特利尔大学Bengio教授发表的题为“Learning Deep Architectures for AI”的论文也是这领域的优质资料。
3 实施建议
在具体的教学过程中,笔者建议适当安排深度学习的最基本内容,内容不宜过多,也不宜占用过多的学时,可以根据教学对象的不同进行调整。比如,本科生的高年级专业课可以安排1学时的教学量,介绍层次训练的基本算法;也可以在高年级前沿讲座中安排2学时,内容覆盖面尽可能广泛。在研究生的教学中,可以根据教学的课程主题安排内容与学时。比如,神经网络主题的课程可以安排4-6学时的教学内容,包括波尔兹曼机及学习算法、深层信念网络与学习算法、深层波尔兹曼机与学习算法卷、积神经网络、自动编码器等。结合应用,课程还可以包含MNIST数字识别的应用、人脸识别的应用、图像检索的应用、语音识别中的应用等。另外,深度学习是一个实践性很强的研究,随机性:大规模(意味着数据不宜可视化,程序运行时间长)等多种因素混合,使深度学习在学习中不容易理解。为此,可以在条件允许的前提下,增加小规模的实验,辅助理解。最后,课件可以通过对优质资料做修改得到。
关键词:人工神经网络;神经元;可视化
中图分类号:TP183文献标识码:A文章编号:1009-3044(2008)36-2882-03
Analysis and Comparison Between ANN and Viewdata
ZHAO Chun, LI Dong
(Department of Computer Science, Xinxiang University, Xinxiang 453000, China)
Abstract: ANN and viewdata two calculating methods of obtaing new data by the dig and learrangement of the original data. This paper intends to make a general analysis of the featurcs of the two methods and a friof comparison between the two, and summed up the two algorithms and the similarity of common ground.
Key words:ANN; nerve cell; viewdata
1 引言
人工神经网络和可视化方法是数据挖掘中的两个重要的算法模型,两者都是根据模拟人脑和人的视觉神经与传统的数字计算机相比较而抽象出来的数据挖掘算法。可视化方法是人脑神经网络的一部分,它们之间存在着必然的联系,而算法又各有所异。随着数据挖掘技术的快速发展,存储在数据库中的数据量也迅速增长,这证明传统的关系数据库和存储图像、CAD(计算机辅助设计)图纸、地理信息和分子生物结构的复杂2D和3D多媒体数据库是合理的。许多应用都要用到大型的数据库,这些数据库有几百万种数据对象,这些数据对象的纬度达到几十甚至几百。面对如此复杂的数据时,我们常常面临着一些棘手的问题:应该从哪里开始着手?哪些是有用的数据?还有一些其他可用的数据吗?能得出答案的其他方法是什么?人们在寻求突破的同时反复地思考并询问复杂数据的专门问题。我们从人工神经网络和可视化方法的算法、特有属性进行横向和纵向的比较来找出他们的共同点和相似点。
2 人工神经网络算法与可视化方法性能比较
2.1 人工神经网络提供特有的属性和能力
1) 人工神经网络有超强的运算功能――人脑大约有1011个微处理神经元,这些神经元之间相互连接,连接的数目大约达到1015数量级[1]。每个神经元都相当一个微型计算机,把每个微型计算机链接起来就形成了一个超级计算机网络。
2) 由于人工神经网络相当于一个超级因特网,每个神经元都相当于一个微型计算机,对所有的任务都可并行,并且是分布式处理,其处理能力也是超强的――每个神经元节点都可以看作一个微型计算机,这样就形成了一个庞大的神经元网络。
3) 人工神经网络有归纳总结和分类的能力。――归纳总结和分类是人工神经网络对输入而产生合理的输出。
4) 人工神经网络有离散性。
5) 人工神经网络通过典型的实例中进行归纳总结。
6) 对整个网络有很强的适应性和快速的验证的能力。
7) 对整个人工神经网络的包容性。
8 对整个人工神经网络统筹能力。
2.2 可视化方法特有的属性和能力
1) 在正常情况下人对图像的信息比较敏感。而对数据的反映比较迟钝。
2) 人从图像视觉接受到的信息比从文本或表格上接受更快、更有效。比如“百闻不如一见”。
3) 人从图像视觉接受到的信息总是有选择的接受
4) 人的视觉选择的特征为形状、颜色、亮度、运动、向量、质地等。
这些筛选仍然是通过人庞大的神经网络中的部分神经元来处理的。其中进行的样本的学习能里以及自适应性得到了充分的体现。
2.3 人工神经网络和可视化方法的共同点
1) 对接受到的信息进行归纳处理。
2) 对接受到的信息进行转化,只是转化的方式不同。
3) 对接受到的信息进行筛选,并对接受到的信息产生合理的输出。
4) 容错性。
5) 从接受到的信息进行学习的能力。
2.4 人工神经网络和可视化方法的不同点
1) 人工神经网络是好比因特网,而可视化方法的计算网络好比计算机网络。可视化网络的计算能力只是人工神经网络很小的一部分。
2) 可视化方法虽然也是并行分布式处理的结构,但是它也只是人工神经网络分布式处理的很小部分。其速度要远远低于人工神经网络
3) 人的视觉和人工神经网络对信息的筛选的方式各有不同。
3 算法比较
3.1 人工神经网络
人工神经元是一个抽象的自然神经元模型,将其数据模型符号化为:
netk=x1wk1+x2wk2+ … … +xm wkm +bk
在ANN中输入和相应权重乘机的累加为xiwki(其中,i=1, ……m),一些输入xi,i=1, ……m,其中k是ANN中给定的神经元的索引,权重模拟了自然神经元中的生物突出强度[2]。
一个神经元就是一个微型计算机,它是一个ANN运转的最小单位,就像是整个因特网中的一台计算机。下例图1是人工神经元的模型。
从这个模型可以看出人工神经元是有三个基本元素组成:
第一、一组连接线。X1 、X2 、…、Xm,每个连接线上的Wki为权重。权重在一定范围类可能是正值,也可能是负值。
第二、累加器。将Xi与对应的权重值相乘的积累加。
第三、筛选函数。通过每个神经元经过函数筛选后输出数值。
同样,还可以用矢量符号来将其表示成两个m维向量的无向乘积:
netk= X・W
其中
X={x0, x1, x3,… , xm}
W={w0, w1, w3,… , wkm}
3.2 可视化方法
可视化技术在字典中的意思为“心理图像”,在计算机图形学领域。可视化将自身行为联系起来,特别是和人眼可以理解的复杂行为联系起来。计算机可视化就是用计算机图形和其他技术来考虑更多的样本、变量和关系。
可视化技术其目的是清晰地、恰当地、有见解地思考,以及有着坚定信念的行动。
基于计算机的可视化技术不仅仅把计算机作为一种工具,也是一种交流媒介,可视化对开发人类认知方面提出了挑战,也创造了机遇。挑战是要避免观察不出不正确的模式,以免错误地做出决策和行动。机遇是在设计可视化时运用关于人类认知的知识。
安得鲁曲线技术把每个n维样本绘制成一条直线。
f(t)=x1/1.41+x2sin(t)+x3cos(t)+ x4sin(2t) +x3cos(2t)+ …
其中t为时间域,函数f(t)把n维点X=(x1, x2, x3, x4, …,xn)
将f(t)进行部分变换:
f(t)= X・W
其中
X={x0, x1, x3,… , xm}
W={w0, w1, w3,… , wkm} (w0= sin(t),w1= cos (t))
这种可视化的一个好处是它可以表示很多维,缺点是要花很多的时间计算,才可以展示每个维点。这种几何投影技术也包括探测性统计学,如主成分分析、因子分析和纬度缩放。平行坐标可视化技术和放射可视化技术也属于这类可视化[3]。
3.3 人工神经元模型与可视化化方法中的安得鲁曲线技术分析与比较
人工神经元是一个抽象的自然神经元模型,将其数据模型符号化为:
netk=x1wk1+x2wk2+ … … +xmwkm+bk
netk= X・W
安得鲁曲线技术把每个n维样本绘制成一条曲线。这种方法与数据点的傅立叶转换相似。它用时间域T的函数f(t)来把n维点X=(x1,x2,x3,x4, …,xn)转换为一个连续的点。这个函数常被划分在-∏≤t≤∏区间。
f(t)=x1/1.41+x2sin(t)+x3cos(t)+ x4sin(2t) +x3cos(2t)+ …
f(t)= X・W
人工神经网络和可视化方法部分算法比较可以近似的计算认为:
netk= f(t) =X・W
通过对人工神经网络和可视化方法公式的整理可以得出它们有着很多的共同性和相似性[4],在容错允许的情况下其算法为:
F(t)= X・W
其中F(t)可表示为人工神经网络
F(t)= netk
或可视化方法
F(t)= f(t)
4 kohonen神经网络
Kohonen神经网络也是基于n维可视化的聚类技术,聚类是一个非常难的问题,由于在n维的样本空间数据可以以不同的形状和大小来表示类,n维空间上的n个样本。
Mk=(1/n)
其中k=1,2,…,k。每个样本就是一个类,因此∑nk=N。[5]
Kohonen神经网络可以看作是一种非线性的数据投影这种技术和聚类中的k-平均算法有些相似。
可见,Kohonen神经网络属于可视化方法也属于神经网络算法。
5 结束语
现代世界是一个知识大爆炸的世界。我们被大量的数据所包围着,这些数据或是整型的、或是数值型或其他类型,它们都必须经过各种方法的分析和处理,把它转换成对我们有用的或可以辅助我们决策和理解的信息。数据挖掘是计算机行业中发展最快的领域之一,原始数据在爆炸式的增长,从原始数据中发现新知识的方法也在爆炸性地增长。人工神经网络和可视化方法是两种对海量数据进行数据挖掘整理的不同算法,通过以上纵向和横向的对比,我们可以发现它们的相似性和共同点:对接受到的信息进行归纳处理、转化、筛选、容错性、并对接受到的信息产生合理的输出。在应用中可以根据它们不同的属性和能力选择不同的算法。
参考文献:
[1] Tang,Z H.数据挖掘原理与应用[M].北京.清华大学出版社,2007:74.
[2] Kantardzic M.数据挖掘[M].北京.清华大学出版社,2002:89.
[3] 李守巨,王吉.基于概率神经网络的岩土边坡稳定性预测方法[J].岩土力学,2000(2).
[4] Tam C M, Tong T K L.Diagnosis of Prestressed Concrete Pile Defects Using probabilistic Neural Networks[J].Engineering Structures,2004,26(8):1155.
关键词:BP神经网络;气水识别;预测效果
中图分类号:TP21 文献标识码:A
人工神经网络是人类通过模拟脑神经系统的记忆存储与再现、联想思维、目的行为以及更为不易捉摸的情感和灵感等信息活动,揭示脑物理平面与认知平面的相互联系的作用机理,通过计算机实现学习 、训练、修正、确认和计算的一种计算机信息处理系统。自50年代以来,神经网络技术经历了萌芽、探索、学科的诞生和茁壮成长,成为当今全世界关注的高科技热点,显示出了广阔的应用前景。
BP人工神经网络(Back Propagation Network)是由大量的神经元相互连接而成的自适应非线性动态系统。人工神经网络作为生物控制论的一个成果,其触角已延伸到各个工程领域,吸引着不同专业领域放入专家从事这方面的研究和开发工作,并且在这些领域中形成了新的生长点。人工神经网络从理论探索进入大规模工程实用阶段,到现在也只有短短十几年的时间。它的工作原理和功能特点接近于人脑,不是按给定的程序一步一步地机械执行,而是能够自身适应环境,总结规律,完成运算、识别和控制工作。一般人工神经网络的主要特征为:大规模的并行处理和分布式的信息储存;极强的自学、联想和容错能力;良好的自适应性和自组织性;多输入、多输出的非线性系统。这些特征使它基本符合工程的要求。
1.BP神经网络的基本原理
神经网络系统由大量的神经元广泛连接形成。每一个神经元都是一个基本处理单元, 将从其它众多神经元中接收到的信息, 经过非线性计算,输出给另一些神经元。简单的人工神经元如图4-1所示:X1,X2,...,Xi,...,Xn是第j个神经元接收到的信息ω1j,ω2j,...,ωij,...,ωnj为该神经元与提供信息神经元之间的连接权;θj为单元激活值,为该神经元计算处理后输出的信息,神经元的计算处理函数可选阶跃函数、分段线性函数、函数、 S函数,通常人们选S函数。
对于算法BP网络对神经网络的训练过程,实质上是通过计算输出值与期望值的误差(E),求解输出层单元的一般化误差(dj),再将dj逆传播,求出隐层单元的一般化误差(ei)。通过调整输出层和隐含层及输入层间连接权与隐层、输出层的阀值,直到系统误差降到可接受为止。这时,网络间的连接权和阀值不再改动,以此预测出与训练信息相类似条件的未知信息。
图1给出一个基本的BP神经元模型,它有R个输入,每一个输入都通过一个适当的权值W和下一层相连,网络输出可表示为:
图1 BP神经元模型
2.子洲气藏山西组产层分类
本文以子洲气田山2段储层为研究对象,根据储层产流体性质及其典型井的测井响应综合特征,考虑到生产井的动态生产特征和出水特点,将子洲气藏生产井划分为气井、水井、气水同产井和干井四类,相应的储集层为气层、水层、气水同层和干层。将试气产量大于1×104m3/d,含水率小于10%的储集层归为1类气层;将产气量0.2×104m3/d-1×104m3/d,产水量小于4m3/d的储集层归为2类气层;若储集层仅含残余气和少量可动水,砂层分类中作为干层对待,产气量小于0.2×104m3/d,产水量小于4m3/d;试气产量大于0.2×104m3/d而小于1×104m3/d,产水量大于4m3/d;试气产量大于1×104m3/d,含水率大于10%的储集层归为气水层;试气产量产气小于0.2×104m3/d,产水大于4m3/d,或含水率高于90%的储集层为水层。
依据上述原则选择具有代表性的各类产层:
气层:榆10、榆11、榆12、榆13、洲06、洲07、洲08、洲09、洲10、洲11、洲12、洲13、洲14、洲15、洲16、洲17、洲18、洲19、洲20、洲22、洲23、洲24;
干层:榆14、榆15;
气水层:榆09、榆07、榆08、洲05、洲02、洲03、洲04;
水层:榆01,榆02、榆03;榆04、榆05、洲01。
3.BP神经网络模型的建立和预测
3.1 BP神经网络流程图
在进行BP神经网络的建立和运用时,实际流程如图2。
3.2 BP神经网络的建立
(1)根据试气结果,从24口井,挑选出气层,气水层,水层,干层共24组样本,以补偿中子(CNL),密度(DEN),声波时差(AC),自然伽马(GR),深浅侧向电阻率差(Rt-Rs),5条测井曲线作为样本输入参数。
(2)BP神经网络输入层设为5个节点,分别代表补偿中子(CNL),密度(DEN),声波时差(AC),自然伽马(GR),深浅侧向电阻率差(Rt-Rs),5条测井曲线。含一个隐层,隐层为8个节点,隐层采用S型神经元函数logsig()。输出层为4个节点,分别代表气层,气水层,水层,干层。建立程序,输入样本参数,对样本学习,训练,修正权值和阀值。在对样本进行训练和学习过程中的网络结构如图3。
(3)在训练过程中,取网络动量因子α=0.7,学习因子η=0.9,误差精度ξ=0.0001。开始训练,经过260次训练,误差达到万分之一以下,停止学习,气水识别模型已经建立,此时得到储层类型识别模型。其中输入层到隐层的连接权值和阀值为:
隐层到输出层的连接权值和阀值为:
[-24.562,-2.116,-3.379,22.653,-23.136,-4.673,6.582,-8.383,7.582];
[-1.680,-2.879,-2.743,13.058,-3.695,-2.538,1.274,1.487,8.891];
[13.618,-5.297,7.349,0.597,21.638,-3.294,6.842,4.348,-11.230];
[-10.310,8.314,-2.610,6.840,5.369,-13.568,21.330,5.613,3.637]
3.3 BP神经网络模型预测效果
根据试气结果,我们从30口井选取43个样本,以补偿中子(CNL),密度(DEN),声波时差(AC),自然伽马(GR),深浅侧向电阻率差(Rt-Rs),5条测井曲线数据作为输入数据,利用已经建立的BP神经网络模型进行预测,预测效果如下表:
从上表可以看出,利用该BP神经网络模型在对43个样本进行预测中,其中40个正确,3个错误(与试气结果不符合),符合率达到93.02%,所以该识别模型的预测效果较比较理想,可以弥补交会图只能定性识别储层的缺陷,因此该BP神经网络气水识别模型可以较为精确划分该区域的气水层,可以达到定量识别气层、水层、气水层、干层的目的。
结论
利用该BP神经网络模型预测气水层,符合率达到93.02%,弥补了传统测井解释气水层的弊端,通过网络学习建立模型,避免了大量杂乱信息对分析的影响,预测效果真实可靠。
参考文献
[1]Baldwin.J.L.Bateman,R.M.Weatley,C.L.Application of a neural network to the problem of mineral identification from well logs,3rd Mgls.Borehole Geophys,for Mineral, Geotech&Groundwater Appl.Int.Symp.2002.10.The Log Anslyst,30,2002:121-235.
[2]Kukal G C. A Systematic Approach for the Log Analysis of Tight Gas Sands. SPE 11857:21-30.
关键词: 专家系统;推理机制;故障树;神经网络
中图分类号:U461.3 文献标识码:A 文章编号:1671-7597(2012)0220085-01
推理机制是专家系统的“CPU”,是构成专家系统的核心部分,其作用是模拟领域专家的思维过程,完成对领域问题的求解。推理机制影响是专家系统的性能的一个重要因素,推理机制设计不合理容易使专家系统在运行中出现“组合爆炸”、“无穷递归”和“匹配冲突”等问题,从而影响系统性能。在Intranet中IT技术支持专家系统中由于知识库内容丰富、结构复杂,推理机制的设计显得尤为重要。本文分析了几种常用的推理机制,并根据Intranet中IT技术支持专家系统的领域特点,完成了该专家系统推理机制的设计。
1 基于故障树的推理
根据IT技术支持专家系统的领域特点,基于故障树的推理机制能从用户描述的故障现象和知识库中构造的故障树进行推理得出故障原因,进而进行故障处理。其推理过程如下:
1)构造故障树林,构造合理的故障树林能有效缩小知识空间的搜索范围,提高系统工作效率;2)将用户描述的故障现象与数据库中由规则集所构造的若干故障树进行匹配,其中非叶子节点对应某一故障结论,叶子节点对应某一故障现象或者是某一项辅助信息;3)从故障树深度最大的非叶子节点开始分析规则表达式,看每个需要的事实(子节点)是否存在,如果某个节点的所有子节点都存在,则作为新的事实记录到工作寄存器,依次重复在树的每一层次进行运算直到不能再运算为止;4)对于不同规则集故障树的运算结果,按照可信度和匹配度等参数进行排序,选取最满足条件的结论得到诊断的结论信息,从而完成推理过程。
从推理过程可以看出,基于故障树的推理依赖于故障树的构造,对结构化领域知识的处理能力强,但对非结构和半结构化的领域知识缺乏有效的推理方式,另外当故障树过大时,推理速度受故障树深度限制,难以实现并行计算,而且故障匹配时容易出现冲突现象,会降低求解速度与准确性。
2 基于神经网络的推理机制
基于神经网络的推理机制一般通过采集征兆向量然后使用正向推理的方式计算出故障向量,从而得出诊断结果。整个推理过程模拟领域专家凭直觉来解决问题的方式,可以解决局部情况的不确定性,具有一定的联想功能和创造性思维。一般分为输入层神经元、隐含层神经元和输出层神经元,其推理过程如下:1)调入故障诊断知识库和各项故障征兆向量{x1,x2,x3…xn},根据输入数据计算输入层各神经元的输出,把它们作为隐含层单元的输入;2)计算隐含层神经元的输出,并把它们作为输出层单元的输入;3)计算输出层神经元的输出,并由给定的法则判定输出神经元的输出,对输出进行确认,确认完后修正故障征兆向量。
从以上推理过程可以看出:它能很好的处理非结构和半结构化的领域知识,并能够通过征兆向量记忆诊断结果,从而归纳出新的诊断规则充实知识库的内容。与传统专家系统的推理机制相比,神经网络具有很多的优势:神经网络在同一层神经元上是并行处理的,层间的处理是串行的,可以实现并行推理,提高推理效率。神经网络推理通过征兆向量与输入数据的运算来完成,由通常的符号运算转变为数值运算,从而可以大大提高推理速度。神经网络采用隐式的知识表示方式,通过神经计算来进行求解的推论策略可以完全避免了冲突。但单纯使用神经网络推理机制在结构性领域知识的推理上存在可理解性差,推理结果逻辑溢出等情况。
3 本专家系统推理机制的设计与应用
通过上述两种推理机制的分析,结合IT 技术支持专家系统领域知识的特点,本专家系统的推理机制采用了基于故障树的推理和基于神经网络的推理机制进行结合的方式。采用控制程序将单故障、单过程、确定型故障以及渐发性故障的诊断对象分配给基于故障树的推理进行诊断,将多故障、多过程、不确定型故障以及突发性故障的诊断对象分配给神经网络进行诊断,充分发挥故障树和神经网络各自的优势,又使二者相互协调工作,既使本专家系统的诊断范围扩大,又使其诊断推理快速。推理过程如下所示:
从以上推理流程可以看出,本系统将基于故障树所具有的判别速度快、具有良好的可理解性、知识获取能力强等特点和神经网络的可学习性、自适应性、自组织性、能以权值的形式自动地获取知识等特点结合,有效的实现了专家系统的推理机制,提高了推理效率。
4 小结
本专家系统所设计的推理机制,把与专家系统知识库中规则相匹配且确定性较大的故障送入基于故障树推理机求解,而把不能与专家系统知识库中规则相匹配的故障和不确定性较大的故障作为神经网络的输入样本,由神经网络进行推理求解。完成了基于故障树和神经网络系统的推理机制的有效结合。这样,在专家系统部分可以采用它最擅长的人机交互式的混合双向推理方法,充分利用知识库中故障树,准确地得出推理结果;而在神经网络部分则采用系统运行过程中生成的征兆向量正向推理方法根据输入数据进行直接计算得出诊断结果,发挥各自的优势,使整个专家系统高效运行。
基金项目:湖南省教育厅2010年科学研究资助课题《Intranet中IT技术支持专家系统研究与开发》(2010C0286)阶段性研究成果。
参考文献:
[1]张维勇、程凡、魏臻,一种综合智能故障诊断方法的研究,合肥工业大学学报,2006,28(9):1104-1107.
[2]鞠万群、韩秋实,基于神经网络与规则库的故障诊断专家系统[J].北京机械工业学院学报,2001(03):6-8.
【关键词】 T-S型模糊神经网络 储粮害虫 分类识别 Visual C++6.0
粮食的安全储藏问题是个世界性难题。据联合国粮农组织的调查统计,全世界每年粮食霉变及虫害等损失为粮食产量的8%[1]。因此,搞好粮食储藏是一项关系到国计民生的重大课题,进行储粮害虫的治理任务重大而迫切。准确地给出害虫的种类信息可为害虫的综合防治提供科学的决策依据。
模糊神经网络是模糊理论同神经网络相结合的产物,它的特点是将神经网络较强的自学习和联想能力与模糊逻辑的推理过程易理解、对样本要求较低的特点融合在一起,模糊理论和模糊系统理论上比通常意义下的模糊逻辑和神经网络更有优越性,但是很难实现自适应学习的功能。如果把神经网络引入到模糊理论中,将两者有机结合,模糊系统能够成为一种具有较强自学习能力的自适应模糊系统,采用已有神经网络的有效学习算法,并吸收模糊系统的优点,起到互补的效果。
1 T-S型模糊神经网络
1985年,T-S型模糊逻辑系统由日本的高木(Takagi)和关野(Sugeno)提出,旨在开发从给定的输入-输出数据集产生模糊规则的系统化方法,这种基于语言规则描述的模型第i条规则可写为:
(1-1)
式(1-1)中,A是前件中的模糊集合,z是后件中的精确函数。通常是输入变量x和y的多项式。当是一阶多项式时,所产生的模糊推理系统被称为一阶Sugeno模糊模型,当为常数时,即得到了零阶Sugeno模糊模型[2,3]。
专家知识被Sugeno模糊模型通过语言和数据整合到if-then规则中,基于T-S型的模糊神经网络综合了模糊系统和神经网络的特点,不但能够实现一个Sugeno模糊推理系统的功能[4,5],实现图像的模糊输入和模糊推理,而且它能根据系统输出的期望值和实际值的差别自动生成和调整隶属度函数和模糊规则。这种模糊神经网络应用于储粮害虫分类,将更贴近于害虫特征的形成过程,能取得较好的分类结果。
本实验采用的是一阶Sugeno模糊模型,后件是一阶线性方程。其隶属函数生成层、模糊推理层为:
(1-2)
(1-3)
其中,表示生成的隶属度函数,采用的是高斯函数。为参数对,它们称为前件参数,取值情况决定了的形状。表示模糊推理层,模糊推理采用的是积运算,即各节点的输出是输入值的乘积。
反模糊化层采用一阶Sugeno模糊模型的输出。此时,令后件函数为,其模糊推理输出:
(1-4)
学习算法采用误差函数的负梯度下降方法,不断更新网络参数。第n个训练模式的误差参数,可定义为
(1-5)
其中p为输出单元的个数。
按照模糊神经网络的结构,可定义网络参数向量:
(1-6)
参数更新修正规则:
(1-7)
其中为学习速率。
网络分为4层:第1层为输入层,代表储粮害虫的特征向量输入网络;第2层为模糊化层,完成输入特征向量的模糊化,将输入的特征向量分为3个等级{小(small),中(medium),大(large)},隶属函数为高斯函数;第3层为模糊推理层,以使对模糊化后的特征向量进行综合处理,采用积运算,第4层是输出层,它的输出值即表示属于此类的隶属度。
2 试验过程
试验过程分为学习过程和回调过程。
学习过程:(1)确定分类数为9。确定训练的矢量数据,用各分量分别代表害虫特征向量作为输入。取每类害虫的5个特征分量值作为训练数据的输入矢量,从而完备训练数据,同时确定各个输入矢量对应的各类隶属度输出,构成9个5输入单输出的模糊神经网络,每一个对应一类的隶属度输出。(2)将数据送入各自单个的网络训练,直至能模拟所有输出。
回调过程:将待分类储粮害虫的特征向量送入网络,得到各自的单个网络的输出,然后将输出归一化,得到最终的隶属度输出。
3 试验结果
利用Sugeno型模糊神经网络对6类储粮害虫进行了分类研究。试验结果如(表1)所示。
4 Visual C++6.0平台上实现识别
(图1)是在储粮害虫图像分类识别系统中对赤拟谷盗其中一个样本的识别。
5 结语
运用T-S型神经网络对储粮害虫进行分类的识别率达到95.6%,并且利用Visual C++6.0平台实现,操作简单,可读性好,具有较大的实际应用价值。
参考文献:
[1]黑龙江省大豆协会.我国粮食储藏的现况及发展趋势.http://.cn/news/index.php?id=1163
[2]Sugeno M.,Kang G.T.Structure identification of fuzzy model [J].Fuzzy Sets and Systems,1998,28:15-33.
[3]Takagi,M.Sugeno.Fuzzy identification of systems and its applications to modeling and control[J].IEEE Transaction on System,1985,15:116-132.
关键词:人工智能;TensorFlow;BP神经网络
中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2016)16-0199-03
Abstract:Based on Google's second generation of artificial intelligence learning system―TensorFlow, build a BP neural network model. Use handwritten characters as training set of inputs of neural network, constantly revise weight value and threshold value in the process of training, and get a higher identification precision of the model. It Embodies the TensorFlow’s effect in improving the efficiency of modeling, programming and analysis. Through introducing the development process, It provides reference which use TensorFlow building complex neural networks.
Key words:artificial intelligence; TensorFlow; BP neural networks
1 概述
目前,手写字符的识别方法已经有多种,如支持向量机、BP神经网络、KNN、朴素贝叶斯方法等。其中BP神经网络作为一种经典的模式识别工具,应用广泛。将BP神经网络应用于手写字符识别,具有识别速度快、分类能力强、有较好的容错性能和学习能力的优点。
TensorFlow是一个采用数据流图,用于数值计算的开源软件库。它通过构建有向图来描述所要执行的操作,可以灵活的使用设备中的CPU或者GPU展开计算。TensorFlow提供了构建神经网络的接口,因此便于构建BP神经网络,简化编程任务。与传统平台构建的识别模型相比,提高了效率。
2 TensorFlow深度学习平台
2.1 TensorFlow平台特性
TensorFlow使用灵活,无论是个人PC还是大规模GPU计算集群,TensorFlow都能够灵活的在这些平台运行,使用 TensorFlow 表示的计算也可以在这些平台上方便地移植。目前,TensorFlow已经被应用于机器学习系统,以及和计算机科学相关的领域,例如计算机视觉、语言识别、信息检索、机器人、地理信息抽取、自然语言理解和计算药物发现等。TensorFlow灵活的特性也可以用来表示很多的算法,比如推断算法和深度神经网络的训练等。
TensorFlow采用数据流计算,其表达的数据流计算由一个有向图表示,这个图由一个节点集合组成。在一幅 TensorFlow 图中,每个节点有一个或者多个输入和零个或者多个输出,表示一种操作的实例化。图中的叶子节点通常为常量或者变量,非叶子结点为一种操作,箭头代表的是张量(常量、变量以及节点计算出的结果均可视为张量)的流动方向。
通过在Ubuntu系统上安装TensorFlow库、启用GPU支持即可使用Python语言构建计算图,实现基于神经网络的手写字符识别。
2.2 TensorFlow平台搭建
TensorFlow目前支持Ubuntu系统和MAC OS系统中安装,支持C++和Python两种编程语言。考虑到Python语言的简洁性,本实验采用Python进行程序设计。
1)使用 Virtualenv 创建隔离容器安装 TensorFlow,不会改变不同Python项目的依赖关系,便于进行项目的管理,能使排查安装问题变得更容易。
$ sudo apt-get install python-pip python-dev python-virtualenv
2)在Virtualenv环境下安装TensorFlow的GPU版本:
创建图:TensorFlow使用图来表示计算任务,在执行计算操作之前需要将图构建完成。每一个非叶子节点都视为一种操作,叶子节点则表示特殊的操作类型,比如返回常量值或者变量值。创建图的最后阶段需要向图中添加一个初始化操作的节点,其作用是将所有的变量进行初始化。
启动图:图创建完成后,才能启动图。启动图的第一步是创建一个 Session 对象,如果无任何创建参数,会话构造器将启动默认图。然后进行变量的初始化操作、运行操作节点、更新变量值。
3 BP神经网络设计
BP神经网络是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。学习规则使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。由输入层、隐含层和输出层组成,层与层之间采用全连接方式,同层之间不存在相互连接。
3.1 BP神经网络
3.2 TensorFlow平台实现
本实验采用MNIST手写字符数据集,手写字符为28×28像素的手写数字灰度图像。存储在train-images-idx3-ubyte.gz和train-labels-idx1-ubyte.gz 文件中的60000幅手写字符数据,55000幅作为训练集,5000幅作为验证集。测试集10000幅图像的字符和标签存储在t10k-images-idx3-ubyte.gz和t10k-labels-idx1-ubyte.gz中。
输入层设计:手写字符每一张图片的大小为32×32,一维化后,每一张图片作为输入时需要784个输入层神经元节点,其中None表示输入图片的数目:
4 总结
目前,神经网络被广泛应用于学术界和工业界,但在构建神经网络、优化参数、模型分析方面总是存在着一定的困难。TensorFlow的出现使这种状况得以改善。TensorFlow有着编程简单、优化算法集成度高、使用灵活的特性,利用TensorFlow将会使建模、编程、分析效率大大提高。实验以BP神经网络为例,介绍了TensorFlow平台下神经网络模型构建的一般方法和流程,并且得到了有较高识别精度的模型。对构建更复杂的神经网络具有一定的参考意义。
参考文献:
[1] Abadi M, Agarwal A, Barham P, et al. TensorFlow: Large-scale machine learning on heterogeneous systems, 2015[J]. Software available from tensorflow. org.
[2] 任翠池,杨淑莹,洪俊.基于BP神经网络的手写字符识别[J].天津理工大学学报,2006,22(4):80-82.
[3] 张斌,赵玮烨,李积宪.基于BP神经网络的手写字符识别系统[J].兰州交通大学学报:自然科学版, 2007,26(1).
[4] 许宜申,顾济华,陶智,等.基于改进 BP 神经网络的手写字符识别[J].通信技术,2011, 44(5): 106-109.
[5] 杨勇,谢刚生.基于BP神经网络的手写数字识别[J].华东地质学院学报,2003,26(4): 383-386.
[6] 金连文,徐秉铮.基于多级神经网络结构的手写体汉字识别[J].通信学报,1997,18(5).
关键词:神经网络 ;BP网络; 优缺点; 改进算法
【中图分类号】 TP183 【文献标识码】 B【文章编号】 1671-1297(2012)09-0196-02
思维学普遍认为,人类大脑的思维分为抽象(逻辑)思维、形象(直观)思维和灵感(顿悟)思维三种基本方式。
人工神经网络(Artificial Neural Networks,NN)就是模拟人思维的第二种方式。这是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。人工神经网络系统从20世纪40年代末诞生至今仅短短半个多世纪,但由于它具有信息的分布存储、并行处理以及自学习能力等优点,已经在信息处理、模式识别、智能控制及系统建模等领域得到越来越广泛的应用。
神经网络拓扑结构的单隐层前馈网络,一般称为三层前馈网或三层感知器,即:输入层、中间层(也称隐层)和输出层。它的特点是:各层神经元仅与相邻层神经元之间相互全连接,同层内神经元之间无连接,各层神经元之间无反馈连接,够成具有层次结构的前馈型神经网络系统。单计算层前馈神经网络只能求解线性可分问题,能够求解非线性问题的网络必须是具有隐层的多层神经网络。
一 BP网络
1986年,Rumelhart和Hinton提出了误差反向传播神经网络(Error Back Propagation Neural Network),简称BP网络。它是一种能向着满足给定的输入输出关心方向进行自组织的神经网络。
1. BP网络的原理
输入层各神经元负责接收来自外界的输入信息,并传递给中间层各神经元;中间层是内部信息处理层,负责信息变换,根据信息变化能力的需求,中间层可以设计为单隐层或者多隐层结构;最后一个隐层传递到输出层各神经元的信息,经进一步处理后,完成一次学习的正向传播处理过程,由输出层向外界输出信息处理结果。当实际输出与期望输出不符时,进入误差的反向传播阶段。误差通过输出层,按误差梯度下降的方式修正各层权值,向隐层、输入层逐层反传。周而复始的信息正向传播和误差反向传播过程,是各层权值不断调整的过程,也是神经网络学习训练的过程,此过程一直进行到网络输出的误差减少到可以接受的程度,或者预先设定的学习次数为止。
2. BP网络的特点
(1)输入和输出是并行的模拟量。
(2)网络的输入输出关系是各层连接的权因子决定,没有固定的算法。
(3)权因子是通过学习信号调节的,这样学习越多,网络越聪明。
(4)隐含层越多,网络输出精度越高,且个别权因子的损坏不会对网络输出产生大的影响。
3. BP网络的优点
(1)网络实质上实现了一个从输入到输出的映射功能,而数学理论已证明它具有实现任何复杂非线性映射的功能。这使得它特别适合于求解内部机制复杂的问题。
(2)网络能通过学习带正确答案的实例集自动提取"合理的"求解规则,即具有自学习能力。
(3)网络具有一定的推广、概括能力。
4. BP网络的缺点
BP算法的学习速度很慢,其原因主要有:
(1)由于BP算法本质上为梯度下降法,而它所要优化的目标函数又非常复杂,因此,必然会出现"锯齿形现象",这使得BP算法低效;
(2)存在麻痹现象,由于优化的目标函数很复杂,它必然会在神经元输出接近0或1的情况下,出现一些平坦区,在这些区域内,权值误差改变很小,使训练过程几乎停顿;
(3)为了使网络执行BP算法,不能用传统的一维搜索法求每次迭代的步长,而必须把步长的更新规则预先赋予网络,这种方法将引起算法低效。
网络训练失败的可能性较大,其原因有:
(1)从数学角度看,BP算法为一种局部搜索的优化方法,但它要解决的问题为求解复杂非线性函数的全局极值,因此,算法很有可能陷入局部极值,使训练失败;
(2)网络的逼近、推广能力同学习样本的典型性密切相关,而从问题中选取典型样本实例组成训练集是一个很困难的问题。
难以解决应用问题的实例规模和网络规模间的矛盾。这涉及到网络容量的可能性与可行性的关系问题,即学习复杂性问题。
网络结构的选择尚无一种统一而完整的理论指导,一般只能由经验选定。为此,有人称神经网络的结构选择为一种艺术。而网络的结构直接影响网络的逼近能力及推广性质。因此,应用中如何选择合适的网络结构是一个重要的问题。
新加入的样本要影响已学习成功的网络,而且刻画每个输入样本的特征的数目也必须相同。
二 BP网络的改进算法
BP算法最优化的方向主要有权值调整、自适应学习速率调整、网络结构调整等。常用的改进方法有以下几种:
1.加入动量项
利用附加动量的作用则有可能滑过局部极小值。该方法所加入的动量实质上相当于阻尼项,它减小了学习过程的振荡趋势,改善了收敛性,这是目前应用比较广泛的一种改进算法。
2.自适应学习速率调整
对于一个特定的问题,要选择适当的学习速率并不是一件容易的事情。对训练开始初期功效很好的学习速率,不一定对后来的训练合适。为了解决这一问题,人们自然会想到在训练过程中自动调整学习速率。
3.共轭梯度算法
在各种改进算法中,共轭梯度法(Conjugate Gradient)是非常重要的一种。其优点是所需存储量小,具有N步收敛性,稳定性高,而且不需要任何外来参数。
4.Levenberg-Marquart算法(最小二乘拟合算法)
除了改进算法以外,通过改变神经网络结构(隐层结点数和网络层数)、调整误差等方法,也能加快BP算法的收敛速度。
参考文献