神经网络的学习主要是指使用学习算法来调整神经元间的连接权,使得网路输出更加符合实际。学习算法分为监督学习(Supervised Learning)与无监督学习(Unsupervised Learning)两类: 1、有监督学习算法将一组训练集(Training Set)送入网络,根据网络的实际输出与期望输出间的差别来调整连接权。有监督学习算法的主要步骤包括: a) 从样本集合中取出一个样本(Ai,Bi); b) 计算网络的实际输出O; c) 求D = Bi – O; d) 根据D调整权矩阵W; e) 对每个样本重复上述过程,直到对整个样本集来说,误差不超过规定范围。 BP算法就是一种出色的有监督学习算法。 2、无监督学习抽取样本集合中蕴含的统计特性,并以神经元之间的连接权的形式存于网络中。Hebb学习率是一种典型的无监督学习算法。
是非线性多层前向网络,在任何情况下可以互相代替。
BP神经网络是一种全局逼近网络,学习速率相对慢些,不适合实时性等要求较高的场合。
RBF网络被证明对非线性网络具有一致逼近性,可以逼近任意的非线性函数,结构简单,并且具有很快的学习收敛速度。
深度神经网络是机器学习(ML, Machine Learning)领域中一种技术。
在监督学习中,以前的多层神经网络的问题是容易陷入局部极值点。如果训练样本足够充分覆盖未来的样本,那么学到的多层权重可以很好的用来预测新的测试样本。但是很多任务难以得到足够多的标记样本,在这种情况下,简单的模型,比如线性回归或者决策树往往能得到比多层神经网络更好的结果(更好的泛化性,更差的训练误差)。
扩展资料:
非监督学习中,以往没有有效的方法构造多层网络。多层神经网络的顶层是底层特征的高级表示,比如底层是像素点,上一层的结点可能表示横线,三角。
而顶层可能有一个结点表示人脸。一个成功的算法应该能让生成的顶层特征最大化的代表底层的样例。如果对所有层同时训练,时间复杂度会太高; 如果每次训练一层,偏差就会逐层传递。这会面临跟上面监督学习中相反的问题,会严重欠拟合。
神经网络最重要的用途是分类,为了让大家对分类有个直观的认识,咱们先看几个例子:
垃圾邮件识别:现在有一封电子邮件,把出现在里面的所有词汇提取出来,送进一个机器里,机器需要判断这封邮件是否是垃圾邮件。疾病判断:病人到医院去做了一大堆肝功、尿检测验,把测验结果送进一个机器里,机器需要判断这个病人是否得病,得的什么病。猫狗分类:有一大堆猫、狗照片,把每一张照片送进一个机器里,机器需要判断这幅照片里的东西是猫还是狗。这种能自动对输入的东西进行分类的机器,就叫做分类器。分类器的输入是一个数值向量,叫做特征(向量)。在第一个例子里,分类器的输入是一堆 0、1 值,表示字典里的每一个词是否在邮件中出现,比如向量 (1,1,0,0,0……) 就表示这封邮件里只出现了两个词 abandon 和 abnormal;第二个例子里,分类器的输入是一堆化验指标;第三个例子里,分类器的输入是照片,假如每一张照片都是 320240 像素的红绿蓝三通道彩色照片,那么分类器的输入就是一个长度为 3202403=230400 的向量。分类器的输出也是数值。第一个例子中,输出 1 表示邮件是垃圾邮件,输出 0 则说明邮件是正常邮件;第二个例子中,输出 0 表示健康,输出 1 表示有甲肝,输出 2 表示有乙肝,输出 3 表示有饼干等等;第三个例子中,输出 0 表示中是狗,输出 1 表示是猫。
分类器的目标就是让正确分类的比例尽可能高。一般我们需要首先收集一些样本,人为标记上正确分类结果,然后用这些标记好的数据训练分类器,训练好的分类器就可以在新来的特征向量上工作了。
由于神经网络是多学科交叉的产物,各个相关的学科领域对神经网络
都有各自的看法,因此,关于神经网络的定义,在科学界存在许多不同的
见解。目前使用得最广泛的是TKoholen的定义,即"神经网络是由具有适
应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经
系统对真实世界物体所作出的交互反应。"
如果我们将人脑神经信息活动的特点与现行冯·诺依曼计算机的工作方
式进行比较,就可以看出人脑具有以下鲜明特征:
1 巨量并行性。
在冯·诺依曼机中,信息处理的方式是集中、串行的,即所有的程序指
令都必须调到CPU中后再一条一条地执行。而人在识别一幅图像或作出一项
决策时,存在于脑中的多方面的知识和经验会同时并发作用以迅速作出解答。
据研究,人脑中约有多达10^(10)~10^(11)数量级的神经元,每一个神经元
具有103数量级的连接,这就提供了巨大的存储容量,在需要时能以很高的
反应速度作出判断。
2 信息处理和存储单元结合在一起。
在冯·诺依曼机中,存储内容和存储地址是分开的,必须先找出存储器的
地址,然后才能查出所存储的内容。一旦存储器发生了硬件故障,存储器中
存储的所有信息就都将受到毁坏。而人脑神经元既有信息处理能力又有存储
功能,所以它在进行回忆时不仅不用先找存储地址再调出所存内容,而且可
以由一部分内容恢复全部内容。当发生"硬件"故障(例如头部受伤)时,并
不是所有存储的信息都失效,而是仅有被损坏得最严重的那部分信息丢失。
3 自组织自学习功能。
冯·诺依曼机没有主动学习能力和自适应能力,它只能不折不扣地按照
人们已经编制好的程序步骤来进行相应的数值计算或逻辑计算。而人脑能够
通过内部自组织、自学习的能力,不断地适应外界环境,从而可以有效地处
理各种模拟的、模糊的或随机的问题。
神经网络研究的主要发展过程大致可分为四个阶段:
1 第一阶段是在五十年代中期之前。
西班牙解剖学家Cajal于十九世纪末创立了神经元学说,该学说认为神经
元的形状呈两极,其细胞体和树突从其他神经元接受冲动,而轴索则将信号
向远离细胞体的方向传递。在他之后发明的各种染色技术和微电极技术不断
提供了有关神经元的主要特征及其电学性质。
1943年,美国的心理学家WSMcCulloch和数学家WAPitts在论文《神经
活动中所蕴含思想的逻辑活动》中,提出了一个非常简单的神经元模型,即
M-P模型。该模型将神经元当作一个功能逻辑器件来对待,从而开创了神经
网络模型的理论研究。
1949年,心理学家DO Hebb写了一本题为《行为的组织》的书,在这本
书中他提出了神经元之间连接强度变化的规则,即后来所谓的Hebb学习法则。
Hebb写道:"当神经细胞A的轴突足够靠近细胞B并能使之兴奋时,如果A重
复或持续地激发B,那么这两个细胞或其中一个细胞上必然有某种生长或代
谢过程上的变化,这种变化使A激活B的效率有所增加。"简单地说,就是
如果两个神经元都处于兴奋状态,那么它们之间的突触连接强度将会得到增
强。
五十年代初,生理学家Hodykin和数学家Huxley在研究神经细胞膜等效电
路时,将膜上离子的迁移变化分别等效为可变的Na+电阻和K+电阻,从而建
立了著名的Hodykin-Huxley方程。
这些先驱者的工作激发了许多学者从事这一领域的研究,从而为神经计
算的出现打下了基础。
2 第二阶段从五十年代中期到六十年代末。
1958年,FRosenblatt等人研制出了历史上第一个具有学习型神经网络
特点的模式识别装置,即代号为Mark I的感知机(Perceptron),这一重
大事件是神经网络研究进入第二阶段的标志。对于最简单的没有中间层的
感知机,Rosenblatt证明了一种学习算法的收敛性,这种学习算法通过迭代
地改变连接权来使网络执行预期的计算。
稍后于Rosenblatt,BWidrow等人创造出了一种不同类型的会学习的神经
网络处理单元,即自适应线性元件Adaline,并且还为Adaline找出了一种有
力的学习规则,这个规则至今仍被广泛应用。Widrow还建立了第一家神经计
算机硬件公司,并在六十年代中期实际生产商用神经计算机和神经计算机软
件。
除Rosenblatt和Widrow外,在这个阶段还有许多人在神经计算的结构和
实现思想方面作出了很大的贡献。例如,KSteinbuch研究了称为学习矩阵
的一种二进制联想网络结构及其硬件实现。NNilsson于1965年出版的
《机器学习》一书对这一时期的活动作了总结。
3 第三阶段从六十年代末到八十年代初。
第三阶段开始的标志是1969年MMinsky和SPapert所著的《感知机》一书
的出版。该书对单层神经网络进行了深入分析,并且从数学上证明了这种网
络功能有限,甚至不能解决象"异或"这样的简单逻辑运算问题。同时,他们
还发现有许多模式是不能用单层网络训练的,而多层网络是否可行还很值得
怀疑。
由于MMinsky在人工智能领域中的巨大威望,他在论著中作出的悲观结论
给当时神经网络沿感知机方向的研究泼了一盆冷水。在《感知机》一书出版
后,美国联邦基金有15年之久没有资助神经网络方面的研究工作,前苏联也
取消了几项有前途的研究计划。
但是,即使在这个低潮期里,仍有一些研究者继续从事神经网络的研究工
作,如美国波士顿大学的SGrossberg、芬兰赫尔辛基技术大学的TKohonen
以及日本东京大学的甘利俊一等人。他们坚持不懈的工作为神经网络研究的
复兴开辟了道路。
4 第四阶段从八十年代初至今。
1982年,美国加州理工学院的生物物理学家JJHopfield采用全互连型
神经网络模型,利用所定义的计算能量函数,成功地求解了计算复杂度为
NP完全型的旅行商问题(Travelling Salesman Problem,简称TSP)。这
项突破性进展标志着神经网络方面的研究进入了第四阶段,也是蓬勃发展
的阶段。
Hopfield模型提出后,许多研究者力图扩展该模型,使之更接近人脑的
功能特性。1983年,TSejnowski和GHinton提出了"隐单元"的概念,并且
研制出了Boltzmann机。日本的福岛邦房在Rosenblatt的感知机的基础上,
增加隐层单元,构造出了可以实现联想学习的"认知机"。Kohonen应用3000
个阈器件构造神经网络实现了二维网络的联想式学习功能。1986年,
DRumelhart和JMcClelland出版了具有轰动性的著作《并行分布处理-认知
微结构的探索》,该书的问世宣告神经网络的研究进入了高潮。
1987年,首届国际神经网络大会在圣地亚哥召开,国际神经网络联合会
(INNS)成立。随后INNS创办了刊物《Journal Neural Networks》,其他
专业杂志如《Neural Computation》,《IEEE Transactions on Neural
Networks》,《International Journal of Neural Systems》等也纷纷
问世。世界上许多著名大学相继宣布成立神经计算研究所并制订有关教育
计划,许多国家也陆续成立了神经网络学会,并召开了多种地区性、国际性
会议,优秀论著、重大成果不断涌现。
今天,在经过多年的准备与探索之后,神经网络的研究工作已进入了决
定性的阶段。日本、美国及西欧各国均制订了有关的研究规划。
日本制订了一个"人类前沿科学计划"。这项计划为期15-20年,仅
初期投资就超过了1万亿日元。在该计划中,神经网络和脑功能的研究占有
重要地位,因为所谓"人类前沿科学"首先指的就是有关人类大脑以及通过
借鉴人脑而研制新一代计算机的科学领域。
在美国,神经网络的研究得到了军方的强有力的支持。美国国防部投资
4亿美元,由国防部高级研究计划局(DAPRA)制订了一个8年研究计划,
并成立了相应的组织和指导委员会。同时,海军研究办公室(ONR)、空军
科研办公室(AFOSR)等也纷纷投入巨额资金进行神经网络的研究。DARPA认
为神经网络"看来是解决机器智能的唯一希望",并认为"这是一项比原子d
工程更重要的技术"。美国国家科学基金会(NSF)、国家航空航天局(NASA)
等政府机构对神经网络的发展也都非常重视,它们以不同的形式支持了众多
的研究课题。
欧共体也制订了相应的研究计划。在其ESPRIT计划中,就有一个项目是
"神经网络在欧洲工业中的应用",除了英、德两国的原子能机构外,还有多
个欧洲大公司卷进这个研究项目,如英国航天航空公司、德国西门子公司等。
此外,西欧一些国家还有自己的研究计划,如德国从1988年就开始进行一个
叫作"神经信息论"的研究计划。
我国从1986年开始,先后召开了多次非正式的神经网络研讨会。1990年
12月,由中国计算机学会、电子学会、人工智能学会、自动化学会、通信学
会、物理学会、生物物理学会和心理学会等八个学会联合在北京召开了"中
国神经网络首届学术会议",从而开创了我国神经网络研究的新纪元。
这两个概念实际上是互相交叉的,例如,卷积神经网络(Convolutional neural networks,简称CNNs)就是一种深度的监督学习下的机器学习模型,而深度置信网(Deep Belief Nets,简称DBNs)就是一种无监督学习下的机器学习模型。深度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。深度学习的概念由Hinton等人于2006年提出。基于深信度网(DBN)提出非监督贪心逐层训练算法,为解决深层结构相关的优化难题带来希望,随后提出多层自动编码器深层结构。此外Lecun等人提出的卷积神经网络是第一个真正多层结构学习算法,它利用空间相对关系减少参数数目以提高训练性能。BP神经网络是ANN人工神经中的一种,常用的神经网络有BP、RBF、SOM、Hopfield等等,其功能不经相同,可总体来说ANN的主要功能是模式识别和分类训练。最本质的区别可以说是学习方法不同,或者说模型的优化方法不同。前者应该是基于遗传算法进行网络权值的学习,而后者大都是采用反向传播(BP)算法进行权值学习,而这两种算法差异很大。建议你分别了解:
一个完整的人工神经网络包括输入层、一个或多个隐藏层和一个输出层。
神经网络,也称为人工神经网络 (ANN) 或模拟神经网络 (SNN),是机器学习的子集,并且是深度学习算法的核心。其名称和结构是受人类大脑的启发,模仿了生物神经元信号相互传递的方式。
人工神经网络 (ANN) 由节点层组成,包含一个输入层、一个或多个隐藏层和一个输出层。 每个节点也称为一个人工神经元,它们连接到另一个节点,具有相关的权重和阈值。 如果任何单个节点的输出高于指定的阈值,那么该节点将被激活,并将数据发送到网络的下一层。 否则,不会将数据传递到网络的下一层。
一旦确定了输入层,就会分配权重。 这些权重有助于确定任何给定变量的重要性,与其他输入相比,较大的权重对输出的贡献更大。 将所有输入乘以其各自的权重,然后求和。 之后,输出通过一个激活函数传递,该函数决定了输出结果。
如果该输出超出给定阈值,那么它将“触发”(或激活)节点,将数据传递到网络中的下一层。 这会导致一个节点的输出变成下一个节点的输入。 这种将数据从一层传递到下一层的过程规定了该神经网络为前馈网络。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)