智能计算之神经网络(BP)介绍

Posted 洋洋菜鸟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了智能计算之神经网络(BP)介绍相关的知识,希望对你有一定的参考价值。

目录

1. 神经网络流行原因

2. 人工神经网络定义

3. 人工神经网络的学习能力

4. 人工神经网络的基本原理

5. 神经网络的研究进展

6. 神经网络的典型结构

6.1 单层感知器网络

6.2 前馈型网络

6.3 前馈内层互联网络

6.4 反馈型网络

6.5 全互联网络

7. 神经网络的学习算法

7.1 学习方法

7.2 学习规则

8. BP神经网络

8.1 基本思想

8.2 算法流程

8.3 举例


1. 神经网络流行原因

        人工神经网络之所以如此流行,源于人工神经网络具有的特点和优越性,主要表现在以下三个方面:
        (1)具有自学习功能.例如,实现图像识别时,只要先把许多不同的图像样板和对应的识别结果输入人工神经网络,网络就会通过自学习功能,慢慢学会识别类似的图像.自学习功能对于预测有特别重要的意义,预期未来的人工神经网络计算机将为人类提供经济预测,市场预测,效益预测,其应用前途是很远大的.
        (2)具有联想储存功能.用人工神经网络的反馈网络就可以实现这种联想.(3)具有高速寻找优化解的能力.寻找一个复杂问题的优化解,往往需要很大的计算量,利用一个针对某问题而设计的反馈型人工神经网络,发挥计算机的高速运算能力,可能很快找到优化解.

2. 人工神经网络定义

        人工神经网络模拟人脑及其活动的一个数学模型,它由大量的处理单元(process element)通过适当的方式互联构成,是一个大规模的非线性自适应系统.1988年,Hecht-Nielsen曾经对人工神经网络给出了如下的定义:
        “人工神经网络是一个并行、分布处理结构,它由处理单元及称为联结的无向信号通道互联而成.这些处理单元具有局部内存,并可以完成局部操作.每个处理单元有一个单一的输出连接,这个输出可以根据需要被分支多个并行联结,而且这些并行联结都输出相同的信号,即相应处理单元的信号及其信号的太小不因分支的多少而变化.处理单元的输出信号可以是任何需要的数学模型,每个处理单元中进行的操作必须是完全局部的.也就是说,它必须仅仅依赖于经过输入联结到达处理单元的所有输入信号的当前值和储存在处理单元局部范围的值.”

该定义主要强调了神经网络以下4个方面的内容:

        (1)并行、分布处理结构;
        (2)一个处理单元的输出可以被任意分支且大小不变;
        (3)输出信号可以是任意的数学模型;
        (4)处理单元的局部操作
        这里说的处理单元就是人工神经元(artificial neuron ,AN). 

按照Rumellhart ,MeClelland , Hinton等提出的并行分布处理系统(paralleldistributed processing ,PDP)模型,人工神经网络由以下8个方面的要素组成:

        (1)一组处理单元(PE或AN);
        (2)处理单元的激活状态(a);
        (3)每个处理单元的输出函数(f);
        (4)处理单元之间的联结模式;
        (5)传递规则;
        (6)把处理单元的输入及当前状态结合起来产生激活值的激活规则(F);
        (7)通过经验修改联结强度的学习规则;
        (8)系统运行的环境(样本集合). 

1987年.Simpson从人工神经网络的拓扑结构出发,给出了如下一个虽然不太严格但却简明扼要的定义:
“人工神经网络是一个非线性的有向图.图中含有可以通过改变权值大小来存放模式的加权边,并且可以从不完整或未知的输入找到模式.”
对一般的应用来说,人工神经网络除了可以叫做 PDP 以外,还可以叫做人工神经系统(ANS)、神经网络(NN)、自适应系统(adaptive systems)、自适应网(adap-tive networks),联结模型(connectionism)和神经计算机(neuron computer)等.

人工神经网络不仅在形式上模拟了生物神经系统,它在以下两个方面确实具有大脑的一些基本特征:
        (1)神经元及其联结.从系统构成的形式上看,由于人工神经网络是受生物神经系统的启发构成的,从神经元本身到联结模式,基本上都是以与生物神经系统相似的方式工作的.这里的AN与生物神经元(BN)相对应,可以改变强度的联结则与突触相对应.
        (2)信息的储存与处理.从表现特征上来看,人工神经网络也力求模拟生物神经系统的基本运行方式.例如,可以通过相应的学习/训练算法,将蕴含在一个较大数据集中的数据联系抽象出来,就像人们可以不断地探索规律,总结经验一样,可以从先前得到的例子找出一般规律或一般框架,再按要求产生出新的实例.

3. 人工神经网络的学习能力

        人工神经网络可以根据所在的环境来改变它的行为.也就是说,人工神经网络可以接受用户提交的样本集合,依照系统给定的算法,不断地修正用来确定系统行为的神经元之间联结的强度,而且在网络的基本构成确定之后,这种改变是根据其接受的样本集合自然地进行的.一般来说,用户不需要再根据所遇到的样本集合去对网络的学习算法作相应的调整,也就是说,人工神经网络具有良好的学习功能.
        神经网络与传统的人工智能系统的学习问题形成对照.在传统的人工智能系统的研究中,虽然人们对“机器学习”问题给予了足够的重视并倾注了极大的努力,但是,系统的自学习能力差依然是阻碍这些系统获得广泛应用的最大障碍,而人工神经网络具有良好的学习功能的这一性能,使得人们对它产生了极大的兴趣.人工神经网络的这一特性被称为“自然具有的学习功能”.
        在学习过程中,人工神经网络不断地从所接受的样本集合中提取该集合所蕴含的基本信息,并将其以神经元之间的联结权重的形式储存在系统中.例如,对于某一模式,可以用它的含有不同噪声的数据去训练一个网络,在这些数据选择得比较恰当的前提下,使得网络今后在遇到类似的含有一定缺陷的数据时,仍然能够得到它对应的完整的模式.这表明,人工神经网络可以学会按要求产生它从未遇到过的模式.人工神经网络的这一功能叫做“抽象”.

4. 人工神经网络的基本原理

神经元的结构如下:

 在生物上有生物神经元,那生物神经元和人工神经元关系怎样呢?

从图中我们可大致得出人工神经元是如何模仿生物的神经元进行工作的过程:

5. 神经网络的研究进展

6. 神经网络的典型结构

人工神经网络有很多种不同的模型,通常可按以下5个原则进行归类。·

  • 按照网络的结构区分,有前向网络和反馈网络。
  • 按照学习方式区分,有有监督学习网络和无监督学习网络。
  • 按照网络性能区分,有连续型和离散型网络,随机型和确定型网络。·按照突触性质区分,有一阶线性关联网络和高阶非线性关联网络。
  • 按对生物神经系统的层次模拟区分,有神经元层次模型,组合式模型﹑网络层次模型﹑神经系统层次模型和智能型模型。

6.1 单层感知器网络

        单层感知器是最早使用的,也是最简单的神经网络结构,由一个或多个线性阈值单元组成。

由于这种网络结构相对简单,因此能力也非常的有限,一般比较少用。

6.2 前馈型网络

        前馈型网络的信号由输入层到输出层单向传输。

        每层的神经元仅与其前一层的神经元相连,仅接受前一层传输来的信息。

        是一种非常广泛使用的神经网络模型,因为它本身的结构也不太复杂,学习和调整方案也比较容易操作,而且由于采用了多层的网络结构,其求解问题的能力也得到明显的加强,基本上可以满足使用要求。

6.3 前馈内层互联网络

        这种网络结构从外部看还是一个前馈型的网络,但是内部有一些节点在层内互连。

6.4 反馈型网络

        这种网络结构在输入输出之间还建立了另外一种关系,就是网络的输出层存在一个反馈回路到输入层作为输入层的一个输入,而网络本身还是前馈型的。

        这种神经网络的输入层不仅接受外界的输入信号,同时接受网络自身的输出信号。输出反馈信号可以是原始输出信号,也可以是经过转化的输出信号;可以是本时刻的输出信号,也可以是经过一定延迟的输出信号。

        此种网络经常用于系统控制、实时信号处理等需要根据系统当前状态进行调节的场合。

6.5 全互联网络

全互联网络是网络中所有的神经元之间有相互间的连接。

 如HopfiledBoltgmann网络都是这种类型。

7. 神经网络的学习算法

7.1 学习方法

  • Supervised learning 监督学习:是有特征(feature)和标签(label)的,即便是没有标签的,机器也是可以通过特征和标签之间的关系,判断出标签。
  • Unsupervised learning 无监督学习:只有特征,没有标签。
  • Semi-Supervised learning 半监督学习:使用的数据,一部分是标记过的,而大部分是没有标记的。和监督学习相比较,半监督学习的成本较低,但是又能达到较高的准确度。
  • Reinforcement learning 强化学习:强化学习也是使用未标记的数据,但是可以通过一些方法知道你是离正确答案越来越近还是越来越远(奖惩函数)。

7.2 学习规则

Hebb学习规则:简单理解就是,如果处理单元从另一个处理单元接受到一个输入,并且如果两个单元都处于高度活动状态,这时两单元间的连接权重就要被加强。
Hebb学习规则是一种没有指导的学习方法,它只根据神经元连接间的激活水平改变权重,因此此这种方法又称为相关学习或并联学习。

Delta(δ \\deltaδ)学习规则:Delta规则是最常用的学习规则,其要点是改变单元间的连接权重来减小系统实际输出与应有的输出间的误差。
这个规则也叫Widrow-Hoff学习规则,首先在Adaline模型中应用,也可称为最小均方差规则。

BP网络的学习算法称为BP算法,是在Delta规则基础上发展起来的,可在多层网络上有效地学习。

梯度下降学习规则:梯度下降学习规则的要点为在学习过程中,保持误差曲线的梯度下降。
误差曲线可能会出现局部的最小值,在网络学习时,应尽可能摆脱误差的局部最小值,而达到真正的误差最小值 。
目前我们接触到的很多降低损失函数值的算法利用的就是梯度下降的学习规则。而梯度下降具体也有很多种类别,感兴趣的可以自行去了解哦。

Kohonen学习规则:该规则是由Teuvo Kohonen在研究生物系统学习的基础上提出的,只用于没有指导下训练的网络。

后向传播学习规则:后向传播(Back Propagation,BP)学习,是应用非常广泛的神经网络学习规则。

概率式学习规则:从统计力学、分子热力学和概率论中关于系统稳态能量的标准出发,进行神经网络学习的方式称概率式学习。
误差曲线可能会出现局部的最小值,在网络学习时,应尽可能摆脱误差的局部最小值,而达到真正的误差最小值 。

竞争式学习规则:竞争式学习属于无监督学习方式。这种学习方式是利用不同层间的神经元发生兴奋性联接以及同一层内距离很近的神经元间发生同样的兴奋性联接,而距离较远的神经无产生抑制性联接。
竞争式学习规则的本质在于神经网络中高层次的神经元对低层次神经元的输入模式进行竞争识别。

8. BP神经网络

8.1 基本思想

        BP神经网络也称:后向传播学习的前馈型神经网络(Back Propagation Feed-forward Neural Network,BPFNN/BPNN),是一种应用最为广泛的神经网络。

        在BPNN中,后向传播是一种学习算法,体现为BPNN的训练过程,该过程是需要教师指导的;前馈型网络是一种结构,体现为BPNN的网络构架。

        反向传播算法通过迭代处理的方式,不断地调整连接神经元的网络权重,使得最终输出结果和预期结果的误差最小。

        BPNN是一种典型的神经网络,广泛应用于各种分类系统,它也包括了训练和使用两个阶段。由于训练阶段是BPNN能够投入使用的基础和前提,而使用阶段本身是一个非常简单的过程,也就是给出输入,BPNN会根据已经训练好的参数进行运算,得到输出结果。

8.2 算法流程

 其实这个本质上与感知机的原理是有相似之处的。

步骤如下:

8.3 举例

洋洋就介绍到这里了,我也是初次学,请大家指教,有问题之间评论或私聊即可,看到就会回复哦,先说好,我不知我什么时候会上线哦,有时候一个星期也不来一次的。哈哈哈! 

 

以上是关于智能计算之神经网络(BP)介绍的主要内容,如果未能解决你的问题,请参考以下文章

人工智能详细笔记 :卷积神经网络(CNN)

基于BP神经网络的草莓等级识别,BP神经网络的详细原理,神经网络1000案例之7

神经网络学习 之 BP神经网络

BP算法、BP神经网络、遗传算法、神经网络这四者之间的关系

bp神经网络预测算法参数作用

数模智能算法BP神经网络基本算法原理