导航:首页 > 网络共享 > 神经网络结构哪个更好

神经网络结构哪个更好

发布时间:2022-09-25 22:06:39

❶ 神经网络连接方式分为哪几类每一类有哪些特点

神经网络模型的分类
人工神经网络的模型很多,可以按照不同的方法进行分类。其中,常见的两种分类方法是,按照网络连接的拓朴结构分类和按照网络内部的信息流向分类。
1 按照网络拓朴结构分类
网络的拓朴结构,即神经元之间的连接方式。按此划分,可将神经网络结构分为两大类:层次型结构和互联型结构。
层次型结构的神经网络将神经元按功能和顺序的不同分为输出层、中间层(隐层)、输出层。输出层各神经元负责接收来自外界的输入信息,并传给中间各隐层神经元;隐层是神经网络的内部信息处理层,负责信息变换。根据需要可设计为一层或多层;最后一个隐层将信息传递给输出层神经元经进一步处理后向外界输出信息处理结果。

而互连型网络结构中,任意两个节点之间都可能存在连接路径,因此可以根据网络中节点的连接程度将互连型网络细分为三种情况:全互连型、局部互连型和稀疏连接型
2 按照网络信息流向分类
从神经网络内部信息传递方向来看,可以分为两种类型:前馈型网络和反馈型网络。
单纯前馈网络的结构与分层网络结构相同,前馈是因网络信息处理的方向是从输入层到各隐层再到输出层逐层进行而得名的。前馈型网络中前一层的输出是下一层的输入,信息的处理具有逐层传递进行的方向性,一般不存在反馈环路。因此这类网络很容易串联起来建立多层前馈网络。
反馈型网络的结构与单层全互连结构网络相同。在反馈型网络中的所有节点都具有信息处理功能,而且每个节点既可以从外界接受输入,同时又可以向外界输出。

❷ 前馈神经网络、BP神经网络、卷积神经网络的区别与联系

一、计算方法不同

1、前馈神经网络:一种最简单的神经网络,各神经元分层排列。每个神经元只与前一层的神经元相连。接收前一层的输出,并输出给下一层.各层间没有反馈。

2、BP神经网络:是一种按照误差逆向传播算法训练的多层前馈神经网络。

3、卷积神经网络:包含卷积计算且具有深度结构的前馈神经网络。

二、用途不同

1、前馈神经网络:主要应用包括感知器网络、BP网络和RBF网络。

2、BP神经网络:

(1)函数逼近:用输入向量和相应的输出向量训练一个网络逼近一个函数;

(2)模式识别:用一个待定的输出向量将它与输入向量联系起来;

(3)分类:把输入向量所定义的合适方式进行分类;

(4)数据压缩:减少输出向量维数以便于传输或存储。

3、卷积神经网络:可应用于图像识别、物体识别等计算机视觉、自然语言处理、物理学和遥感科学等领域。

联系:

BP神经网络和卷积神经网络都属于前馈神经网络,三者都属于人工神经网络。因此,三者原理和结构相同。

三、作用不同

1、前馈神经网络:结构简单,应用广泛,能够以任意精度逼近任意连续函数及平方可积函数.而且可以精确实现任意有限训练样本集。

2、BP神经网络:具有很强的非线性映射能力和柔性的网络结构。网络的中间层数、各层的神经元个数可根据具体情况任意设定,并且随着结构的差异其性能也有所不同。

3、卷积神经网络:具有表征学习能力,能够按其阶层结构对输入信息进行平移不变分类。

(2)神经网络结构哪个更好扩展阅读

1、BP神经网络优劣势

BP神经网络无论在网络理论还是在性能方面已比较成熟。其突出优点就是具有很强的非线性映射能力和柔性的网络结构。网络的中间层数、各层的神经元个数可根据具体情况任意设定,并且随着结构的差异其性能也有所不同。但是BP神经网络也存在以下的一些主要缺陷。

①学习速度慢,即使是一个简单的问题,一般也需要几百次甚至上千次的学习才能收敛。

②容易陷入局部极小值。

③网络层数、神经元个数的选择没有相应的理论指导。

④网络推广能力有限。

2、人工神经网络的特点和优越性,主要表现在以下三个方面

①具有自学习功能。例如实现图像识别时,只在先把许多不同的图像样板和对应的应识别的结果输入人工神经网络,网络就会通过自学习功能,慢慢学会识别类似的图像。自学习功能对于预测有特别重要的意义。预期未来的人工神经网络计算机将为人类提供经济预测、效益预测,其应用前途是很远大的。

②具有联想存储功能。用人工神经网络的反馈网络就可以实现这种联想。

③具有高速寻找优化解的能力。寻找一个复杂问题的优化解,往往需要很大的计算量,利用一个针对某问题而设计的反馈型人工神经网络,发挥计算机的高速运算能力,可能很快找到优化解。

❸ CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别

如下:

1、DNN:存在着一个问题——无法对时间序列上的变化进行建模。然而,样本出现的时间顺序对于自然语言处理、语音识别、手写体识别等应用非常重要。对了适应这种需求,就出现了另一种神经网络结构——循环神经网络RNN。

2、CNN:每层神经元的信号只能向上一层传播,样本的处理在各个时刻独立,因此又被称为前向神经网络。

3、RNN:神经元的输出可以在下一个时间戳直接作用到自身,即第i层神经元在m时刻的输入,除了(i-1)层神经元在该时刻的输出外,还包括其自身在(m-1)时刻的输出!

介绍

神经网络技术起源于上世纪五、六十年代,当时叫感知机(perceptron),拥有输入层、输出层和一个隐含层。输入的特征向量通过隐含层变换达到输出层,在输出层得到分类结果。早期感知机的推动者是Rosenblatt。

在实际应用中,所谓的深度神经网络DNN,往往融合了多种已知的结构,包括卷积层或是LSTM单元。

❹ CNN、RNN、DNN的内部网络结构有什么区别

从广义上来说,NN(或是更美的DNN)确实可以认为包含了CNN、RNN这些具体的变种形式。在实际应用中,所谓的深度神经网络DNN,往往融合了多种已知的结构,包括卷积层或是LSTM单元。但是就题主的意思来看,这里的DNN应该特指全连接的神经元结构,并不包含卷积单元或是时间上的关联。
因此,题主一定要将DNN、CNN、RNN等进行对比,也未尝不可。其实,如果我们顺着神经网络技术发展的脉络,就很容易弄清这几种网络结构发明的初衷,和他们之间本质的区别。神经网络技术起源于上世纪五、六十年代,当时叫感知机(perceptron),拥有输入层、输出层和一个隐含层。输入的特征向量通过隐含层变换达到输出层,在输出层得到分类结果。
早期感知机的推动者是Rosenblatt。(扯一个不相关的:由于计算技术的落后,当时感知器传输函数是用线拉动变阻器改变电阻的方法机械实现的,脑补一下科学家们扯着密密麻麻的导线的样子…)但是,Rosenblatt的单层感知机有一个严重得不能再严重的问题,即它对稍复杂一些的函数都无能为力(比如最为典型的“异或”操作)。
连异或都不能拟合,你还能指望这货有什么实际用途么。随着数学的发展,这个缺点直到上世纪八十年代才被Rumelhart、Williams、Hinton、LeCun等人(反正就是一票大牛)发明的多层感知机(multilayer perceptron)克服。多层感知机,顾名思义,就是有多个隐含层的感知机。

❺ 神经网络优缺点,

优点:

(1)具有自学习功能。例如实现图像识别时,只在先把许多不同的图像样板和对应的应识别的结果输入人工神经网络,网络就会通过自学习功能,慢慢学会识别类似的图像。

自学习功能对于预测有特别重要的意义。预期未来的人工神经网络计算机将为人类提供经济预测、市场预测、效益预测,其应用前途是很远大的。

(2)具有联想存储功能。用人工神经网络的反馈网络就可以实现这种联想。

(3)具有高速寻找优化解的能力。寻找一个复杂问题的优化解,往往需要很大的计算量,利用一个针对某问题而设计的反馈型人工神经网络,发挥计算机的高速运算能力,可能很快找到优化解。

缺点:

(1)最严重的问题是没能力来解释自己的推理过程和推理依据。

(2)不能向用户提出必要的询问,而且当数据不充分的时候,神经网络就无法进行工作。

(3)把一切问题的特征都变为数字,把一切推理都变为数值计算,其结果势必是丢失信息。

(4)理论和学习算法还有待于进一步完善和提高。

(5)神经网络结构哪个更好扩展阅读:

神经网络发展趋势

人工神经网络特有的非线性适应性信息处理能力,克服了传统人工智能方法对于直觉,如模式、语音识别、非结构化信息处理方面的缺陷,使之在神经专家系统、模式识别、智能控制、组合优化、预测等领域得到成功应用。

人工神经网络与其它传统方法相结合,将推动人工智能和信息处理技术不断发展。近年来,人工神经网络正向模拟人类认知的道路上更加深入发展,与模糊系统、遗传算法、进化机制等结合,形成计算智能,成为人工智能的一个重要方向,将在实际应用中得到发展。

将信息几何应用于人工神经网络的研究,为人工神经网络的理论研究开辟了新的途径。神经计算机的研究发展很快,已有产品进入市场。光电结合的神经计算机为人工神经网络的发展提供了良好条件。

神经网络在很多领域已得到了很好的应用,但其需要研究的方面还很多。其中,具有分布存储、并行处理、自学习、自组织以及非线性映射等优点的神经网络与其他技术的结合以及由此而来的混合方法和混合系统,已经成为一大研究热点。

由于其他方法也有它们各自的优点,所以将神经网络与其他方法相结合,取长补短,继而可以获得更好的应用效果。目前这方面工作有神经网络与模糊逻辑、专家系统、遗传算法、小波分析、混沌、粗集理论、分形理论、证据理论和灰色系统等的融合。

参考资料:网络-人工神经网络

❻ 前馈神经网络、BP神经网络、卷积神经网络的区别与联系

区别:

一、计算方法不同

1、前馈神经网络:一种最简单的神经网络,各神经元分层排列。每个神经元只与前一层的神经元相连。接收前一层的输出,并输出给下一层.各层间没有反馈。

2、BP神经网络:是一种按照误差逆向传播算法训练的多层前馈神经网络。

3、卷积神经网络:包含卷积计算且具有深度结构的前馈神经网络。

二、作用不同

1、前馈神经网络:结构简单,应用广泛,能够以任意精度逼近任意连续函数及平方可积函数.而且可以精确实现任意有限训练样本集。

2、BP神经网络:具有很强的非线性映射能力和柔性的网络结构。网络的中间层数、各层的神经元个数可根据具体情况任意设定,并且随着结构的差异其性能也有所不同。

3、卷积神经网络:具有表征学习能力,能够按其阶层结构对输入信息进行平移不变分类。

三、用途不同

1、前馈神经网络:主要应用包括感知器网络、BP网络和RBF网络。

2、BP神经网络:1)函数逼近:用输入向量和相应的输出向量训练一个网络逼近一个函数;2)模式识别:用一个待定的输出向量将它与输入向量联系起来;3)分类:把输入向量所定义的合适方式进行分类;4)数据压缩:减少输出向量维数以便于传输或存储。

3、卷积神经网络:可应用于图像识别、物体识别等计算机视觉、自然语言处理、物理学和遥感科学等领域。

联系:

BP神经网络和卷积神经网络都属于前馈神经网络,三者都属于人工神经网络。因此,三者原理和结构相同。

(6)神经网络结构哪个更好扩展阅读

人工神经网络的优点:

1、具有自学习功能。自学习功能对于预测有特别重要的意义。预期未来的人工神经网络计算机将为人类提供经济预测、市场预测、效益预测,其应用前途是很远大的。

2、具有联想存储功能。用人工神经网络的反馈网络就可以实现这种联想。

3、具有高速寻找优化解的能力。寻找一个复杂问题的优化解,往往需要很大的计算量,利用一个针对某问题而设计的反馈型人工神经网络,发挥计算机的高速运算能力,可很快找到优化解。

❼ 复合性神经网络有什么优点

神经网络是人工智能中深度学习的一个重要技术,但是神经网络也是具有一定的局限性的,在处理特殊场景的时候会有一点麻烦,然而现在有一种特殊的方式使得神经网络能够比以前更强大,这种技术就是复合型神经网络。那么复合性神经网络有什么优点呢?下面我们就给大家介绍一下这个概念。
其实如果要想了解复合性神经网络,就需要知道复合性的原则,而复合性是一条通用原则,我们可以把它描述为一种相信世界是可知的信念,我们可以把事物分解、理解它们,然后在意念中自由地重新组合它们。这其中的关键假设是,事物都是按照某一套法则从基础的子结构复合成更大的结构的。这意味着,我们可以从有限的数据中学习到子结构和组合法则,然后把它们泛化到复合性的情境中。
当然,复合性神经网络和深度神经网络不同,复合性模型需要结构化的表征,其中要显式地表示出对象的结构和子结构。复合性模型也就拥有了外推到未曾见过的数据,对系统做推理、干涉和诊断,以及对于同样的知识结构回答不同问题的能力。
而复合性模型这个概念的优点已经在一些任务上得到了初步验证,在识别方面上,复合性神经网络的识别能力高于深度神经网络的能力,深度神经网络就无法维持高水平的表现。还有一些非平凡的视觉任务也表现出了相同的趋势,要推测最后一张的内容;图像之间的变化规律是复合性的,而且会有干扰。对于神经模块网络之类的自然语言模型,由于它们具有动态的网络结构,可以捕捉到一些有意义的组合,就可以在这样的任务中击败传统的神经网络。
当然,复合性模型也还有许多理想的理论属性,在可解释和生成样本表现十分出色。这可以让我们更方便地诊断错误,也就比深度神经网络这样的黑盒模型更难以被欺骗。但是复合性模型也很难学习,因为它需要同时学习基础结构和复合方法。而且,为了能够以生成的方式进行分析,复合性模型还需要搭配物体和场景的生成式模型。按分类生成图像到现在都还是一个有难度的课题。
当然还有更基础的知识,也就是说处理组合爆炸的问题还需要学习到三维世界事物的常识模型,以及学会这些模型和图像的对应关系。我们在这篇文章中给大家介绍了很多关于复合性模型的优点,这些优点都得到了工程师们的一致好评。相信在未来,会有更多的模型解决更多的问题。

❽ 一文看懂四种基本的神经网络架构

原文链接:
http://blackblog.tech/2018/02/23/Eight-Neural-Network/

更多干货就在我的个人博客 http://blackblog.tech 欢迎关注

刚刚入门神经网络,往往会对众多的神经网络架构感到困惑,神经网络看起来复杂多样,但是这么多架构无非也就是三类,前馈神经网络,循环网络,对称连接网络,本文将介绍四种常见的神经网络,分别是CNN,RNN,DBN,GAN。通过这四种基本的神经网络架构,我们来对神经网络进行一定的了解。

神经网络是机器学习中的一种模型,是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。
一般来说,神经网络的架构可以分为三类:

前馈神经网络:
这是实际应用中最常见的神经网络类型。第一层是输入,最后一层是输出。如果有多个隐藏层,我们称之为“深度”神经网络。他们计算出一系列改变样本相似性的变换。各层神经元的活动是前一层活动的非线性函数。

循环网络:
循环网络在他们的连接图中定向了循环,这意味着你可以按照箭头回到你开始的地方。他们可以有复杂的动态,使其很难训练。他们更具有生物真实性。
循环网络的目的使用来处理序列数据。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,每层之间的节点是无连接的。但是这种普通的神经网络对于很多问题却无能无力。例如,你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。
循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。

对称连接网络:
对称连接网络有点像循环网络,但是单元之间的连接是对称的(它们在两个方向上权重相同)。比起循环网络,对称连接网络更容易分析。这个网络中有更多的限制,因为它们遵守能量函数定律。没有隐藏单元的对称连接网络被称为“Hopfield 网络”。有隐藏单元的对称连接的网络被称为玻尔兹曼机。

其实之前的帖子讲过一些关于感知机的内容,这里再复述一下。
首先还是这张图
这是一个M-P神经元

一个神经元有n个输入,每一个输入对应一个权值w,神经元内会对输入与权重做乘法后求和,求和的结果与偏置做差,最终将结果放入激活函数中,由激活函数给出最后的输出,输出往往是二进制的,0 状态代表抑制,1 状态代表激活。

可以把感知机看作是 n 维实例空间中的超平面决策面,对于超平面一侧的样本,感知器输出 1,对于另一侧的实例输出 0,这个决策超平面方程是 w⋅x=0。 那些可以被某一个超平面分割的正反样例集合称为线性可分(linearly separable)样例集合,它们就可以使用图中的感知机表示。
与、或、非问题都是线性可分的问题,使用一个有两输入的感知机能容易地表示,而异或并不是一个线性可分的问题,所以使用单层感知机是不行的,这时候就要使用多层感知机来解决疑惑问题了。

如果我们要训练一个感知机,应该怎么办呢?
我们会从随机的权值开始,反复地应用这个感知机到每个训练样例,只要它误分类样例就修改感知机的权值。重复这个过程,直到感知机正确分类所有的样例。每一步根据感知机训练法则来修改权值,也就是修改与输入 xi 对应的权 wi,法则如下:

这里 t 是当前训练样例的目标输出,o 是感知机的输出,η 是一个正的常数称为学习速率。学习速率的作用是缓和每一步调整权的程度,它通常被设为一个小的数值(例如 0.1),而且有时会使其随着权调整次数的增加而衰减。

多层感知机,或者说是多层神经网络无非就是在输入层与输出层之间加了多个隐藏层而已,后续的CNN,DBN等神经网络只不过是将重新设计了每一层的类型。感知机可以说是神经网络的基础,后续更为复杂的神经网络都离不开最简单的感知机的模型,

谈到机器学习,我们往往还会跟上一个词语,叫做模式识别,但是真实环境中的模式识别往往会出现各种问题。比如:
图像分割:真实场景中总是掺杂着其它物体。很难判断哪些部分属于同一个对象。对象的某些部分可以隐藏在其他对象的后面。
物体光照:像素的强度被光照强烈影响。
图像变形:物体可以以各种非仿射方式变形。例如,手写也可以有一个大的圆圈或只是一个尖头。
情景支持:物体所属类别通常由它们的使用方式来定义。例如,椅子是为了让人们坐在上面而设计的,因此它们具有各种各样的物理形状。
卷积神经网络与普通神经网络的区别在于,卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。在卷积神经网络的卷积层中,一个神经元只与部分邻层神经元连接。在CNN的一个卷积层中,通常包含若干个特征平面(featureMap),每个特征平面由一些矩形排列的的神经元组成,同一特征平面的神经元共享权值,这里共享的权值就是卷积核。卷积核一般以随机小数矩阵的形式初始化,在网络的训练过程中卷积核将学习得到合理的权值。共享权值(卷积核)带来的直接好处是减少网络各层之间的连接,同时又降低了过拟合的风险。子采样也叫做池化(pooling),通常有均值子采样(mean pooling)和最大值子采样(max pooling)两种形式。子采样可以看作一种特殊的卷积过程。卷积和子采样大大简化了模型复杂度,减少了模型的参数。
卷积神经网络由三部分构成。第一部分是输入层。第二部分由n个卷积层和池化层的组合组成。第三部分由一个全连结的多层感知机分类器构成。
这里举AlexNet为例:

·输入:224×224大小的图片,3通道
·第一层卷积:11×11大小的卷积核96个,每个GPU上48个。
·第一层max-pooling:2×2的核。
·第二层卷积:5×5卷积核256个,每个GPU上128个。
·第二层max-pooling:2×2的核。
·第三层卷积:与上一层是全连接,3*3的卷积核384个。分到两个GPU上个192个。
·第四层卷积:3×3的卷积核384个,两个GPU各192个。该层与上一层连接没有经过pooling层。
·第五层卷积:3×3的卷积核256个,两个GPU上个128个。
·第五层max-pooling:2×2的核。
·第一层全连接:4096维,将第五层max-pooling的输出连接成为一个一维向量,作为该层的输入。
·第二层全连接:4096维
·Softmax层:输出为1000,输出的每一维都是图片属于该类别的概率。

卷积神经网络在模式识别领域有着重要应用,当然这里只是对卷积神经网络做了最简单的讲解,卷积神经网络中仍然有很多知识,比如局部感受野,权值共享,多卷积核等内容,后续有机会再进行讲解。

传统的神经网络对于很多问题难以处理,比如你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。RNN之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。理论上,RNN能够对任何长度的序列数据进行处理。
这是一个简单的RNN的结构,可以看到隐藏层自己是可以跟自己进行连接的。

那么RNN为什么隐藏层能够看到上一刻的隐藏层的输出呢,其实我们把这个网络展开来开就很清晰了。

从上面的公式我们可以看出,循环层和全连接层的区别就是循环层多了一个权重矩阵 W。
如果反复把式2带入到式1,我们将得到:

在讲DBN之前,我们需要对DBN的基本组成单位有一定的了解,那就是RBM,受限玻尔兹曼机。
首先什么是玻尔兹曼机?
[图片上传失败...(image-d36b31-1519636788074)]
如图所示为一个玻尔兹曼机,其蓝色节点为隐层,白色节点为输入层。
玻尔兹曼机和递归神经网络相比,区别体现在以下几点:
1、递归神经网络本质是学习一个函数,因此有输入和输出层的概念,而玻尔兹曼机的用处在于学习一组数据的“内在表示”,因此其没有输出层的概念。
2、递归神经网络各节点链接为有向环,而玻尔兹曼机各节点连接成无向完全图。

而受限玻尔兹曼机是什么呢?
最简单的来说就是加入了限制,这个限制就是将完全图变成了二分图。即由一个显层和一个隐层构成,显层与隐层的神经元之间为双向全连接。

h表示隐藏层,v表示显层
在RBM中,任意两个相连的神经元之间有一个权值w表示其连接强度,每个神经元自身有一个偏置系数b(对显层神经元)和c(对隐层神经元)来表示其自身权重。
具体的公式推导在这里就不展示了

DBN是一个概率生成模型,与传统的判别模型的神经网络相对,生成模型是建立一个观察数据和标签之间的联合分布,对P(Observation|Label)和 P(Label|Observation)都做了评估,而判别模型仅仅而已评估了后者,也就是P(Label|Observation)。
DBN由多个限制玻尔兹曼机(Restricted Boltzmann Machines)层组成,一个典型的神经网络类型如图所示。这些网络被“限制”为一个可视层和一个隐层,层间存在连接,但层内的单元间不存在连接。隐层单元被训练去捕捉在可视层表现出来的高阶数据的相关性。

生成对抗网络其实在之前的帖子中做过讲解,这里在说明一下。
生成对抗网络的目标在于生成,我们传统的网络结构往往都是判别模型,即判断一个样本的真实性。而生成模型能够根据所提供的样本生成类似的新样本,注意这些样本是由计算机学习而来的。
GAN一般由两个网络组成,生成模型网络,判别模型网络。
生成模型 G 捕捉样本数据的分布,用服从某一分布(均匀分布,高斯分布等)的噪声 z 生成一个类似真实训练数据的样本,追求效果是越像真实样本越好;判别模型 D 是一个二分类器,估计一个样本来自于训练数据(而非生成数据)的概率,如果样本来自于真实的训练数据,D 输出大概率,否则,D 输出小概率。
举个例子:生成网络 G 好比假币制造团伙,专门制造假币,判别网络 D 好比警察,专门检测使用的货币是真币还是假币,G 的目标是想方设法生成和真币一样的货币,使得 D 判别不出来,D 的目标是想方设法检测出来 G 生成的假币。
传统的判别网络:

生成对抗网络:

下面展示一个cDCGAN的例子(前面帖子中写过的)
生成网络

判别网络

最终结果,使用MNIST作为初始样本,通过学习后生成的数字,可以看到学习的效果还是不错的。

本文非常简单的介绍了四种神经网络的架构,CNN,RNN,DBN,GAN。当然也仅仅是简单的介绍,并没有深层次讲解其内涵。这四种神经网络的架构十分常见,应用也十分广泛。当然关于神经网络的知识,不可能几篇帖子就讲解完,这里知识讲解一些基础知识,帮助大家快速入(zhuang)门(bi)。后面的帖子将对深度自动编码器,Hopfield 网络长短期记忆网络(LSTM)进行讲解。

❾ 吴恩达 卷积神经网络 CNN

应用计算机视觉时要面临的一个挑战是数据的输入可能会非常大。例如一张 1000x1000x3 的图片,神经网络输入层的维度将高达三百万,使得网络权重 W 非常庞大。这样会造成两个后果:

神经网络结构复杂,数据量相对较少,容易出现过拟合;
所需内存和计算量巨大。
因此,一般的神经网络很难处理蕴含着大量数据的图像。解决这一问题的方法就是使用卷积神经网络

我们之前提到过,神经网络由浅层到深层,分别可以检测出图片的边缘特征、局部特征(例如眼睛、鼻子等),到最后面的一层就可以根据前面检测的特征来识别整体面部轮廓。这些工作都是依托卷积神经网络来实现的。

卷积运算(Convolutional Operation)是卷积神经网络最基本的组成部分。我们以边缘检测为例,来解释卷积是怎样运算的。

图片最常做的边缘检测有两类:垂直边缘(Vertical Edges)检测和水平边缘(Horizontal Edges)检测。

比如检测一张6x6像素的灰度图片的vertical edge,设计一个3x3的矩阵(称之为filter或kernel),让原始图片和filter矩阵做卷积运算(convolution),得到一个4x4的图片。 具体的做法是,将filter矩阵贴到原始矩阵上(从左到右从上到下),依次可以贴出4x4种情况。 让原始矩阵与filter重合的部分做element wise的乘积运算再求和 ,所得的值作为4x4矩阵对应元素的值。如下图是第一个元素的计算方法,以此类推。

可以看到,卷积运算的求解过程是从左到右,由上到下,每次在原始图片矩阵中取与滤波器同等大小的一部分,每一部分中的值与滤波器中的值对应相乘后求和,将结果组成一个矩阵。

下图对应一个垂直边缘检测的例子:

如果将最右边的矩阵当作图像,那么中间一段亮一些的区域对应最左边的图像中间的垂直边缘。

下图3x3滤波器,通常称为垂直 索伯滤波器 (Sobel filter):

看看用它来处理知名的Lena照片会得到什么:

现在可以解释卷积操作的用处了:用输出图像中更亮的像素表示原始图像中存在的边缘。

你能看出为什么边缘检测图像可能比原始图像更有用吗?

回想一下MNIST手写数字分类问题。在MNIST上训练的CNN可以找到某个特定的数字。比如发现数字1,可以通过使用边缘检测发现图像上两个突出的垂直边缘。

通常,卷积有助于我们找到特定的局部图像特征(如边缘),用在后面的网络中。

假设输入图片的大小为 n×n,而滤波器的大小为 f×f,则卷积后的输出图片大小为 (n−f+1)×(n−f+1)。

这样就有两个问题:

为了解决这些问题,可以在进行卷积操作前,对原始图片在边界上进行填充(Padding),以增加矩阵的大小。通常将 0 作为填充值。

设每个方向扩展像素点数量为 p,则填充后原始图片的大小为 (n+2p)×(n+2p),滤波器大小保持 f×f不变,则输出图片大小为 (n+2p−f+1)×(n+2p−f+1)。

因此,在进行卷积运算时,我们有两种选择:

在计算机视觉领域,f通常为奇数。原因包括 Same 卷积中 p=(f−1)/ 2 能得到自然数结果,并且滤波器有一个便于表示其所在位置的中心点。

卷积过程中,有时需要通过填充来避免信息损失,有时也需要通过设置 步长(Stride) 来压缩一部分信息。

步长表示滤波器在原始图片的水平方向和垂直方向上每次移动的距离。之前,步长被默认为 1。而如果我们设置步长为 2,则卷积过程如下图所示:

设步长为 s,填充长度为p, 输入图片大小为n x n, 滤波器大小为f x f, 则卷积后图片的尺寸为:

注意公式中有一个向下取整的符号,用于处理商不为整数的情况。向下取整反映着当取原始矩阵的图示蓝框完全包括在图像内部时,才对它进行运算。

如果我们想要对三通道的 RGB 图片进行卷积运算,那么其对应的滤波器组也同样是三通道的。过程是将每个单通道(R,G,B)与对应的滤波器进行卷积运算求和,然后再将三个通道的和相加,将 27 个乘积的和作为输出图片的一个像素值。

如果想同时检测垂直和水平边缘,或者更多的边缘检测,可以增加更多的滤波器组。例如设置第一个滤波器组实现垂直边缘检测,第二个滤波器组实现水平边缘检测。设输入图片的尺寸为 n×n×nc(nc为通道数),滤波器尺寸为 f×f×nc,则卷积后的输出图片尺寸为 (n−f+1)×(n−f+1)×n′c,n′c为滤波器组的个数。

与之前的卷积过程相比较,卷积神经网络的单层结构多了激活函数和偏移量;而与标准神经网络相比,滤波器的数值对应着权重 W[l],卷积运算对应着 W[l]与 A[l−1]的乘积运算,所选的激活函数变为 ReLU。

对于一个 3x3x3 的滤波器,包括偏移量 b(27+1)在内共有 28 个参数。不论输入的图片有多大,用这一个滤波器来提取特征时,参数始终都是 28 个,固定不变。即选定滤波器组后,参数的数目与输入图片的尺寸无关。因此,卷积神经网络的参数相较于标准神经网络来说要少得多。这是 CNN 的优点之一。

图像中的相邻像素倾向于具有相似的值,因此通常卷积层相邻的输出像素也具有相似的值。这意味着,卷积层输出中包含的大部分信息都是冗余的。如果我们使用边缘检测滤波器并在某个位置找到强边缘,那么我们也可能会在距离这个像素1个偏移的位置找到相对较强的边缘。但是它们都一样是边缘,我们并没有找到任何新东西。池化层解决了这个问题。这个网络层所做的就是通过减小输入的大小降低输出值的数量。池化一般通过简单的最大值、最小值或平均值操作完成。以下是池大小为2的最大池层的示例:

在计算神经网络的层数时,通常只统计具有权重和参数的层,因此池化层通常和之前的卷积层共同计为一层。

图中的 FC3 和 FC4 为全连接层,与标准的神经网络结构一致。

个人推荐 一个直观感受卷积神经网络的网站 。

相比标准神经网络,对于大量的输入数据,卷积过程有效地减少了 CNN 的参数数量,原因有以下两点:

-参数共享(Parameter sharing):特征检测如果适用于图片的某个区域,那么它也可能适用于图片的其他区域。即在卷积过程中,不管输入有多大,一个特征探测器(滤波器)就能对整个输入的某一特征进行探测。

-稀疏连接(Sparsity of connections):在每一层中,由于滤波器的尺寸限制,输入和输出之间的连接是稀疏的,每个输出值只取决于输入在局部的一小部分值。

池化过程则在卷积后很好地聚合了特征,通过降维来减少运算量。

由于 CNN 参数数量较小,所需的训练样本就相对较少,因此在一定程度上不容易发生过拟合现象。并且 CNN 比较擅长捕捉区域位置偏移。即进行物体检测时,不太受物体在图片中位置的影响,增加检测的准确性和系统的健壮性。

在神经网络可以收敛的前提下,随着网络深度增加,网络的表现先是逐渐增加至饱和,然后迅速下降

需要注意,网络退化问题不是过拟合导致的,即便在模型训练过程中,同样的训练轮次下,退化的网络也比稍浅层的网络的训练错误更高,如下图所示。

这一点并不符合常理:如果存在某个 K层网络是当前F的最优的网络,我们构造更深的网络。那么K之后的层数可以拟合成恒等映射,就可以取得和F一直的结果。如果K不是最佳层数,那么我们比K深,可以训练出的一定会不差于K的。总而言之,与浅层网络相比,更深的网络的表现不应该更差。因此,一个合理的猜测就是, 对神经网络来说,恒等映射并不容易拟合。

也许我们可以对网络单元进行一定的改造,来改善退化问题?这也就引出了残差网络的基本思路

既然神经网络不容易拟合一个恒等映射,那么一种思路就是构造天然的恒等映射。

实验表明,残差网络 很好地解决了深度神经网络的退化问题 ,并在ImageNet和CIFAR-10等图像任务上取得了非常好的结果,同等层数的前提下残差网络也 收敛得更快 。这使得前馈神经网络可以采用更深的设计。除此之外, 去除个别神经网络层,残差网络的表现不会受到显着影响 ,这与传统的前馈神经网络大相径庭。

2018年的一篇论文,The Shattered Gradients Problem: If resnets are the answer, then what is the question,指出了一个新的观点,尽管残差网络提出是为了解决梯度弥散和网络退化的问题, 它解决的实际上是梯度破碎问题

作者通过可视化的小型实验(构建和训练一个神经网络发现,在浅层神经网络中,梯度呈现为棕色噪声(brown noise),深层神经网络的梯度呈现为白噪声。在标准前馈神经网络中,随着深度增加, 神经元梯度的相关性(corelation)按指数级减少 (1 / 2^L) ;同时, 梯度的空间结构也随着深度增加被逐渐消除 。这也就是梯度破碎现象。

梯度破碎为什么是一个问题呢?这是因为许多优化方法假设梯度在相邻点上是相似的,破碎的梯度会大大减小这类优化方法的有效性。另外,如果梯度表现得像白噪声,那么某个神经元对网络输出的影响将会很不稳定。

相较标准前馈网络, 残差网络中梯度相关性减少的速度从指数级下降到亚线性级 ) (1 / sqrt(L)) ,深度残差网络中,神经元梯度介于棕色噪声与白噪声之间(参见上图中的c,d,e);残差连接可以 极大地保留梯度的空间结构 。残差结构缓解了梯度破碎问题。

1x1 卷积指滤波器的尺寸为 1。当通道数为 1 时,1x1 卷积意味着卷积操作等同于乘积操作。
而当通道数更多时,1x1 卷积的作用实际上类似全连接层的神经网络结构,从而降低(或升高,取决于滤波器组数)数据的维度。

池化能压缩数据的高度(nH)及宽度(nW),而 1×1 卷积能压缩数据的通道数(nC)。在如下图所示的例子中,用 filters个大小为 1×1×32 的滤波器进行卷积,就能使原先数据包含的 32个通道压缩为 filters 个。

在这之前,网络大都是这样子的:

也就是卷积层和池化层的顺序连接。这样的话,要想提高精度,增加网络深度和宽度是一个有效途径,但也面临着参数量过多、过拟合等问题。(当然,改改超参数也可以提高性能)

有没有可能在同一层就可以提取不同(稀疏或不稀疏)的特征呢(使用不同尺寸的卷积核)?于是,2014年,在其他人都还在一味的增加网络深度时(比如vgg),GoogleNet就率先提出了卷积核的并行合并(也称Bottleneck Layer),如下图。

和卷积层、池化层顺序连接的结构(如VGG网络)相比,这样的结构主要有以下改进:

按照这样的结构来增加网络的深度,虽然可以提升性能,但是还面临计算量大(参数多)的问题。为改善这种现象,GooLeNet借鉴Network-in-Network的思想,使用1x1的卷积核实现降维操作(也间接增加了网络的深度),以此来减小网络的参数量(这里就不对两种结构的参数量进行定量比较了),如图所示。

最后实现的inception v1网络是上图结构的顺序连接

由于卷积这门课的其他内容和计算机视觉关系比较密切。对我理解推荐系统帮助不大。所以这个系列就到这里。吴恩达的课还是很好的,作业和课和测验我都认真做啦。

❿ 神经网络原理及应用

神经网络原理及应用
1. 什么是神经网络?
神经网络是一种模拟动物神经网络行为特征,进行分布式并行信息处理的算法。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。
人类的神经网络

2. 神经网络基础知识
构成:大量简单的基础元件——神经元相互连接
工作原理:模拟生物的神经处理信息的方式
功能:进行信息的并行处理和非线性转化
特点:比较轻松地实现非线性映射过程,具有大规模的计算能力
神经网络的本质:

神经网络的本质就是利用计算机语言模拟人类大脑做决定的过程。
3. 生物神经元结构

4. 神经元结构模型

xj为输入信号,θi为阈值,wij表示与神经元连接的权值,yi表示输出值
判断xjwij是否大于阈值θi
5. 什么是阈值?
临界值。
神经网络是模仿大脑的神经元,当外界刺激达到一定的阈值时,神经元才会受刺激,影响下一个神经元。

6. 几种代表性的网络模型
单层前向神经网络——线性网络
阶跃网络
多层前向神经网络(反推学习规则即BP神经网络)
Elman网络、Hopfield网络、双向联想记忆网络、自组织竞争网络等等
7. 神经网络能干什么?
运用这些网络模型可实现函数逼近、数据聚类、模式分类、优化计算等功能。因此,神经网络广泛应用于人工智能、自动控制、机器人、统计学等领域的信息处理中。虽然神经网络的应用很广,但是在具体的使用过程中到底应当选择哪种网络结构比较合适是值得考虑的。这就需要我们对各种神经网络结构有一个较全面的认识。
8. 神经网络应用

阅读全文

与神经网络结构哪个更好相关的资料

热点内容
无线网络电视没网怎么办 浏览:943
新电脑网络设置找不到飞行模式选项 浏览:607
路由器组网后网络时连时断 浏览:329
取消网络开关是怎么回事 浏览:124
一级建造师考试网络图用什么笔画 浏览:846
苹果自动5g开了无网络连接 浏览:135
可以网络恢复的软件 浏览:380
在哪里可以申请无线网络 浏览:419
精灵觉醒检查到网络异常 浏览:521
中国抓了多少网络间谍 浏览:722
腾讯和电魂网络哪个好 浏览:478
手机4g网络显示h加号是啥意思 浏览:851
云南昆明网络软件公司 浏览:331
网络安全与保护的意义 浏览:364
如何写修改网络密码 浏览:37
中餐厅网络营销成功案例 浏览:316
双频路由如何连接4g网络 浏览:593
苹果5如何刷4g网络 浏览:578
动车组上没有网络信号怎么办 浏览:38
手机网络怎么连接windowsxp 浏览:162

友情链接