精华内容
下载资源
问答
  • 2018-10-14 00:28:01

    深度学习-42:深度递归神经网络(Recursive NN,RNN)

    深度学习原理与实践(开源图书)-总目录, 构建知识谱系。

    递归神经网络(Recursive NN,RNN)通过带有树状相似的神经网络结构来递归复杂的深度网络。本质上,递归神经网络是对循环神经网络(Recurrent Neural Network)的一个有效扩展,他们具有不同的计算图。

    递归神经网络(Recursive NN)和循环神经网络(Recurrent NN, RNN)统称为递归神经网络(RNN)。循环神经网络(Recurrent Neural Network, RNN)属于时间递归神经网络,时间递归神经网络的神经元间连接构成矩阵; 递归神经网络(Recursive NN)属于结构递归神经网络,结构递归神经网络利用相似的神经网络结构递归构造更为复杂的深度网络。递归神经网络(RNN)无法处理随着递归,权重指数级爆炸或消失的问题(Vanishing gradient problem),难以捕捉长期时间关联。

    RNN通常是指循环神经网络,我们可以将递归神经网络看做是循环神经网络的一种泛化。

    1 RNN网络的创新

    递归神经网络(RNN)包括一层内的加权连接(与传统前馈网络相比,连接仅馈送到后续层)。因为RNN包含循环,所以它们可以在处理新输入的同时存储信息。这种记忆使它们非常适合处理必须考虑事先输入的任务(比如时间序列数据)。递归神经网络(RNN)非常适合处理文本、语音、视频等时间序列数据样本。

    递归神经网络是循环神经网络的泛化,递归神经网络的计算图结构为1个深层树,而不是RNN的链式结构。

    2 RNN网络的结构

    递归神经网络(Recursive NN)和循环神经网络(Recurrent NN)都可以处理时间序列数据。但是递归神经网络(Recursive NN)在基于词嵌入和句子的连续表示、自然场景图像和自然语言处理中的学习时序和树结构方面表现突出。

    2.1 时间序列数据

    常见的时间序列数据包括:语言模型、手写体识别、序列生成、机器翻译、语音、视频分析等。时间序列数据的样本间存在顺序关系,每个样本和它之前的样本存在关联;直白一点呢的表述也就是选择和决策参考了上一次的状态。RNN不仅能够处理序列的输入,也能得到序列的输出,这里的序列指的是向量序列。

    假设时间序列为: X { x 1 , x 2 , … , x N } X\{x_1, x_2, \ldots, x_N\} X{x1,x2,,xN}

    时间序列模型为: P ( X ) = ∏ i = 1 N P ( x i ∣ x 1 , … , x i − 1 ) P(X)=\prod_{i=1}^N{P(x_i|x_1,\ldots,x_{i-1})} P(X)=i=1NP(xix1,,xi1)

    根据输出和输入序列不同数量rnn可以有多种不同的结构,不同结构自然就有不同的引用场合。每个矩形是一个向量;箭头代表函数(例如矩阵乘法);红色的是输入向量;蓝色的是输出向量;绿色的是某一时间的RNN状态。如下图,

    • 函数问题(不是序列): 一个输入得到一个输出,未体现序列的特征,例如:图像分类场景。
    • 一到多: 给一个输入得到一系列输出,可用于生产图片描述的场景,例如:图像自动字幕,将一幅幅图像转化为句子输出。
    • 多到一: 给一系列输入得到一个输出,可用于文本情感分析,对一些列的文本输入进行分类,看是消极还是积极情感,例如:情感分类,将一个给定的句子分类为积极的情感或者负面的情感
    • 间隔多到多: 给一些列输入得到一系列输出,可用于翻译或聊天对话场景,对输入的文本转换成另外的文本,例如:机器翻译,RNN读入英语的句子,翻译出法语的句子
    • 同步多到多: 它是经典的rnn结构,前一输入的状态会带到下一个状态中,而且每个输入都会对应一个输出,例如:视频分类,我们需要给视频的每一帧打标签。

    时间序列数据输出和输入序列的几种模式

    2.2 RNN网络模型

    因为神经网络的输入层单元个数是固定的,因此必须用循环或者递归的方式来处理长度可变的输入。循环神经网络(Recurrent NN)通过将长度不定的输入分割为等长度的小块,然后再依次的输入到网络中,从而实现了神经网络对变长输入的处理。递归神经网络(Recursive NN)当面对按照树/图结构的时序信息(非序列的时序信息)时, 具有独特优势。

    对于时间序列数据,循环神经网络(Recurrent NN)按照时间顺序链式展开,上去和HMM很像,它的网络参数是跨时刻共享的。对于时间序列数据,递归神经网络(Recursive NN)一般按照树形结构展开(递归由此而来),它的网络参数是跨时刻共享的。共享参数的思想和和卷积神经网络(CNN)是相通的,CNN在二维数据的空间位置之间共享卷积核参数,而RNN则是在序列数据的时刻之间共享参数。共享参数使得模型的复杂度大大减少,并使RNN可以适应任意长度的序列,带来了更好的可推广性。如下图所示。

    递归神经网络(Recursive NN)的架构

    RNN训练困难的主要原因在于隐藏层参数ww的传播:由于误差传播在展开后的RNN上,无论在前向传播过程还是在反向传播过程中ww都会乘上多次,这就导致:

    • 梯度消失:如果梯度很小的话(<1),乘上多次指数级下降,对输出几乎就没有影响了
    • 梯度爆炸:反过来,如果梯度很大的话,乘上多次指数级增加,又导致了梯度爆炸

    当然了,这个问题其实存在于任何深度神经网络中,只是由于RNN的递归结构导致其尤其明显。

    对于梯度爆炸问题,可以通过截断的方式来有效避免。
    而对梯度消失问题,则有很多不同的方案:

    • 有效初始化+ReLU激活函数能够得到较好效果
    • 算法上的优化,例如截断的BPTT算法。
    • 模型上的改进,例如LSTM、GRU单元都可以有效解决长期依赖问题。
    • 在BPTT算法中加入skip connection,此时误差可以间歇的向前传播。
    • 加入一些Leaky Units,思路类似于skip connection

    3 RNN网络的实现

    4 RNN网络的演进

    • 1990年,Pollack提出递归神经网络模型;
    • 1998年,Frasconi 等人用数据关联树结构,且用输入和输出关联树的节点。每个节点的计算不必是传统的人工神经计算 (所有输入的仿射变换,紧随1个单调的非线性)。
    • 2011年,Bottou在序列学习的逻辑推理中引入递归神经网络;
    • 2013年,Socher 发现建模概念 (连续向量表示) 间的关系时张量操作和双线性形式有用。

    5 扩展思考

    1 循环神经网络和递归神经网络的区别?

    循环神经网络(Recurrent NN)是在时间维度上的展开,代表信息在时间维度从前往后的的传递和积累,可以类比markov假设,后面的信息的概率建立在前面信息的基础上,在神经网络结构上表现为后面的神经网络的隐藏层的输入是前面的神经网络的隐藏层的输出;从结构上来说,循环神经网络(Recurrent NN)是有环的;

    递归神经网络(Recursive NN)是空间维度的展开,是一个树结构,比如NLP里某句话,用循环神经网络(Recurrent NN)来建模的话就是假设句子后面的词的信息和前面的词有关,而用递归神经网络(Recursive NN)来建模的话,就是假设句子是一个树状结构,由几个部分(主语,谓语,宾语)组成,而每个部分又可以在分成几个小部分,即某一部分的信息由它的子树的信息组合而来,整句话的信息由组成这句话的几个部分组合而来;从结构上来说,递归神经网络(Recursive NN)无环。

    系列文章

    参考文献

    • [1] Ian Goodfellow, Yoshua Bengio. Deep Learning. MIT Press. 2016.
    • [2] 焦李成等. 深度学习、优化与识别. 清华大学出版社. 2017.
    • [3] 佩德罗·多明戈斯. 终极算法-机器学习和人工智能如何重塑世界. 中信出版社. 2018.
    • [4] 雷.库兹韦尔. 人工智能的未来-揭示人类思维的奥秘. 浙江人民出版社. 2016.
    • [5] Tree RNN与短语句法分析
    更多相关内容
  • 深度递归神经网络用于音频源分离 基于屏蔽功能和判别训练准则的联合优化,基于Matlab的DRNN用于单声道音频源分离的Matlab实现。 [1]。 使用此框架,还可以为DRNN设置几种初始化,例如:“ Xavier” [2],“ He” [3...
  • 深度递归神经网络 长短期记忆网络 门控递归单元神经网络 通过自动微分处理的时间反向传播。 ExamplePaulGraham.java演示了如何进行逐个字符的句子预测和生成。 样本输出: ====================================...
  • BitcoinPrediction:使用深度递归神经网络的CryptoCurrency预测
  • deeplearningsourceseparation:用于资源分离的深度递归神经网络
  • 用于视频汇总的类别驱动的深度递归神经网络
  • 基于深度递归神经网络的电力系统短期负荷预测模型.pdf
  • 这是使用递归神经网络(RNN)开发的歌声分离工具。 它可以将歌手的声音和背景音乐与原始歌曲区分开。 由于分离尚不完善,因此它仍处于开发阶段。 请检查演示的性能。 依存关系 的Python 3.5 脾气暴躁的1.14 ...
  • 深度学习之递归神经网络

    千次阅读 2019-05-23 18:31:43
    递归神经网络是两类人工神经网络的总称,分为是时间递归神经网络(Recurrent Neural Network)和结构递归神经网络(Recursive Neural Network)。也有文献分别称之为:递归神经网络和循环神经网络。RNN网络在传统...

    一、递归神经网络

    1、什么是递归神经网络

        递归神经网络是两类人工神经网络的总称,分为是时间递归神经网络(Recurrent Neural Network)和结构递归神经网络(Recursive Neural Network)。前者也可叫循环神经网络。RNN网络在传统神经网络的基础上加入了“记忆”成分。
        之前的一些神经网络模型中,假设训练数据之间是相互独立的,但是许多实际应用中,数据之间是相互依赖的,比如在时间序列相关的输入场景下,信息之间的传递更多的是一种相互传承的关系。再比如在空间结构场景中,数据之间存在空间的组合关系,可以将整体数据划分为局部的小结构,由局部的小结构推导出整体的性质。

    2、RNN

        下面使用RNN的时候,一般指代的是时间递归神经网络(Recurrent Neural Network)。其处理的对象是一种时间序列数据,它将数据信息流以一种循环的方式进行传递处理。
        序列是什么:序列(x1,x2,…,xm)被看做一系列随着时间步长(time step)递进的事件序列。这里的时间步长并不是真实世界中所指的时间,而是指序列中的位置。
        RNN的特点
        术语:当前时间步t的输入为xt,它的前缀序列输入数据为(x1,x2,…,xt-1)。
        持续性:由于时间序列信息,前后数据不是相互独立,当前阶段的输出不仅和当前的输入有关,还会受到过去的决策影响,所以这是一种持续性,也是单词recurrent的意思。
        记忆性:RNN可以保留序列的记忆信息。对于当前时刻t,上一个时刻的状态表示为ht-1,可以说st-1编码记录了xt的前缀序列数据的信息,这就时所谓的记忆性。当对t时刻的输入xt进行计算时,利用持续性,综合当前输入xt和前一时刻的记忆st-1,一起得到t时刻的状态st。比如为了给当前用户推送合适的数据,需要保留用户过去的操作点击行为。这些用户行为记录就是“记忆”。

    3 Elman递归神经网络

        递归神经网络在网络中出现环形结构,可让一些神经元的输出反馈回来作为输入信号。使得网络在t时刻的输出状态不仅与t时刻的输入有关,还与t-1时刻的网络状态有关,从而能处理与时间有关的动态变化。
        Elman网络和前馈网络类似,但隐层神经元的输出被反馈回来,与下一时刻输入层的神经元提供的信号一起作为隐层神经元在下一时刻的输入。
    在这里插入图片描述
        上图为Elman递归神经网络的展开图,通过展开操作,从理论上可以把网络模型拓展为无限维,也就是无限的时间序列。而且可见RNN在每一时间步t都有相同的网络结构。
        该网络结构:输入层的神经元个数为n,隐层的神经元数量为m,输出层神经元个数为r。
        图中,x是某时间步输入向量(n维),s代表网络隐层的某时间步状态(m维),o代表某时间步的输出向量(r维),输入层与隐层之间由权重矩阵U连接,大小为(nxm)维;W是连接上一时间步的隐层单元与当前时间步的隐层单元的权重矩阵,大小为(mxm)维;V是连接隐藏层与输出层单元的权重矩阵,大小为(mxr)维。
        公式形式:RNN的前向传播可以表示为:某一时间步t的情况
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190329151812151.JPG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4Mzg0OTI0,size_16,color_FFFFFF,t_70#pic_center
        解释:yt是经过归一化后的预测概率。b和c都是偏置,指的注意的是,U,W,V在每个时刻并没有变化。一般要设置一个初始的隐藏单元s-1,作为初始记忆状态,一般为0向量。我们可以只看出:第t时间步的记忆信息由前(t-1)个时间步的记忆结果st-1和当前的输入xt共同决定,这些信息保存在隐层中,不断向后传递,跨越多个时间步,影响每一个新输入数据的处理。
        下图为一个时间步,时间步t的网络结构图:
    在这里插入图片描述
        最下方是RNN的输入层,用X表示,X = (x0,x1,…,xT),是T+1个时间步的输入向量组成序列,其中xt表示第t时间步的输入数据,xt通常是一个如图的n元向量。
    中间部分是网络的隐层,用S(H)表示,S = (s0,s1,…,sT),是T+1个时间步的隐层状态向量组成序列,st也是一个向量,为第t时间步的隐层向量。它是如图所示的m元向量。它是处理记忆信息的地方。
        ##总结##划重点##:典型的时间递归神经网络Elman,每个时间步都是一个神经网络结构,但是因为加入了时间序列,也就是有了持续性和记忆性。随着时间步的推移,对于某个时间步的网络结构:都有一个输入xt,它是一个n维向量,它就是输入层。都有一个前缀隐层记忆信息st-1,它是个m维向量,它是所谓的记忆信息层。都有隐层st,,st,它一个m为向量,它表示当前隐层的状态。都有一个输出ot,它是个r维向量,它就是输出层。输入层和隐层之间的权重矩阵U,记忆信息层和隐层之间的权重矩阵W,隐层和输出层之间的权重矩阵V。记忆信息层和输入层共同决定当前隐层的状态。随着时间序列的前进,每个时间步都会产生自己的结果。当隐层不止一个的时候,隐层与隐层之间的连接为权重矩阵Y1,Y2。
        前向传播过程:对于每个时间步来说,都有当前时刻的输入和传递过来的记忆信息,他们共同作为当前隐层的输入信号,然后当前隐层产生当前的输出和记忆信息。所以可知随着时间序列的前进,每个时间步都会产生自己的输出结果,记忆信息和当前输入共同决定隐层的状态。记忆信息的传递是通过不同时间步隐层之间的连接权重记录的,不断向后传递,跨越多个时间步,影响每一个新输入数据的处理。
    (2)时间反向传播BBTT
        当使用传统的神经网络进行监督学习的时候,模型训练的本质是最小化损失函数来确定参数的取值。一般采用反向传播BP算法进行参数更新。但是在循环神经网络中,由于循环的存在,参数W,U,V矩阵在计算中共享,这时普通的BP算法无法应用到RNN的训练中。
        BPTT算法是BP算法在RNN结构上的一种变体形式,采取在RNN模型的展开式上进行梯度计算。从计算过程看,BPTT与标准反向传播算法基本相同,最主要的差异是由于在RNN网络中,每一时刻计算都共享参数变量W,所以计算梯度的时候,每个时刻的层得到的W的梯度都需要累加在一起,以保证每一层计算所得的误差都得到一定程度的校正,而在传统的神经网络中,每个网络的参数计算都是相互独立的,所以梯度学习也是相互独立的.
        缺点:梯度消失,无法保存较远的记忆。

    灵活的RNN结构
        因为在隐层序列向量定长的时候,输入输出可变长,这种灵活结构的前提是,RNN固有的记忆和持续性。

    4 长短时记忆网络LSTM

        前提背景:
        普通RNN结构只能对距离比较近的时刻的记忆更加强烈,而距离较远则并不清楚。如传统的Elman模型,由于存在梯度消失等缺点,不能有效地保留长时间的记忆信息。数学
        解释如下:
        RNN结构本质是很多层相同非线性函数的嵌套形式,如果忽略掉激活函数和输入向量,RNN节点的状态ht可以表示为:
    在这里插入图片描述
        若特征值取小于1则会快速降为0,若特征值大于1,快速趋向于无穷。由于权重矩阵W随着时间序列前进被共享,由上图可见,在状态传递过程中相当于W被乘了很多次,到第t个时间步Wt可能只能趋向于0或无穷大了,就是消失或爆炸。导致对于一个时间序列,任何前面发生的时间的记忆都会以指数级的速度被遗忘。

    【A】:LTSM基本原理:
        长短时记忆网络LSTM是时间递归神经网络的一种变体。整体结构和传统的RNN基本一致,与传统的Elman模型激活层的结构不同,隐藏层的设计更复杂,并有效克服了梯度消失问题。LSTM隐藏层的核心设计是一种叫记忆体(cell state)的信息流,它负责把记忆信息从序列的初始位置传递到序列的末端。通过4个相互交互的“门”单元,控制着在每一时间步t对记忆信息值的修改。
        术语介绍:x号是点积操作,因为sigmoid函数取值范围为[0,1],门控制器描述信息能够通过的比例LSTM在某时间步短期记忆单元st的基础上增加了一个长期记忆单元Ct来保持长期记忆。
        1、忘记门:忘记门选择保留上一时间步t-1的长期记忆Ct-1的哪些信息进入下一时间步的长期记忆Ct。得到信息保留比例 ft,忘记门通过一个激活函数实现:
    在这里插入图片描述
    利用激活函数将函数值压缩得到一个大小在(0,1)之间的阈值,当函数值接近1的时候,表示记忆体保留的信息越多,当函数值接近0的时候,表示记忆体丢弃的信息越多。
        2、输入门:它决定了当前时间步的输入信息(候选门的信息总量)形成的新记忆C’t中有多少信息将被添加到下一时间步长期记忆Ct中,与忘记门计算公式几乎一致:
    在这里插入图片描述
        3、候选门:用来计算当前时间步输入xt与上一时间步短期记忆st-1所具有的信息总量,计算如下:
    在这里插入图片描述
        4、输出门:也就是由Ct求解st的过程,控制着当前时间步短期记忆st如何受长期记忆Ct的影响,计算公式:
    在这里插入图片描述
        ot是一个大小在(0,1)之间的权重值,这样传递给下一阶段的记忆信息为:
    在这里插入图片描述
        时间序列状态st的更新是靠记忆信息Ct和输出比例ot来决定的,记忆信息流Ct一直处于更新中。

    LSTM隐藏层的逻辑设计图
    根据理解,手绘了逻辑图
    在这里插入图片描述
        忘记门将上一时间步的输出信息st-1与当前输入xt进行线性组合后,得到过去记忆Ct-1的信息保留比例 ft,由候选门得到当前输入与过去记忆的信息总量C’t;由输入门得到候选门中的信息总量添加到记忆信息流中的比例it ,;输出门得到更新后得到的记忆Ct用于下一阶段得到st的信息比例。

        记忆的更新:由两部分组成,第一部分通过忘记门过滤过去的部分记忆,大小为
    ft x Ct-1;第二部分是添加当前的新增数据信息,添加比例由输入门控制,大小为
    it x C’t 。 这联股份组合得到更新后的记忆信息Ct:
    在这里插入图片描述
        LSTM改进主要体现在通过门控制器增加了对不同时刻记忆的权重控制,加入跨层连接削减梯度消失的影响,在原有结构增加了线性连接,使得长期信息更好传递。
    下图为节点级联和其抽象表示:
    在这里插入图片描述

    5 GRU门控制递归单元网络

        我们要注意的是下面所说的隐藏层并不是隐层,是将网络结构展开后随着时间序列而得到的一系列隐层组成的,所以也叫隐藏层。
    LSTM网络的设计方式多种多样,在实际应用中,隐藏层的“门”的单元设计可能会由于要解决的实际问题不同,在设计上会有细微的差别。
        GRU基本原理:在LSTM基础上进行了简化,主要包括下面两个方面的改造:(1)将输入门和忘记门组合成一个新的门单元,成为更新门;(2)将记忆单元Ct与隐藏层单元st结合为一个统一的单元,如图所示:
    在这里插入图片描述
        如图:rt是重置门,它的值决定了过去记忆和当前输入的组合方式;zt表示更新门,它控制过去记忆能保存多少;h就是候选门;
    在这里插入图片描述

    展开全文
  • RNNSharp是深度递归神经网络的工具包,已广泛用于许多不同种类的任务,例如序列标记,序列到序列等。 它由C#语言编写,基于.NET Framework 4.6或更高版本。 本页介绍什么是RNNSharp,其工作方式和使用方法。 要...
  • 三、什么是递归神经网络RNN 前言: 这是一个很容易混淆的概念,网上充斥了大量混用的情形,在学习RNN之前,我们不妨先做个简单的澄清。 一、什么是RNN NN表示神经网络neural network,关键什么是"R"? 实际上...

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

    本文网址:https://blog.csdn.net/HiWangWenBing/article/details/121379935


    目录

    前言:

    一、什么是RNN

    二、什么是循环神经网络RNN

    三、什么是递归神经网络RNN



    前言:

    这是一个很容易混淆的概念,网上充斥了大量混用的情形,在学习RNN之前,我们不妨先做个简单的澄清。

    一、什么是RNN

    NN表示神经网络neural network,关键什么是"R"?

    实际上,在深度学习领域,R有两种情形:

    (1)Recurrent Neural Network => 循环神经网络RNN

    (2)Recursive Neural Network => 递归神经网络RNN

    因此,RNN即是循环神经网络的简称,也是递归神经网络的简称。

    其中,循环神经网络的简称更加的广泛!

    二、什么是循环神经网络RNN

    Recurrent Neural Network => 循环神经网络RNN

    字面意思上,循环是指:“时间”的维度上是循环的,是时间上有反馈的网络,循环是指:转了一圈,又回来的网络。

     上图左图:空间示意图,在网络形态确定的情况下,网络的输出,不仅仅取决于输入Xt,还取决于之前的输出Ht-1, 即当前的状态。

    上图右图:是指按照时间的顺序展开的“逻辑”示意图。X0, X1.......Xt按照时间的顺序依次送入网络中的数据,而h0,h1,.....ht是指按照时间的顺序依次输出的数据。

    h1的输出,不仅仅取决于x1的输入,还取决于之前h0的状态,即X1对应的输出,不同的“上文”,其输出是不同的。如我们、它们、他们中的“们”字,在不同的“上文”中含义是不相同的。

    这样的神经网络称为“时序神经网络”

    时序神经网络适合:

    处理“具有时序关系的输入序列”。也就是说,一个输入对应的输出,还取决于其“上文”的应用场合,如文字分类,自然语言处理。

    三、什么是递归神经网络RNN

    Recursive Neural Network => 递归神经网络RNN。

    字面意思的“递归”是指:是一种“空间”的迭代。网络结构如下图所示:

    在该图中:

    X1的输入,送给X1的神经元网络。

    X2的输入与X1的输出,一起送给X2的神经元网络。

    X3的输入与X2的输出,一起总给X3的神经元网络。

    如此递归.............................

    递归神经网络RNN本质还是一个没有返回和内部状态的“组合逻辑”,而不是“时序逻辑”。


    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

    本文网址:https://blog.csdn.net/HiWangWenBing/article/details/121379935

    展开全文
  • 但是许多语言学家认为语言最好被理解为具有树形结构的层次化词组,一种被称为递归神经网络(recursiveneuralnetwork)的深度学习模型考虑到了这种结构,这方面已经有大量的研究。虽然这些模型非常难以实现且效率很低...
  • 原因包括搜寻攻击类型的不确定性以及高级网络攻击的复杂性不断增加,IDS要求整合深度神经元网络(DNN)和递归神经网络(RNN)等方法,术语记忆(LSTM)。 在此提交中,DNN和LSTM用于预测针对网络入侵检测系统...
  • RNN:递归神经网络 RNN在自然语言处理方面较好。 通常情况下只需要最后一个结果。 递归神经网络的反向传播: 只要有路线,就需要把梯度传导下去。 存在缺点: 1、当输入较大时,网络结构比较大,反向梯度传播...

    RNN:递归神经网络

    在这里插入图片描述

    在这里插入图片描述
    RNN在自然语言处理方面较好。
    在这里插入图片描述
    通常情况下只需要最后一个结果。

    递归神经网络的反向传播:
    在这里插入图片描述
    只要有路线,就需要把梯度传导下去。

    在这里插入图片描述

    存在缺点:
    1、当输入较大时,网络结构比较大,反向梯度传播计算会很慢。
    2、当梯度计算为0时,参数就无法传递了,也就是会出现梯度消失。
    3、较前的输入可能信息价值不高,可能对训练造成影响,需要预处理

    LSTM 长短记忆网络

    LSTM会去遗忘一些数据

    在这里插入图片描述
    在这里插入图片描述

    例如:C会使值为0的信息剔除,0.5的保留部分,0.8的保留大部分,1 的保留全部

    在这里插入图片描述
    门单元

    在这里插入图片描述
    利用sigmoid函数筛选数据

    在这里插入图片描述
    ft和Ct-1组合决定前一层需要丢弃的信息
    在这里插入图片描述

    it和Ct ~ 通过乘法门单元☉组合,决定当前层xt要保留下的的信息。然后再与前一层保留下来的(Ct-1☉ft)通过加法门单元组合形成(it☉Ct~)⊕(Ct-1☉ft)=Ct。

    在这里插入图片描述

    在这里插入图片描述
    核心是控制参数C的更新,从开始到结束要不断更新Ct

    在这里插入图片描述

    LSTM网络比RNN应用更广泛

    展开全文
  • 本文将阐释深度学习和FPGA各自的结构特点以及为什么用FPGA加速深度学习是有效的,并且将介绍一种递归神经网络(RNN)在FPGA平台上的实现方案。  揭开深度学习的面纱  深度学习是机器学习的一个领域,都属于人工...
  • 长期短期记忆网络(通常被称为“LSTM”)是一种特殊的RNN,能够学习长期的依赖关系 ...所有经常性的神经网络都具有神经网络重复模块链的形式。在标准RNN中,这个重复模块将具有非常简单的结构,例如单一的双层。
  • 1.循环神经网络(recurrent neural...2.递归神经网络(recursive neural network)递归神经网络是空间上的展开,处理的是树状结构的信息,是无环图,模型结构如下: recursive: 空间维度的展开,是一个树结构,比如nlp里某. ...
  • 基于递归神经网络的智能电网虚假数据检测.pdf
  • 强化学习和递归神经网络的实验 免责声明:我的代码非常基于Scott Fujimotos的 待办事项:正确引用 动机 此仓库是我自己的一项练习,以正确理解将RNN与深度增强学习一起使用会带来什么 提供了有关RL算法在训练时如何...
  • 基于深度卷积-递归神经网络的手绘草图识别方法.pdf
  • 深度学习小白专场之循环神经网络和递归神经网络 全连接神经网络和卷积神经⽹网络,都只能单独的去处理单个的输入,且前后的输入之间毫无关系。但是在一些任务中,我们需要更好的去处理序列的信息,即前后的输⼊之间...
  • 基于深度卷积递归神经网络结构的手写字识别系统(Tensorflow)
  • 该算法对RGB-D图像的RGB图、灰度图、深度图及3D曲面法线图进行不同尺度分块形成多个通道,每个通道与相应尺寸的滤波器卷积,提取的特征图经局部对比度标准化和下采样后,作为递归神经网络(recursive neural ...
  • 考虑到红外视频的深度特征具有单帧图像的独特性和视频全局的连续性, 在单目红外视频深度估计问题上提出一种基于双向递归卷积神经网络(BrCNN)的深度估计方法。BrCNN在卷积神经网络(CNN)能够提取单帧图像特征的基础之...
  • 递归神经网络基础 1 递归神经网络与前馈神经网络的联系与区别 1)网络结构 2)输入角度 3)输出角度 2 递归神经网络的架构类别 第一种架构类别:从输入和输出的序列长度角度 1)N:N(最为常见的架构) 2...
  • 零基础入门深度学习(7) - 递归神经网络 - 作业部落 Cmd Markdown 编辑阅读器.pdf
  • python深度学习大全 ... 往期回顾 ...在前面的文章中,我们介绍了循环神经网络,它可以用来处理包含序列结构的信息。然而,除此之外,信息往往还存在着...本文介绍一种更为强大、复杂的神经网络:递归神经网络 (Recur
  • 将单图像检测框架与递归神经网络-LSTM网络相结合,形成交织循环卷积结构,通过采用一种Bottleneck-LSTM层提炼传播帧间的特征映射实现了网络帧级信息的时序关联,极大降低了网络计算成本;将时间感知信息与改进的动态...
  • 强化学习中的递归神经网络

    千次阅读 2022-04-08 00:06:27
    在解决模型训练的机器学习问题时,可以使用已知的输出(监督学习),或者模型可以在事先不知道正确结果的情况下自行... 详细算法请看:如何强化学习中的递归神经网络https://mp.weixin.qq.com/s/_L9TedOP8scUypStZy8hiw
  • 卷积神经网络(CNN):是一类包含卷积计算且具有深度结构的前馈神经网络;由于卷积神经网络具有平移不变分类,因此也被称为平移不变人工神经网络。 卷积神经网络是一种特殊的卷积神经网络模型,体现在两个方面:(1)...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,351
精华内容 8,540
关键字:

深度递归神经网络

友情链接: 18232271IBD.rar