导航:首页 > 异常信息 > 神经网络连接方式是什么

神经网络连接方式是什么

发布时间:2023-04-25 14:51:12

1. 神经网络具体是什么

神经网络由大量的神经元相互连接而成。每个神经元接受线性组合的输入后,最开始只是简单的线性加权,后来给每个神经元加上了非线性的激活函数,从而进行非线性变换后输出。每两个神经元之间的连接代表加权值,称之为权重(weight)。不同的权重和激活函数,则会导致神经网络不同的输出。 举个手写识别的例子,给定一个未知数字,让神经网络识别是什么数字。此时的神经网络的输入由一组被输入图像的像素所激活的输入神经元所定义。在通过非线性激活函数进行非线性变换后,神经元被激活然后被传递到其他神经元。重复这一过程,直到最后一个输出神经元被激活。从而识别当前数字是什么字。 神经网络的每个神经元如下

基本wx + b的形式,其中 x1、x2表示输入向量 w1、w2为权重,几个输入则意味着有几个权重,即每个输入都被赋予一个权重 b为偏置bias g(z) 为激活函数 a 为输出 如果只是上面这样一说,估计以前没接触过的十有八九又必定迷糊了。事实上,上述简单模型可以追溯到20世纪50/60年代的感知器,可以把感知器理解为一个根据不同因素、以及各个因素的重要性程度而做决策的模型。 举个例子,这周末北京有一草莓音乐节,那去不去呢?决定你是否去有二个因素,这二个因素可以对应二个输入,分别用x1、x2表示。此外,这二个因素对做决策的影响程度不一样,各自的影响程度用权重w1、w2表示。一般来说,音乐节的演唱嘉宾会非常影响你去不去,唱得好的前提下 即便没人陪同都可忍受,但如果唱得不好还不如你上台唱呢。所以,我们可以如下表示: x1:是否有喜欢的演唱嘉宾。x1 = 1 你喜欢这些嘉宾,x1 = 0 你不喜欢这些嘉宾。嘉宾因素的权重w1 = 7 x2:是否有人陪你同去。x2 = 1 有人陪你同去,x2 = 0 没人陪你同去。是否有人陪同的权重w2 = 3。 这样,咱们的决策模型便建立起来了:g(z) = g(w1x1 + w2x2 + b ),g表示激活函数,这里的b可以理解成 为更好达到目标而做调整的偏置项。 一开始为了简单,人们把激活函数定义成一个线性函数,即对于结果做一个线性变化,比如一个简单的线性激活函数是g(z) = z,输出都是输入的线性变换。后来实际应用中发现,线性激活函数太过局限,于是引入了非线性激活函数。

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

原文链接:
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)进行讲解。

3. 神经网络(Neural Network)

(1)结构:许多树突(dendrite)用于输入,一个轴突 (axon)用于输出。

(2)特性:兴奋性和传导性。兴奋性是指当信号量超过某个阈值时,细胞体就会被激活,产生电脉冲。传导性是指电脉冲沿着轴突并通过突触传递到其它神经元。

(3)有两种状态的机器:激活时为“是”,不激活时为“否”。神经细胞的状态取决于从其他神经细胞接收到的信号量,以及突触的性质(抑制或加强)。

(1)神经元——不重要

① 神经元是包含权重和偏置项的 函数 :接收数据后,执行一些计算,然后使用激活函数将数据限制在一个范围内(多数情况下)。

② 单个神经元:线性可分的情况下,本质是一条直线, ,这条直线将数据划分为两类。而线性分类器本身就是一个单层神经网络。

③ 神经网络:非线性可分的情况下,神经网络通过多个隐层的方法来实现非线性的函数。

(2)权重/参数/连接(Weight)——最重要

每一个连接上都有一个权重。一个神经网络的训练算法就是让权重的值调整到最佳,以使得整个网络的预测效果最好。

(3)偏置项(Bias Units)——必须

① 如果没有偏置项,所有的函数都会经过原点。

② 正则化偏置会导致欠拟合:若对偏置正则化,会导致激活变得更加简单,偏差就会上升,学习的能力就会下降。

③ 偏置的大小度量了神经元产生激励(激活)的难易程度。

(1)定义:也称为转换函数,是一种将输入 (input) 转成输出 (output) 的函数。

(2)作用:一般直线拟合的精确度要比曲线差很多,引入激活函数能给神经网络 增加一些非线性 的特性。

(3)性质:

① 非线性:导数不是常数,否则就退化成直线。对于一些画一条直线仍然无法分开的问题,非线性可以把直线变弯,就能包罗万象;

② 可微性:当优化方法是基于梯度的时候,处处可导为后向传播算法提供了核心条件;

③ 输出范围:一般限定在[0,1],使得神经元对一些比较大的输入会比较稳定;

④ 非饱和性:饱和就是指,当输入比较大的时候输出几乎没变化,会导致梯度消失;

⑤ 单调性:导数符号不变,输出不会上蹿下跳,让神经网络训练容易收敛。

(1)线性函数 (linear function)—— purelin()

(2)符号函数 (sign function)—— hardlim() 

① 如果z值高于阈值,则激活设置为1或yes,神经元将被激活。

② 如果z值低于阈值,则激活设置为0或no,神经元不会被激活。

(3)对率函数 (sigmoid function)—— logsig()

① 优点:光滑S型曲线连续可导,函数阈值有上限。

② 缺点:❶ 函数饱和使梯度消失,两端梯度几乎为0,更新困难,做不深;

                ❷ 输出不是0中心,将影响梯度下降的运作,收敛异常慢;

                ❸ 幂运算相对来讲比较耗时

(4)双曲正切函数(hyperbolic tangent function)—— tansig()

① 优点:取值范围0中心化,防止了梯度偏差

② 缺点:梯度消失现象依然存在,但相对于sigmoid函数问题较轻

(5)整流线性单元 ReLU 函数(rectified linear unit)

① 优点:❶ 分段线性函数,它的非线性性很弱,因此网络做得很深;

                ❷ 由于它的线性、非饱和性, 对于随机梯度下降的收敛有巨大的加速作用;

② 缺点:❶ 当x<0,梯度都变成0,参数无法更新,也导致了数据多样化的丢失;

                ❷ 输出不是0中心

(6)渗漏型整流线性单元激活函数 Leaky ReLU 函数

① 优点:❶ 是为解决“ReLU死亡”问题的尝试,在计算导数时允许较小的梯度;

                ❷ 非饱和的公式,不包含指数运算,计算速度快。

② 缺点:❶ 无法避免梯度爆炸问题; (没有体现优于ReLU)

                ❷ 神经网络不学习 α 值。

(7)指数线性单元 ELU (Exponential Linear Units)

① 优点:❶ 能避免“死亡 ReLU” 问题;

                ❷ 能得到负值输出,这能帮助网络向正确的方向推动权重和偏置变化;

                ❸ 在计算梯度时能得到激活,而不是让它们等于 0。

② 缺点:❶ 由于包含指数运算,所以计算时间更长;

                ❷ 无法避免梯度爆炸问题; (没有体现优于ReLU)

                ❸ 神经网络不学习 α 值。

(8)Maxout(对 ReLU 和 Leaky ReLU的一般化归纳)

① 优点:❶ 拥有ReLU的所有优点(线性和不饱和)

                ❷ 没有ReLU的缺点(死亡的ReLU单元)

                ❸ 可以拟合任意凸函数

② 缺点 :参数数量增加了一倍。难训练,容易过拟合

(9)Swish

① 优点:❶ 在负半轴也有一定的不饱和区,参数的利用率更大

                ❷ 无上界有下界、平滑、非单调

                ❸ 在深层模型上的效果优于 ReLU

每个层都包含一定数量的单元(units)。增加层可增加神经网络输出的非线性。

(1)输入层:就是接收原始数据,然后往隐层送

(2)输出层:神经网络的决策输出

(3)隐藏层:神经网络的关键。把前一层的向量变成新的向量,让数据变得线性可分。

(1)结构:仅包含输入层和输出层,直接相连。

(2)作用:仅能表示 线性可分 函数或决策,且一定可以在有限的迭代次数中收敛。

(3)局限:可以建立与门、或门、非门等,但无法建立更为复杂的异或门(XOR),即两个输入相同时输出1,否则输出0。 (“AI winter”)

(1)目的:拟合某个函数      (两层神经网络可以逼近任意连续函数)

(2)结构:包含输入层、隐藏层和输出层 ,由于从输入到输出的过程中不存在与模型自身的反馈连接,因此被称为“前馈”。    (层与层之间全连接)

(3)作用: 非线性 分类、聚类、预测等,通过训练,可以学习到数据中隐含的知识。

(4)局限:计算复杂、计算速度慢、容易陷入局部最优解,通常要将它们与其他网络结合形成新的网络。

(5)前向传播算法(Forward Propagation)

① 方法:从左至右逐级依赖的算法模型,即网络如何根据输入X得到输出Y,最终的输出值和样本值作比较, 计算出误差 。

② 目的:完成了一次正反向传播,就完成了一次神经网络的训练迭代。通过输出层的误差,快速求解对每个ω、b的偏导,利用梯度下降法,使Loss越来越小。

② 局限:为使最终的误差达到最小,要不断修改参数值,但神经网络的每条连接线上都有不同权重参数,修改这些参数变得棘手。

(6)误差反向传播(Back Propagation)

① 原理:梯度下降法求局部极值

② 方法:从后往前,从输出层开始计算 L 对当前层的微分,获得各层的误差信号,此误差信号即作为修正单元权值的依据。计算结束以后,所要的两个参数矩阵的 梯度 就都有了。

③ 局限:如果激活函数是饱和的,带来的缺陷就是系统迭代更新变慢,系统收敛就慢,当然这是可以有办法弥补的,一种方法是使用 交叉熵函数 作为损失函数。

(1)原理:随着网络的层数增加,每一层对于前一层次的抽象表示更深入。在神经网络中,每一层神经元学习到的是前一层神经元值的更抽象的表示。通过抽取更抽象的特征来对事物进行区分,从而获得更好的区分与分类能力。

(2)方法:ReLU函数在训练多层神经网络时,更容易收敛,并且预测性能更好。

(3)优点:① 易于构建,表达能力强,基本单元便可扩展为复杂的非线性函数

                      ② 并行性号,有利于在分布是系统上应用

(4)局限:① 优化算法只能获得局部极值,性能与初始值相关

                      ② 调参理论性缺乏

                      ③ 不可解释,与实际任务关联性模糊

(1)原理:由手工设计卷积核变成自动学习卷积核

(2)卷积(Convolutional layer): 输入与卷积核相乘再累加 (内积、加权叠加)

① 公式:

② 目的:提取输入的不同特征,得到维度很大的 特征图(feature map)

③ 卷积核:需要训练的参数。一般为奇数维,有中心像素点,便于定位卷积核

④ 特点:局部感知、参数变少、权重共享、分层提取

(3)池化(Pooling Layer):用更高层的抽象表达来表示主要特征,又称“降采样”

① 分类: 最大 (出现与否)、平均(保留整体)、随机(避免过拟合)

② 目的:降维,不需要训练参数,得到新的、维度较小的特征

(4)步长(stride):若假设输入大小是n∗n,卷积核的大小是f∗f,步长是s,则最后的feature map的大小为o∗o,其中

(5)填充(zero-padding)

① Full模式:即从卷积核(fileter)和输入刚相交开始做卷积,没有元素的部分做补0操作。

② Valid模式:卷积核和输入完全相交开始做卷积,这种模式不需要补0。

③ Same模式:当卷积核的中心C和输入开始相交时做卷积。没有元素的部分做补0操作。

(7)激活函数:加入非线性特征

(8)全连接层(Fully-connected layer)

如果说卷积层、池化层和激活函数层等是将原始数据映射到隐层特征空间(决定计算速度),全连接层则起到将学到的“分布式特征表示”映射到样本标记空间的作用(决定参数个数)。

参考:

[1]  神经网络(入门最详细)_ruthy的博客-CSDN博客_神经网络算法入门

[2]  神经网络(容易被忽视的基础知识) - Evan的文章 - 知乎

[3]  人工神经网络——王的机器

[4]  如何简单形象又有趣地讲解神经网络是什么? - 舒小曼的回答 - 知乎

[5]  神经网络15分钟入门!足够通俗易懂了吧 - Mr.括号的文章 - 知乎

[6]  神经网络——最易懂最清晰的一篇文章_illikang的博客-CSDN博客_神经网络

[7]  直觉化深度学习教程——什么是前向传播——CSDN

[8]  “反向传播算法”过程及公式推导(超直观好懂的Backpropagation)_aift的专栏-CSDN

[9]  卷积、反卷积、池化、反池化——CSDN

[10]  浙大机器学习课程- bilibili.com

4. 什么是人工神经网络及其算法实现方式

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

5. 人工神经元网络的拓扑结构主要有哪几种谢谢大侠~~~

神经网络的拓扑结构包括网络层数、各层神经元数量以及各神经元之间相互连接的方式。

人工神经网络的模型从其拓扑结构角度去看,可分为层次型和互连型。层次型模型是将神经网络分为输入层(Input Layer)、隐层(Hidden Layer)和输出层(Output Layer),各层顺序连接。其中,输入层神经元负责接收来自外界的输入信息,并将其传递给隐层神经元。隐层负责神经网络内部的信息处理、信息变换。通常会根据变换的需要,将隐层设计为一层或多层。

(5)神经网络连接方式是什么扩展阅读:

人工神经网络模型主要考虑网络连接的拓扑结构、神经元的特征、学习规则等。目前,已有近40种神经网络模型,其中有反传网络、感知器、自组织映射、Hopfield网络、波耳兹曼机、适应谐振理论等。

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

6. 神经网络是什么

可以指向两种,一个是生物神经网络,一个是人工神经网络。
生物神经网络,一般指生物的大脑神经元,细胞,触点等组成的网络,用于产生生物的意识,帮助生物进行思考和行动。1872年,意大利的医学院毕业生高基档蔽,在一次意外中,将脑块掉落在硝酸银溶液中。数周后,他以显微镜观察此脑块,成就了神经科学李塌史上重大里程碑--“首次以肉眼看到神经细胞”。
人工神经网络(即ANN)是从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络,是20世纪80年代以来人工智能领域兴起的研究热点。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。随着对人工神经网络的深入研究,其在模式识别、智能机器人、自动控制、生物、医学、经行扰州济等领域已成功地解决了许多现代计算机难以解决的实际问题,表现出了良好的智能特性。

7. 神经网络:卷积神经网络(CNN)

神经网络 最早是由心理学家和神经学家提出的,旨在寻求开发和测试神经的计算模拟。

粗略地说, 神经网络 是一组连接的 输入/输出单元 ,其中每个连接都与一个 权 相关联。在学习阶段,通过调整权值,使得神经网络的预测准确性逐步提高。由于单元之间的连接,神经网络学习又称 连接者学习。

神经网络是以模拟人脑神经元的数学模型为基础而建立的,它由一系列神经元组成,单元之间彼此连接。从信息处理角度看,神经元可以看作是一个多输入单输出的信息处理单元,根据神经元的特性和功能,可以把神经元抽象成一个简单的数学模型。

神经网络有三个要素: 拓扑结构、连接方式、学习规则

神经网络的拓扑结构 :神经网络的单元通常按照层次排列,根据网络的层次数,可以将神经网络分为单层神经网络、两层神经网络、三层神经网络等。结构简单的神经网络,在学习时收敛的速度快,但准确度低。

神经网络的层数和每层的单元数由问题的复杂程度而定。问题越复杂,神经网络的层数就越多。例如,两层神经网络常用来解决线性问题,而多层网络就可以解决多元非线性问题

神经网络的连接 :包括层次之间的连接和每一层内部的连接,连接的强度用权来表示。

根据层次之间的连接方式,分为:

1)前馈式网络:连接是单向的,上层单元的输出是下层单元的输入,如反向传播网络,Kohonen网络

2)反馈式网络:除了单项的连接外,还把最后一层单元的输出作为第一层单元的输入,如Hopfield网络

根据连接的范围,分为:

1)全连接神经网络:每个单元和相邻层上的所有单元相连

2)局部连接网络:每个单元只和相邻层上的部分单元相连

神经网络的学习

根据学习方法分:

感知器:有监督的学习方法,训练样本的类别是已知的,并在学习的过程中指导模型的训练

认知器:无监督的学习方法,训练样本类别未知,各单元通过竞争学习。

根据学习时间分:

离线网络:学习过程和使用过程是独立的

在线网络:学习过程和使用过程是同时进行的

根据学习规则分:

相关学习网络:根据连接间的激活水平改变权系数

纠错学习网络:根据输出单元的外部反馈改变权系数

自组织学习网络:对输入进行自适应地学习

摘自《数学之美》对人工神经网络的通俗理解:

神经网络种类很多,常用的有如下四种:

1)Hopfield网络,典型的反馈网络,结构单层,有相同的单元组成

2)反向传播网络,前馈网络,结构多层,采用最小均方差的纠错学习规则,常用于语言识别和分类等问题

3)Kohonen网络:典型的自组织网络,由输入层和输出层构成,全连接

4)ART网络:自组织网络

深度神经网络:

Convolutional Neural Networks(CNN)卷积神经网络

Recurrent neural Network(RNN)循环神经网络

Deep Belief Networks(DBN)深度信念网络

深度学习是指多层神经网络上运用各种机器学习算法解决图像,文本等各种问题的算法集合。深度学习从大类上可以归入神经网络,不过在具体实现上有许多变化。

深度学习的核心是特征学习,旨在通过分层网络获取分层次的特征信息,从而解决以往需要人工设计特征的重要难题。

Machine Learning vs. Deep Learning 

神经网络(主要是感知器)经常用于 分类

神经网络的分类知识体现在网络连接上,被隐式地存储在连接的权值中。

神经网络的学习就是通过迭代算法,对权值逐步修改的优化过程,学习的目标就是通过改变权值使训练集的样本都能被正确分类。

神经网络特别适用于下列情况的分类问题:

1) 数据量比较小,缺少足够的样本建立模型

2) 数据的结构难以用传统的统计方法来描述

3) 分类模型难以表示为传统的统计模型

缺点:

1) 需要很长的训练时间,因而对于有足够长训练时间的应用更合适。

2) 需要大量的参数,这些通常主要靠经验确定,如网络拓扑或“结构”。

3)  可解释性差 。该特点使得神经网络在数据挖掘的初期并不看好。

优点:

1) 分类的准确度高

2)并行分布处理能力强

3)分布存储及学习能力高

4)对噪音数据有很强的鲁棒性和容错能力

最流行的基于神经网络的分类算法是80年代提出的 后向传播算法 。后向传播算法在多路前馈神经网络上学习。 

定义网络拓扑

在开始训练之前,用户必须说明输入层的单元数、隐藏层数(如果多于一层)、每一隐藏层的单元数和输出层的单元数,以确定网络拓扑。

对训练样本中每个属性的值进行规格化将有助于加快学习过程。通常,对输入值规格化,使得它们落入0.0和1.0之间。

离散值属性可以重新编码,使得每个域值一个输入单元。例如,如果属性A的定义域为(a0,a1,a2),则可以分配三个输入单元表示A。即,我们可以用I0 ,I1 ,I2作为输入单元。每个单元初始化为0。如果A = a0,则I0置为1;如果A = a1,I1置1;如此下去。

一个输出单元可以用来表示两个类(值1代表一个类,而值0代表另一个)。如果多于两个类,则每个类使用一个输出单元。

隐藏层单元数设多少个“最好” ,没有明确的规则。

网络设计是一个实验过程,并可能影响准确性。权的初值也可能影响准确性。如果某个经过训练的网络的准确率太低,则通常需要采用不同的网络拓扑或使用不同的初始权值,重复进行训练。

后向传播算法学习过程:

迭代地处理一组训练样本,将每个样本的网络预测与实际的类标号比较。

每次迭代后,修改权值,使得网络预测和实际类之间的均方差最小。

这种修改“后向”进行。即,由输出层,经由每个隐藏层,到第一个隐藏层(因此称作后向传播)。尽管不能保证,一般地,权将最终收敛,学习过程停止。

算法终止条件:训练集中被正确分类的样本达到一定的比例,或者权系数趋近稳定。

后向传播算法分为如下几步:

1) 初始化权

网络的权通常被初始化为很小的随机数(例如,范围从-1.0到1.0,或从-0.5到0.5)。

每个单元都设有一个偏置(bias),偏置也被初始化为小随机数。

2) 向前传播输入

对于每一个样本X,重复下面两步:

向前传播输入,向后传播误差

计算各层每个单元的输入和输出。输入层:输出=输入=样本X的属性;即,对于单元j,Oj = Ij = Xj。隐藏层和输出层:输入=前一层的输出的线性组合,即,对于单元j, Ij =wij Oi + θj,输出=

3) 向后传播误差

计算各层每个单元的误差。

输出层单元j,误差:

Oj是单元j的实际输出,而Tj是j的真正输出。

隐藏层单元j,误差:

wjk是由j到下一层中单元k的连接的权,Errk是单元k的误差

更新 权 和 偏差 ,以反映传播的误差。

权由下式更新:

 其中,△wij是权wij的改变。l是学习率,通常取0和1之间的值。

 偏置由下式更新:

  其中,△θj是偏置θj的改变。

Example

人类视觉原理:

深度学习的许多研究成果,离不开对大脑认知原理的研究,尤其是视觉原理的研究。1981 年的诺贝尔医学奖,颁发给了 David Hubel(出生于加拿大的美国神经生物学家) 和Torsten Wiesel,以及Roger Sperry。前两位的主要贡献,是“发现了视觉系统的信息处理”, 可视皮层是分级的 。

人类的视觉原理如下:从原始信号摄入开始(瞳孔摄入像素Pixels),接着做初步处理(大脑皮层某些细胞发现边缘和方向),然后抽象(大脑判定,眼前的物体的形状,是圆形的),然后进一步抽象(大脑进一步判定该物体是只气球)。

对于不同的物体,人类视觉也是通过这样逐层分级,来进行认知的:

在最底层特征基本上是类似的,就是各种边缘,越往上,越能提取出此类物体的一些特征(轮子、眼睛、躯干等),到最上层,不同的高级特征最终组合成相应的图像,从而能够让人类准确的区分不同的物体。

可以很自然的想到:可以不可以模仿人类大脑的这个特点,构造多层的神经网络,较低层的识别初级的图像特征,若干底层特征组成更上一层特征,最终通过多个层级的组合,最终在顶层做出分类呢?答案是肯定的,这也是许多深度学习算法(包括CNN)的灵感来源。

卷积神经网络是一种多层神经网络,擅长处理图像特别是大图像的相关机器学习问题。卷积网络通过一系列方法,成功将数据量庞大的图像识别问题不断降维,最终使其能够被训练。

CNN最早由Yann LeCun提出并应用在手写字体识别上。LeCun提出的网络称为LeNet,其网络结构如下:

这是一个最典型的卷积网络,由 卷积层、池化层、全连接层 组成。其中卷积层与池化层配合,组成多个卷积组,逐层提取特征,最终通过若干个全连接层完成分类。

CNN通过卷积来模拟特征区分,并且通过卷积的权值共享及池化,来降低网络参数的数量级,最后通过传统神经网络完成分类等任务。

降低参数量级:如果使用传统神经网络方式,对一张图片进行分类,那么,把图片的每个像素都连接到隐藏层节点上,对于一张1000x1000像素的图片,如果有1M隐藏层单元,一共有10^12个参数,这显然是不能接受的。

但是在CNN里,可以大大减少参数个数,基于以下两个假设:

1)最底层特征都是局部性的,也就是说,用10x10这样大小的过滤器就能表示边缘等底层特征

2)图像上不同小片段,以及不同图像上的小片段的特征是类似的,也就是说,能用同样的一组分类器来描述各种各样不同的图像

基于以上两个假设,就能把第一层网络结构简化

用100个10x10的小过滤器,就能够描述整幅图片上的底层特征。

卷积运算的定义如下图所示:

如上图所示,一个5x5的图像,用一个3x3的 卷积核 :

   101

   010

   101

来对图像进行卷积操作(可以理解为有一个滑动窗口,把卷积核与对应的图像像素做乘积然后求和),得到了3x3的卷积结果。

这个过程可以理解为使用一个过滤器(卷积核)来过滤图像的各个小区域,从而得到这些小区域的特征值。在实际训练过程中, 卷积核的值是在学习过程中学到的。

在具体应用中,往往有多个卷积核,可以认为, 每个卷积核代表了一种图像模式 ,如果某个图像块与此卷积核卷积出的值大,则认为此图像块十分接近于此卷积核。如果设计了6个卷积核,可以理解为这个图像上有6种底层纹理模式,也就是用6种基础模式就能描绘出一副图像。以下就是24种不同的卷积核的示例:

池化 的过程如下图所示:

可以看到,原始图片是20x20的,对其进行采样,采样窗口为10x10,最终将其采样成为一个2x2大小的特征图。

之所以这么做,是因为即使做完了卷积,图像仍然很大(因为卷积核比较小),所以为了降低数据维度,就进行采样。

即使减少了许多数据,特征的统计属性仍能够描述图像,而且由于降低了数据维度,有效地避免了过拟合。

在实际应用中,分为最大值采样(Max-Pooling)与平均值采样(Mean-Pooling)。

LeNet网络结构:

注意,上图中S2与C3的连接方式并不是全连接,而是部分连接。最后,通过全连接层C5、F6得到10个输出,对应10个数字的概率。

卷积神经网络的训练过程与传统神经网络类似,也是参照了反向传播算法

第一阶段,向前传播阶段:

a)从样本集中取一个样本(X,Yp),将X输入网络;

b)计算相应的实际输出Op

第二阶段,向后传播阶段

a)计算实际输出Op与相应的理想输出Yp的差;

b)按极小化误差的方法反向传播调整权矩阵。

8. 神经网络是什么

神经网络是一种以人脑为模型的机器学习,简单地说就是创造一个人工神经网络,通过一种算法允许计算机通过合并新的数据来学习。
神经网络简单说就是通过一种算法允许计算机通过合并新的数据来学习!

9. 什么是全连接神经网络怎么理解“全连接”

1、全连接神经网络解析:对n-1层和n层而言,n-1层的任意一个节点,都和第n层所有节点有连接。即第n层的每个节点在进行计算的时候,激活函数的输入是n-1层所有节点的加权。

2、全连接的神经网络示意图:


3、“全连接”是一种不错的模式,但是网络很大的时候,训练速度回很慢。部分连接就是认为的切断某两个节点直接的连接,这样训练时计算量大大减小。

10. (七)神经网络基本结构

目前为止,我们已经学习了2个机器学习模型。线性回归一般用来处理线性问题,逻辑回归用来处理2分类问题。虽然逻辑回归也可以处理非线性的分类问题,但是当我们有非常多的特征时,例如大于100个变量,将会有数量非常惊人的特征组合。这对于一般的逻辑回归来说需要计算的特征太多了,负荷太大。而神经网络既可以答衫解决复杂的非线性分类问题,又可以避免庞大的计算量。

人工神经网络是由很多神经元(激活单元)构成的,神经元是神经网络的基本元素。

实际上,可以这样理解神经元工作过程,当将输入送进神经元后,神经元将输入与权值线性组合(实际上就是θ T X)输出一个线性表达式,再将这个表达式送哗举拿入激活函数中,便得到了神经元的真实输出。

神经网络由好多个激活单元构成,如下图所示:

激活函数的选择是构建神经网络过程中的重要环节,下面简要介绍常用的激活函数。

(1) 线性函数( Liner Function )

(2) 斜面函数( Ramp Function )**

(3) 阈值函数( Threshold Function )**

以上3个激活函数都属于线性函数,下面介绍两个常用的非线性激活函数。
(4) S形函数( Sigmoid Function )

S形函数与双极S形函数的图像如下:

双极S形函数与S形函数主要区别在于函数的值域,双极S形函数值域是(-1,1),而S形函数值域是(0,1)。由于S形函数与双极S形函数都是 可导的 (导函数是连续函数),因此适合用在BP神经乱搭网络中。(BP算法要求激活函数可导)

人工神经网络中,最常用的激活函数就是sigmoid函数

神经网络是由大量的神经元互联而构成的网络。根据网络中神经元的互联方式,常见网络结构主要可以分为下面3类:

前馈网络也称前向网络,是最常见的神经网络,前文提到的都是前馈网络。称之为前馈是因为它在输出和模型本身之间没有反馈,数据只能向前传送,直到到达输出层,层间没有向后的反馈信号。

反馈型神经网络是一种从输出到输入具有反馈连接的神经网络,其结构比前馈网络要复杂得多。

自组织神经网络是一种无监督学习网络。它通过自动寻找样本中的内在规律和本质属性,自组织、自适应地改变网络参数与结构。

阅读全文

与神经网络连接方式是什么相关的资料

热点内容
网络共享中心没有网卡 浏览:493
电脑无法检测到网络代理 浏览:1350
笔记本电脑一天会用多少流量 浏览:475
苹果电脑整机转移新机 浏览:1349
突然无法连接工作网络 浏览:962
联通网络怎么设置才好 浏览:1191
小区网络电脑怎么连接路由器 浏览:933
p1108打印机网络共享 浏览:1187
怎么调节台式电脑护眼 浏览:603
深圳天虹苹果电脑 浏览:841
网络总是异常断开 浏览:584
中级配置台式电脑 浏览:895
中国网络安全的战士 浏览:605
同志网站在哪里 浏览:1380
版观看完整完结免费手机在线 浏览:1432
怎样切换默认数据网络设置 浏览:1080
肯德基无线网无法访问网络 浏览:1254
光纤猫怎么连接不上网络 浏览:1377
神武3手游网络连接 浏览:938
局网打印机网络共享 浏览:975