- 神经网络简介
1.1 什么是神经网络?
人工神经网络(ANN)是一种信息处理范例,其灵感来自生物神经系统,如大脑,处理信息。这种范式的关键要素是信息处理系统的新颖结构。它由大量高度互连的处理元件(神经元)组成,它们协同工作以解决特定问题。人工神经网络就像人一样,通过实例学习。通过学习过程为特定应用配置ANN,例如模式识别或数据分类。在生物系统中学习涉及调整神经元之间存在的突触连接。人工神经网络也是如此。
1.2 历史背景
神经网络模拟似乎是最近的发展。然而,这个领域是在计算机出现之前建立的,并且至少经历了一次重大挫折和几次时代。
使用廉价的计算机仿真提高了许多进口和进步。经过最初的热情,该领域幸存了一段时间,感到沮丧和声名狼借。在此期间,资金和专业支持很少,相对较少的研究人员取得了重要进展。这些先驱者能够开发出令人信服的技术,超越了明斯基和帕普特所确定的限制。明斯基和帕珀特出版了一本书(1969年),其中他们总结了研究人员对挫折感(对抗神经网络)的普遍感觉,因此大多数人都没有进一步分析。目前,神经网络领域兴起了兴趣并相应增加了资金。
有关历史的更详细说明,请单击此处
第一个人工神经元是由神经生理学家Warren McCulloch和逻辑学家Walter Pits于1943年制作的。但当时可用的技术并没有让他们做得太多。
1.3 为什么要使用神经网络?
神经网络具有从复杂或不精确的数据中获得意义的显着能力,可用于提取模式并检测过于复杂而无法被人类或其他计算机技术注意到的趋势。训练有素的神经网络可以被认为是它被分析的信息类别中的“专家”。然后,可以使用该专家在给出感兴趣的新情况的情况下提供预测并回答“假设”问题。
其他优点包括:
自适应学习:基于为培训或初始经验提供的数据,学习如何完成任务的能力。
自组织:人工神经网络可以创建自己的组织或在学习期间收到的信息的表示。
实时操作:ANN计算可以并行执行,并且正在设计和制造利用此功能的特殊硬件设备。
通过冗余信息编码的容错:网络的部分破坏导致性能的相应降低。但是,即使网络受到严重破坏,也可能会保留一些网络功能。
1.4 神经网络与传统计算机
与传统计算机相比,神经网络采用不同的方法来解决问题。传统的计算机使用算法方法,即计算机遵循一组指令以解决问题。除非知道计算机需要遵循的具体步骤,否则计算机无法解决问题。这限制了传统计算机的问题解决能力,使其成为我们已经理解并知道如何解决的问题。但是如果计算机可以做我们不知道该怎么做的事情,那么计算机会更有用。
神经网络以与人类大脑类似的方式处理信息。该网络由大量高度互连的处理元件(神经元)组成,并行工作以解决特定问题。神经网络通过实例学习。它们无法编程执行特定任务。必须仔细选择示例,否则会浪费有用的时间,甚至可能导致网络运行不正常。缺点是因为网络自己找出如何解决问题,其操作可能是不可预测的。
另一方面,传统计算机使用认知方法来解决问题; 解决问题的方式必须在小的明确指示中公布和说明。然后将这些指令转换为高级语言程序,然后转换为计算机可以理解的机器代码。这些机器完全可以预测; 如果出现任何问题是由于软件或硬件故障。
神经网络和传统的算法计算机不是竞争对手,而是相互补充。有些任务更适合算法运算和更适合神经网络的任务等算法方法。更重要的是,大量任务需要使用两种方法的组合的系统(通常使用传统计算机来监督神经网络)以便以最大效率执行。
神经网络不会创造奇迹。但如果合理使用它们可以产生一些惊人的效果。
回到目录
- 人类和人工神经元 - 调查相似之处
2.1 人脑如何学习?
关于大脑如何训练自己处理信息还有很多未知之处,所以理论比比皆是。在人类大脑中,典型的神经元通过一系列称为树突的精细结构从其他神经元收集信号。神经元通过称为轴突的长而细的支架发出电活动的尖峰,这种支架 分裂成数千个分支。在每个分支的末尾,称为突触的结构将来自轴突的活性转化为电效应,其抑制或激发轴突的活性成为抑制或激发连接的神经元中的活性的电效应。当神经元接受与其抑制性输入相比足够大的兴奋性输入时,它会向其轴突发送一个电活动峰值。通过改变突触的有效性来进行学习,以便一个神经元对另一个神经元的影响发生变化。
神经元的组成部分
突触
2.2 从人类神经元到人工神经元
我们通过首先尝试推断出神经元及其相互连接的基本特征来进行这些神经网络。然后,我们通常对计算机进行编程以模拟这些功能。然而,由于我们对神经元的了解不完整且计算能力有限,我们的模型必然是神经元真实网络的重要理想化。
神经元模型
回到目录
- 工程方法
3.1 一个简单的神经元
人工神经元是具有许多输入和一个输出的设备。神经元有两种操作模式; 训练模式和使用模式。在训练模式中,对于特定的输入模式,可以训练神经元发射(或不发射)。在使用模式中,当在输入处检测到示教输入模式时,其相关输出变为当前输出。如果输入模式不属于输入模式的示教列表,则使用触发规则来确定是否触发。
一个简单的神经元
3.2 射击规则
射击规则是神经网络中的一个重要概念,并说明它们具有很高的灵活性。射击规则确定如何计算神经元是否应该针对任何输入模式触发。它涉及所有输入模式,而不仅仅是节点被训练的输入模式。
通过使用汉明距离技术可以实现简单的发射规则。规则如下:
获取一个节点的训练模式的集合,其中一些导致它被激活(一组教学模式)和其他阻止它这样做的模式(0教学集)。然后,如果相比之下,如果与1教导集中的“最近”模式相比具有与0教导集中的“最近”模式相同的更多输入元素,则不在集合中的模式导致节点触发。如果存在平局,则该模式保持未定义状态。
例如,当输入(X1,X2和X3)为111或101时,教导3输入神经元输出1,当输入为000或001时输出0输出0.然后,在应用激发规则之前,真值表是;
X1: 0 0 0 0 1 1 1 1
X2: 0 0 1 1 0 0 1 1
X3: 0 1 0 1 0 1 0 1
OUT: 0 0 0/1 0/1 0/1 1 0/1 1
作为应用触发规则的一个例子,采用模式010.它与1个元素中的000,2个元素中的001,3个元素中的101和2个元素中的111不同。因此,’最近’模式是000,它属于0教导集。因此,触发规则要求当输入为001时神经元不应该触发。另一方面,011与具有不同输出的两个示教模式等距离,因此输出保持未定义(0/1)。
通过在每列中应用烧制,获得以下真值表;
X1: 0 0 0 0 1 1 1 1
X2: 0 0 1 1 0 0 1 1
X3: 0 1 0 1 0 1 0 1
OUT: 0 0 0 0/1 0/1 1 1 1
两个真值表之间的差异称为神经元的泛化。因此,射击规则使神经元具有相似感,并使其能够“明智地”响应训练期间未见的模式。
3.3 模式识别 - 一个例子
神经网络的一个重要应用是模式识别。可以通过使用已经相应训练的前馈(图1)神经网络来实现模式识别。在训练期间,训练网络以将输出与输入模式相关联。使用网络时,它会识别输入模式并尝试输出关联的输出模式。当没有与之相关的输出的模式作为输入给出时,神经网络的力量变为现实。在这种情况下,网络给出的输出对应于与给定模式最不同的示教输入模式。
图1。
例如:
训练图1的网络以识别图案T和H.相关的图案分别是黑色和全白色,如下所示。
如果我们用0表示黑色正方形,用1表示白色正方形,那么泛化后3个神经元的真值表是;
X11: 0 0 0 0 1 1 1 1
X12: 0 0 1 1 0 0 1 1
X13: 0 1 0 1 0 1 0 1
OUT: 0 0 1 1 0 0 1 1
顶级神经元
X21: 0 0 0 0 1 1 1 1
X22: 0 0 1 1 0 0 1 1
X23: 0 1 0 1 0 1 0 1
OUT: 1 0/1 1 0/1 0/1 0 0/1 0
中神经元
X21: 0 0 0 0 1 1 1 1
X22: 0 0 1 1 0 0 1 1
X23: 0 1 0 1 0 1 0 1
OUT: 1 0 1 1 0 0 1 0
底部神经元
从表中可以看出,可以提取以下关联:
在这种情况下,很明显输出应该全是黑色,因为输入模式几乎与’T’模式相同。
在这里,很明显输出应该是所有白色,因为输入模式几乎与’H’模式相同。
这里,顶行距离a T是2个误差,H是3个。所以顶部输出是黑色。中间行距离T和H都是1个错误,因此输出是随机的。底行距离T为1,距离H为2,因此输出为黑色。网络的总输出仍然支持T形。
3.4 更复杂的神经元
以前的神经元没有做任何常规传统计算机不做的事情。更复杂的神经元(图2)是McCulloch和Pitts模型(MCP)。与先前模型的不同之处在于输入是“加权的”,每个输入在决策时的影响取决于特定输入的权重。输入的权重是一个数字,当与输入相乘时给出加权输入。然后将这些加权输入加在一起,如果它们超过预先设定的阈值,则神经元会发射。在任何其他情况下,神经元不会发射。
图2. MCP神经元
在数学术语中,当且仅当;
X 1 W 1 + X 2 W 2 + X 3 W 3 + …> T.
增加输入权重和阈值使得这个神经元非常灵活和强大。MCP神经元具有通过改变其权重和/或阈值来适应特定情况的能力。存在各种导致神经元“适应”的算法; 最常用的是Delta规则和后向错误传播。前者用于前馈网络,后者用于反馈网络。
回到目录
4 神经网络的体系结构
4.1前馈网络
前馈神经网络(图1)允许信号仅以一种方式传播; 从输入到输出。没有反馈(循环),即任何层的输出都不会影响同一层。前馈人工神经网络往往是将输入与输出相关联的直接网络。它们广泛用于模式识别。这种类型的组织也称为自下而上或自上而下。
4.2 反馈网络
反馈网络(图1)可以通过在网络中引入环路使信号在两个方向上传播。反馈网络非常强大,可能会变得非常复杂。反馈网络是动态的; 他们的“状态”不断变化,直到达到平衡点。它们保持在平衡点,直到输入变化并且需要找到新的平衡点。反馈体系结构也称为交互式或循环式,尽管后一术语通常用于表示单层组织中的反馈连接。
图4.1简单前馈网络的示例
图4.2复杂网络的示例
4.3 网络层
最常见类型的人工神经网络由三个单元组或单元组成:一层“ 输入 ”单元连接到一层“ 隐藏 ”单元,它连接到一层“输出 ”单元。(见图4.1)
输入单元的活动表示馈入网络的原始信息。
每个隐藏单元的活动由输入单元的活动和输入与隐藏单元之间的连接的权重确定。
输出单元的行为取决于隐藏单元的活动以及隐藏单元和输出单元之间的权重。
这种简单类型的网络很有趣,因为隐藏单元可以自由构建自己的输入表示。输入和隐藏单元之间的权重确定每个隐藏单元何时处于活动状态,因此通过修改这些权重,隐藏单元可以选择它所代表的内容。
我们还区分单层和多层架构。所有单元彼此连接的单层组织构成了最一般的情况,并且具有比分层结构的多层组织更具潜在的计算能力。在多层网络中,单元通常按层编号,而不是遵循全局编号。
4.4 感知器
60年代最有影响力的神经网络工作属于弗兰克罗森布拉特(Frank Rosenblatt)创造的“感知器”(perceptrons)标题。感知器(图4.4)结果是MCP模型(具有加权输入的神经元),具有一些额外的,固定的预处理。标记为A1,A2,Aj,Ap的单位称为关联单位,其任务是从输入图像中提取特定的本地化特征。感知器模仿哺乳动物视觉系统背后的基本思想。它们主要用于模式识别,即使它们的功能扩展得更多。
图4.4
1969年,明斯基和帕珀特写了一本书,描述了单层感知器的局限性。这本书的影响是巨大的,并导致许多神经网络研究人员失去兴趣。这本书编写得非常好,并且在数学上表明, 单层感知器无法进行某些基本的模式识别操作,例如确定形状的奇偶校验或确定形状是否连接。直到80年代,他们没有意识到,经过适当的培训,多级感知器可以完成这些操作。
回到目录
学习过程
模式的记忆和网络的后续响应可以分为两种一般范例:关联映射,其中每当在输入单元集上应用另一特定模式时,网络学习在输入单元集上产生特定模式。关联映射通常可以分为两种机制:
自动关联:输入模式与其自身相关联,输入和输出单元的状态重合。这用于提供图案完整性,即每当呈现其一部分或扭曲图案时产生图案。在第二种情况下,网络实际上存储构建两组模式之间的关联的模式对。
异质结合:与两种回忆机制有关:
最近邻调用,其中产生的输出模式对应于存储的输入模式,该模式最接近所呈现的模式,并且
内插调用,其中输出模式是对应于所呈现的模式存储的模式的相似性相关内插。另一种范式,即变体关联映射是分类,即,当存在输入模式将被分类到的固定类别集合时。
规则性检测,其中单元学习响应输入模式的特定属性。在联合映射中,网络存储模式之间的关系,而在规律性检测中,每个单元的响应具有特定的“含义”。这种学习机制对于特征发现和知识表示至关重要。
每个神经网络都拥有包含在连接权重值中的知识。根据经验修改存储在网络中的知识意味着用于改变权重值的学习规则。
信息存储在神经网络的权重矩阵W中。学习是权重的决定。按照学习方式,我们可以区分两大类神经网络:
不能改变权重的固定网络,即dW / dt = 0。在这样的网络中,根据要解决的问题,权重是先验地固定的。
能够改变其权重的自适应网络,即dW / dt not = 0。
用于自适应神经网络的所有学习方法可分为两大类:
监督学习,其中包括外部教师,以便告知每个输出单元对输入信号的期望响应应该是什么。在学习过程中,可能需要全球信息。监督学习的范式包括纠错学习,强化学习和随机学习。
关于监督学习的一个重要问题是误差收敛的问题,即期望计算单位值和计算单位值之间的误差最小化。目的是确定一组最小化误差的权重。许多学习范例所共有的一种众所周知的方法是最小均方(LMS)收敛。
无监督学习不使用外部教师,仅基于本地信息。它也被称为自组织,它意味着它自我组织呈现给网络的数据并检测它们的紧急集体属性。无监督学习的范式是Hebbian学习和竞争学习。
Ano2.2从人类神经元到人工神经元学习的一个方面涉及在训练网络和后续操作阶段的单独阶段的区别与否。我们说如果学习阶段和操作阶段是不同的,神经网络会离线学习。如果神经网络在同一时间学习和操作,它将在线学习。通常,监督学习是离线执行的,而有监督的学习则是在线进行的。
5.1 传递函数
ANN(人工神经网络)的行为取决于权重和为单位指定的输入输出函数(传递函数)。此功能通常分为三类:
线性(或斜坡)
阈
乙状结肠
对于线性单位,输出活动与总加权输出成比例。
对于阈值单位,输出设置为两个级别之一,具体取决于总输入是否大于或小于某个阈值。
对于sigmoid单位,输出连续变化但不随输入变化线性变化。与线性或阈值单位相比,Sigmoid单位与真实神经元具有更大的相似性,但这三者必须被视为粗略近似。
为了建立执行某些特定任务的神经网络,我们必须选择单元如何相互连接(见图4.1),并且我们必须适当地设置连接的权重。连接确定一个单元是否可能影响另一个单元。权重指定影响的强度。
我们可以使用以下过程教授三层网络来执行特定任务:
我们为网络提供培训示例,其中包括输入单元的活动模式以及输出单元的所需活动模式。
我们确定网络的实际输出与所需输出的匹配程度。
我们改变每个连接的权重,以便网络产生更好的近似所需输出。
5.2 举例说明上述教学程序:
假设我们希望网络识别手写数字。我们可能会使用一组256个传感器,每个传感器记录一个小数字区域内是否存在墨水。因此,网络需要256个输入单元(每个传感器一个),10个输出单元(每种数字一个)和一些隐藏单元。
对于传感器记录的每种数字,网络应在适当的输出单元中产生高活动,在其他输出单元中产生低活动。
为了训练网络,我们提供一个数字图像,并将10个输出单元的实际活动与所需的活动进行比较。然后我们计算误差,误差定义为实际活动和期望活动之间差异的平方。接下来,我们改变每个连接的权重,以减少错误。我们对每种数字的每个不同图像的许多不同图像重复此训练过程,直到网络正确地对每个图像进行分类。
为了实现这个过程,我们需要计算权重(EW)的误差导数,以便将权重改变一个量,该量与权重改变时误差变化的速率成比例。计算EW的一种方法是略微扰动重量并观察误差如何变化。但是这种方法效率很低,因为它需要对许多权重中的每一个进行单独的扰动。
计算EW的另一种方法是使用下面描述的反向传播算法,并且现在已成为训练神经网络的最重要工具之一。它由法国两支球队(Fogelman-Soulie,Gallinari和Le Cun)独立开发,另一支球队(Rumelhart,Hinton和Williams)在美国独立开发。
5.3 反向传播算法
为了训练神经网络执行某些任务,我们必须调整每个单元的权重,使得所需输出和实际输出之间的误差减小。该过程要求神经网络计算权重(EW)的误差导数。换句话说,它必须计算当每个重量增加或减少时误差如何变化。反向传播算法是用于确定EW的最广泛使用的方法。
如果网络中的所有单元都是线性的,则最容易理解反向传播算法。该算法通过首先计算EA来计算每个EW,EA是随着单元的活动级别改变而错误改变的速率。对于输出单位,EA只是实际输出和所需输出之间的差异。要在输出层之前计算层中隐藏单元的EA,我们首先确定该隐藏单元与其连接的输出单元之间的所有权重。然后,我们将这些权重乘以这些输出单位的EA,并添加产品。此总和等于所选隐藏单元的EA。计算完所有之后EA位于输出层之前的隐藏层中,我们可以以类似的方式计算其他层的EA,在与活动通过网络传播的方式相反的方向上从一层移动到另一层。这就是回传传播的名称。一旦为单元计算了EA,就可以直接计算单元的每个进入连接的EW。的EW为EA的产物,并通过传入连接的活性。
请注意,对于非线性单位(参见附录C),反向传播算法包括一个额外步骤。在反向传播之前,必须将EA转换为EI,即当单元接收的总输入发生变化时,错误发生变化的速率。
回到目录
- 神经网络的应用
6.1 实践中的神经网络
鉴于神经网络的这种描述及其工作原理,它们适合哪些真实应用?神经网络广泛适用于现实世界的业务问题。事实上,它们已经成功应用于许多行业。
由于神经网络最适合识别数据的模式或趋势,因此它们非常适合预测或预测需求,包括:
销售预测
工业过程控制
客户研究
数据验证
风险管理
目标市场营销
但是给你一些更具体的例子; 人工神经网络也用于以下具体范例:承认通信中的发言人; 肝炎诊断; 从故障软件中恢复电信; 多语言汉语单词的解释; 海底地雷探测; 纹理分析; 三维物体识别; 手写文字识别; 和面部识别。
6.2 医学中的神经网络
人工神经网络(ANN)目前是医学领域的“热门”研究领域,相信它们将在未来几年内广泛应用于生物医学系统。目前,该研究主要是对人体部位进行建模,并通过各种扫描识别疾病(例如心电图,CAT扫描,超声波扫描等)。
神经网络是使用扫描识别疾病的理想选择,因为不需要提供关于如何识别疾病的特定算法。神经网络通过实例学习,因此不需要如何识别疾病的细节。所需要的是一组代表疾病所有变化的实例。示例的数量不如“数量”重要。如果系统要可靠且有效地执行,则需要非常仔细地选择示例。
6.2.1 心血管系统的建模和诊断
神经网络通过实验用于模拟人类心血管系统。可以通过建立个体的心血管系统模型并将其与从患者获取的实时生理测量值进行比较来实现诊断。如果定期进行该程序,则可以在早期检测到潜在的有害医学状况,从而使得对抗疾病的过程更加容易。
个体心血管系统的模型必须模拟不同身体活动水平的生理变量(即心率,收缩压和舒张压,以及呼吸率)之间的关系。如果模型适应个体,那么它就成为该个体的身体状况的模型。模拟器必须能够在没有专家监督的情况下适应任何个人的特征。这需要一个神经网络。
证明使用ANN技术的另一个原因是人工神经网络提供传感器融合的能力,这是来自几个不同传感器的值的组合。传感器融合使人工神经网络能够学习各个传感器值之间的复杂关系,否则如果单独分析这些值,则会丢失这些关系。在医学建模和诊断中,这意味着即使一组中的每个传感器可能仅对特定生理变量敏感,ANN也能够通过融合来自各个生物医学传感器的数据来检测复杂的医学状况。
6.2.2 电子鼻
人工神经网络通过实验用于实现电子鼻。电子鼻在远程医疗中有几个潜在的应用。远程医疗是通过通信链路长距离医学的做法。电子鼻将识别远程手术环境中的气味。然后,这些识别出的气味将以电子方式传输到另一个门,在那里门生成系统将重新创建它们。因为嗅觉对于外科医生来说可能是一个重要的意义,因此可以增强远程手术。
有关远程医疗和远程呈现手术的更多信息,请单击此处。
6.2.3 即时医师
在20世纪80年代中期开发的称为“即时医生”的应用程序训练了一个自动关联记忆神经网络来存储大量医疗记录,每个医疗记录包括有关特定病例的症状,诊断和治疗的信息。在训练之后,网络可以呈现由一组症状组成的输入; 然后它会找到代表“最佳”诊断和治疗的完整存储模式。
6.3 业务中的神经网络
商业是一个转移的领域,有几个一般的专业领域,如会计或财务分析。几乎任何神经网络应用程序都适用于一个业务领域或财务分析。
将神经网络用于商业目的有一些潜力,包括资源分配和调度。使用神经网络进行数据库挖掘也很有可能,即搜索数据库中显式存储的信息中隐含的模式。该领域的大部分资助工作都归类为专有工作。因此,无法报告正在进行的工作的全部范围。大多数工作是应用神经网络,例如Hopfield-Tank网络进行优化和调度。
6.3.1 营销
有一个营销应用程序已与神经网络系统集成。航空营销策略师(缩写为AMT的商标)是由包括专家系统在内的各种智能技术构成的计算机系统。前馈神经网络与AMT集成在一起,并使用反向传播进行训练,以协助航空公司座位分配的营销控制。自适应神经方法适用于规则表达。此外,应用程序的环境变化迅速且不断变化,这需要持续的自适应解决方案。该系统用于监控和推荐每次出发的预订建议。这些信息直接影响航空公司的盈利能力,并可为系统用户提供技术优势。[Hutchison&Stephens,1987]
虽然神经网络已应用于此问题具有重要意义,但同样重要的是要看到这种智能技术可以与专家系统和其他方法集成以构建功能系统。神经网络用于发现各种变量对未定义的相互作用的影响。虽然没有定义这些相互作用,但神经系统使用它们来得出有用的结论。值得注意的是,神经网络可以影响底线。
6.3.2 信用评估
由Robert Hecht-Nielsen创立的HNC公司开发了几种神经网络应用程序。其中之一是信用评分系统,它将现有模型的盈利能力提高了27%。HNC神经系统也适用于抵押筛选。Nestor公司开发了神经网络自动抵押保险承保系统。该系统经过5048次申请培训,其中2597份获得认证。有关财产和借款人资格的数据。在保守模式下,系统在97%的案件中同意承保人。在自由主义模型中,该系统同意了84%的案例。这是在Apollo DN3000上运行的系统,在大约1秒内处理案例文件时使用250K内存。
回到目录
- 结论
计算世界有很多东西要从神经网络中获益。他们通过实例学习的能力使他们非常灵活和强大。此外,不需要设计算法来执行特定任务; 即,没有必要了解该任务的内部机制。它们也非常适合实时系统,因为它们具有快速响应和计算时间,这是由于它们的并行体系结构。
神经网络也有助于其他研究领域,如神经病学和心理学。它们经常用于模拟生物体的部分并研究大脑的内部机制。
也许神经网络最令人兴奋的方面是有可能产生某些“有意义”的网络。有许多科学家认为,意识是一种“机械”属性,“有意识”的神经网络是一种现实的可能性。
最后,我想指出,即使神经网络具有巨大的潜力,我们只有在它们与计算,人工智能,模糊逻辑和相关主题相结合时才能获得最佳效果。