神经网络

2024-07-17

神经网络(精选11篇)

神经网络 篇1

1 BP神经网络

BP神经网络也称为反向传播网络 (Back-Propagation Net work) , 是目前最为广泛、最具影响的人工神经网络 (Aritificial neural network) 学习算法之一。它可以从大量的离散实验数据中, 经过学习训练, 提取其领域知识, 并将知识表示为网络连接权值的大小与分布, 建立起反映实际过程内在规律的系统模型。BP网络可以包含不同的隐含层, 但理论上已经证明, 在不限制隐层节点数的情况下, 两层 (只有一个隐含层) 的BP网络可以实现任意非线性映射。一般情况下, 我们用得最多的BP神经网络是只有一个隐含层的BP网络, 只要我们能够保证该隐含层中的隐单元数足够多, 理论上就能够实现对任意一个问题的非线性分类了。

2 RBF神经网络的原理

径向基函数RBF (Radial basis function) 是指某种沿径向对称的标量函数, 通常定义为空间中任一点X到某一中心ci之间欧氏距离的单调函数。最常用的径向基函数是高斯核函数, 形式为

其中ci为核函数中心, σ为核函数的宽度参数, 控制基函数的径向作用范围, 即方差。

RBF神经网络是在借鉴生物局部调节和交叠接受区域知识的基础上提出的一种采用局部接受域来执行函数映射的人工神经网络, 具有最优逼近和全局逼近的特性。其网络拓扑结构是由一个隐含层和一个标准全连结的线性输出层组成的前向网络。隐含层最常用的是高斯径向基函数, 而输出层采用线性激活函数[2]。RBF神经网络是一种前馈式神经网络, 它由输入层、隐含层和输出层组成。它结构简单, 其设计比普通前向网络训练要省时得多。如果隐含层神经元的数目足够, 每一层的权值和阈值正确, 那么RBF神经网络完全能够精确地逼近任意函数。RBF神经网络权值的训练是一层一层进行的, 对径向基函数层权值的训练采用无导师训练, 在输出层权值的设计采用误差纠正算法, 为有导师训练。在RBF神经网络中, 输入层到隐含层的基函数输出是一种非线性映射, 而输出则是线性的。这样, RBF神经网络可以看成是首先将原始的非线性可分的特征空间变换到另一线性可分的空间 (通常是高维空间) , 通过合理选择这一变换使在新空间中原问题线性可分, 然后用一个线性单元来解决问题, 从而很容易的达到从非线性输入空间向输出空间映射的目的。值得指出的是, 由于RBF神经网络的权值算法是单层进行的, 它的工作原理采用的是聚类功能, 由训练得到输入数据的聚类中心, 通过值来调节基函数的灵敏度, 也就是RBF曲线的宽度, 虽然网络结构看上去是全连结的, 实际工作时神经网络是局部工作的, 即对输入的一组数据, 神经网络只有一个神经元被激活, 其他神经元被激活的程度可忽略。所以RBF神经网络是一个局部逼近网络, 这使得它的训练速度要比BP网络快2~3个数量级。

2.1 RBF神经网络的局限性

RBF网络之所以能有广泛的应用, 是因为它具有网络结构简单、非线性逼近能力强、收敛速度快以及全局收敛等优点[3]。RBF网络虽然有以上优点, 但我们也应该看到传统的RBF网络仍然存在泛化能力不足的缺点。以前人们在神经网络的学习算法方面进行了大量的研究工作, 也就是说大量的工作多集中于如何缩短学习时间、提高收敛速度和逼近精度等问题上;而在如何提高神经网络的泛化能力方面, 尚需作进一步的研究, 探讨网络泛化能力问题仍然是RBF网络的一个重要研究方向。

2.2 提高RBF神经网络的泛化能力

泛化能力是指对未知样本进行正确分类的能力, 它是衡量网络效果好坏的重要指标之一。现阶段, 提高系统泛化能力比较成熟的理论有正则化理论、统计学理论和信息熵理论等。上述提高系统泛化能力的理论虽然成熟, 但离实际应用的距离还比较大。目前, 提高系统泛化能力的研究主要集中在如何选取合适的网络规模, 设计合理的网络结构上。

吴永贤老师多年来一直从事RBF神经网络的研究, 他提出了基于RBF神经网络的局部泛化误差模型, 大大提高了RBF神经网络的泛化能力。局部泛化误差的创新点在于这个模型针对一些对评价一个分类器有真正影响的非训练样本, 计算该分类器对于这些非训练样本的泛化误差, 从而得到一个比较合理和实用的泛化误差模型。这个局部泛化误差模型的优点主要体现在它能贴近真实应用情况, 针对RBF神经网络进行评价且具有很好的理论支持。

摘要:本文重点介绍了当前有着广泛应用的BP神经网络, 对BP神经网络的局限性进行了说明, 并且给出了一些改进BP算法的实用技术。

关键词:人工神经网络,BP神经网络,RBF神经网络,改进,泛化能力

参考文献

[1]陈如云.基于BP神经网络的应用研究.微计算机信息, 2007年, 08期, 23卷.

神经网络 篇2

关于人工神经网络,到目前为止还没有一个得到广泛认可的统一定义,综合各专家学者的观点可以将人工神经网络简单的概括为是模仿人脑的结构和功能的计算机信息处理系统[1]。人工神经网络具有自身的发展特性,其具有很强的并行结构以及并行处理的能力,在实时和动态控制时能够起到很好的作用;人工神经网络具有非线性映射的特性,对处理非线性控制的问题时能给予一定的帮助;人工神经网络可以通过训练掌握数据归纳和处理的能力,因此在数学模型等难以处理时对问题进行解决;人工神经网络的适应性和集成性很强,能够适应不同规模的信息处理和大规模集成数据的处理与控制;人工神经网络不但在软件技术上比较成熟,而且近年来在硬件方面也得到了较大发展,提高了人工神经网络系统的信息处理能力。

机器人的神经网络 篇3

2016年春,韩国首尔四季酒店。谷歌人工智能围棋计算机程序“AlphaGo”与韩国九段棋手李世石进行了一场五番棋“人机大战”。最终,双方的比分定格在“1:4”,“AlphaGo”战胜人类代表李世石。

1000公里之外的北京,黄晓庆全程关注了这场比赛。他感慨:“从‘人机大战’在全球的热度来看,大家现在对人工智能、机器人的关注度越来越高,也普遍认同了这个产业。”

黄哓庆是科技界一名传奇人士。他19岁从华中科技大学毕业后留学美国,加入贝尔实验室。1995年,黄晓庆与陆弘亮、吴鹰等创立UT斯达康并担任公司CTO。2007年,黄晓庆回国担任中国移动研究院院长一职。他曾参与许多重要通信技术的开发工作,包括模拟调制解调器、接入网、IP电话等项目。

2015年3月,黄晓庆正式从中国移动离职。当所有人都在猜测他职业的下一站会是哪家大公司时,黄晓庆出乎所有人意料地选择了创业一一成立达闼科技有限公司(以下简称“达闼科技”),担任公司CEO兼CTO。

让黄晓庆在知天命的年纪重燃创业激情的就是人工智能。在他看来,机器人技术已逐渐成熟,3年内在服务领域有效取代人工的服务型机器人将会上量,10年内家庭保姆机器人将进入千家万户。达闼科技也成为第一家云端智能机器人公司。

“机器人产业的方向肯定是云端智能机器人。”黄晓庆预计,“达闼科技的目标就是要成为云端智能机器人时代的运营商。”黄晓庆表示,“不过,由于云端智能机器人还未出现,达闼科技首先要打造的是一个包括云端、网络、智能终端的产业链和生态环境。”

理论家

“做任何科技创新研究都要解决一个重要的问题——‘科学的基础’。”做了半辈子研究的黄晓庆谈到技术时更像一名学者,“2012年我提出的‘云端智能’概念就是从理论基础上佐证了云端智能机器人条件趋于成熟。”

首先,云端智能最核心的基础是电脑和人脑的差距。科学家们认为,人脑有1D0亿~10000亿个神经元,若想让已有技术完成一个集成如此多神经元的电路需要2000吨重的芯片,耗电27兆瓦。这意味着即便能造出一个拥有“人脑”的智能机器人,它也无法扛起自己2000吨重的“脑袋”。不过,人脑的速度比电脑的速度慢1D0万倍,这则意味着可让100万个机器人共享这个庞大的“大脑”。

其次,从生物学角度来看,通信网络的发展为机器人技术提供了第二个理论基础。人脑发出一个信号传到人体器官会延迟30到50毫秒。而3G移动通信网络延迟时间大概是150到300毫秒,4G移动通信网络延迟时间大概是50毫秒以下,即将到来的5G移动通信网络的延迟时间只有1毫秒,比人还要敏捷。移动通信网络就如同智能机器人的“神经系统”,解决了电脑反应速度问题。

再次,按照云端智能机器人的设想,若机器人“大脑”在云端,移动通信网络是机器人的“神经系统”,机器人还需要强大的传感器、电源、操作系统等支撑,而这些恰恰已被谷歌无人驾驶汽车等已经面世的产品所证明,能量存储技术、传感器技术、驱动技术都已达到一个凝聚点,在技术驱动之下云端智能机器人产业链应运而生。

“这就是达闼科技为什么相信10年内能制造出家庭保姆机器人的重要原因,这个产业已有了技术保障。”黄晓庆自信地表示,“不过,未来10年产业还是会由自然语言、视觉、听觉这类信息机器人走向护理、清洁等垂直服务机器人,然后才会出现通用型服务机器人,即人形、人性化机器人。”

黄晓庆是一位颇有前瞻性的技术专家。1997年他提出用lP技术实现下一代移动交换,即软交换,不过当时很多专家都认为时机远未成熟。但仅仅4年过后,全球所有主流设备制造商、运营商都开始研究和发展软交换。2004年,黄晓庆带领团队制造了世界上第一台支持1000万用户的软交换机,2007年在全球市场,软交换机完全取代传统程控交换机。

再次创业的黄晓庆也相信,虽然目前机器人产业看似遥远,但随着技术的不断进步,未来10年人工智能市场也将发生翻天覆地的变化,家庭保姆机器人将会走入寻常家庭,为普通家庭服务。

不过,技术和市场从来都是一步一步累积出来的。“我们很清醒地认识到,如果现在就瞄准去做家庭保姆机器人将来一定会死的很惨,我们一定是要把自己的核心技术不断变现,支持技术不断往前。”黄晓庆坦言。据他透露,达闼科技研发的Meta导盲机器人在云端、网络、智能终端整个体系开始进入产品阶段。

中国有600万盲人,加上重度弱视患者,总数接近2000万。Meta导盲机器人就是利用机器视觉、机器学习和智能语音等人工智能高科技手段,让盲人群体能更精准地感知周围环境、获取信息、参与社交,使盲人可以更为公平、自信、独立地融入社会,成为社会发展的参与者和贡献者。

实践者

著名科幻小说《星际迷航》中有一个名为“Data”的机器人角色。他“出生”于2336年,大脑有着相当出色的运算能力,在联邦星舰“进取号”上担任执行长官、二副职务,后又担任大副和指挥官职务。“Data”的制造者宋博士为他制造了一个情感芯片,只要插入此芯片,“Data”便有了人类的情感。

黄晓庆是个科幻迷,也是《星际迷航》的粉丝,他看了几百本《星际迷航》小说,100集《星际迷航》电视剧及电影。黄哓庆很喜欢“Data”这个角色,他认为“Data”就是人类理想中智能机器人的模型。所以,黄晓庆把公司命名为“达闼”,即是“Data”的音译。 《星际迷航》的长盛不衰折也射出人类对机器人、对人工智能的追求。一直关注人工智能市场的黄晓庆在2012年向中国移动提出“云端智能机器人”概念,但在庞大的中国移动体系内要推进一个看似毫不相干的项目异常困难。黄晓庆决定自己创业,并且要把达闼科技做成一个平台公司。

“达闼科技同时兼具了云计算、移动通信、智能终端领域的人才组合,就是为打造一个平台运营公司来设立的。未来机器人产业一个很重要的基础就是建立在规模上,规模越大就越成功。”黄晓庆这样理解。

nlc202309081607

不过,黄晓庆也承认:“云端智能机器人的产业链非常长、非常大,所以达闼科技绝对不能全部都做,而且也不应该全部都做,我们将聚焦两个领域——云端智能机器人的‘大脑’——云,以及支撑‘大脑’运行的信息网络。”

黄晓庆认为,这需要一家能构建云端大脑、神经网络、终端的运营公司来将三者连接起来,达闼科技正在着力构建机器人云端大脑体系,铺设一张全球互联的神经网络——“天网”,为实现云端智能机器人的运营打好基础。

“天网”必须具备两个特性——全球互联和安全互联。“只有实现全球互联,机器人才能实现全球知识共享;只有实现安全互联,才能保障机器人大脑的安全。”黄晓庆表示,“‘天网’的安全级别甚至能达到美国国防部的安全标准。”

2015年9月,达闼科技完成种子融资,融资金额3000万美元,估值1亿美元,投资人包括软银、富士康等。目前,A轮融资接近尾声,2016年6月左右将公布具体融资情况。融资将用于达闼科技的下一步研发和技术的产品化、市场化。

工程师

2014年6月,黄晓庆出差日本,对云端智能机器人仍恋恋不忘的他拜访了老熟人——软银创始人孙正义。黄晓庆把自己“云端智能机器人”的想法与孙正义进行了交流。

“在没有任何书面材料、只说了一个概念的情况下孙正义就答应要投资。”黄晓庆回忆,“我们创立UT斯达康时孙正义投资了,我第二次创业做软交换时他也投了,现在我要做机器人他更兴奋,因为他本人也特别喜欢机器人。”

2015年3月,黄晓庆正式从中国移动离职。一听“老大”要创业,中国移动研究院许多系统、移动标准、云计算平台专家也纷纷加入达闼科技。此外,大批来自BAT(百度、阿里巴巴、腾讯)、Google、三星、华为、IBM的技术人员也慕名而来。短短一年时间,达闼科技员工接近160人,技术人员占70%以上,在北京、深圳、成都、日本、美国硅谷都设有研发机构。

市场研究公司IDC发布的《全球商用机器人消费指南》显示,全球机器人行业及相关服务市场规模年复合增长率达17%,2019年行业规模将达到1354亿美元。而2015年机器人行业规模为710亿美元。达闼科技正全力练好内功争夺这个千亿美元的大市场。

事实上,达闼科技是黄晓庆的第三次创业。在外界看来,黄晓庆并不需要在功成名就之后还这么辛苦地创业。黄晓庆则有着自己的理解:“达闼科技让我实现了一个最伟大的梦想——让发明家和企业能够共享发明的成果。”

达闼科技有着有史以来对发明者最慷慨的回报政策:所有的发明创造只要在公司产品之外产生了收入,10%分给发明家,90%留给企业,这些收入包括授权、诉讼或转让等。

黄晓庆认为自己骨子里还是一名非常标准的工程师。他庆幸自己现在有更多的时间聚焦于科技创新。每天,他都能和一群优秀的工程师在一起。“我们共同将梦想照进现实。所以,我现在挺幸福的。”黄晓庆笑道。

不过,创业者黄晓庆也是一名创业导师。在与创业者交流时他也有私心。很多海外回国的创业者带来了许多独特的技术,如机器人控制技术、人工智能特殊算法等,通过与他们接触,黄晓庆可以为达闼科技找到合适的产业链合作者。

“我从小就有一个梦想,那就是‘做一名伟大的工程师’,老了后我还是想当一名工程师,达闼科技就是这个梦想的延续。”黄晓庆笑道,“我这一辈子可能都没办法退休,因为我总能看到一些伟大的技术,并很想把这些技术变成现实。”

神经传递通路的神经网络建模 篇4

在智能系统和智能产品的开发中,控制和结构一体化设计有多种思路,其中一种是采用神经网络和结构并行进化设计,并将设计模型直接接入实体造型和激光快速成型技术,直接生成具有一定自治能力的机器人。在自治机器人中,神经网络由人工神经元硬件实现,因此,神经网络连线应尽可能少以便于加工,同时连线少也有利于提高控制系统的可靠性。现有的神经网络模型主要是通过多目标优化和进化策略寻找最优构型[1,2,3,4,5,6],主要依靠增加连接来提高网络性能。有的学者认为生物学上如此复杂的连接是不现实的,自然进化不应该朝向如此庞大的连接[6]。其中有的文献基于神经元形态学(Neuron Morphologies)通过进化算法生成神经元形态和神经网络[5],侧重于神经元层的行为和操作过程,但用在工程中计算成本过高。

神经生物学提供了人工制品控制设计可以借鉴的原型。有两种途径建立神经系统模型。一种是直接建立仿生物模型。主要缺陷在于有机体神经发育中包含大量的化学反应,过程过于复杂,难以建摸。第二种途径是依据现有的神经元理论建模。神经元的作用机制模型已经有专门的研究,有成熟的成果可以借鉴。这样做的问题是现有的研究主要集中在神经元信息传递和处理机制,而非神经元网络的拓扑构型的生物学依据。

本文结合上述两种途径建模,采用简化的生物神经模型,提炼神经系统构型特征,建立神经元网络模型。

1 神经传递通路简化模型

神经系统模型非常复杂,必须提炼主要特征,才能建立有效计算模型,并应用在工程实际中。本节依据神经系统主要组成和神经传递通路特征建立神经传递通路简化模型。

1.1 神经系统组成

神经传递通路主要由感受器、神经纤维、神经元、效应器组成[7,8]。感受器是一种换能装置,将内外刺激的能量转变为神经的兴奋过程。效应器支配肌肉的活动。运动神经传递模式为感受器一初级传入神经元一二级传入神经元—三级传入神经元—中间神经元—一级传出神经元—二级传出神经元—骨骼肌。不同的通路对应不同的功能以及大脑皮质中不同的区域。以随意控制神经传递通路为例,主要回路有四个,各个回路功能不同,共同参与运动调控。大脑一小脑—丘脑—大脑联络皮质回路:投射系统对大脑皮质的运动区产生调节性影响;大脑皮质一基地核—丘脑—大脑皮质回路:主要功能为参与运动计划、启动和执行;大脑一运动前神经元一小脑—丘脑:将动作经验和当前情况核对,以矫正运动神经元的发放,使运动产生新的速度;大脑—丘脑回路:大脑皮质的下行纤维对丘脑有抑制作用。防止过激反应。

1.2 神经传递通路简化模型

依据随意控制神经传递通路特征,本文建立神经传递通路简化模型。模型由4个回路组成:(1)大脑—小脑—丘脑—大脑皮质回路;(2)大脑皮质—基地核—丘脑一大脑皮质回路;(3)大脑一运动前神经元一小脑—丘脑;(4)大脑一丘脑回路,分别简称为丘脑回路、基底核回路、小脑回路、大脑皮质回路。如图1所示。

2 神经网络建模

神经模型基本要素为基本单元和基本构型。基本单元包括神经元、感受器、效应器和神经中枢。基本构型采用上述简化模型,神经网络采用固定形态和连接模式,网络权植通过学习训练确定。

2.1 神经元分类

神经元包括胞体、轴突和树突三个组成部分。神经元分为5类:传入神经元,传出神经元,大脑皮质区中间神经元,基底核中间神经元,小脑中间神经元。其区别在于胞体的传递函数、输入函数、树突和轴突的形态、树突输入加权函数以及轴突输出不同。

2.2 网络结构

对图1简化模型建立神经网络,如图2所示。

网络含4个侧枝回路:丘脑回路、大脑皮质回路、基底核回路、小脑回路,分别控制感知和整合信息、调节姿态、运动启动和规划执行、核对和矫正运动等功能。灰色为抑制神经元,网络为动态网络。动态网络含有网络输入延迟或反馈环节,因此,网络的仿真输出与数据元素的顺序有关。图2a为原型网络,直接依据神经传递通路原型建模,包含14层,14个神经元,19条连线,4个回路。网络的主要优点是连线少,且整个网络为平面图,连线没有交叉,当采用神经元器件实现时便于加工布线。图2b为变形网络,共6层,14个神经元,53条连线。变形网络的优点是网络参数比原型网络简单。主要缺点是结构复杂,层间连线交叉,当采用神经元器件实现时布线和制造难度增加。

网络输入设定两种方式:(1)输入运动信息;(2)输入运动信息和控制幅度,以实现控制。

实现上述神经元网络,必须首先建立神经元数理模型。本文采用现有的神经元传递函数和加权函数[9]构造数理模型,并用基于matlab的函数实现[10]。

2.3 神经元数理模型

(1)神经元胞体

一级、二级传入神经元胞体数理模型:

中间神经元输入输出关系:Xi(s)=Hi(s)Xi(s)

传出神经元:yi(t)=f(xi)

(2)轴突

传入神经元、中间神经元以及非传出运动神经元为:

传出神经元为:a=n

(3)树突

分加权函数和输入函数两部分。

加权函数为欧氏距离加权函数:

输入函数为以加权方式将加权输入和阈值组合。matlab函数为N=netsum(Z1,Z2,∧,Zn)。

2.4 网络学习和训练

学习能力依靠突出结合权的变化实现。

(1)训练函数

训练分为两步。第一步采用弹性反向传播算法RPROP(resilient backpropagation algorithm)对网络进行训练;第二步采用BFGS准牛顿(quasi-Newton)反向传播算法对网络进行训练。作者计算表明:选用两种算法可以避免锯齿现象,加快收敛;对不同的系统特性,应需选取不同的训练函数。对有噪音的输入——输出系统,弹性反向传播算法有利;对PID姿态控制系统,选用单一贝叶思正则化训练函数即可。

弹性反向传播算法依据误差能量函数独立调整网络各层权重和偏差以控制步长,权值和阈值更新时只考虑梯度符号。牛顿反向传播算法是将目标函数在极小点附近用二次函数逼近,避免锯齿现象。贝叶斯正则化方法可自动调整网络规模,防止过度训练。

(2)学习函数

采用动量梯度下降权值和阈值学习函数,即权值和阈值的调整值由动量因子mc、前一次学习时的调整量dWprev、学习速率lr和梯度gW共同确定,方程为:

2.5 网络测试

用计算实例测试网络的逼近精度和泛化能力,并与其它网络比较。泛化能力(Generalization Ability)指用较少的样本进行训练,使网络能对未经训练的输入能给出合适的输出。

函数逼近能力见表1,泛化能力见表2。比较网络构型选择原则为连线数大于原型网络。观察表1和表2,对随机函数和非线性函数,在相同训练次数情况下,4回路网络与其它网络相比同时具有更好的函数逼近能力和泛化能力。由于原型网络连线数少且连线在同一平面内,因而更利于硬件实现。

2.6 网络特点

1)多个实例计算表明,本文提出的两种网络均可以满足一般输入输出映射关系。对同样的神经元数目,原型网络和变形网络比一般网络能适应更多类型的函数映射关系。2)原型网络和变形网络在算法上容易实现,适应性强。前者收敛速度慢,但是结构简单,易于布线,并利用基于激光的层加工技术实现神经元器件埋设;后者收敛速度快,但是连线多。故在线训练采用变形网络;神经元硬件实现采用原型网络。3)多个网络并联实现复杂控制。4回路神经网络模型的潜在应用是实现复杂的姿位控制,如自治卫星、机器人等,在此情况下,需要多个神经传递通路协作实现预定目标。4)网络与其它网络比较具有以下优点:(1)对任意函数逼近能力好;(2)在相同训练次数条件下泛化能力好。

3 结论

本文建立神经传递通路简化模型,建立相应的神经网络模型——4回路动态延迟神经网络模型。包括丘脑回路、大脑皮质回路、基底核回路和小脑回路。网络可采用两种形式表达:一种是直接模拟神经传递通路形态的原型网络,另一种为变形网络。原型网络包含14层,14个神经元,19条连线。主要优点是连线少,且整个网络为平面图,连线没有交叉,当采用神经元器件实现时便于加工布线。变形网络有6层,14个神经元,53条连线。优点是网络参数比原型网络简单。主要缺点是结构复杂,层间连线交叉,当采用神经元器件实现时布线和制造难度增加。两种网络均易于数学实现,并具有良好的函数逼近能力和泛化能力。

参考文献

[1]Garcya Pedrajasa N,Herva's Marty neza C,Mun~oz Pe'rezb J.Multi-ob- jective cooperative coovolution of artificial neural networks.Neural Net- works 15,2002:1259-1278.

[2]Christian Schittenkopf,Gustavo Deco,Wilfried Brauer.Two Strategies to Avoid Overfitting in Feedforword Networks.Neural Network,1997,10 (3):505-516.

[3]Alistair G Rust,et al.Towards Computational Neural Systems through Developmental Evolution.Wermter S,et al.(Eds.):Emergent Neural Computational Architectures,LNAI 2036,Springer-Verlag Berlin Hei- delberg,2001:188-202.

[4]Nariman-Zadeh N,Darvizeh A,Jamali A,et al A.Evolutionary.design of generalized polynomial neural networks for modelling and prediction of explosive forming process.Journal of Materials Processing Technology, 2005:1561-1571.

[5]Sung-Kwun Oh,Pedrycz W,Byoung-Jun Park.Relation-Based Neuro- fuzzy Networks with Evolutionary Data Granulation.Mathematical and Computer Modeillng,2004,40:891-921.

[6]Torts JJ,et al.Influence of topology on the performance of a neural network.Neurocomputing,2004:229-234.

[7]许绍芬.神经生物学.第二版.上海:上海医科大学出版社,1999.

[8]Palay S L.等.神经元形态与功能,神经生理学手册(3).黄世楷,等译.上海:上海科学技术出版社,1985:1-195.

[9]史忠植.神经计算.北京:电子工业出版社,1993:27-31.

探讨神经网络控制的发展与应用 篇5

关键词 神经网络 控制系统 控制科学 模型 机器人

中图分类号:TP183 文献标识码:A

1神经网络控制的发展现状

神经网络控制是模仿人类感觉器官和脑细胞工作原理的控制方法,它是由一些简单的阈值逻辑单元根据平行结构的重量可调节的连接在一起,可以接受大量的信息,处理结果和并行输出信息。系统的硬件仿照神经细胞网络,而软件模拟神经细胞的工作,即每个神经元接收信号,根据相应的规律输出信号。它的优点是能快速处理复杂的控制任务。如图1所示是一种三层的神经网络模型

美国的科学家从大脑中的信息处理的角度来研究一些基本的生理特性方法,利用数学模型来研究大脑细胞的运动与结构和生物神经元,提出了第一个神经网络模型(MP模型),开辟了神经科学研究的时代。心理学家赫布通过大脑在学习后形成的条件反射来对神经细胞进行研究,提出了Hebb规则的神经元连接强度的变化规律。人工智能神经网络系统的研究是从第二十世纪50年代和60年代初开始进行的。计算机科学家提出了感知器模型,模拟动物和人类的认知能力和学习能力,提出了三层感知器隐藏层处理单元的新概念。科学家们还提出了自适应线性神经元模型,这是一个学习研究规律的有效方法。这些新的科研创举使神经网络从理论研究进入实施阶段,从而在人工神经网络的研究领域中引发了第一个高潮。

人工智能起初是一个基于感知器作为函数的数学研究学科,深入分析后开发出了具有局限性的简单网络系统,并有科学家指出:感知器只有单一的求解线性问题,解决简单的非线性问题,就必须采用多层神经网络的隐单元。在当时的条件下,用有效的学习算法来找到一个多层神经网络是非常困难的,从而使许多神经网络研究人员都失去了信心,使神经网络理论进入了停滞阶段。之后,科学家们提出了新的神经网络模型,神经网络的研究取得了突破性的进展。科学家们提出了能量函数的概念以及神经网络的稳定性判据。他们在非线性动力学的几种神经网絡模型中的优化问题的解决方案是成功的,对神经网络理论的发展产生了深远的影响。这使得神经网络的研究的重新点燃了复兴之火。不久之后,就有其他科学家提出了用BP算法来代替多层前馈反向传播算法来训练神经网络,从实践上证明了神经网络具有很强的操作能力,其应用已经渗透到各个领域,并取得了令人鼓舞的进展,如在智能控制,模式识别,自适应滤波和信号处理,非线性优化,传感和机器人,生物医学工程等领域都取得了令人瞩目的伟大成就。这些成果深化了人们对神经网络的了解。

2神经网络控制的应用背景

具有自学习能力的人工神经网络非线性映射能力,联想记忆能力,并行信息处理能力和容错性能都很优异,在科学和技术领域都引起了广泛的关注。相比于复杂系统的控制模型,特别是在系统不确定性的情况下,神经网络控制体现出了无与伦比的优势。

上世纪60年代,科学家们首先正式介绍了神经网络控制系统。第二十世纪60年代初,在美国“阿波罗登月计划中,科学家们还提出了根据在脊椎动物神经系统的网状结构中研究出的一种渐进模型的工作原理,使月球车在复杂的环境中能够具备一定的自控能力。在美国空军技术研究领域,神经网络滤波已经得到了广泛的应用。概率神经网络也被成功地用于解决两个单独电子发射器的相关问题。对神经网络控制的研究主要集中在自适应控制与智能机器人,以及后来的专家系统和模糊神经系统,在这些学术领域中都取得了大量的成果。

神经网络处理非线性和不确定性系统有着巨大的发展空间。可以说,在各种实际问题中,凡是可以采用传统的控制理论来解决的问题,几乎都可以利用神经网络技术来解决问题,而传统的控制技术无法解决的也可以用神经网络来解决。神经网络控制的许多成功案例让人们看到了智能控制时代的到来。当然,由于目前的神经网络硬件的发展,神经网络控制的大规模应用时代尚未到来,具有简单功能的神经元芯片的成功研制却使人对其发展前景信心倍增。

参考文献

[1] 韦巍,蒋静坪.基于多神经网络的机器人轨迹学习控制研究[J].浙江大学学报(工学版),1997(04).

[2] 张健欣,郭宁.基于神经网络的非线性系统自适应控制综述[J].内蒙古电大学刊,2007(12).

神经网络 篇6

人工神经网络具有高度非线性建模能力以及良好的容错性和自学习能力,因此在人工智能、模式识别、信号处理和机器人及非线性控制等领域有着广泛的应用[1~5]。我们曾利用神经网络开展过诸如矩阵方程求解和矩阵实时求逆等科学计算工作[6,7]。BP(Back Propagation)神经网络是反向传播的多层前馈式网络,是目前应用最广泛也是最重要的人工神经网络模型之一。

基于负梯度法(或称梯度下降法)的BP神经网络是1986年由Rumelhart和Mc Clelland[8]等人提出的一种多层前向神经网络模型,其核心是误差反向传播算法(BP算法)。该算法的标准做法是沿着负梯度下降方向,迭代修正网络各层的权值和阀值,以最小化误差最终达到计算精度要求,从而实现输入输出的非线性映射。20世纪80年代中期以来,多层前向神经网络的BP算法一直备受人们的关注,但是BP网络存在着诸如收敛速度慢和易陷入局部极小点的缺点,因此人们对此提出了许多改进的算法。它们大体上可分为两类[9]:(1)基于标准梯度下降法的改进,(2)基于数值优化方法的改进。人们在对BP网络改进时多是着手于改进其学习算法,期望改进网络训练的迭代规则来解决收敛速度慢和局部极小点问题。

本文则期望从改进网络结构和激励函数的思路出发来解决网络收敛速度慢和局部极小点问题,实验结果表明其优于以上传统的两种改进做法。从多项式插值和逼近理论[10,11]出发,本文构造了一种Jacobi正交基前向神经网络(如图1),它能快速有效地学习给定样本并逼近目标函数,同时也能精确地给出目标函数在未学习区间的短期预测。

如图1,该前向神经网络采用了一组特例Jacobi正交多项式函数(实为第二类Chebyshev正交多项式)为隐层神经元的激励函数,而其输入层和输出层神经元使用线性激励函数并固定阀值为零。该神经网络的隐层神经元权值可以在学习过程中通过BP算法训练而得,也可以利用后文给出的伪逆思想直接确定。该神经网络不仅结构简单,而且因权值可以直接确定从而避免了冗长的迭代训练过程,其仿真和预测的精度也得以大大提高。本文也将给出仿真实例显示基于伪逆的权值直接确定法的优越性。

2 网络模型与理论基础

如图1所示,我们给出了一种Jacobi正交基的前向神经网络。该网络由输入层、隐层和输出层组成。其中,输入层和输出层有一个神经元并使用线性激励函数f(x)=x;隐层有n个神经元并使用一组特例Jacobi正交多项式(即第二类Chebyshev正交多项式)函数()jϕx,j=0,1,2,,n-1。下面我们给出Jacobi正交多项式和第二类Chebyshev正交多项式的定义。

定义1[11]设ϕj(x)是j次实系数多项式。若多项式系{ϕj(x)}j=0n-1是区间[a,b]上关于权函数ρ(x)的正交函数系,即满足

{ϕj(x)}j=0n-1为区间[a,b]上关于权函数ρ(x)的正交多项式系,并称nϕ-1(x)为区间[a,b]中关于权函数ρ(x)的n-1次正交多项式。

定义2[12]Jacobi正交多项式可原始定义为:在封闭区间[-1,1]上关于权函数ρ(x)=(1-x)α(1+x)β的正交多项式称为Jacobi多项式,记为Jj(α,β)(x)=

我们可以看出,Legender多项式是上述Jacobi多项式对应于α=β=0的特例;第一类Chebyshev多项式是Jacobi多项式对应于α=β=-1/2的特例;第二类Chebyshev多项式是Jacobi多项式对应于α=β=1/2的特例[12]。下面我们以第二类Chebyshev多项式实例化Jacobi正交基前向神经网络。

定义3[12]第二类Chebyshev正交多项式可原始定义为:

它是封闭区间[-1,1]上关于权函数的正交多项式,即:

并可证明,第二类Chebyshev多项式满足如下递推关系式:

值得注意的是,由该Chebyshev第二类多项式组成的前向神经网络之所有神经元阀值都可恒定设为0,这样在保证网络逼近能力的同时,也可以进一步简化神经网络的结构及其未来的硬件实现。上述第二类Chebyshev正交基前向神经网络仍然可以看作是一种BP神经网络模型,并采用通常的误差回传学习算法修正权值向量w。

下面我们给出该Jacobi正交基前向神经网络(实例为第二类Chebyshev正交基神经网络)逼近能力之理论基础。依据多项式插值和逼近理论[10~12],我们总是可以构造一个多项式函数ϕ(x)来逼近未知函数φ(x)。

定义4[11]假定区间[a,b]上的未知函数φ(x)和线性无关函数系{ϕj(x)}j=0n-1之每个ϕj(x)都连续(可记为∈C[a,b])。给定[a,b]上的权函数ρ(x),对于广义多项式:

确定其系数w0,w 1,,wn-1,使得a∫bρ(x)(φ(x)-ϕ(x))2dx为最小。这样得到的函数ϕ(x)称为φ(x)在区间[a,b]上关于权函数ρ(x)的最佳平方逼近(函数)[或称最小二乘逼近(函数)]。定理1[11]给定区间[a,b]上的连续函数φ(x),则其最佳平方逼近函数ϕ(x)存在而且唯一;另外,ϕ(x)的系数w0,w 1,,wn-1可以通过求解而得。

3 权值迭代方法

对于图1所给出的Jacobi正交基的前向神经网络模型,其隐层神经元个数为n,隐层神经元与输出层神经元之间的权重记为wj,j=0,1,2,,n-1,因此该神经网络输入x与输出y的关系可以描述成公式(3)。如果我们采用训练样本集{(x i,yi),i=1,2,,m},并定义该神经网络的误差函数E如下:

则图1所示神经网络的基于标准BP算法的权值wj修正公式可如定理2(因篇幅所限,其证明从略)所述。定理2(权值修正)图1所示的Jacobi正交基前向神经网络的权值迭代公式可设为[13]:

其中j=0,1,2,,n-1,迭代次数k=0,1,2,。

若将上述定理2以矩阵和向量形式描述,我们则有定理3;即更为简洁的权值向量迭代公式。

定理3(简洁修正)图1所示的Jacobi正交基前向神经网络的权值迭代公式(5)可以简化为如下矩阵向量形式:

其中输入相关矩阵X、权值列向量w和输出相关向量γ分别定义为:

4 权值直接确定

第3节讨论了Jacobi正交基前向神经网络基于标准BP算法的权值迭代公式,其中定理2和定理3是等价的。定理2是标量形式的公式描述(或称元素级的迭代运算与描述),而定理3是定理2和权值迭代公式(5)的矩阵向量形式描述。在引言中我们曾提到,对于这种新型的神经网络结构,我们可以直接一步地给出网络权值从而能够避免冗长的网络训练及迭代过程。

下面定理展示了我们是如何做到这一点的。

定理4(直接确定法)给出参量X、w和γ如定理3所定义。图1所示Jacobi正交基前向神经网络之最优权值可以直接给定为:

或记为ω=pinv(X)γ,其中pinv(X)表示求相关矩阵X的伪逆(此处等同于(XT X)-1XT并可调用MATLAB命令pinv实现)。

基于给出的最优权值(7),该Jacobi正交基前向神经网络能够实现对未知输入输出关系φ(⋅)的最小误差逼近。

证明:我们回顾定理3及公式(6):w(k+1)=w(k)-ηXT(Xw(k)-γ),其中学习步长η>0。当网络训练达到稳态时(即k足够大时,w(k+1)=w(k):=ω),从公式(6)简化可得

因此满足公式(8)的ω即是该Jacobi正交基前向神经网络的稳态最优权值ω:=limk→+∞w(k),并且能够最小化误差函数E。利用矩阵之伪逆思想,解公式(8)即可得公式(7):ω=(XT X)-1X Tγ,我们因此可以一步确定该Jacobi正交基前向神经网络的最优权值向量,定理4因此得证。

值得指出的是,该Jacobi正交基前向神经网络利用矩阵伪逆思想可以一步地计算出网络权值(即,直接确定法或称一步确定法),从而避免了冗长的网络权值迭代过程。仿真结果证实其较好的计算速度与精度。

5 鲁棒性预测仿真

以无单位目标函数y=sin(4x)为例,我们对图1所示的Jacobi正交基(以第二类Chebyshev正交基为实现实例)前向神经网络进行仿真验证。不同与我们以往的工作,我们可以在仿真该神经网络时引入一定的实现误差[如不精确地实现正交基激励函数,使得ϕj(x)=2xϕj-1(x)-(j-1)ϕj-2(x)],以研究该网络的鲁棒性预测效果。其中,Jacobi正交基前向神经网络的隐层神经元个数n=8,取区间[-1.0,0.8]为样本数据训练区间,而区间(0.8,1.0]为未经学习的预测/测试区间。在区间[-1.0,0.8]上以0.01的间隔采样,可取得181个样本点组成训练样本集{(x i,yi),i=1,2,,m}(其中m=181)。以样本数据点xi(i=1,2,,181)作为网络训练输入,对应的样本数据值yi(i=1,2,,181)作为网络目标输出(或称期望输出)。我们分别用公式(5)所描述的标量形式迭代法和公式(6)所描述的矩阵形式迭代法以及直接权值确定法(7)对该181个样本数据对进行训练。

得到调整好的网络权值后,即可将该Jacobi正交基前向神经网络用于测试和预测。表1对三种权值方法的测试结果进行了数值比较,图2至图4分别显示了该三种方法的训练和预测的直观效果。由结果之比较可以得知,对于Jacobi正交基前向神经网络,权值直接确定法在训练时间、训练误差和预测效果上要远远优于迭代法(既包括标量形式迭代法也包括矩阵形式迭代法)。具体而言,在训练105次后,标量形式和矩阵形式的迭代法训练时间分别为2410秒(约为40分钟)和19.7秒,训练和预测的总误差为4.66×10-1;而权值直接确定法的训练时间仅为0.30秒,并且训练和预测的总误差也仅为5.80×10-4。

如图2、图3和图4所示,实线表示神经网络的实际输出值,而虚线表示真实的目标输出值。区间[-1.0,0.8]为网络学习区间,而区间(0.8,1.0]为预测区间(未学习过),这两个区间以分段竖折线隔开。对仿真结果进行观察,我们可以得出,该Jacobi正交基前向神经网络模型具有良好的函数逼近性能、鲁棒预测性;而且我们可以看出,基于伪逆的权值直接确定法比传统的BP迭代法有更好的预测效果。

6 结语

针对传统BP神经网络存在诸如收敛速度慢和易陷入局部极小点的缺点,我们基于多项式插值和逼近理论,提出了一种新型的神经网络模型(Jacobi正交基前向神经网络)及其基于伪逆思想的权值直接确定法。对该网络进行的计算机仿真显示,相对于传统的BP迭代公式,该新型神经网络模型及算法不仅具有更优的逼近性能、更精确的预测效果,而且计算速度更快、鲁棒性更强。

摘要:根据多项式插值与逼近理论,以一组零阀值特例Jacobi正交多项式(第二类Chebyshev正交多项式)作为隐层神经元的激励函数,构造一种基于Jacobi正交基的前向神经网络模型。该神经网络模型采用三层前向结构,其中输入、输出层神经元采用零阀值线性激励函数。为改进传统神经网络收敛速度较慢及其局部极小点问题,针对该Jacobi正交基前向神经网络模型,提出了一种基于伪逆的直接计算神经网络权值的方法(即,一步确定法),并利用该神经网络进行预测。计算机仿真结果表明,相对比传统的BP迭代训练方法,权值直接确定法计算速度更快、预测精度更高。

神经网络 篇7

流动推销员问题 (TravelSalesmanProblem, 简称TSP) 的主要内容是:对于N个城市, 它们之间的距离已知, 有一推销员要从某一城市出发走遍所有的城市, 且每一个城市只能经过一次, 最后回到出发城市, 问如何选择路线可使他所走过的路程最短推销员的路线必须是一个封闭的回路, 这里把这个要求称为TSP的单回路约束。

目前关于TSP的解决方法不断更新和改进。其中, 神经网络方法求解TSP收到越来越多学者的关注。费春国等把自适应混合混沌神经网络运用到TSP研究中[1];严晨等改进了能量函数和瞬态混沌神经网络求解TSP[2];翁妙凤等把退火策略和混沌神经网络结合应用TSP的求解[3]。以上这些神经网络方法求解TSP的计算速度比较快, 能得到较高质量的解, 但不能完全避免不可行解的产生, 不可行解的产生主要是不满足TSP的单回路约束。

H.Haken在1991年提出来一种新的神经网络——协同神经网络[4]。J.Starke把H.Haken经典的一维的协同神经网络推广, 得到二维和三维协同神经网络[5,6]。H.Haken在协同神经网络的演化方程中加入了代价项, 解决了一类组合优化问题——任务分派问题[7]。这里, 我们基于协同神经网络的方法解决TSP, 并设计了一个回路合并算法, 确保得到满足TSP的单回路约束的解。

1 协同神经网络

协同神经网络是H.Haken在1991年提出来的。根据协同学的基本思想, 模式识别过程可以理解为若干序参量竞争的过程. 对模式的序参量ξk可以构造一个动力学过程, 经简化处理后, 服从方程 (1) 。

ξ˙k=ξk (λ-D+Bξk2) 其中D= (B+C) kξk2 (1)

协同神经网络提供了并行实现的可能, 并且H.Haken已证明了协同神经网络不存在伪状态。

J.Starke给出了二维协同神经网络的序参量演化方程基本形式:

ξij=ξij-ξij3-βξij (iiξij2+jjξij2) (2)

H.Haken改进了二维协同神经网络, 并求解了任务分派问题。本文基于二维协同神经网络的方法求解TSP。

TSP的整数规划模型表示为:

minz=min (jicijxij)

TSP的整数规划模型可以改写为:

minz=min (jicijxij)

(4) 式中z表示回路的路径长度;cij表示从点i到点j的距离, xij=1, 车辆从点i行驶到点j;否则, xij=0。xij满足:xijxij′=0, xijxij=0 ii′, jj′。

构造势函数:

V=p0i, jcijξij2+p1i (jξij2-1) 2+p1j (iξij2-1) 2+p2i, j (iiξij2ξij2+jjξij2ξij2) (5)

推导得到序参量演化方程:

ξij=-Vξij= (8p1-2p0cij) ξij-8p1ξij3-4 (p1+p2) ξij (iiξij2+jjξij2) (6)

ξij= (1-αcij) ξij-ξij3-βξij (iiξij2+jjξij2) ,

其中aij=p04p1, β= (p1+p2) 2p1 (7)

于是就得到了用于求解TSP问题的协同神经网络演化方程。

2 协同神经网络求TSP包含回路的分析

由 (7) 式, 经数值计算, 可以得到TSP中各个城市的邻接矩阵 (xij) 。 (xij) 满足 (3) 式的约束条件, 目标函数可等价表示为:

z=jicijxij=c1p1+c2p2++cnpn (8)

(8) 式中p1, p2, …, pn是1, 2, …, n的全排列。 (8) 式在TSP表示经过所有城市的回路的路径长度。对于 (8) 式, 我们明确以下相关命题:

命题1:x1, x2, …, xk是1, 2, …, n的一个按由小到大标准顺序排列的子列, px1, px2, …, pxkx1, x2, …, xk的全排列, cij意义同 (3) 式, 则cx1px1+cx2px2+…+cxkpxk表示经过节点x1, x2, …, xk的一个或多个回路的路径长度。

证明:我们可把x1设为回路的起点, 由于px1, px2, …, pxkx1, x2, …, xk的全排列, x1, x2, …, xk中必存在一个xi=px1, 路径x1→px1 (即xi) →pxi, 对应路径距离为cx1px1+cxipxi;

px2, …, pxkx1, x2, …, xi-1, xi+1, …, xk的全排列, 必存在一个xj=pxi, 路径x1→px1 (即xi) →pxi (即xj) →pxj, 对应路径距离为cx1px1+cxipxi+cxjpxj;

重复以上过程, 直到pxs=x1, 则就得到一个回路:x1→px1 (即xi) →…→pxs (即x1) , 对应回路距离为cx1px1+cxipxi+…+cxspxs

每排入一个节点进入路线, 对应路线就相应增加一段距离。

再把x1, x2, …, xk中没有排入回路的最小点作为起点, 重复以上过程, 直到x1, x2, …, xk所有的点都排入回路。显然cx1px1+cx2px2+…+cxkpxk可能表示经过节点x1, x2, …, xk超过一个回路的路径长度。

命题1说明, (3) 式只能约束协同神经网络求解TSP的结果含有回路, 但不一定满足TSP的单回路约束, 这需要增加辅助算法解决。

3 仿真研究

3.1 协同神经网络方法求解TSP步骤

对于一个有n个节点的TSP, 协同神经网络方法求解TSP过程可分为以下步骤:

(2) 根据序参量演化方程 (6) 式, 作数值迭代方程:ξij (tk+1) =ξij (tk) +σξij (tk) , σ表示迭代的步长。

(3) 当满足|ξij-1|≤0.2, 且|ξij′-0|≤0.2, 其中∀i, j, 且j′≠j, 输出矩阵 (ξij) n×n。|ξij-1|≤0.2, 取对应的xij=1, 同时xij=0, xij′=0, 这样就得到了矩阵 (xij) , 记录下xij=1的行号i和列号j。由所有记录下的xij=1的行号i和列号j, 依次连接行号i和列号j, 得到了路径, 即得到了TSP的初始解。

(4) 处理初始解, 得到TSP问题的路径满足单回路约束。

这一步又可以分为以下步骤:

①判断初始解中是否只含有一个回路。若是, 则输出初始解;若初始解含有多个回路, 则转下一步。

②计算各个回路中相邻两个点的距离。具体方法为, 设其中有两个回路记为: (x1, x2, …, xk) 和 (y1, y2, …, yl) , 求相邻的点的距离矩阵 (cxiyj+cxi+1yj+1-cxixi+1-cyjyj+1) k×l其中i=1, 2, …, k;j=1, 2, …, l;当i=k, j=l时, xi+1和yj+1分别就是x1和y1。

③求出距离矩阵 (cxiyj+cxi+1yj+1-cxixi+1-cyjyj+1) k×l最小值。若最小值为cxiyj+cxi+1yj+1-cxixi+1-cyjyj+1, 在最小值对应的节点xi, xi+1, yj, yj+1, 断开路段xixi+1和yjyj+1, 连接节点xi和节点yj, 连接节点xi+1和节点yj+1, 这样两个回路合并为一个回路。

示例:http://elib.zib.de/pub/mp-testdata/tsp/

tsplib/tsp/index.html上选取bayg29的测试数据, 经过协同神经网络方程数值计算, 求得初始解包含下面两个回路, 如图1。

route1=[1,2,3,4,5,6,7,8];

route2=[16 19 4 15 18 14 17 22 11 25 7 23 27 16]。

显然初始解不满足TSP问题的单回路约束。

计算相邻点的距离矩阵, 在回路1上选得节点为24和8, 回路2上选得节点为27和16。连接相应节点建立新的回路, 如图2。

④初始解中若有s (s>2) 个回路, 同第2、3步一样, 求出第1个回路和其它s-1个回路的距离矩阵, 求出s-1个距离矩阵元素的最小值, 在最小值对应的节点处合并回路。这样回路数减为s-1个, 求出刚合并得到的回路与剩下s-2个回路的距离矩阵, 求出距离矩阵元素的最小值, 在最小值对应的节点处合并回路, ……

重复上面的过程, 直到s (s>2) 个回路合并为一个回路, 这个回路就是问题的解。

3.2 计算结果

从http://elib.zib.de/pub/mp-testdata/tsp/

tsplib/tsp/index.html中选取3组TSP测试数据:ulysess-16, ulysess-22, berlin-52。运用协同神经网络和合并回路相结合的方法 (简称协同神经网络) 和模拟退火算法、标准遗传算法求解这3个问题。计算机硬件主要配置:奔腾Ⅳ, 主频2.4 GHz, 内存384兆。

协同神经网络与模拟退火算法的路径长度 (三次实验中中平均值) 比较, 如表1。

其中协同神经网络算法求得ulysess-16的路径为: (11 5 15 8 4 2 3 1 16 12 13 14 6 7 10 9 11) , 路径图如图3所示。协同神经网络算法求得ulysess-22的路径为: (15 6 7 12 13 14 1 8 22 18 4 17 2 3 16 21 20 19 10 9 11 5 15) , 路径图如图4所示。

协同神经网络和标准遗传算法求解问题的计算消耗时间比较, 如表2。

从表1可以看出, 运用协同神经网络求解TSP的方法计算精度高于模拟退火算法, ulysess-16和ulysess-22的结果比网站公布的最优结果还要好。表2表明协同神经网络方法的计算效率比标准遗传算法好的多。总而言之, 通过实验表明了运用协同神经网络和回路合并相结合的方法求解TSP, 得到的解一定是可行解。并且从计算精度和效率角度考虑, 这种方法也是行之有效的。

4 小结

文中, 运用了一种新的神经网络——协同神经网络方法求解TSP, 并设计了一个回路合并算法, 确保得到满足TSP的单回路约束的解。通过ulysess-16, ulysess-22, berlin-52等三组数据进行数值模拟, 比较了新算法、标准遗传算法和标准模拟退火算法的求解结果。实验结果表明, 说明该方法在求解TSP 问题上是行之有效的。

进一步的工作有:

(1) 分析协同神经网络方法求解TSP时, 随着TSP规模增大, 算法精度和计算量的变化情况;

(2) 分析协同神经网络方法求解不同类型TSP的表现, 算法的稳定性分析;

(3) 进一步研究提高计算效率和精度的方法等。

摘要:神经网络方法求解流动推销员问题 (Travel Salesman Problem, 简称TSP问题) 时, 往往产生不满足TSP的单回路约束的不可行解。基于协同神经网络的方法解决TSP, 并设计了一个回路合并算法, 确保得到满足TSP的单回路约束的解。通过算例进行数值模拟, 并且比较了新算法、标准遗传算法和标准模拟退火算法的求解结果。实验结果表明, 说明该方法在求解TSP问题上是行之有效的。

关键词:流动推销员问题,单回路约束,协同神经网络

参考文献

[1]袁丽华, 等.分形法与范例库推理相结合进化求解旅行商问题.系统工程, 2006;102—106

[2]费春国, 等.自适应混合混沌神经网络及其在TSP中的应用.系统仿真学报, 2006;3459—3462

[3]严晨, 王直杰.基于改进型能量函数和瞬态混沌神经网络的TSP问题研究.系统仿真学报, 2006;1402—1405

[4]翁妙凤, 高晶.基于退火策略的混沌神经网络及其在TSP中的应用.小型微型计算机系统, 2002;574—576

[5] Haken H.Synergetic computers and cognition-top-down approach toneural nets.Berlin:Springer-Ver-lag, 1991

[6] Starke J.Cost oriented competing processes-a new handling of assign-ment problems.In:Dole al, Fidler J (Eds.) .System Modelling andOptimization, London:Chapman&Hall, 1996:551—558

[7] Starke J, Schanz M, Haken H.Treatment of combinatorial optimizationproblems using selection equations with costterms.PartⅡ.NP-hardthree-dimensional assignment problems.Physical D, 1999;134:242—252

神经网络模式识别 篇8

关键词:神经网络,模式识别,训练集

1 模式识别的基本原理与概念

1.1 模式识别系统的构成

模式识别系统的构成如图1所示。以下分别对各部分进行说明。

(1) 数据获取。

为了使计算机能够对各种现象进行分类识别, 要用计算机可以运算的符号来表示所研究的对象。通常输入对象的信息有二维图像、一维波形、物理参量和逻辑值三种类型。通过测量采样和量化, 可以用矩阵或向量表示二维图像或一维波形。这就是数据获取的过程。

(2) 预处理。

预处理的目的是去除噪声, 加强有用的信息, 并对输入测量仪器或其它因素所造成的退化现象进行复原。

(3) 特征提取和选择。

由图像或波形所获得的数据量是相当大的。例如, 一个文字图像可以有几千个数据, 一个卫星遥感图像的数据量就更大。为了有效地实现分类识别, 就要对原始数据进行变换, 得到最能反映分类本质的特征。

1.2 模式识别的传统方法

(1) 统计模式识别:

这种技术是建立在不同类别被识别对象的观测特征的统计分布差异基础上的。它的大致过程是, 首先广泛对被识别对象进行采样, 建立不同种类属性特征的统计分布模型, 在识别时根据目标的特征计算出它属于不同种类的概率, 然后根据概率计算出目标被判为每一类别所对应的风险值, 选择风险值最小的作为目标所属类别。

(2) 句法模式识别:

句法结构模式识别着眼于对待识别对象的结构特征的描述。它将一个识别对象看成是一个语言结构, 例如一个句子是由单词和标点符号按照一定的语法规则生成的。

(3) 模糊模式识别:

人类对客观事物的认识带有模糊性, 如通常所说的“高矮、胖瘦”、“青年、老年”, 等等。人类利用这些模糊语言进行交流, 并通过大脑分析和决策。模糊模式识别就是根据人类辨识事物的思维逻辑, 吸取人脑的识别特点, 将计算机中常用的二值逻辑转向连续逻辑, 利用模糊信息进行模式决策分类, 使计算机或机器带有接近人类的智能。模糊模式识别的理论基础是模糊数学。模糊模式识别的结果是用被识别对象隶属于某一类别的程度, 即隶属度来表示的。

(4) 神经网络模式识别:

模式识别的任务是把模式正确地从特征空间映射到类空间, 或者说是在特征空间中实现类的划分。模式识别的难度和模式与特征空间中的分布密切相关, 如果特征空间中的任意两个类可以用一个超平面去区分, 那么模式是线形可分的, 这时的识别较为容易。神经网络还具有自适应能力, 它不但能自适应地学习, 有些网络还能自适应地调整网络的结构。神经网络分类器还兼有模式变换和模式特征提取的作用。最后一点是, 神经网络分类器一般对输入模式信息的不完备或特征的缺损不太敏感, 它在背景噪声统计特性未知的情况下, 性能更好, 而且网络具有更好的推广能力。基于以上种种优点, 神经网络模式识别已发展成为模式识别领域的一个重要方法, 起到了传统模式识别方法不可替代的作用。

2 神经网络模式识别的特点

(1) 它具有自组织和自学习能力, 能够直接输入数据并进行学习。

神经网络对所要处理的对象在样本空间的分布状态无须作任何假设, 而是直接从数据中学习样本之间的关系, 因而它们还可以解决那些因为不知道样本分布而无法解决的识别问题。

(2) 神经网络具有推广能力。

它可以根据样本间的相似性, 对那些与原始训练样本相似的数据进行正确处理。

(3) 网络是非线性的, 即它可以找到系统输入变量之间复杂的相互作用。

在一个线性系统中, 改变输入往往产生一个成比例的输出。但在一个非线性系统中, 这种影响关系是——个高阶函数, 这一特点很适合于实时系统, 因为实时系统通常是非线性的。神经网络则为这种复杂系统提供了一种实用的解决办法。

(4) 神经网络是高度并行的, 即其大量的相似或独立的运算都可以同时进行。

这种并行能力, 使它在处理问题时比传统的微处理器及数字信号处理器快成百上千倍, 这就为提高系统的处理速度, 并为实时处理提供了必要的条件。

3 常用的模式识别神经网络模型

3.1 感知机及BP网络

BP算法的基本思想是, 学习过程由信号的正向传播与误差的反向传播两个过程组成。正向传播时, 输入样本从输入层传入、经各隐层逐层处理后, 传向输出层。若输出层的实际输出与期望的输出 (教师信号) 不符, 则转入误差的反向传播阶段。误差反传是将输出误差以某种形式通过隐层向输入层逐层反传、并将误差分摊给各层的所有单元, 从而获得各层单元的误差信号, 此误差信号即作为修正各单元权值的依据。这种信号正向传播与误差反向传播的各层权值调整过程, 是周而复始地进行的。权值不断调整的过程, 也就是网络的学习训练过程。此过程一直进行到网络输出的误差减少到可接受的程度, 或进行到预先设定的学习次数为止。

3.2 竞争学习和侧抑制

上述前馈网络属于监督学习, 需要同时提供输入样本和相应的理想输出。引进竞争机制的前馈网络可以实现无监督学习, 完成聚类的任务。竞争学习网络的结构与二层前馈网络类似, 只是在输出层加上了侧抑制。侧抑制是将输出层各单元之间相互作用较大的负权值输入对方的输出, 这种互连构成正反馈, 类似于双稳态或多稳态触发器。

3.3 自组织特征映射

人脑是由大量的神经元组成的, 大脑中分布着大量的具有协同作用的神经元群体, 同时大脑网络又是一个复杂的反馈系统, 既包括局部反馈, 也包括整体反馈及化学交互作用, 聚类现象对于大脑的信息处理起着重要作用。自组织映射网络的学习算法也是一种竞争学习算法, 区别只是输出层具有几何分布, 由交互作用函数取代了简单的侧抑制, 因此其学习算法也是类似的。

4 BP网络模型的设计

尽管神经网络的研究与应用己经取得巨大的成功, 但是在网络的开发设计方面至今还没有一套完善的理论作为指导。应用中采用的主要设计方法是, 在充分了解待解决问题的基础上将经验与试探相结合, 通过多次改进性试验, 最终选出一个较好的设计方案。

4.1 信息容量与训练样本数

多层前馈网络的分类能力与网络信息容量相关, 如用网络的权值和阀值总数nw表征网络信息容量。研究表明, 训练样本数P与给定的训练误差 之间应满足以下匹配关系:p≈nw/ε。表明网络的信息容量与训练样本数之间存在着合理匹配关系。在解决实际问题时, 训练样本数常常难以满足以上要求。对于确定的样本数, 网络参数太少则不足以表达样本中蕴涵的全部规律, 而网络参数太多则由于样本信息少而得不到充分训练。因此, 当实际问题不能提供较多的训练样本时, 必须设法减少样本维数, 从而降低nw。

4.2 训练样本集的准备

数据准备包括原始数据的收集、数据分析、变量选择和数据预处理等诸多步骤。下面分几个方面研究。

(1) 输入输出量的选择。

一个待建模系统的输入——输出就是神经网络的输入输出变量。这些变量可能是事先确定的, 也可能不够明确, 需要进行一番筛选。一般来讲, 输出量代表系统要实现的功能目标, 其选择确定相对容易一些。输入量必须选择那些对输出影响大且能够检测或提取的变量, 此外还要求各输入变量之间互不相关或相关性很小, 这是输入量选择的两条基本原则。如果对某个变量是否适合作网络输入没有把握, 可分别训练含有和不含有该变量输入的两个网络, 对其效果进行对比。从输入、输出量的性质来看, 可分为两类:一类是数值变量, 一类是语言变量。数值变量的值是数值确定的连续量或离散量。

(2) 输入量的提取与表示。

很多情况下, 神经网络的输入量无法直接获得, 常常需要用信号处理与特征提取技术从原始数据中提取能反映其特征的若干特征参数作为网络的输入。提取方法与待解决的问题密切相关, 需要具体问题具体分析。

(3) 输出量的表示。

所谓输出量实际上是指为网络训练提供的期望输出。一个网络可以有多个输出变量, 其表示方法通常比输入量容易得多, 而且对网络的精度和训练时间影响也不大。①“n中取1”表示法。分类问题的输出变量多用语言变量类型, 如质量可分为优、良、中、差4个类别。“n中取1”是令输出向量的分t数等于类别数, 输入样本被判为哪一类, 对应的输出分量取1, 其余 (n-1) 个分量全取0。例如, 用可0001、0010、0100和1000分别表示优、良、中、差4个类别。这种方法的优点是比较直观, 当分类的类别数太多时经常采用。②“n-1”表示法。上述方法中没有用到编码全为0的情况, 如果用 (n-1) 个全为0的输出向量表示某个类别, 则可以节省一个输出节点。如上面提到的4个类别也可以用000、001、010和100表示。特别是当输出只有两种可能时, 只用一个二进制数便可以表达清楚。

(4) 数值表示法。

二值分类只适于表示两类对立的分类, 而对于有些渐进式的分类, 可以将语言值转化为二值之间的数值表示。例如, 质量的差与好可以用0和1表示, 而较差和较好这样的渐进类别可用0和1之间的数值表示, 如用0.25表示较差, 0.5表示中等, 0.75表示较好, 等等。

4.3 训练集的设计

(1) 训练样本数的确定。

一般来说, 训练样本数越多, 训练结果越能正确反映其内在规律, 样本的收集整理往往受到客观条件的限制。实践表明, 网络训练所需的样本数取决于输入——输出线性映射关系的复杂程度, 映射关系越复杂, 样本中含的噪声越大。为保证一定映射精度, 所需要的样本数就越多, 而且网络的规模也越大。

(2) 样本的选择与组织。

网络训练中提取的规律蕴涵在样本中, 因此样本一定要有代表性。样本的选择要注意样本类别的均衡, 尽量使每个类别的样本数量大体相等, 即使是同一类样本也要照顾样本的多样性与均匀性。按这种“平均主义”原则选择的样本能使网络在训练时见多识广, 而且可以避免网络对样本数量多的类别“印象深”, 面对出现次数少的类别“印象浅”。样本的组织要注意将不同类别的样本交叉输入, 或从训练集中随机选择输入样本。因为同类样本太集中会使网络训练时倾向于只建立与其匹配的映射关系, 当另一类样本集中输入时, 权值的调整又转向新的映射关系而将前面的训练结果否定。当各类样本轮流集中输入时, 网络的训练会出现振荡使训练时间延长。

4.4 初始权值的设计

有两种办法可以采用:一种办法是, 使初始权值足够小;另一种办法是, 使初始值为+1和一1的权值数相等。应用中对隐层权值可采用第一种办法, 而对输出层则采用第二种办法。

4.5 BP网络结构设计

网络的训练样本问题解决以后, 网络的输入层节点数和输出层节点数便巳确定。因此, BP多层前馈网络的结构设计主要是解决设几个隐层和每个隐层设几个隐节点的问题。

(1) 隐层数的设计。

理论分析证明, 具有单隐层的前馈网可以映射所有连续函数, 只有当学习不连续函数 (如锯齿波等) 时, 才需要两个隐层, 所以多层前馈网最多只需两个隐层。在设计BP网时, 一般先考虑设一个隐层。当一个隐层的隐节点数很多仍不能改善网络性能时, 才考虑再增加一个隐层。经验表明, 采用两个隐层时, 如在第一个隐层设置较多的隐节点而第二个隐层设置较少的隐节点, 则有利于改善多层前馈网的性能。

(2) 隐节点数的设计。

隐节点的作用是从样本中提取并存储其内在规律, 每个隐节点有若干个权值, 而每个权值都是增强网络映射能力的一个参数。设置多少个隐节点取决于训练样本数的多少、样本嗓声的大小以及样本中蕴涵规律的复杂程度。一般来说, 波动次数多、幅度变化大的复杂非线性函数要求网络具有较多的隐节点来增强其映射能力。实际应用中确定隐节点可参考以下经验公式:

以上各式中, m为隐层节点数, n为输入层节点数, l为输出节点数, a为1∶10之间的常数。

4.6 网络训练与测试

网络设计完成后, 要应用设计值进行训练。训练时对所有样本正向运行一轮并反向修改权值一次称为一次训练。在训练过程中要反复使用样本集数据, 但每一轮最好不要按固定的顺序取数据。通常训练一个网络需要成千上万次训练。

5 结束语

其余几种常用于模式识别的神经网络模型的设计, 整体步骤与BP网络模型的设计基本相似, 很多地方可以借鉴。只是在具体参数的设置上要根据具体模型的要求具体考虑。

参考文献

[1]徐丽.神经网络控制[M].北京:电子工业出版社, 2003.

[2]高隽.人工神经网络原理及仿真实例[M].北京:机械工业出版社, 2005.

神经网络 篇9

1 计算机网络在实际中的应用

计算机网络又被称为通信网络, 计算机网络是一个多元化网络, 整合将有效的资源, 通过这样的方式实现资源共享的目的。计算机网络在我国的应用已经渗透到各个领域中, 通过网络的互联形式得以实现, 计算机网络更是在社会发展中占据重要地位。随着社会的不断发展, 计算机网络在应用的过程中也会出现很多问题, 这些问题的存在会对网络使用造成一定影响。另外, 在计算机网络安全系统上更是存在较为严重的问题, 由于计算机网络的安全性较低, 很容易被入侵, 造成大量的信息透漏。并且系统被破坏, 给使用单位造成重大的损失, 严重影响网络的正常运行。随着计算机的普及, 网络也在随之不断更新, 由原有的2G、3G网络变成现在的4G网络, 速度上明显要比以前快很多。网络的传输也是变成以万M单位来计算, 计算机网络的传输速率提升的情况下, 产生故障时, 维修是一项艰巨的任务。计算机网络安全上, 由于网络中有大量的信息资源或者单位的重要信息, 从网络安全的角度要对网络实施较强防护, 在实际应用过程中, 网络的安全问题主要针对网络入侵, 通过对网络进行加密设置的方式, 将网络的开放性是针对单位或者一个小组等, 这样使网络在使用上不会影响其他人使用, 并保障网络中所涉及的重要信息。

2 神经网络在网络中的故障及措施

“神经网络”这个词实际来自于生物学中的脑神经元学说, 而通常所说的神经网络是指“人工神经网络 (Artificial Neural Networks, ANN) ”, 是一种模仿动物神经网络行为特征, 进行分布式并行信息处理算法的数学模型。这种网络依靠系统的复杂程度, 通过调整内部大量节点之间相互连接的关系, 从而达到处理信息的目的。神经网络具有自学习和自适应的能力, 可以通过预先提供的一批相互对应的输入、输出数据, 分析掌握两者之间潜在的规律, 最终根据这些规律, 用新的输入数据来推算输出结果, 这种学习分析的过程被称为“训练”。神经网络作为网络中预算能力最快捷的一种方式, 在实际技术应用上更是突出了神经网络的用途。但是, 在实际应用中, 由于神经网络技术的不完善对整个网络造成了严重的影响。神经网络技术在实际应用中没有环境的因素, 网络会随着环境的变化而产生影响。但是, 神经网络技术没有将这一项重要因素考虑在实际应用中, 对以后的维修工作带来很大影响。

对于神经网络中所出现的故障过程中, 将这些故障合理有效的解决, 并且做好记录, 将技术输入到计算机网络中, 为下次再出现这样的问题做准备, 并提出良好的解决方案。神经网络在实际网络应用中占据了很大一部分, 它能先行判断网络中所出现的故障, 在检修所出现的故障, 既节省了很多时间, 也节约了成本。神经网络在诊断故障时, 首先要将所有的故障记录在计算机网络中, 使神经网络对故障有一些初步认识, 在遇到故障时, 根据故障的特征进行选取并做预处理, 在进行神经网络的诊断, 记录诊断结果。根据当前诊断输入诊断系统, 诊断的过程即为利用神经网络进行前向计算的过程。在学习和诊断之前, 通常需要对诊断的原始数据和训练样本数据进行适当处理, 包括预处理和特征选取、提取等, 目的是为诊断网络提供合适的诊断输入和训练样本。

3 计算机网络故障

计算网络故障是整个网络中影响最为严重的问题, 因计算机网络故障是一种不定时地点变化特别大一项任务, 对故障的维修造成严重影响。计算机网络的主要故障为以下几方面:网络设备损坏、网络传输、网络结构等。网络设备是最为常见的故障, 因设备老化或者电路原因造成的损坏, 给网络造成故障;计算机网络中网络传输和网络结构对网络造成直接影响;网络传输失真问题;网络结构划分问题, 这些都是网络故障中最为常见的问题。

计算机网络故障的解决方法, 首先要对网络故障进行分析, 通过对网络故障进行分类, 有效解决故障。对于网络设备故障问题, 要定期检查及维护设备。网络设备要实现集成, 一个设备能够解决多种问题, 使维修工作更加简便。网络传输的失真问题, 要根据网络的传输介质进行预算, 所有的传输都会有失真现象出现, 要选择适当的传输介质尽量减小失真问题。网络结构的划分要根据实际情况, 将整个区域控制在网络覆盖的范围内, 实现网络传输, 主要方式以蜂窝形式为主的结构划分。

4 结语

神经网络和计算机网络中所产生的故障在诊断措施中出现相互扶持的现象, 使神经网络依附在计算网络中, 成为不可分割的一部分。要合理有效地解决计算机网络故障, 并将问题记录在神经网络中, 对以后的故障起到一个良好的参考作用。

参考文献

[1]冯金刚, 潘成胜, 李航.基于神经网络的远程网络故障诊断系统[J].沈阳工业学院学报, 2002, 11 (4) .

[2]戚勇, 李千目, 刘凤玉.基于BP神经网络的网络故障诊断[J].微电子学与计算机, 2004, 21 (10) .

[3]周志华, 陈兆乾.利用遗传算法改善前馈神经网络容错性[J].计算机研究与发展, 2001, 38 (9) .

[4]杨博, 王亚东.基于Agent和数据切片的分布式神经网络协同学习研究[J].计算机研究与发展, 2006, 43 (12) .

[5]李玲玲, 刘希玉.基于粒子群优化算法的并行学习神经网络集成构造方法[J].山东科学, 2007, 20 (4) .

BP神经网络的研究及应用 篇10

关键词:BP神经网络 MATLAB仿真

中图分类号:TP39文献标识码:A 文章编号:1007-3973(2010)06-061-02

1 BP神经网络概述

BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP一般为多层神经网络,其模型拓扑结构一般包括输入层(input)、隐层(hide layer)和输出层(output layer)。如图1所示:

2BP网络的学习算法

(1)最速下降BP算法(steepest descent backpropagation,SDBP)

如图2所示的BP神经网络,设k为迭代次数,则每一次权值和阈值的修正案下式进行:

式中:w(t)为第k次迭代各层之间的连接权向量或阈值向量。x(k)= 为第k次迭代的神经网络输出误差对个权值或阈值的梯度向量。负号代表梯度的反方向,即梯度的最速下降方向。 为学习速率,在训练时事一常数。在MATLAB神经网络工具箱中,其默认值为0.01,可以通过改变训练参数进行设置。为第k次迭代的网络输出的总误差性能函数,在MATLAB神经网络工具箱中,BP网络误差性能函数的默认值为均误差MSE(mean square error):

根据(2.2)式,可以求出第k次迭代的总误差曲面的梯度x(k)= ,分别代入式(2.1)中,就可以逐次修正其权值和阈值,并使总的误差向减小的方向变化,最终求出所要求的误差性能。

(2)冲量BP算法(momentum backpropagation,MOBP)

因为反向传播算法的应用广泛,所以已经开发出了很多反向传播算法的变体。其中最常见得事在梯度下降算法的基础上修改公式(2.1)的权值更新法则,即引入冲量因子,并且0≤<1的常数。更新后的公式为:

标准BP算法实质上是一种简单的最速下降静态寻优方法,在修正W(K)时,只按照第K步的负梯度方向进行修正,而没有考虑到以前积累的经验,即以前时刻的梯度方向,从而常常使学习过程发生振荡,收敛缓慢。动量法权值调整算法的具体做法是:将上一次权值调整量的一部分迭加到按本次误差计算所得的权值调整量上,作为本次的实际权值调整量,即公式(2.3)所示:是冲量系数,通常0≤<1; 为学习率,范围在0.001~1之间。这种方法所加的冲量因子实际上相当于阻尼项,它减小了学习过程中的振荡趋势,来改善收敛性。冲量法降低了网络对误差曲面局部细节的敏感性,有效的抑制了网络陷入局部极小值。

(3)学习率可变的BP算法(variable learnling rate backpropagation,VLBP)

标准BP算法收敛速度缓慢的一个重要原因是学习率选择不当,学习率选得太小,收敛慢;反之,则有可能修正的过头,导致振荡甚至发散。因此可以采用图3所示的自适应方法调整学习率。

自适应调整学习率的梯度下降算法,在训练的过程中,力求使算法稳定,而同时又使学习的不长尽量地大,学习率则是根据局部误差曲面作出相应的调整。学习率则是通过乘上一个相应的增量因子来调整学习率的大小。即公式(2.5)所示:

其中:为使步长增加的增量因子,为使步长减小的增量因子; 为学习率。

3 建立BP神经网络预测模型

BP预测模型的设计主要有输入层、隐含层、输出层及各层的个数和层与层之间的传输函数。

(1)网络层数

BP有一个输入层和一个输出层,但可以包含多个隐含层。但理论的上已证明,在不限制隐含层节点的情况下,只有一个隐含层的BP就可以实现任意非线性映射。

(2)输入层和输出层的节点数

输入层是BP的第一层,它的节点数由输入的信号的维数决定,这里输入层的个数为3;输出层的节点数取决于BP的具体应用有关,这里输出节点为1。

(3)隐含层的节点数

隐含层节点数的选择往往是根据前人设计所得的经验和自己的进行的实验来确定的。根据前人经验,可以参考以下公式设计:

其中:n为隐含层节点数;m为输入节点数;t为输出节点数;a为1~10之间的常数。根据本文要预测的数据及输入和输出节点的个数,则取隐含层个数为10。

(4)传输函数

BP神经网络中的传输函数通常采用S(sigmoid)型函数:

如果BP神经网络的最后一层是Sigmoid函数,那么整个网络的输出就会限制在0~1之间的连续;而如果选的是Pureline函数,那么整个网络输出可以取任意值。因此函数选取分别为sigmoid和pureline函数。

4 BP神经网络预测的MATLAB仿真实验

(1)样本数据的预处理

本文的样本数据来源于中国历年国内生产总值统计表,为了让样本数据在同一数量级上,首先对BP输入和输出数据进行预处理:将原样本数据乘上,同时将样本数据分为训练样本集和测试样本集,1991~1999年我国的三大产业的各总值的处理结果作为训练样本集,即1991~1998年训练样本作为训练输入;1999年训练样本数据作为输出训练输出;1992~2000年我国的三大产业的各总值的处理结果作为测试样本集,即1992~1999年的测试样本作为测试输入,2000年测试样本数据作为测试输出。

(2)确定传输函数

根据本文的数据,如第3节所述,本文选取S函数(tansig)和线性函数(purelin)。

(3)设定BP的最大学习迭代次数为5000次。

(4)设定BP的学习精度为0.001;BP的学习率为0.1。

(5)创建BP结构如图4所示;训练BP的结果图5所示:

正如图5所示的数据与本文所示设计的网络模型相符,且如图5所示当BP神经网络学习迭代到99次时,就打到了学习精度0.000997788,其学习速度比较快。

(6)测试BP神经网络

通过MATLAB对测试样本数据进行仿真,与实际的2000年我国三大产业的各生产总值比较(见表1),说明BP神经网络预测模型是可行的。、

5总结

总之,在人工神经网络的实际应用中,BP神经网络广泛应用于函数逼近、模式识别/分类、数据压缩等。通过本文可以体现出MATLAB语言在编程的高效、简洁和灵活。虽然BP在预测方面有很多的优点,但其还有一定的局限性,还需要进一步的改进。

参考文献:

[1]周开利,康耀红.神经网络模型及其MATLAB仿真程序设计[M].北京:清华大学出版社,2005.7.

[2]张德丰等.MATLAB神经网络应用设计[M].北京:机械工业出版社,2009.1.

[3][美]米歇尔(Mitchell,T.M.)著;曾华军等译[M].北京:机械工业出版社,2003.1.

[4]岂兴明等编著.MATLAB7.0程序设计快速入门[M].北京:人民邮电出版社,2009.7.

神经网络 篇11

传统的入侵检测技术存在着统计模型难以建立、有较高的误报率和漏报率等诸多问题,制约了入侵检测技术的应用。神经网络其内在的对不确定性的学习与适应能力,恰好能满足入侵检测分类识别的需求。另外神经网络的非线性映射能力也保证了其成功实现各种简单或复杂的分类,它将信息分布式存储于连接权系数中,使网络具有更高的容错性和鲁棒性。本文介绍了一个基于BP神经网络的网络入侵检测模型的设计和实现。

1 系统结构模型

引入神经网络的网络入侵检测系统模型如图1所示。

模型的工作原理如下:首先,将训练数据输入系统,预处理模块把接收到的数据转化为神经网络能够识别的格式(包含期望输出)后,送入神经网络分析模块中,用于对神经网络的训练,同时把训练数据加入到规则库中。训练成功后,该系统模型就可以对新的样本进行检测了。

进行入侵检测时,数据采集模块捕获所有流经系统监测网段的网络数据,经过预处理模块转换为神经网络可以处理的数据,送入神经网络分析模块检测。如果神经网络经过分析处理以后,认为是攻击行为则发出警告通知网络管理人员。网络管理员需要经常维护规则库,发现新的安全漏洞及时补充,以备神经网络分析模块的再学习。

各模块说明如下:

1)数据采集模块

它负责抓取网络中的数据包,并做初步的过滤工作。对IP包进行格式检查,若有分片则进行重组。然后判断它是IP包、UDP包或是ICMP包事件,将符合要求的信息送入数据预处理模块。

2)数据预处理模块

它将数据采集模块送来的数据转换成神经网络能够识别的数据,送往神经网络分析模块进行学习或判定。训练过程,将加上期望输出值的数据转换格式送往神经网络。检测阶段将不确定行为转换格式后送往神经网络。

3)神经网络分析模块

接收由预处理模块导入的数据,训练网络或检测入侵行为。训练阶段样本送入神经网络,根据算法计算每一层的正向输出,再计算输出结果和期望输出的误差,用它来调整输出各层的权值及偏置值。这样不断的调整其学习过程,直到神经网络能够较准确的识别出入侵行为为止。检测阶段把确定的入侵行为发送给报警模块。

4)报警模块

把确定的入侵行为和报警信息通知管理员或采取相应的措施,切断连接或追踪攻击。

5)规则库

存放网络运算的中间结果和入侵行为特征向量,由网络管理员维护。当神经网络发现新型入侵,管理员可以提取其入侵行为特征加入规则库,以备神经网络的学习。

2 系统原型主要模块的实现

整个系统原型运行在RedHat Linux9.0平台,用C语言开发。设计的总体思路是用尽可能充分准确的网络入侵行为来对神经网络训练,从而使其建立起成熟的攻击行为的识别模型,一旦有网络入侵,神经网络就有能力把它识别出来。另外,由于神经网络具有的自适应和联想能力,通过对恶意网络行为和正常网络行为的分析和学习,神经网络将有能力将它们区分,从而具备对未知网络入侵行为进行识别的能力。

2.1 数据采集模块

网络数据的获取是进行入侵检测的基础,它的准确性、可靠性和效率直接影响到整个系统的性能。目前,局域网普遍采用的是基于广播机制的IEEE802.3协议,即以太网协议。该协议保证传输的数据包能被同一冲突域内的所有主机接受。利用这一特性,当网卡的工作模式设为混杂模式(Promiscuous Mode)时,该网卡就可以接受到本网络段内的所有数据包,将入侵检测主机的网卡设置成该模式就可以实现获取本网络段的所有数据包。

获取网络数据包有很多方法,比较流行的数据采集方式是libpcap和tcpdump,它们具有强大而高效的截获数据包的能力,有多种参数可以选择,通过参数的组合可灵活的获取所需要的数据包属性。在我们的系统中就采用该方式。

数据采集模块使用libpcap/tcpdump。Libpcap是从Unix和Linux内核捕获数据包的必备工具,通过pf_packet模块直接访问数据链路层,从而为应用层程序提供底层数据包,给上层提供统一的API函数接口,同时,也为底层网络监控提供了一个可移植树的框架。它可用于网络统计收集、安全监控和网络调试等应用,在我们这里作为基本的数据接受机制。Libpcap软件包可从网上下载,解压缩后执行配置脚本,创建适合自己系统环境的Makefile,再用make命令创建libpcap库。Libpcap安装完毕后生成一个libpcap库、三个include文件和一个man页面。

Tcpdump是Unix上最著名的嗅探器,实现基于libpacp接口,通过应用布尔表达式打印数据包首部,具体执行过滤转换、包获取和包显示等功能。我们这里用它对数据包进行筛选和分类,得到所需要的包头信息,并保存起来。

2.2 特征值选择和提取

要建立一个完整的神经网络入侵监测系统,数据采集、特征值的选择和提取、数据预处理是整个系统的基础。由于网络数据量庞大,检测系统要有高的监测率、低的误报率和好的实时性,就得要求从网络数据报文中提取出的对入侵行为描述的特征值应该尽可能的完备、准确和简洁。

TCP/IP协议组是目前使用最广泛的网络互联协议,也正是它在设计之初所存在的漏洞,导致了今天愈演愈烈的网络安全问题。我们所要检测是网络数据,实际上就是基于TCP/IP协议组的网络数据报文。由美国麻省理工学院林肯实验室主持的DARPA(美国国防部高级计划署)的1998年入侵监测评估数据中含有38种攻击。7个星期训练数据包含5百万个连接数据,2个星期的测试数据包含了2百万个连接数据。Wenke Lee从DARP1998数据中抽象出有利于进行判断和比较的特征集--KDDCUP’99[1]。该数据集中含有41维特征,分为基本特征、内容特征、两秒钟内的流量特征和主机流量特征。下面给出两条训练样本数据:

训练数据中包含有24种攻击,测试数据中增加了14种新的攻击。这些攻击分为四类:拒绝服务攻击(DOS)、远程计算机的非授权访问(R2L)、非授权访问本地根特权(U2R)、数据/资源窃取(Probing)。其中大部分是拒绝攻击。

有研究表明,神经网络进行入侵检测,使用基本的TCP特征就可以达到良好的性能[2]。另外过多的特征值势必增加系统的格外开销。我们这里就只选用基本的TCP特征作为检测特征值。共有9个,它们是:

Duration:连接持续时间,单位为秒。

Protocol_type:使用的协议类型,TCP、ICMP、UDP。

Service:目的端的服务类型,如http、ftp、telnet等。

Flag:连接终止状态。

Src_bytes:源端发送到目的端的数据比特数。

Dst_bytes:目的端发送到源端的数据比特数。

Land:源端地址和目的方地址是否一样。

Wrong_fragment:错误分片个数。

Urgent:紧急数据包个数。

将这些特征值进行组合,就可以用向量的形式来实现对网络数据包以及典型入侵行为的描述。

2.3 预处理模块

预处理模块的作用就是将需要检测的记录转换成神经网络能够识别的数值,这里分两种情况:

1)训练阶段:将接收的训练样本不仅转化为神经网络可识别的格式,还要加入期望输出。

2)检测阶段:检测记录只转换,不需要加入期望值。

首先从训练数据集中抽取所需要的9个TCP特征,组成特征向量,并为每个特征产生一个特征值序列。然后数值化非数值特征:协议类型以IP协议中的类型进行编码,TCP=6、ICMP=1、UDP=17;服务类型按其常用的端口号编码,ftp=21、telnet=23等。连接终止状态flag的11种状态也相应地用数值编码。

为了提高训练的成功率和训练速度,需要对训练样本做归一化处理[3]。处理过程为:把将要输入的样本看成一个矩阵,每一行对应一个特征向量,列对应构成向量特征集的各个元素,统计特征向量矩阵各列的最大直和最小值,最后按照下面的公式[4]得出最终的训练数据。

式中,M(i,j)为输入特征值向量矩阵元素,i、j分别表示矩阵的行、列号,MMax(j)和MMin(j)分别表示输入特征值向量矩阵第j列的最大值和最小值,X(i,j)表示归一化处理后的特征值向量矩阵元素。

2.4 神经网络分析模块

本系统原型的分析模块采用神经网络中使用最为广泛的BP(Back-Propagation)网络。神经网络分析模块是整个系统的核心,实现过程中需要考虑以下几方面问题:

1)神经网络层数和传递函数的确定

具有一个隐层的BP网络足以完成任意n维到m维的映射[5]。增加隐层,虽然可以进一步降低误差,提高精度,但同时也使得网络复杂化,网络权值训练时间急剧增加。建立神经网络模型应优先考虑单隐层,若进行认真调整后仍无法满足要求时再考虑增加隐层。

对数-S形函数是最常见的传递函数,可以将输入值映射到一个较小的0和1这样的区间内,方便神经网络的处理。另外该函数是一个连续可微的函数,可以很好地反应输入、输出之间的非线性映射关系。

综上所述,在系统实现中采用各节点是对数-S形函数的单隐层神经网络结构。

2)输入、输出层神经元个数的确定

网络输入层的神经元节点数就是系统输入的特征值向量的维度。因特征值向量是9维的,所以网络输入层设计为9个神经元。

网络输出层神经元节点的个数根据所要得到的结果确定。入侵检测的结果有两种状态:正常或攻击,所以只需一个节点就可以表示,即神经网络输出层设计为1个节点。

期望值输出,人为设定或已事先测定,代表特定的含义。这里设定1表示攻击,0表示正常。实际输出是网络的计算输出值,不可能是绝对的1或0,一般是0-1之间的数。越接近1(或与1之差满足一定的要求)就认为是攻击,越接近0(或与0之差满足一定的误差要求)就认为正常。

3)隐含层神经元个数的确定

隐含层神经元个数的确定是一个比较复杂的过程,缺少相应的理论支撑。其数目与具体问题的要求以及输入、输出层神经元节点的数目都有直接联系。在训练样本数一定的情况下,隐含层神经元数目太少时,网络难以训练出好的结果,容错性也不好;但隐含层神经元数目过多时,会使得学习的时间增长。甚至会出现过度适合[6],影响网络的推广。因此存在一个最佳的隐含层神经元数。目前还没有一个良好的解析式来表示,实际操作中是通过实验的方法来确定隐含层神经元数目的。先设置较少的隐含层神经元,输入样本训练,难以得到好的效果则增加隐含层神经元数,直到得到满意的效果为止。

4)初始权值的选取

由于系统是非线性的,初始权值对于学习是否达到局部最小、是否能够收敛以及训练时间的长短关系很大。取值过大会使得权值的调节过程极其缓慢,甚至停顿。也不能取0,以避免误差曲面上可能的鞍点。通常的做法是选择一些小的随机数作为网络的初始权值。在实现的过程中,初始化权值是通过随机的方法将各层神经单元的权值和偏置值设置为-0.5~+0.5之间的小随机数。

在训练阶段,分析器输入样本,设置网络运行所需的参数,如各层的神经元数目、学习速率等,训练结束后把所得的各参数输出为文本文件。检测时先从训练后的输出文件中读入网络运行的参数值初始化分析器,然后进行检测。

3 训练实验

实验数据采用KDDCUP'99评估数据集,因为它的数量大,攻击类型典型且全面。共选用2570条记录,其中1325条用于训练,正常的连接631条,入侵连接694条;1245条用于测试,523条正常连接,722条入侵连接。

设定误差精度0.001,初始学习速率0.1,限定循环次数1500次。神经网络输入层神经元节点数为9,输出层1个神经元。经过反复调试训练,最终含有17个隐含层的神经网络得到较好的效果。测试最低误报率和漏报率为:7.3233%和11.3469%。

4 结束语

该网络入侵检测原型的检测效果还是能够让人接受的,说明神经网络应用于入侵检测是网络安全的重要研究方向。前向神经网络应用于入侵检测,有些地方还有待基础理论的突破,如在确定隐层神经元个数方面,在实际的应用中就缺少有效的方法。随着样本量的增加,隐层神经元个数难以确定。将神经网络和其它的检测方法相结合也许不失为一个提高检测正确率的有效方法。

参考文献

[1]URL:http://kdd.ics.uci.edu/databases/kddcup99/.

[2]H.G.Kayacik.SOM Results on KDD99DATASET.Dalhousie University,Faculty of Computer Science,2002,9:114-121.

[3]丛爽.面向MATLAB工具箱的神经网络理论与应用[M].中国科学技术大学出版社,1998.8.

[4]胡铁松.神经网络预测与优化[M].大连海书大学出版,1997.7.

[5]王景新,戴葵,宋辉,等.基于神经网络的入侵检测系统[M].计算机工程与科学,1007-130X(2003)06-0028-04.

上一篇:数据解密下一篇:农产品物流配送中心