导航:首页 > 网络营销 > rnn网络的技术优势有哪些

rnn网络的技术优势有哪些

发布时间:2022-12-12 11:30:46

Ⅰ 在做语音识别时,RNN和CNN各有什么优缺点

关注问题写回答
1 个回答

默认排序
YJango
YJango
日本会津大学人机界面实验室 博士在读
17 人赞同了该回答
long dependence方面是LSTM的优势。
比如句子“我在日本生活过五年,我可以说流利的日语”, 单向LSTM可以在之前所说内容的基础上对当前内容进行判断,可以照顾到日本与日语之间的关系。双向LSTM还可以基于未来的内容判断当前内容。主要是这种判断可以在整个句子之间进行。

同时如果用LSTM做回归的话,输出不需要做后续处理就非常平滑。

CNN的语音识别的特征(feature)通常是是频谱图(spectrogram),类似图片识别的处理方式。同样也可以利用filter size,基于过去和未来的信息判断当前内容。但由于size固定,long dependence方面不如LSTM。不过CNN可以同一信息用不同的feature m

Ⅱ 循环神经网络(RNN)浅析

RNN是两种神经网络模型的缩写,一种是递归神经网络(Recursive Neural Network),一种是循环神经网络(Recurrent Neural Network)。虽然这两种神经网络有着千丝万缕的联系,但是本文主要讨论的是第二种神经网络模型——循环神经网络(Recurrent Neural Network)。

循环神经网络是指一个随着时间的推移,重复发生的结构。在自然语言处理(NLP),语音图像等多个领域均有非常广泛的应用。RNN网络和其他网络最大的不同就在于RNN能够实现某种“记忆功能”,是进行时间序列分析时最好的选择。如同人类能够凭借自己过往的记忆更好地认识这个世界一样。RNN也实现了类似于人脑的这一机制,对所处理过的信息留存有一定的记忆,而不像其他类型的神经网络并不能对处理过的信息留存记忆。

循环神经网络的原理并不十分复杂,本节主要从原理上分析RNN的结构和功能,不涉及RNN的数学推导和证明,整个网络只有简单的输入输出和网络状态参数。一个典型的RNN神经网络如图所示:

由上图可以看出:一个典型的RNN网络包含一个输入x,一个输出h和一个神经网络单元A。和普通的神经网络不同的是,RNN网络的神经网络单元A不仅仅与输入和输出存在联系,其与自身也存在一个回路。这种网络结构就揭示了RNN的实质:上一个时刻的网络状态信息将会作用于下一个时刻的网络状态。如果上图的网络结构仍不够清晰,RNN网络还能够以时间序列展开成如下形式:

等号右边是RNN的展开形式。由于RNN一般用来处理序列信息,因此下文说明时都以时间序列来举例,解释。等号右边的等价RNN网络中最初始的输入是x0,输出是h0,这代表着0时刻RNN网络的输入为x0,输出为h0,网络神经元在0时刻的状态保存在A中。当下一个时刻1到来时,此时网络神经元的状态不仅仅由1时刻的输入x1决定,也由0时刻的神经元状态决定。以后的情况都以此类推,直到时间序列的末尾t时刻。

上面的过程可以用一个简单的例子来论证:假设现在有一句话“I want to play basketball”,由于自然语言本身就是一个时间序列,较早的语言会与较后的语言存在某种联系,例如刚才的句子中“play”这个动词意味着后面一定会有一个名词,而这个名词具体是什么可能需要更遥远的语境来决定,因此一句话也可以作为RNN的输入。回到刚才的那句话,这句话中的5个单词是以时序出现的,我们现在将这五个单词编码后依次输入到RNN中。首先是单词“I”,它作为时序上第一个出现的单词被用作x0输入,拥有一个h0输出,并且改变了初始神经元A的状态。单词“want”作为时序上第二个出现的单词作为x1输入,这时RNN的输出和神经元状态将不仅仅由x1决定,也将由上一时刻的神经元状态或者说上一时刻的输入x0决定。之后的情况以此类推,直到上述句子输入到最后一个单词“basketball”。

接下来我们需要关注RNN的神经元结构:

上图依然是一个RNN神经网络的时序展开模型,中间t时刻的网络模型揭示了RNN的结构。可以看到,原始的RNN网络的内部结构非常简单。神经元A在t时刻的状态仅仅是t-1时刻神经元状态与t时刻网络输入的双曲正切函数的值,这个值不仅仅作为该时刻网络的输出,也作为该时刻网络的状态被传入到下一个时刻的网络状态中,这个过程叫做RNN的正向传播(forward propagation)。注:双曲正切函数的解析式如下:

双曲正切函数的求导如下:

双曲正切函数的图像如下所示:

这里就带来一个问题:为什么RNN网络的激活函数要选用双曲正切而不是sigmod呢?(RNN的激活函数除了双曲正切,RELU函数也用的非常多)原因在于RNN网络在求解时涉及时间序列上的大量求导运算,使用sigmod函数容易出现梯度消失,且sigmod的导数形式较为复杂。事实上,即使使用双曲正切函数,传统的RNN网络依然存在梯度消失问题,无法“记忆”长时间序列上的信息,这个bug直到LSTM上引入了单元状态后才算较好地解决。

这一节主要介绍与RNN相关的数学推导,由于RNN是一个时序模型,因此其求解过程可能和一般的神经网络不太相同。首先需要介绍一下RNN完整的结构图,上一节给出的RNN结构图省去了很多内部参数,仅仅作为一个概念模型给出。

上图表明了RNN网络的完整拓扑结构,从图中我们可以看到RNN网络中的参数情况。在这里我们只分析t时刻网络的行为与数学推导。t时刻网络迎来一个输入xt,网络此时刻的神经元状态st用如下式子表达:

t时刻的网络状态st不仅仅要输入到下一个时刻t+1的网络状态中去,还要作为该时刻的网络输出。当然,st不能直接输出,在输出之前还要再乘上一个系数V,而且为了误差逆传播时的方便通常还要对输出进行归一化处理,也就是对输出进行softmax化。因此,t时刻网络的输出ot表达为如下形式:

为了表达方便,笔者将上述两个公式做如下变换:

以上,就是RNN网络的数学表达了,接下来我们需要求解这个模型。在论述具体解法之前首先需要明确两个问题:优化目标函数是什么?待优化的量是什么?

只有在明确了这两个问题之后才能对模型进行具体的推导和求解。关于第一个问题,笔者选取模型的损失函数作为优化目标;关于第二个问题,我们从RNN的结构图中不难发现:只要我们得到了模型的U,V,W这三个参数就能完全确定模型的状态。因此该优化问题的优化变量就是RNN的这三个参数。顺便说一句,RNN模型的U,V,W三个参数是全局共享的,也就是说不同时刻的模型参数是完全一致的,这个特性使RNN得参数变得稍微少了一些。

不做过多的讨论,RNN的损失函数选用交叉熵(Cross Entropy),这是机器学习中使用最广泛的损失函数之一了,其通常的表达式如下所示:

上面式子是交叉熵的标量形式,y_i是真实的标签值,y_i*是模型给出的预测值,最外面之所以有一个累加符号是因为模型输出的一般都是一个多维的向量,只有把n维损失都加和才能得到真实的损失值。交叉熵在应用于RNN时需要做一些改变:首先,RNN的输出是向量形式,没有必要将所有维度都加在一起,直接把损失值用向量表达就可以了;其次,由于RNN模型处理的是序列问题,因此其模型损失不能只是一个时刻的损失,应该包含全部N个时刻的损失。

故RNN模型在t时刻的损失函数写成如下形式:

全部N个时刻的损失函数(全局损失)表达为如下形式:

需要说明的是:yt是t时刻输入的真实标签值,ot为模型的预测值,N代表全部N个时刻。下文中为了书写方便,将Loss简记为L。在结束本小节之前,最后补充一个softmax函数的求导公式:

由于RNN模型与时间序列有关,因此不能直接使用BP(back propagation)算法。针对RNN问题的特殊情况,提出了BPTT算法。BPTT的全称是“随时间变化的反向传播算法”(back propagation through time)。这个方法的基础仍然是常规的链式求导法则,接下来开始具体推导。虽然RNN的全局损失是与全部N个时刻有关的,但为了简单笔者在推导时只关注t时刻的损失函数。

首先求出t时刻下损失函数关于o_t*的微分:

求出损失函数关于参数V的微分:

因此,全局损失关于参数V的微分为:

求出t时刻的损失函数关于关于st*的微分:

求出t时刻的损失函数关于s_t-1*的微分:

求出t时刻损失函数关于参数U的偏微分。注意:由于是时间序列模型,因此t时刻关于U的微分与前t-1个时刻都有关,在具体计算时可以限定最远回溯到前n个时刻,但在推导时需要将前t-1个时刻全部带入:

因此,全局损失关于U的偏微分为:

求t时刻损失函数关于参数W的偏微分,和上面相同的道理,在这里仍然要计算全部前t-1时刻的情况:

因此,全局损失关于参数W的微分结果为:

至此,全局损失函数关于三个主要参数的微分都已经得到了。整理如下:

接下来进一步化简上述微分表达式,化简的主要方向为t时刻的损失函数关于ot的微分以及关于st*的微分。已知t时刻损失函数的表达式,求关于ot的微分:

softmax函数求导:

因此:

又因为:

且:

有了上面的数学推导,我们可以得到全局损失关于U,V,W三个参数的梯度公式:

由于参数U和W的微分公式不仅仅与t时刻有关,还与前面的t-1个时刻都有关,因此无法写出直接的计算公式。不过上面已经给出了t时刻的损失函数关于s_t-1的微分递推公式,想来求解这个式子也是十分简单的,在这里就不赘述了。

以上就是关于BPTT算法的全部数学推导。从最终结果可以看出三个公式的偏微分结果非常简单,在具体的优化过程中可以直接带入进行计算。对于这种优化问题来说,最常用的方法就是梯度下降法。针对本文涉及的RNN问题,可以构造出三个参数的梯度更新公式:

依靠上述梯度更新公式就能够迭代求解三个参数,直到三个参数的值发生收敛。

这是笔者第一次尝试推导RNN的数学模型,在推导过程中遇到了非常多的bug。非常感谢互联网上的一些公开资料和博客,给了我非常大的帮助和指引。接下来笔者将尝试实现一个单隐层的RNN模型用于实现一个语义预测模型。

Ⅲ 网络架构搜索

        作为计算智能方法的代表,起源于上个世纪四十年代的人工神经网络经历了五六十年代的繁荣,七十年代的低潮,八十年代的再次复苏,到近十年的广泛关注,如今已经成为理论日趋完善,应用逐步发展的前沿方向。Hinton 等人2006 年在《Science》上发表的文章引发了深度神经网络研究的热潮。面对大数据的诸多挑战,以深度信念网络、卷积神经网络和递归神经网络为代表的深度神经网络模型在很多应用领域展示出明显的优势和潜力,特别是随着数据量和数据维数的增加,深度学习的优势愈加突出。例如,Google 借助深度学习开发的AlphaGo 能从海量的对弈中学习正确的决策,微软语音识别采用深度学习使识别错误率显着降低,网络基于深度学习开发的机器人“小度”在跨年龄人脸识别上超越了人类。

       经过多年的研究和发展,基于人工神经网络的识别方法也逐渐取代传统的模式识别方法。神经网络已成为当前比较先进的技术,用来解决许多具有挑战性的识别任务如文字识别、语音识别、指纹识别、遥感图像识别、人脸识别、手写体字符的识别等。其中主流的神经网络模型有卷积网络和递归神经网络,卷积神经网络由 Yann LeCun 在 1998 年提出,自从 AlexNe 在 2012 年的 ImageNet 比赛中使用了这一架构拔得头筹,卷积神经网络迅速流行起来并广泛应用到视觉任务。如今,最先进的卷积神经网络算法在进行图像识别时,甚至可以超过人类肉眼识别的准确率。递归神经网络网络提出于 1990 年,被视为循环神经网络的推广,递归神经网络可以引入门控机制以学习长距离依赖,适用于包含结构关系的机器学习任务,在序列识别方面有重要应用。

        深度神经网络和深度学习算法因为在科研工作与工程任务中都取得了显着的效果从而大受欢迎。它取代了传统的手动提取特征方法,够端到端地自动提取和学习特征。而其中取得显着成功的深度神经网络通常是由于它们成功的架构设计,研究的工作重心从提取特征转移到了寻找最优架构上。通常来说,模型的容量越大网络的性能就越好,能够拟合任意函数。因此为了提升网络性能,网络结构被设计的越来越复杂。例如,VGG-16 约有1.4亿浮点数参数,整个网络占用超过500兆存储空间,需要153亿次浮点操作来处理一个$224\times224$大小的图像。虽然更深的网络层次和复杂的拓扑结构能够更有效地学习特征,但是网络规模的增大意味着人工设计网络时需要花费更多时间来反复试验,即使是专家也需要大量的资源和时间来创建性能良好的模型。

        神经网络架构搜索(NAS)是一种自动化学习网络结构的新方法,用于减少繁重的网络设计成本。目前为止,NAS方法设计的网络在识别任务上的表现已经超过了人工设计的架构。NAS可以视作自动机器学习(AutoML)的子领域,与超参数优化和元学习有明显的重叠。不同的NAS方法的区别主要在于三个维度:搜索空间、搜索策略和性能评估,我们对此分别进行了调研。

        搜索空间:搜索空间定义了网络的所有可选结构和操作,通常指数级大,甚至无界。在设计搜索空间时结合先验知识,即参考现有的针对当前任务的先进结构设计知识,能够有效减小搜索空间并简化搜索。但这也会引入偏好,从而限制网络学习到超越当前人类知识的结构。

        搜索策略:定义搜索空间后,搜索策略引导寻找高性能的模型架构,其中的难点是保证探索和利用的平衡。一方面,希望快速找到性能良好的架构,另一方面,需要避免过早收敛到次优的架构。

        性能评估:NSA的目的是找到一个在未知数据上具有良好泛化性能的架构,一旦模型生成,就需要对其性能进行评估。直观的方法是在训练集上训练收敛,并在验证集上得到其性能,但是这种方法会耗费巨大的算力,从而限制了可探索的网络结构。一些先进的方法关注于减小性能评估时的计算代价,但会引入误差。因此,平衡评价的效率和效果是一个需要研究的问题。

       从计算的角度来看,神经网络代表了一个通过一系列操作将输入变量 x 转换为输出变量 y 的函数。基于计算图语言,神经网络可以表示为一个有向无环图(DAG),其中每个节点表示一个张量 z ,通过边连接其父节点 I(k),每条边表示从候选操作集O中选择的一个操作 o 。节点 k 的计算公式为:

        其中候选操作集合$O$主要包括卷积、池化、激活函数、跳跃连接、拼接、加法等基本操作。此外,为了进一步提高模型的性能,一些先进的人工设计模块也可以作为候选操作,如深度可分离卷积、膨胀卷积、组卷积。基于操作的类型可以选择不同的超参数,例如输入节点选取、卷积核数量、尺寸、步长等。不同的搜索空间设计,选择和组合操作的方法也不同所以参数化的形式也不一样。一般来说,一个好的搜索空间应该能够排除人类的偏见,并且足够灵活,能够覆盖更广泛的模型架构。

        全局搜索空间搜索一个完整的网络结构,具有很高的自由度。最简单的例子是链式搜索空间,见图1左。固定的数量的节点按顺序堆叠,只有前一个节点的输出提供给后一个节点作为输入,每个节点代表一个层,并具有指定的操作。右图引入更复杂的跳跃链接和多支路结构,此时当前节点可以结合前面所有节点的输出作为输入,使得搜索的自由度显着增大。许多网络都是多分支网络的特例,比如

1)链式网络: ;

2)残差网络: ;

3)DenseNets:

        虽然整体结构搜索很容易实现,但它也有一些缺点。首先,搜索空间的大小与网络深度是指数级关系,寻找泛化性能好的深度网络计算成本高。此外,生成的架构缺乏可迁移性和灵活性,在小型数据集上生成的模型可能不适合较大的数据集。有研究提出,初始架构的选择在搜索全局结构时十分重要。在适当的初始条件下,可以获得与单元搜索空间性能相当的架构,但是初始架构选择的指导原则仍然不明确。

        基于单元的搜索空间受启发于人工设计知识,许多有效的网络结构都会重复使用固定结构,例如在RNNs中重复LSTM块或堆叠残差模块。因此可以只搜索这样的重复单元(cells),整个神经结构的搜索问题被简化为在单元搜索空间中搜索最优的单元结构,从而极大的减小搜索空间。大多数研究对比了基于全局搜索空间和单元搜索空间的实验结果,证明在基于单元的搜索空间中可以获得良好的性能。单元搜索空间的另一个优势是能方便地在数据集和任务之间进行泛化,因为通过增减卷积核和单元的数量,架构的复杂性几乎可以任意改变。

        NASNet是最早提出的单元搜索空间之一,也是当前最热门的选择,之后的大部分改进只是在此基础上对操作选择和单元组合策略进行了少量修改。如图2所示,它由两种单元组成,分别为保持输入特征维度的标准单元(normal cell),和减小空间维度的简化单元(rection cell)。每个单元由b个块组成,每个块由它的两个输入和相应的操作定义。可选的输入包括前两个单元的输出和单元中先前定义的块的输出,所以它支持跨单元的跳跃连接。未使用的块被连接起来并作为单元格的输出,最终通过预定义好的规则级联这些单元。

        不同于上面将单元结构按照人工定义的宏结构进行连接,层次结构是将前一步骤生成的单元结构作为下一步单元结构的基本组成部件,通过迭代的思想得到最终的网络结构。Hier提出的层次搜索空间,通过合并低层单元生成高级单元实现单元级别和网络级别的同时优化。此方法具体分为3层。第一层包含一系列的基础操作;第二层通过有向无环图连接第一层的基础操作,构建不同的单元,图结构用邻接矩阵编码;第三层是网络级的编码,决定如何连接第二层的单元,组合成一个完整的网络。基于单元的搜索空间可以看作是这种层次搜索空间的一个特殊情况。

        强化学习方法(RL)能够有效建模一个顺序决策的过程,其中代理与环境相互作用,代理学会改善其行为从而使目标回报最大化。(图3)给出了一个基于强化的NAS算法的概述。代理通常是一个递归神经网络(RNN),它在每一步t执行一个动作 来从搜索空间采样一个新的样本,同时接收状态 的观察值和环境中的奖励 ,以更新代理的采样策略。这种方法非常适合于神经结构搜索,代理的行为是生成神经结构,行为空间是搜索空间,环境是指对代理生成的网络进行训练和评估,奖励是训练后的网络结构对未知数据的预测性能,在最后一个行为之后获得。

4.2进化算法

        进化算法(EA)是一种成熟的全局优化方法,具有较高的鲁棒性和广泛的适用性。许多研究使用进化算法来优化神经网络结构。进化算法演化了一组模型,即一组网络;在每个世代中,至少从这组模型中选择一个模型,作为亲本在突变后作为生成子代。在对子代进行训练之后,评估它们的适应度并将它们添加到种群中。

        典型的进化算法包括选择、交叉、变异和更新等步骤。选择时一般使用联赛选择算法对父类进行采样,其中适应性最好的一个作为亲本。Lemonade对适应度使用核密度估计,使网络被选择的概率与密度成反比。交叉方式因编码方案的不同而不同。突变针对的是亲本的部分操作,例如添加或移除层,改变层的超参数,添加跳跃连接,以及改变训练超参数。对于产生的后代,大多数方法随机初始化子网络权重,而Lemonade把父网络学习到的权重通过使用网络态射传递给其子网络。Real等人让后代继承其父母的所有不受突变影响的参数,虽然这种继承不是严格意义上的功能保留,它可以加速学习。生成新的网络的同时需要从种群中移除一些个体。Real等人从群体中移除最差的个体,AmoebaNet移除最老的个体。也有一些方法定期丢弃所有个体,或者完全不移除个体。EENA通过一个变量调节最坏模型和最老模型的删除概率。

        基于代理模型的优化方法(SMBO)用一个代理模型来近似目标函数。即不需要训练采样到的网络结构,只需要训练一个代理模型,使用代理模型预测网络的性能。通常在实践中只需要得到架构的性能排序,而不一定要计算出具体的损失值,因此代理模型只需要预测相对得分并选出有前途的候选架构。然后只对预测性能好的架构进行评估,用它们的验证精度更新代理模型,这样只需要完全训练少量候选架构,大大减少搜索时间。代理模型通常训练为最小化平方误差:

        贝叶斯优化(BO)是用于超参数优化的最流行的方法之一。最经典的是基于高斯过程的BO,生成的神经结构的验证结果可以建模为高斯过程,然而,基于高斯的BO方法在观察次数上的推理时间尺度是立方的,并且不擅长处理变长神经网络。有些工作使用基于树或者随机森林的方法来在非常高维的空间中高效的搜索,并且在很多问题上取得了优异的效果。Negrinho利用其搜索空间的树形结构,并使用蒙特卡洛树搜索。虽然没有完整的比较,但初步的证据表明这些方法可以超越进化算法。

        上面的搜索策略搜是从一个离散的搜索空间提取神经结构样本。DARTS提出搜索空间的连续松弛,在连续可微的搜索空间上搜索神经架构如图4所示,并使用如下softmax函数来松弛离散空间:

 

松弛后,架构搜索的任务转化为网络架构与神经权值的联合优化。这两类参数分别在训练集和验证集上交替优化,表示为一个双层优化问题。

        为了对搜索过程进行引导,必须对产生的神经网络性能进行评估。一种直观的方法是训练网络至收敛,然后评估其性能。但是,这种方法需要大量的时间和计算资源。因此提出了几种加速模型评估的方法。

        为了减少计算负担,可以用实际性能的低质近似来估测性能。实现方法包括: 缩短训练时间、选择数据集的子集、在低分辨率的图像上训练、每层使用更少的通道数、堆叠更少的单元结构。在低质条件下搜索到的最优网络或单元,构建出最终结构在数据集上重新训练,得到目标网络。虽然这些低精度的近似能够减少训练花费,但性能被低估的同时不可避免地引入了误差。最近的研究表明,当这种低质评价与完全评价之间的差异较大时,网络性能的相对排名可能变化很大,并强调这种误差会逐渐增加。

        早停技术最初用于防止过拟合。一些研究通过在训练初期预测网络性能,在验证集上预计表现不佳的模型被强制停止训练,以此来加速模型评估。一种在早期估计网络性能的方法是学习曲线外推法。Domhan 等提出训练初期对学习曲线进行插值,并终止那些预测性能不好的网络结构的训练。Swersky等在评估学习曲线的好坏时,把网络架构的超参数作为参考因素。另一种方法根据梯度的局部统计信息实现早期停止,它不再依赖验证集,允许优化器充分利用所有的训练数据。

        代理模型可以被训练用预测网络性能。PNAS提出训练一个代理网络(LSTM)来预测网络结构的性能,他不考虑学习曲线而是基于结构的特点来预测性能,并在训练时推断更大的网络结构。SemiNAS是一种半监督NAS方法,利用大量的未标记架构进一步提高搜索效率。不需要在对模型进行训练,只使用代理模型来预测模型精度。预测网络性能的主要难点是:为加快搜索过程,需要在对较大的搜索空间进行较少的评估的基础上进行良好的预测。当优化空间过大且难以量化,且对每个结构的评估成本极高时,基于代理的方法就不适用。

        代理模型还可以用来预测网络权重。超网络(Hypernetworks)是一种神经网络,被训练来为各种架构生成网络权值。超网络在搜索过程中节省了候选体系结构的训练时间,因为它们的权值是通过超网络的预测得到的。Zhang等人提出了一种计算图表示,并使用图超网络(GHN)比常规超网络(SMASH)更快更准确地预测所有可能架构的权值。

        权重继承是让新网络结构继承之前训练完成的其他网络结构的权值。其中一种方法是网络态射,一般的网络设计方法是首先设计出一个网络结构,然后训练它并在验证集上查看它的性能表现,如果表现较差,则重新设计一个网络。可以很明显地发现这种设计方法会做很多无用功,因此耗费大量时间。而基于网络态射结构方法能够在原有的网络结构基础上做修改,修改后的网络可以重用之前训练好的权重。其特殊的变换方式能够保证新的网络结构还原成原网络,因此子网络的表现至少不会差于原网络,并且能在较短的训练时间内继续成长为一个更健壮的网络。具体地,网络射态能够处理任意非线性激活函数,可以添加跳跃连接,并且支持添加层或通道得到更深或更宽的等效模型。经典的网络态射只能使网络变大,这可能导致网络过于复杂,之后提出的近似网络态射通过知识蒸馏允许网络结构减小。进化算法经常使用基于网络态射的变异,或者直接让孩子继承亲本的权重,再执行一般变异操作,这样产生的网络具有一个更好的初始值,而不用重头开始训练。

计算机网络最突出的优点是什么

计算机网络的优点:

1、可靠性

在一个网络系统中,当一台计算机出现故障时,可立即由系统中的另一台计算机来代替其完成所承担的任务。同样,当网络的一条链路出了故障时可选择其它的通信链路进行连接。

2、高效性

计算机网络系统摆脱了中心计算机控制结构数据传输的局限性,并且信息传递迅速,系统实时性强。网络系统中各相连的计算机能够相互传送数据信息,使相距很远的用户之间能够即时、快速、高效、直接地交换数据。

3、独立性

网络系统中各相连的计算机是相对独立的,它们之间的关系是既互相联系,又相互独立。

4、扩充性

在计算机网络系统中,人们能够很方便、灵活地接入新的计算机,从而达到扩充网络系统功能的目的。

5、廉价性

计算机网络使微机用户也能够分享到大型机的功能特性,充分体现了网络系统的“群体”优势,能节省投资和降低成本。

6、分布性

计算机网络能将分布在不同地理位置的计算机进行互连,可将大型、复杂的综合性问题实行分布式处理。

7、易操作性

对计算机网络用户而言,掌握网络使用技术比掌握大型机使用技术简单,实用性也很强。

(4)rnn网络的技术优势有哪些扩展阅读:

从逻辑功能上看,计算机网络是以传输信息为基础目的,用通信线路将多个计算机连接起来的计算机系统的集合,一个计算机网络组成包括传输介质和通信设备。

从用户角度看,计算机网络是这样定义的:存在着一个能为用户自动管理的网络操作系统。由它调用完成用户所调用的资源,而整个网络像一个大的计算机系统一样,对用户是透明的。

一个比较通用的定义是:利用通信线路将地理上分散的、具有独立功能的计算机系统和通信设备按不同的形式连接起来,以功能完善的网络软件及协议实现资源共享和信息传递的系统。

从整体上来说计算机网络就是把分布在不同地理区域的计算机与专门的外部设备用通信线路互联成一个规模大、功能强的系统,从而使众多的计算机可以方便地互相传递信息,共享硬件、软件、数据信息等资源。简单来说,计算机网络就是由通信线路互相连接的许多自主工作的计算机构成的集合体。

最简单的计算机网络就只有两台计算机和连接它们的一条链路,即两个节点和一条链路。

Ⅳ CNN、RNN、DNN的一般解释

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

转自知乎 科言君  的回答

神经网络技术起源于上世纪五、六十年代,当时叫 感知机 (perceptron),拥有输入层、输出层和一个隐含层。输入的特征向量通过隐含层变换达到输出层,在输出层得到分类结果。早期感知机的推动者是Rosenblatt。 (扯一个不相关的:由于计算技术的落后,当时感知器传输函数是用线拉动变阻器改变电阻的方法机械实现的,脑补一下科学家们扯着密密麻麻的导线的样子…)

但是,Rosenblatt的单层感知机有一个严重得不能再严重的问题,即它对稍复杂一些的函数都无能为力(比如最为典型的“异或”操作)。连异或都不能拟合,你还能指望这货有什么实际用途么o(╯□╰)o

随着数学的发展,这个缺点直到上世纪八十年代才被Rumelhart、Williams、Hinton、LeCun等人(反正就是一票大牛)发明的 多层感知机 (multilayerperceptron)克服。多层感知机,顾名思义,就是有多个隐含层的感知机(废话……)。好好,我们看一下多层感知机的结构:

图1 上下层神经元全部相连的神经网络——多层感知机

多层感知机可以摆脱早期离散传输函数的束缚,使用sigmoid或tanh等连续函数模拟神经元对激励的响应,在训练算法上则使用Werbos发明的反向传播BP算法。对,这货就是我们现在所说的 神经网络 NN ——神经网络听起来不知道比感知机高端到哪里去了!这再次告诉我们起一个好听的名字对于研(zhuang)究(bi)很重要!

多层感知机解决了之前无法模拟异或逻辑的缺陷,同时更多的层数也让网络更能够刻画现实世界中的复杂情形。相信年轻如Hinton当时一定是春风得意。

多层感知机给我们带来的启示是, 神经网络的层数直接决定了它对现实的刻画能力 ——利用每层更少的神经元拟合更加复杂的函数[1]。

(Bengio如是说:functions that can be compactly

represented by a depth k architecture might require an exponential number of

computational elements to be represented by a depth k − 1 architecture.)

即便大牛们早就预料到神经网络需要变得更深,但是有一个梦魇总是萦绕左右。随着神经网络层数的加深, 优化函数越来越容易陷入局部最优解 ,并且这个“陷阱”越来越偏离真正的全局最优。利用有限数据训练的深层网络,性能还不如较浅层网络。同时,另一个不可忽略的问题是随着网络层数增加, “梯度消失”现象更加严重 。具体来说,我们常常使用sigmoid作为神经元的输入输出函数。对于幅度为1的信号,在BP反向传播梯度时,每传递一层,梯度衰减为原来的0.25。层数一多,梯度指数衰减后低层基本上接受不到有效的训练信号。

2006年,Hinton利用预训练方法缓解了局部最优解问题,将隐含层推动到了7层[2],神经网络真正意义上有了“深度”,由此揭开了深度学习的热潮。这里的“深度”并没有固定的定义——在语音识别中4层网络就能够被认为是“较深的”,而在图像识别中20层以上的网络屡见不鲜。为了克服梯度消失,ReLU、maxout等传输函数代替了sigmoid,形成了如今DNN的基本形式。单从结构上来说, 全连接的 DNN 和图 1 的多层感知机是没有任何区别的 。

值得一提的是,今年出现的高速公路网络(highway network)和深度残差学习(deep resial learning)进一步避免了梯度消失,网络层数达到了前所未有的一百多层(深度残差学习:152层)[3,4]!具体结构题主可自行搜索了解。如果你之前在怀疑是不是有很多方法打上了“深度学习”的噱头,这个结果真是深得让人心服口服。

图2 缩减版的深度残差学习网络,仅有34 层,终极版有152 层,自行感受一下

如图1所示,我们看到 全连接 DNN 的结构里下层神经元和所有上层神经元都能够形成连接 ,带来的潜在问题是 参数数量的膨胀 。假设输入的是一幅像素为1K*1K的图像,隐含层有1M个节点,光这一层就有10^12个权重需要训练,这不仅容易过拟合,而且极容易陷入局部最优。另外,图像中有固有的局部模式(比如轮廓、边界,人的眼睛、鼻子、嘴等)可以利用,显然应该将图像处理中的概念和神经网络技术相结合。此时我们可以祭出题主所说的卷积神经网络CNN。对于CNN来说,并不是所有上下层神经元都能直接相连,而是 通过“卷积核”作为中介。同一个卷积核在所有图像内是共享的,图像通过卷积操作后仍然保留原先的位置关系。 两层之间的卷积传输的示意图如下:

图3 卷积神经网络隐含层(摘自Theano 教程)

通过一个例子简单说明卷积神经网络的结构。假设图3中m-1=1是输入层,我们需要识别一幅彩色图像,这幅图像具有四个通道ARGB(透明度和红绿蓝,对应了四幅相同大小的图像),假设卷积核大小为100*100,共使用100个卷积核w1到w100(从直觉来看,每个卷积核应该学习到不同的结构特征)。用w1在ARGB图像上进行卷积操作,可以得到隐含层的第一幅图像;这幅隐含层图像左上角第一个像素是四幅输入图像左上角100*100区域内像素的加权求和,以此类推。同理,算上其他卷积核,隐含层对应100幅“图像”。每幅图像对是对原始图像中不同特征的响应。按照这样的结构继续传递下去。CNN中还有max-pooling等操作进一步提高鲁棒性。

图4 一个典型的卷积神经网络结构,注意到最后一层实际上是一个全连接层(摘自Theano 教程)

在这个例子里,我们注意到 输入层到隐含层的参数瞬间降低到了 100*100*100=10^6 个 !这使得我们能够用已有的训练数据得到良好的模型。题主所说的适用于图像识别,正是由于 CNN 模型限制参数了个数并挖掘了局部结构的这个特点 。顺着同样的思路,利用语音语谱结构中的局部信息,CNN照样能应用在语音识别中。

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

在普通的全连接网络或CNN中,每层神经元的信号只能向上一层传播,样本的处理在各个时刻独立,因此又被成为前向神经网络(Feed-forward Neural Networks)。而在 RNN 中,神经元的输出可以在下一个时间戳直接作用到自身 ,即第i层神经元在m时刻的输入,除了(i-1)层神经元在该时刻的输出外,还包括其自身在(m-1)时刻的输出!表示成图就是这样的:

图5 RNN 网络结构

我们可以看到在隐含层节点之间增加了互连。为了分析方便,我们常将RNN在时间上进行展开,得到如图6所示的结构:

图6 RNN 在时间上进行展开

Cool, ( t+1 )时刻网络的最终结果O(t+1) 是该时刻输入和所有历史共同作用的结果 !这就达到了对时间序列建模的目的。

不知题主是否发现,RNN可以看成一个在时间上传递的神经网络,它的深度是时间的长度!正如我们上面所说, “梯度消失”现象又要出现了,只不过这次发生在时间轴上 。对于t时刻来说,它产生的梯度在时间轴上向历史传播几层之后就消失了,根本就无法影响太遥远的过去。因此,之前说“所有历史”共同作用只是理想的情况,在实际中,这种影响也就只能维持若干个时间戳。

为了解决时间上的梯度消失,机器学习领域发展出了 长短时记忆单元 LSTM ,通过门的开关实现时间上记忆功能,并防止梯度消失 ,一个LSTM单元长这个样子:

图7 LSTM 的模样

除了题主疑惑的三种网络,和我之前提到的深度残差学习、LSTM外,深度学习还有许多其他的结构。举个例子,RNN既然能继承历史信息,是不是也能吸收点未来的信息呢?因为在序列信号分析中,如果我能预知未来,对识别一定也是有所帮助的。因此就有了 双向 RNN 、双向 LSTM ,同时利用历史和未来的信息。

图8 双向RNN

事实上, 不论是那种网络,他们在实际应用中常常都混合着使用,比如 CNN 和RNN 在上层输出之前往往会接上全连接层,很难说某个网络到底属于哪个类别。 不难想象随着深度学习热度的延续,更灵活的组合方式、更多的网络结构将被发展出来。尽管看起来千变万化,但研究者们的出发点肯定都是为了解决特定的问题。题主如果想进行这方面的研究,不妨仔细分析一下这些结构各自的特点以及它们达成目标的手段。入门的话可以参考:

Ng写的Ufldl: UFLDL教程 - Ufldl

也可以看Theano内自带的教程,例子非常具体: Deep Learning Tutorials

欢迎大家继续推荐补充。

当然啦,如果题主只是想凑个热闹时髦一把,或者大概了解一下方便以后把妹使,这样看看也就罢了吧。

参考文献:

[1]

Bengio Y. Learning Deep

Architectures for AI[J]. Foundations & Trends® in Machine Learning, 2009,

2(1):1-127.

[2]

Hinton G E, Salakhutdinov R R.

Recing the Dimensionality of Data with Neural Networks[J]. Science, 2006,

313(5786):504-507.

[3]

He K, Zhang X, Ren S, Sun J. Deep

Resial Learning for Image Recognition. arXiv:1512.03385, 2015.

[4]

Srivastava R K, Greff K,

Schmidhuber J. Highway networks. arXiv:1505.00387, 2015.

Ⅵ 无线局域网与有线局域网相比,有哪些优点

1、安装便捷

无线局域网最大的优势就是免去或减少了网络布线的工作量,一般只要安装一个或多个接入点AP设备,就可建立覆盖整个建筑或地区的局域网络。

2、使用灵活

无线局域网建成后,在无线网的信号覆盖区域内任何一个位置都可以接入网络。

3、经济节约

由于有线网络缺少灵活性,要求网络规划者尽可能地考虑未来发展的需要,这就往往导致预设大量利用率较低的信息点。而一旦网络的发展超出了设计规划,又要花费较多费用进行网络改造,而无线局域网可以避免或减少以上情况的发生。

4、易于扩展

无线局域网有多种配置方式,能够根据需要灵活选择。这样,无线局域网就能胜任从只有几个用户的小型局域网到有上千用户的大型网络,并且能够提供像“漫游”等有线网络无法提供的特性。



无线局域网的硬件设备

1、无线网卡

无线网卡的作用和以太网中的网卡的作用基本相同,它作为无线局域网的接口,能够实现无线局域网各客户机间的连接与通信。

2、无线AP

AP是Access Point的简称,无线AP就是无线局域网的接入点、无线网关,它的作用类似于有线网络中的集线器。

3、无线天线

无线网络中各网络设备相距较远时,随着信号的减弱,传输速率会明显下降以致无法实现无线网络的正常通信,此时就要借助于无线天线对所接收或发送的信号进行增强。

Ⅶ 5g网络相比前几代通信技术有什么优势呢

5G网络作为第五代移动通信网络,其峰值理论传输速度可达每秒数十Gb,这比4G网络的传输速度快数百倍,整部超高画质电影可在1秒之内下载完成。除了高带宽之外,5G网络相比4G网络还着更低的延迟,5G网络的Ping值可以达到仅有几毫秒。目前的4G网络网速已经非常快了,那么5G网络这么快的速率到底有必要吗?目前来看就算网速再快但电信运营商还是按照流量计费的,很少有人会用移动网络下载电影。
其实5G网络已经超越了手机网络的范畴,5G决不会是像3G过渡到4G那样给消费者的直观感觉是网速的提升,5G是革命性的,之所以说是革命性的,是因为5G包含物联网,人类进入信息社会以来,因特网带来的变革成为21世纪世界经济发展的引擎,而5G物联网会将网络的应用范围拓展到前所未有的广度。5G网络有两种类型的网,一个是传统的手机网络,另一个则是为万物互联准备的网,也就是物联网,5G网络所要连接的设备不止是手机了,像自动驾驶汽车、远程医疗等都会使用5G网络。就拿无人驾驶来说,没有5G网络那么无人驾驶永远不会成熟,高带宽低延迟的5G网络对于无人驾驶来说至关重要,只有带宽足够高才能承载马路上数以千计的汽车,只有延迟足够低才能确保出现危险情况时能及时作出反应。无人驾驶要配合物联网使用,只有每辆车每个人都进入车联网之中才能保证绝对的安全。现在的无人驾驶还只是处于初级阶段,没有车联网的无人驾驶不能保证绝对的安全。以目前无人驾驶的水平以及发生事故的概率来看,如果普及无人驾驶技术会使汽车公司倒闭。
除了无人驾驶汽车所使用的5G车联网之外,还有远程医疗等也是随着5G的发展而催生的新产业,得益于5G网络的低延迟,医生在远程手术时能够更加精准的给病人开刀,像人的血管等敏感区域,如果远程医疗延迟过高很可能导致医生操刀不准。
除了以上所说的5G实际用处之外,5G其实是提供了一个平台,可能会催生更多新生产业,5G物联网可能会对社会发展带来更加强劲的动力,5G是实现万物互联的关键一环,5G商用会引发社会经济的深刻变革。

Ⅷ 快速理解RNN(LSTM,GRU)结构原理

RNN主要用来解决序列问题,强调的是先后顺序,在NLP中引申出上下文的概念,一个翻译问题,这个词的含义可能和前后的单词形成的这个组合有联系(Skip-gram),也可能是它之前的所有单词都有联系(Attention),并且,借助RNN的state这样的记忆单元,使得一个序列位置的输出在数学上和之前的所有序列的输入都是有关系的。当然原始的RNN由于梯度的乘性问题,前面的序列的影响近乎为0,这个后面又用LSTM来修正为加性问题。RNN的数学基础可以认为是马尔科夫链,认为后续的值是有前者和一些参数的概率决定的。

seq2seq模型,另外会有新文章介绍。

普通的RNN在长文本的情况下,会学不到之前的信息,例如:the clouds are in the sky 预测sky是可以预测准确的,但是如果是很长的文本,如:我出生在中国,......,我讲的是 中文 这个时候就存在长时依赖问题,LSTM可以通过输入们,遗忘门,输出们来解决这个问题。

刚开始接触LSTM时有点懵,这个结构怎么这么复杂,但其实先理解LSTM做了什么来解决长时依赖问题,就很容易 记住这个结构了。
LSTM通过忘记们来决定从上个隐状态记忆中忘记哪些信息,通过输入们来决定输入哪部分信息,通过输出们来决定输出哪部分信息,这样来解决长时依赖问题,下面来介绍下LSTM的具体结构信息。

LSTM相比RNN hidden status还引入了细胞状态来记录信息。细胞状态通过门结构 gate来添加新的记忆和删除旧的记忆信息

这一步是通过忘记门来忘记部分cell state中的记忆信息

将需添加的新信息加入到经过忘记门后的cell state中,生成新的cell state

GRU的结构如下,主要包含重置门和更新门,把GRU看着LSTM的变体,相当于取消了LSTM中的cell state,只使用了hidden state,并且使用update gate更新门来替换LSTM中的输入们和遗忘门,取消了LSTM中的输出门,新增了reset gate重置门。这样做的好处是在达到LSTM相近的效果下,GRU参数更少,训练的计算开销更小,训练速度更快。

由于GRU参数更少,收敛快,通常在数据集够大的情况下,选择LSTM效果应该会更好。
通常情况下LSTM和GRU两者效果相差不大,GRU训练更快,所以一般会先选择使用GRU进行训练和调参,当无法再继续优化时可以把GRU替换成LSTM来看看是否有提高。

完全图解RNN、RNN变体、Seq2Seq、Attention机制
Understanding LSTM Networks
序列预测问题,CNN、RNN各有什么优势?

Ⅸ 为什么说Transformer的注意力机制是相对廉价的注意力机制相对更对于RNN系列及CNN系列算法有何优势

QA形式对自然语言处理中注意力机制(Attention)进行总结,并对Transformer进行深入解析。


二、Transformer(Attention Is All You Need)详解
1、Transformer的整体架构是怎样的?由哪些部分组成?
2、Transformer Encoder 与 Transformer Decoder 有哪些不同?
3、Encoder-Decoder attention 与self-attention mechanism有哪些不同?
4、multi-head self-attention mechanism具体的计算过程是怎样的?
5、Transformer在GPT和Bert等词向量预训练模型中具体是怎么应用的?有什么变化?

一、Attention机制剖析

1、为什么要引入Attention机制?

根据通用近似定理,前馈网络和循环网络都有很强的能力。但为什么还要引入注意力机制呢?

阅读全文

与rnn网络的技术优势有哪些相关的资料

热点内容
需要网络验证的wifi可行吗 浏览:548
电脑接入网络设备 浏览:320
电脑进网络配置进不去 浏览:518
移动网络超时怎么回事 浏览:542
3kb等于多少兆网络 浏览:966
iq手机如何关闭5g网络 浏览:262
网络超时如何重新加载 浏览:768
笔记本电脑网络图标打个叉 浏览:495
应税服务名称大类计算机网络设备 浏览:471
无线网络比较卡怎么解决 浏览:509
小坛子网络营销 浏览:956
抢票显示网络异常怎么办 浏览:545
网络仿真软件哪个好用 浏览:192
怎样连接网络和路由器 浏览:289
旅游网站网络营销方案 浏览:608
wlan快还是移动网络快 浏览:605
取消网络复试害怕什么 浏览:951
如何重装网络设置 浏览:913
网络限时光信号怎么解释 浏览:564
不用网络的可以连手机的摄像头 浏览:68

友情链接