科学

人工神经网络

一种运算模型

中文名:人工神经网络 外文名:artificial neural network 所属学科: 别 名:ANN 应用学科:人工智能 适用领域:模式分类
人工神经网络介绍
人工神经网络(Artificial Neural Network,即ANN ),是20世纪80 年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象, 建立某种简单模型,按不同的连接方式组成不同的网络。在工程与学术界也常直接简称为神经网络或类神经网络。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。最近十多年来,人工神经网络的研究工作不断深入,已经取得了很大的进展,其在模式识别、智能机器人、自动控制、预测估计、生物、医学、经济等领域已成功地解决了许多现代计算机难以解决的实际问题,表现出了良好的智能特性。

基本特征

神经元

a1~an为输入向量的各个分量

w1~wn为神经元各个突触的权值

b为偏置

f为传递函数,通常为非线性函数。以下默认为hardlim()

t为神经元输出

数学表示 t=f(WA'+b)

W为权向量

A为输入向量,A'为A向量的转置

b为偏置

f为传递函数

可见,一个神经元的功能是求得输入向量与权向量的内积后,经一个非线性传递函数得到一个标量结果。

单个神经元的作用:把一个n维向量空间用一个超平面分割成两部分(称之为判断边界),给定一个输入向量,神经元可以判断出这个向量位于超平面的哪一边。

该超平面的方程: Wp+b=0

W权向量

b偏置

p超平面上的向量

基本要素

人工神经网络是由大量处理单元互联组成的非线性、自适应信息处理系统。它是在现代神经科学研究成果的基础上提出的,试图通过模拟大脑神经网络处理、记忆信息的方式进行信息处理。人工神经网络具有四个基本特征:

(1)非线性 非线性关系是自然界的普遍特性。大脑的智慧就是一种非线性现象。人工神经元处于激活或抑制二种不同的状态,这种行为在数学上表现为一种非线性

关系。具有阈值的神经元构成的网络具有更好的性能,可以提高容错性和存储容量。

(2)非局限性 一个神经网络通常由多个神经元广泛连接而成。一个系统的整体行为不仅取决于单个神经元的特征,而且可能主要由单元之间的相互作用、相互连接所决定。通过单元之间的大量连接模拟大脑的非局限性。联想记忆是非局限性的典型例子。

(3)非常定性 人工神经网络具有自适应、自组织、自学习能力。神经网络不但处理的信息可以有各种变化,而且在处理信息的同时,非线性动力系统本身也在不断变化。经常采用迭代过程描写动力系统的演化过程。

(4)非凸性 一个系统的演化方向,在一定条件下将取决于某个特定的状态函数。例如能量函数,它的极值相应于系统比较稳定的状态。非凸性是指这种函数有多个极值,故系统具有多个较稳定的平衡态,这将导致系统演化的多样性。

人工神经网络中,神经元处理单元可表示不同的对象,例如特征、字母、概念,或者一些有意义的抽象模式。网络中处理单元的类型分为三类:输入单元、输出单元和隐单元。输入单元接受外部世界的信号与数据;输出单元实现系统处理结果的输出;隐单元是处在输入和输出单元之间,不能由系统外部观察的单元。神经元间的连接权值反映了单元间的连接强度,信息的表示和处理体现在网络处理单元的连接关系中。人工神经网络是一种非程序化、适应性、大脑风格的信息处理 ,其本质是通过网络的变换和动力学行为得到一种并行分布式的信息处理功能,并在不同程度和层次上模仿人脑神经系统的信息处理功能。它是涉及神经科学、思维科学、人工智能、计算机科学等多个领域的交叉学科。

人工神经网络是并行分布式系统,采用了与传统人工智能和信息处理技术完全不同的机理,克服了传统的基于逻辑符号的人工智能在处理直觉、非结构化信息方面的缺陷,具有自适应、自组织和实时学习的特点。

学习相关

学习类型

学习是神经网络研究的一个重要内容,它的适应性是通过学习实现的。根据环境的变化,对权值进行调整,改善系统的行为。由Hebb提出的Hebb学习规则为神经网络的学习算法奠定了基础。Hebb规则认为学习过程最终发生在神经元之间的突触部位,突触的联系强度随着突触前后神经元的活动而变化。在此基础上,人们提出了各种学习规则和算法,以适应不同网络模型的需要。有效的学习算法,使得神经网络能够通过连接权值的调整,构造客观世界的内在表示,形成具有特色的信息处理方法,信息存储和处理体现在网络的连接中。

根据学习环境不同,神经网络的学习方式可分为监督学习和非监督学习。在监督学习中,将训练样本的数据加到网络输入端,同时将相应的期望输出与网络输出相比较,得到误差信号,以此控制权值连接强度的调整,经多次训练后收敛到一个确定的权值。当样本情况发生变化时,经学习可以修改权值以适应新的环境。使用监督学习的神经网络模型有反传网络、感知器等。非监督学习时,事先不给定标准样本,直接将网络置于环境之中,学习阶段与工作阶段成为一体。此时,学习规律的变化服从连接权值的演变方程。非监督学习最简单的例子是Hebb学习规则。竞争学习规则是一个更复杂的非监督学习的例子,它是根据已建立的聚类进行权值调整。自组织映射、适应谐振理论网络等都是与竞争学习有关的典型模型。

分析方法

研究神经网络的非线性动力学性质,主要采用动力学系统理论、非线性规划理论和统计理论,来分析神经网络的演化过程和吸引子的性质,探索神经网络的协同行为和集体计算功能,了解神经信息处理机制。为了探讨神经网络在整体性和模糊性方面处理信息的可能,混沌理论的概念和方法将会发挥作用。混沌是一个相当难以精确定义的数学概念。一般而言,“混沌”是指由确定性方程描述的动力学系统中表现出的非确定性行为,或称之为确定的随机性。“确定性”是因为它由内在的原因而不是外来的噪声或干扰所产生,而“随机性”是指其不规则的、不能预测的行为,只可能用统计的方法描述。

混沌动力学系统的主要特征是其状态对初始条件的灵敏依赖性,混沌反映其内在的随机性。混沌理论是指描述具有混沌行为的非线性动力学系统的基本理论、概念、方法,它把动力学系统的复杂行为理解为其自身与其在同外界进行物质、能量和信息交换过程中内在的有结构的行为,而不是外来的和偶然的行为,混沌状态是一种定态。混沌动力学系统的定态包括:静止、平稳量、周期性、准同 期性和混沌解。混沌轨线是整体上稳定与局部不稳定相结合的结果,称之为奇异吸引子。一个奇异吸引子有如下一些特征:(1)奇异吸引子是一个吸引子,但它既不是不动点,也不是周期解;(2)奇异吸引子是不可分割的,即不能分为两个以及两个以上的吸引子;(3)它对初始值十分敏感,不同的初始值会导致极不相同的行为。

发展前景

发展趋势

人工神经网络特有的非线性适应性信息处理能力,克服了传统人工智能方法对于直觉,如模式、语音识别、非结构化信息处理方面的缺陷,使之在神经专家系统、模式识别、智能控制、组合优化、预测等领域得到成功应用。人工神经网络与其它传统方法相结合,将推动人工智能和信息处理技术不断发展。近年来,人工神经网络正向模拟人类认知的道路上更加深入发展,与模糊系统、遗传算法、进化机制等结合,形成计算智能,成为人工智能的一个重要方向,将在实际应用中得到发展。将信息几何应用于人工神经网络的研究,为人工神经网络的理论研究开辟了新的途径。神经计算机的研究发展很快,已有产品进入市场。光电结合的神经计算机为人工神经网络的发展提供了良好条件。

神经网络在很多领域已得到了很好的应用,但其需要研究的方面还很多。其中,具有分布存储、并行处理、自学习、自组织以及非线性映射等优点的神经网络与其他技术的结合以及由此而来的混合方法和混合系统,已经成为一大研究热点。由于其他方法也有它们各自的优点,所以将神经网络与其他方法相结合,取长补短,继而可以获得更好的应用效果。目前这方面工作有神经网络与模糊逻辑、专家系统、遗传算法、小波分析、混沌、粗集理论、分形理论、证据理论和灰色系统等的融合。

下面主要就神经网络与小波分析、混沌、粗集理论、分形理论的融合进行分析。

与小波分析的结合

1981年,法国地质学家Morlet在寻求地质数据时,通过对Fourier变换与加窗Fourier变换的异同、特点及函数构造进行创造性的研究,首次提出了"小波分析"的概念,建立了以他的名字命名的Morlet小波。1986年以来由于YMeyer、S.Mallat及IDaubechies等的奠基工作,小波分析迅速发展成为一门新兴学科。Meyer所着的"小波与算子",Daubechies所着的"小波十讲"是小波研究领域最权威的着作。

小波变换是对Fourier分析方法的突破。它不但在时域和频域同时具有良好的局部化性质,而且对低频信号在频域和对高频信号在时域里都有很好的分辨率,从而可以聚集到对象的任意细节。小波分析相当于一个数学显微镜,具有放大、缩小和平移功能,通过检查不同放大倍数下的变化来研究信号的动态特性。因此,小波分析已成为地球物理、信号处理、图像处理、理论物理等诸多领域的强有力工具。

小波神经网络将小波变换良好的时频局域化特性和神经网络的自学习功能相结合,因而具有较强的逼近能力和容错能力。在结合方法上,可以将小波函数作为基函数构造神经网络形成小波网络,或者小波变换作为前馈神经网络的输入前置处理工具,即以小波变换的多分辨率特性对过程状态信号进行处理,实现信噪分离,并提取出对加工误差影响最大的状态特性,作为神经网络的输入。

小波神经网络在电机故障诊断、高压电网故障信号处理与保护研究、轴承等机械故障诊断以及许多方面都有应用,将小波神经网络用于感应伺服电机的智能控制,使该系统具有良好的跟踪控制性能,以及好的鲁棒性,利用小波包神经网络进行心血管疾病的智能诊断,小波层进行时频域的自适应特征提取,前向神经网络用来进行分类,正确分类率达到94%。

小波神经网络虽然应用于很多方面,但仍存在一些不足。从提取精度和小波变换实时性的要求出发,有必要根据实际情况构造一些适应应用需求的特殊小波基,以便在应用中取得更好的效果。另外,在应用中的实时性要求,也需要结合DSP的发展,开发专门的处理芯片,从而满足这方面的要求。

混沌神经网络

混沌第一个定义是上世纪70年代才被Li-Yorke第一次提出的。由于它具有广泛的应用价值,自它出现以来就受到各方面的普遍关注。混沌是一种确定的系统中出现的无规则的运动,混沌是存在于非线性系统中的一种较为普遍的现象,混沌运动具有遍历性、随机性等特点,能在一定的范围内按其自身规律不重复地遍历所有状态。混沌理论所决定的是非线性动力学混沌,目的是揭示貌似随机的现象背后可能隐藏的简单规律,以求发现一大类复杂问题普遍遵循的共同规律。

1990年Kaihara、T.Takabe和M.Toyoda等人根据生物神经元的混沌特性首次提出混沌神经网络模型,将混沌学引入神经网络中,使得人工神经网络具有混沌行为,更加接近实际的人脑神经网络,因而混沌神经网络被认为是可实现其真实世界计算的智能信息处理系统之一,成为神经网络的主要研究方向之一。

与常规的离散型Hopfield神经网络相比较,混沌神经网络具有更丰富的非线性动力学特性,主要表现如下:在神经网络中引入混沌动力学行为;混沌神经网络的同步特性;混沌神经网络的吸引子。

当神经网络实际应用中,网络输入发生较大变异时,应用网络的固有容错能力往往感到不足,经常会发生失忆现象。混沌神经网络动态记忆属于确定性动力学运动,记忆发生在混沌吸引子的轨迹上,通过不断地运动(回忆过程)一一联想到记忆模式,特别对于那些状态空间分布的较接近或者发生部分重叠的记忆模式,混沌神经网络总能通过动态联想记忆加以重现和辨识,而不发生混淆,这是混沌神经网络所特有的性能,它将大大改善Hopfield神经网络的记忆能力。混沌吸引子的吸引域存在,形成了混沌神经网络固有容错功能。这将对复杂的模式识别、图像处理等工程应用发挥重要作用。

混沌神经网络受到关注的另一个原因是混沌存在于生物体真实神经元及神经网络中,并且起到一定的作用,动物学的电生理实验已证实了这一点。

混沌神经网络由于其复杂的动力学特性,在动态联想记忆、系统优化、信息处理、人工智能等领域受到人们极大的关注。针对混沌神经网络具有联想记忆功能,但其搜索过程不稳定,提出了一种控制方法可以对混沌神经网络中的混沌现象进行控制。研究了混沌神经网络在组合优化问题中的应用。

为了更好的应用混沌神经网络的动力学特性,并对其存在的混沌现象进行有效的控制,仍需要对混沌神经网络的结构进行进一步的改进和调整,以及混沌神经网络算法的进一步研究。

基于粗集理论

粗糙集(Rough Sets)理论是1982年由波兰华沙理工大学教授Z.Pawlak首先提出,它是一个分析数据的数学理论,研究不完整数据、不精确知识的表达、学习、归纳等方法。粗糙集理论是一种新的处理模糊和不确定性知识的数学工具,其主要思想就是在保持分类能力不变的前提下,通过知识约简,导出问题的决策或分类规则。目前,粗糙集理论已被成功应用于机器学习、决策分析、过程控制、模式识别与数据挖掘等领域。

粗集和神经网络的共同点是都能在自然环境下很好的工作,但是,粗集理论方法模拟人类的抽象逻辑思维,而神经网络方法模拟形象直觉思维,因而二者又具有不同特点。粗集理论方法以各种更接近人们对事物的描述方式的定性、定量或者混合性信息为输入,输入空间与输出空间的映射关系是通过简单的决策表简化得到的,它考虑知识表达中不同属性的重要性确定哪些知识是冗余的,哪些知识是有用的,神经网络则是利用非线性映射的思想和并行处理的方法,用神经网络本身结构表达输入与输出关联知识的隐函数编码。

在粗集理论方法和神经网络方法处理信息中,两者存在很大的两个区别:其一是神经网络处理信息一般不能将输入信息空间维数简化,当输入信息空间维数较大时,网络不仅结构复杂,而且训练时间也很长;而粗集方法却能通过发现数据间的关系,不仅可以去掉冗余输入信息,而且可以简化输入信息的表达空间维数。其二是粗集方法在实际问题的处理中对噪声较敏感,因而用无噪声的训练样本学习推理的结果在有噪声的环境中应用效果不佳。而神经网络方法有较好的抑制噪声干扰的能力。

因此将两者结合起来,用粗集方法先对信息进行预处理,即把粗集网络作为前置系统,再根据粗集方法预处理后的信息结构,构成神经网络信息处理系统。通过二者的结合,不但可减少信息表达的属性数量,减小神经网络构成系统的复杂性,而且具有较强的容错及抗干扰能力,为处理不确定、不完整信息提供了一条强有力的途径。

目前粗集与神经网络的结合已应用于语音识别、专家系统、数据挖掘、故障诊断等领域,将神经网络和粗集用于声源位置的自动识别,将神经网络和粗集用于专家系统的知识获取中,取得比传统专家系统更好的效果,其中粗集进行不确定和不精确数据的处理,神经网络进行分类工作。

虽然粗集与神经网络的结合已应用于许多领域的研究,为使这一方法发挥更大的作用还需考虑如下问题:模拟人类抽象逻辑思维的粗集理论方法和模拟形象直觉思维的神经网络方法更加有效的结合;二者集成的软件和硬件平台的开发,提高其实用性。

与分形理论的结合

自从美国哈佛大学数学系教授Benoit B. Mandelbrot于20世纪70年代中期引入分形这一概念,分形几何学(Fractal geometry)已经发展成为科学的方法论--分形理论,且被誉为开创了20世纪数学重要阶段。现已被广泛应用于自然科学和社会科学的几乎所有领域,成为现今国际上许多学科的前沿研究课题之一。

由于在许多学科中的迅速发展,分形已成为一门描述自然界中许多不规则事物的规律性的学科。它已被广泛应用在生物学、地球地理学、天文学、计算机图形学等各个领域。

用分形理论来解释自然界中那些不规则、不稳定和具有高度复杂结构的现象,可以收到显着的效果,而将神经网络与分形理论相结合,充分利用神经网络非线性映射、计算能力、自适应等优点,可以取得更好的效果。

分形神经网络的应用领域有图像识别、图像编码、图像压缩,以及机械设备系统的故障诊断等。分形图像压缩/解压缩方法有着高压缩率和低遗失率的优点,但运算能力不强,由于神经网络具有并行运算的特点,将神经网络用于分形图像压缩/解压缩中,提高了原有方法的运算能力。将神经网络与分形相结合用于果实形状的识别,首先利用分形得到几种水果轮廓数据的不规则性,然后利用3层神经网络对这些数据进行辨识,继而对其不规则性进行评价。

分形神经网络已取得了许多应用,但仍有些问题值得进一步研究:分形维数的物理意义;分形的计算机仿真和实际应用研究。随着研究的不断深入,分形神经网络必将得到不断的完善,并取得更好的应用效果。?

应用分析

人工神经网络的构筑理念是受到生物(人或其他动物)神经网络功能的运作启发而产生的。人工神经网络通常是通过一个基于数学统计学类型的学习方法(Learning Method)得以优化,所以人工神经网络也是数学统计学方法的一种实际应用,通过统计学的标准数学方法我们能够得到大量的可以用函数来表达的局部结构空间,另一方面在人工智能学的人工感知领域,我们通过数学统计学的应用可以来做人工感知方面的决定问题(也就是说通过统计学的方法,人工神经网络能够类似人一样具有简单的决定能力和简单的判断能力),这种方法比起正式的逻辑学推理演算更具有优势。

神经网络近来越来越受到人们的关注,因为它为解决大复杂度问题提供了一种相对来说比较有效的简单方法。神经网络可以很容易的解决具有上百个参数的问题(当然实际生物体中存在的神经网络要比我们这里所说的程序模拟的神经网络要复杂的多)。神经网络常用于两类问题:分类和回归。在结构上,可以把一个神经网络划分为输入层、输出层和隐含层(见图1)。输入层的每个节点对应一个个的预测变量。输出层的节点对应目标变量,可有多个。在输入层和输出层之间是隐含层(对神经网络使用者来说不可见),隐含层的层数和每层节点的个数决定了神经网络的复杂度。

除了输入层的节点,神经网络的每个节点都与很多它前面的节点(称为此节点的输入节点)连接在一起,每个连接对应一个权重Wxy,此节点的值就是通过它所有输入节点的值与对应连接权重乘积的和作为一个函数的输入而得到,我们把这个函数称为活动函数或挤压函数。如图2中节点4输出到节点6的值可通过如下计算得到:

W14*节点1的值+W24*节点2的值

神经网络的每个节点都可表示成预测变量(节点1,2)的值或值的组合(节点3-6)。注意节点6的值已经不再是节点1、2的线性组合,因为数据在隐含层中传递时使用了活动函数。实际上如果没有活动函数的话,神经元网络就等价于一个线性回归函数,如果此活动函数是某种特定的非线性函数,那神经网络又等价于逻辑回归。

调整节点间连接的权重就是在建立(也称训练)神经网络时要做的工作。最早的也是最基本的权重调整方法是错误回馈法,现在较新的有变化坡度法、类牛顿法、Levenberg-Marquardt法、和遗传算法等。无论采用那种训练方法,都需要有一些参数来控制训练的过程,如防止训练过度和控制训练的速度。

决定神经网络拓扑结构(或体系结构)的是隐含层及其所含节点的个数,以及节点之间的连接方式。要从头开始设计一个神经网络,必须要决定隐含层和节点的数目,活动函数的形式,以及对权重做那些限制等,当然如果采用成熟软件工具的话,他会帮你决定这些事情。在诸多类型的神经网络中,最常用的是前向传播式神经网络,也就是我们前面图示中所描绘的那种。人们下面详细讨论一下,为讨论方便假定只含有一层隐含节点。可以认为错误回馈式训练法是变化坡度法的简化,其过程如下:前向传播:数据从输入到输出的过程是一个从前向后的传播过程,后一节点的值通过它前面相连的节点传过来,然后把值按照各个连接权重的大小加权输入活动函数再得到新的值,进一步传播到下一个节点。

回馈:当节点的输出值与我们预期的值不同,也就是发生错误时,神经网络就要“学习”(从错误中学习)。我们可以把节点间连接的权重看成后一节点对前一节点的“信任”程度(他自己向下一节点的输出更容易受他前面哪个节点输入的影响)。学习的方法是采用惩罚的方法,过程如下:如果一节点输出发生错误,那么他看他的错误是受哪个(些)输入节点的影响而造成的,是不是他最信任的节点(权重最高的节点)陷害了他(使他出错),如果是则要降低对他的信任值(降低权重),惩罚他们,同时升高那些做出正确建议节点的信任值。对那些收到惩罚的节点来说,他也需要用同样的方法来进一步惩罚它前面的节点。就这样把惩罚一步步向前传播直到输入节点为止。

对训练集中的每一条记录都要重复这个步骤,用前向传播得到输出值,如果发生错误,则用回馈法进行学习。当把训练集中的每一条记录都运行过一遍之后,人们称完成一个训练周期。要完成神经网络的训练可能需要很多个训练周期,经常是几百个。训练完成之后得到的神经网络就是在通过训练集发现的模型,描述了训练集中响应变量受预测变量影响的变化规律。

由于神经网络隐含层中的可变参数太多,如果训练时间足够长的话,神经网络很可能把训练集的所有细节信息都“记”下来,而不是建立一个忽略细节只具有规律性的模型,我们称这种情况为训练过度。显然这种“模型”对训练集会有很高的准确率,而一旦离开训练集应用到其他数据,很可能准确度急剧下降。为了防止这种训练过度的情况,人们必须知道在什么时候要停止训练。在有些软件实现中会在训练的同时用一个测试集来计算神经网络在此测试集上的正确率,一旦这个正确率不再升高甚至开始下降时,那么就认为现在神经网络已经达到做好的状态了可以停止训练。

神经网络在训练周期增加时准确度的变化情况

神经元网络和统计方法在本质上有很多差别。神经网络的参数可以比统计方法多很多。如图4中就有13个参数(9个权重和4个限制条件)。由于参数如此之多,参数通过各种各样的组合方式来影响输出结果,以至于很难对一个神经网络表示的模型做出直观的解释。实际上神经网络也正是当作“黑盒”来用的,不用去管“盒子”里面是什么,只管用就行了。在大部分情况下,这种限制条件是可以接受的。比如银行可能需要一个笔迹识别软件,但他没必要知道为什么这些线条组合在一起就是一个人的签名,而另外一个相似的则不是。在很多复杂度很高的问题如化学试验、机器人、金融市场的模拟、和语言图像的识别,等领域神经网络都取得了很好的效果。

神经网络的另一个优点是很容易在并行计算机上实现,可以把他的节点分配到不同的CPU上并行计算。

在使用神经网络时有几点需要注意:第一,神经网络很难解释,目前还没有能对神经网络做出显而易见解释的方法学。

第二,神经网络会学习过度,在训练神经网络时一定要恰当的使用一些能严格衡量神经网络的方法,如前面提到的测试集方法和交叉验证法等。这主要是由于神经网络太灵活、可变参数太多,如果给足够的时间,他几乎可以“记住”任何事情。

第三,除非问题非常简单,训练一个神经网络可能需要相当可观的时间才能完成。当然,一旦神经网络建立好了,在用它做预测时运行时还是很快得。

第四,建立神经网络需要做的数据准备工作量很大。一个很有误导性的神话就是不管用什么数据神经网络都能很好的工作并做出准确的预测。这是不确切的,要想得到准确度高的模型必须认真的进行数据清洗、整理、转换、选择等工作,对任何数据挖掘技术都是这样,神经网络尤其注重这一点。比如神经网络要求所有的输入变量都必须是0-1(或-1--+1)之间的实数,因此像“地区”之类文本数据必须先做必要的处理之后才能用作神经网络的输入。

相关资讯
内容声明

1、本网站为开放性注册平台,以上所有展示信息均由会员自行提供,内容的真实性、准确性和合法性均由发布会员负责,本网站对此不承担任何法律责任。

2、网站信息如涉嫌违反相关法律规定或侵权,请发邮件至599385753@qq.com删除。

Copyright © 趣爱秀