神经网络综述
20 世纪40 年代,随着神经解剖学、神经生理学以及神经元的电生理过程等的研究取得突破性进展,人们对人脑的结构、组成及最基本工作单元有了越来越充分的认识,在此基本认识的基础上,综合数学、物理学以及信息处理等学科的方法对人脑神经网络进行抽象,并建立简化的模型,称为人工神经网络ANN(Artificial Neural Network) 。也简称为神经网络(NNs)或称作连接模型(Connection Model).
神经网络(NNs)是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。按美国神经网络学家Hecht Nielsen 的观点,神经网络的定义是:“神经网络是由多个非常简单的处理单元彼此按某种方式相互连接而形成的计算机系统,该系统靠其状态对外部输入信息的动态响应来处理信息的”. 综合神经网络的来源、特点和各种解释,它可简单地表述为:人工神经网络是一种旨在模仿人脑结构及其功能的信息处理系统[1] .
图1-神经网络结构图
作为一门活跃的边缘性交叉学科,神经网络的研究与应用正成为人工智能、认识科学、神经生理学、非线性动力学等相关专业的热点. 近十几年来,针对神经网络的学术研究非常活跃,且提出上百种的神经网络模型,涉及模式识别、联想记忆、信号处理、自动控制、组合优化、故障诊断及计算机视觉等众多方面,取得了引人注目的进展.
2.概述
神经元网络是机器学习学科中的一个重要部分,用来classification或者regression。思维学普遍认为,人类大脑的思维分为抽象(逻辑)思维、形象(直观)思维和灵感(顿悟)思维三种基本方式。
逻辑性的思维是指根据逻辑规则进行推理的过程;它先将信息化成概念,并用符号表示,然后,根据符号运算按串行模式进行逻辑推理;这一过程可以写成串行的指令,让计算机执行。然而,直观性的思维是将分布式存储的信息综合起来,结果是忽然间产生想法或解决问题的办法。这种思维方式的根本之点在于以下两点:1.信息是通过神经元上的兴奋模式分布存储在网络上;2.信息处理是通过神经元之间同时相互作用的动态过程来完成的。
人工神经网络就是模拟人思维的第二种方式。这是一个非线性动力学系统,其特 {MOD}在于信息的分布式存储和并行协同处理。虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。
3.神经网络的基本特征
1.大规模并行处理
人脑神经网络(生物神经网络系统)中的神经元之间传递信息(神经脉冲) 以毫秒计, 比电子计算机(约1 0 一3 秒) 慢得多.但人能在不到一秒的时间内对外界事物作出判断和决策, 即“百步程序” 决策, 这是传统计算机绝对做不到的.这表明人脑的“ 计算” 必定是建立在大规模并行处理基础上的.而且这不是简单的“ 以空间复杂性代替时间复杂性” , 而是基于不同的“计算” 原理. 图2 是一个关于英文字母识别的浅显例子.逐点扫描或逐字识别都难以很快得出正确结论, 但结合英文知识背景的整体识别, 则马上就能作出正确判断.视觉在人们获取知识中的重要作用, “登高远望” 、“高瞻远瞩” 在人们对复杂场景作出正确判断和决策时的作用,都与此有关.用逐点扫描、“盲人摸象” 的方法虽也能获取信息, 但事倍功半, 甚至无法对全局作出正确判断作简单搜索和计算, 人脑远不如电脑, 但人善于在复杂环境中作出判断则正与此有关.因此, 不能将神经网络的大规模并行处理与当前计算机界的多处理器并行机等同起来.前者强调对决策有关的因素应同时处理;后者则强调相互独立的量可同时计算:当然,单纯的并行网络不能很好体现因果关系和信息的相互影响, 功能必然过于简单.好的网络应是大规模并行处理与串行处理的有机结合(如演化式网络等)。
2. 容错性与壮实性
人脑具有很强的容错性和联想功能, 善于概括、类比、推广.如能很快辨认出多年未见、面貌大变的老友, 能根据不完整的照片作出辨认, 善于将不同知识领域结合起来应用, 等等.人脑的壮实性则表现在: 每日有大量神经元(神经细胞)正常死亡, 但并不影响功能, 大脑局部损伤会引起某些功能逐渐衰退, 但不是突然丧失等.这与电脑完全不同.对于后者, 不同数据和知识在储存时互不相关(局域式储存) ,仅当通过人编的程序才能互相沟通, 这种沟通亦不能超越程序编写者的预想, 元件的局部损伤、程序中的微小错误都可引起严重的后果,即表现出极大的脆弱性.人脑与电脑这一巨大差别的根本原因在于它们对信息的储存和加工方式不同. 大脑信息的储存, 本质上不是局域式的, 而是分布式的: 每一信息记录在许多连接键(突触)上, 这些连接键又同时记录许多不同的信息. 可以以普通照片与全息照片的差别为例说明之.前者是局域式储存, 照片任何部位的缺损是无法复原的; 后者属分布式储存, 缺损的全息底片仍可呈现完整图像, 只是变得模糊些即逐渐衰退而已.在人脑的神经网络中,信息储存区与操作区合而为一, 不同信息间的沟通是自然的.当然, 分布式储存的信息之间的干扰也较大, 因此, 同样硬件条件下的储存容量, 分布式储存远低于局域式储存.这可能是一种必要的代价.
3. 自适应性或自组织性
大脑功能受先天因素制约, 但后天因素如经历、学习等也起着重要作用.这表明大脑具有很强的可学习性、自适应性或自组织性.如盲人的听觉与触觉特别灵敏多聋哑人对手势、唇语十分敏感, 正常人的先天条件相仿, 但经历不同会导致在知识专长上的千差万别, 等等.人类很多智能活动并不是按逻辑推理方式进行的, 而是由训练而“ 习惯成自然” 的.如人学习自行车并非按力学原理推断每步的动作; 小孩能识别亲人但很难说出“特征是什么” 来; 快速
摄影表明, 熟练打字员手部位置和姿势是根据一串(而不是一个! )字符合理地动作, 这显然不是逻辑推理的结果.所有这些, 要编成程序是十分困难的.人的许多能力, 是通过实例,反复训练而得到的.这是传统方法与神经网络的又一重大差别: 前者强调程序编写, 系统功能取决于编写者的知识与能力, 后者强调系统的自适应或学习, 同一网络, 因学习方式及内容不同, 可具有不同的功能. 只有能学习的系统,才有可能发展知识, 超过设计者原有的知识水平.学习的方式有很多, 大致可分为“有导师学习” 与“无导师学习”两类.前者属死记式学习,
后者只规定学习的方式, 学习的具体内容随系统所处环境而异.寻找快速而有效的学习方法
乃是网络研究的重大课题之一。
3.BP神经网络简介及不足
在人工神经网络发展历史中,很长一段时间里没有找到隐层的连接权值调整问题的有效算法。直到误差反向传播算法(BP算法)的提出,成功地解决了求解非线性连续函数的多层前馈神经网络权重调整问题。
BP (Back Propagation)神经网络,即误差反传误差反向传播算法的学习过程,由信息的正向传播和误差的反向传播两个过程组成。输入层各神经元负责接收来自外界的输入信息,并传递给中间层各神经元;中间层是内部信息处理层,负责信息变换,根据信息变化能力的需求,中间层可以设计为单隐层或者多隐层结构;最后一个隐层传递到输出层各神经元的信息,经进一步处理后,完成一次学习的正向传播处理过程,由输出层向外界输出信息处理结果。当实际输出与期望输出不符时,进入误差的反向传播阶段。误差通过输出层,按误差梯度下降的方式修正各层权值,向隐层、输入层逐层反传。周而复始的信息正向传播和误差反向传播过程,是各层权值不断调整的过程,也是神经网络学习训练的过程,此过程一直进行到网络输出的误差减少到可以接受的程度,或者预先设定的学习次数为止。
BP神经网络模型BP网络模型包括其输入输出模型、作用函数模型、误差计算模型和自学习模型。
(1)节点输出模型
隐节点输出模型:Oj=f(∑Wij×Xi-qj) (1)
输出节点输出模型:Yk=f(∑Tjk×Oj-qk) (2)
f-非线形作用函数;q -神经单元阈值。
图1 典型BP网络结构模型
(2)作用函数模型
作用函数是反映下层输入对上层节点刺激脉冲强度的函数又称刺激函数,一般取为(0,1)内连续取值Sigmoid函数: f(x)=1/(1+e) (3)
(3)误差计算模型
误差计算模型是反映神经网络期望输出与计算输出之间误差大小的函数:
Ep=1/2×∑(tpi-Opi) (4)
tpi- i节点的期望输出值;Opi-i节点计算输出值。
(4)自学习模型
神经网络的学习过程,即连接下层节点和上层节点之间的权重拒阵Wij的设定和误差修正过程。BP网络有师学习方式-需要设定期望值和无师学习方式-只需输入模式之分。自学习模型为
△Wij(n+1)= h ×Фi×Oj+a×△Wij(n) (5)
h -学习因子;Фi-输出节点i的计算误差;Oj-输出节点j的计算输出;a-动量因子。
神经网络可以用作分类、聚类、预测等。神经网络需要有一定量的历史数据,通过历史数据的训练,网络可以学习到数据中隐含的知识。在你的问题中,首先要找到某些问题的一些特征,以及对应的评价数据,用这些数据来训练神经网络。
虽然BP网络得到了广泛的应用,但自身也存在一些缺陷和不足,主要包括以下几个方面的问题。
首先,由于学习速率是固定的,因此网络的收敛速度慢,需要较长的训练时间。对于一些复杂问题,BP算法需要的训练时间可能非常长,这主要是由于学习速率太小造成的,可采用变化的学习速率或自适应的学习速率加以改进。
其次,BP算法可以使权值收敛到某个值,但并不保证其为误差平面的全局最小值,这是因为采用梯度下降法可能产生一个局部最小值。对于这个问题,可以采用附加动量法来解决。
再次,网络隐含层的层数和单元数的选择尚无理论上的指导,一般是根据经验或者通过反复实验确定。因此,网络往往存在很大的冗余性,在一定程度上也增加了网络学习的负担。
最后,网络的学习和记忆具有不稳定性。也就是说,如果增加了学习样本,训练好的网络就需要从头开始训练,对于以前的权值和阈值是没有记忆的。
3.研究方向
神经网络的研究可以分为理论研究和应用研究两大方面。
理论研究可分为以下两类:
1、利用神经生理与认知科学研究人类思维以及智能机理。
2、利用神经基础理论的研究成果,用数理方法探索功能更加完善、性能更加优越的神经网络模型,深入研究网络算法和性能,如:稳定性、收敛性、容错性、鲁棒性等;开发新的网络数理理论,如:神经网络动力学、非线性神经场等。
应用研究可分为以下两类:
1、神经网络的软件模拟和硬件实现的研究。
2、神经网络在各个领域中应用的研究。这些领域主要包括:
模式识别、信号处理、知识工程、专家系统、优化组合、机器人控制等。随着神经网络理论本身以及相关理论、相关技术的不断发展,神经网络的应用定将更加深入。
4. 人工神经网络国内外研究状况
随着人工神经网络20 世纪80 年代在世界范围内的复苏,国内也逐步掀起了研究热潮. 1989 年10 月和11 月分别在北京和广州召开了神经网络及其应用讨论会和第一届全国信号处理—神经网络学术会议;1990 年2 月由国内八个学会(中国电子学会、人工智能学会、自动化学会、通信学会、物理学会、生物物理学会和心理学会) 联合在北京召开“中国神经网络首届学术会议”. 这次大会以“八学会联盟,探智能奥秘”为主题,收到了300 多篇学术论文,开创了中国人工神经网络及神经计算机方面科学研究的新纪元. 经过十几年的发展,中国学术界和工程界在人工神经网络的理论研究和应用方面取得了丰硕成果,学术论文、应用成果和研究人员逐年增加.在国际上,1987 年,在美国加洲召开了第一届国际神经网络学会. 此后每年召开两次国际联合神经网络大会( IJCNN) . 不久,该学会创办了刊物Journal Neu2ral Networks ,另有十几种国际著名的神经网络学术刊物相继问世. 至此,神经网络理论研究在国际学术领域获得了其应有的地位.