精华内容
下载资源
问答
  • 发现无论哪场面试,LSTM与GRU的细节区分被提问的概率都很高,今天简单分析一下 参考资料:https://m.sohu.com/a/336551522_99979179 LSTM 公式为 i的计算常被称为输入门,f的计算常被称为遗忘门,注意和tahn做...

    发现无论哪场面试,LSTM与GRU的细节区分被提问的概率都很高,今天简单分析一下
    参考资料:https://m.sohu.com/a/336551522_99979179
                      https://www.jianshu.com/p/4b4701beba92

    LSTM


    公式为


    i的计算常被称为输入门,f的计算常被称为遗忘门,注意和tahn做运算的是输入门。
    简单说明LSTM的整个过程:
    1.首先输入为三个值,一个是此刻的输入值x,另一个是上一时刻的状态值c(t-1),最后一个是上一个隐含层单元的输出h(t-1)
    2.最终输出为两个值,一个是此刻产生的状态值c(t)和输出h(t)
    3.首先是输入值x和上一个单元的输出h(t-1),两个输入分别都有对应的权重,在经过sigmoid激活作用下得到0-1的值,也就是三个门值
    4.和3差不多,依然还是输入值x和上一个单元的输出h(t-1),两个值有对应的权重和3中的描述一模一样,唯一的区别在于有一个tanh激活函数,最后相当于得到此时输入得到的当前state,也就是new memory。这里可以理解为输入其实是近似的x和h的concatenate操作,经过正常的神经网络的权重,最后经过tanh激活函数得到此时输入的当前的state,x相当于此刻的输入,h为前面历史的输入,合在一起就是整个序列的信息,也就是此时的new memory
    5.最后输出的state,也就是final memory的计算利用了input gate和forget gate,output gate只与输出有关。final memory的计算自然而然和上一步算得此时的记忆state相关并且和上一个输出的final memory相关,故为忘记门和c(t-1)的乘积加上上一步算出来的此时单元的C和输入门的乘积为最终的state:c(t)
    6.输出门只与输出相关,最终的输出h(t)为输出门乘以tanh(c(t))

    GRU

    内部结构与公式为:


    简单说明LSTM的整个过程:
    1.GRU只有两个gate,一个是update gate, 一个是reset gate, update gate的作用类似于input gate和forget gate,(1-z)相当于input gate, z相当于forget gate
    2.输入为两个值,输出也为两个值,输入为、此时时刻值x和上一个时刻的输出h(t-1), 输出这个时刻的输出值h(t)
    3.首先依然是利用x(t)和h(t-1)经过权重相乘通过sigmoid,得到两个0-1的值,即两个门值
    4.接下来这里有一些不同,并且经常容易搞混淆。对于LSTM来说依然还是x(t)与h(t-1)分别权重相乘相加,之后经过tanh函数为此时的new memory,而GRU为在这个计算过程中,在h(t-1)与权重乘积之后和reset gate相乘,之后最终得到new memory,这里的reset gate的作用为让这个new memory包括之前的h(t-1)的信息的多少
    5.接下来和lstm得到final memory其实一样,只是GRU只有两个输入,一个输出,其实这里h即输出也是state,就是说GRU的输出和state是一个值,所以4步骤得到的是new h,这步骤得到的是final h,通过update gate得到

    细数LSTM与GRU的不同

    结构上

    1.lstm为三个输入xt,ht-1, ct-1,两个输出。gru为两个输入xt, ht-1,一个输出ht,输出即state。

    2.lstm有三个门,输入输出忘记门。gru有两个门,reset,update 门。

    3.update 类似于 input gate和forget gate

    功能上

    1.GRU参数更少,训练速度更快,相比之下需要的数据量更少

    2.如果有足够的数据,LSTM的效果可能好于GRU

     

    Reference

    https://blog.csdn.net/sinat_33741547/article/details/82821782

    https://towardsdatascience.com/understanding-gru-networks-2ef37df6c9be

    https://medium.com/mlrecipies/deep-learning-basics-gated-recurrent-unit-gru-1d8e9fae7280

    展开全文
  • lstmgru的区别

    2021-06-18 16:20:38
    lstmgru的区别 与GRU区别: 1)GRU和LSTM的性能在很多任务上不分伯仲。 2)GRU参数更少因此更容易收敛,但是数据集很大的情况下,LSTM表达性能更好。 3)从结构上来说,GRU只有两个门(update和reset),LSTM有三个门...

    与GRU区别:
    1)GRU和LSTM的性能在很多任务上不分伯仲。
    2)GRU参数更少因此更容易收敛,但是数据集很大的情况下,LSTM表达性能更好。
    3)从结构上来说,GRU只有两个门(update和reset),LSTM有三个门(forget,input,output),GRU直接将hidden state传给下一个单元,而LSTM则用memory cell 把hidden state包装起来。

    展开全文
  • LSTM与GRU

    千次阅读 2018-08-13 16:04:35
    很多博客已经详细讲述了lstm和gru的...这篇文章主要讲自己对lstm与gru的区别及联系的理解。 在传统RNN中,由于反向传播过程中出现激活函数的累乘,容易造成梯度消失和梯度爆炸,这就造成在较长的time-steps下,后面...

    很多博客已经详细讲述了lstm和gru的结构及公式,这里就不一一介绍了,参考下面链接,讲的挺详细

    https://blog.csdn.net/gzj_1101/article/details/79376798

    这篇文章主要讲自己对lstm与gru的区别及联系的理解。

    在传统RNN中,由于反向传播过程中出现激活函数的累乘,容易造成梯度消失和梯度爆炸,这就造成在较长的time-steps下,后面的step很难学到前面step的信息,为了解决这一问题,设计出了lstm及lstm的变种,其核心原理在于在前向计算中,刻意地选择记住一定比例的过去的信息和一定比例的现在的信息。

    而这个一定比例的选择我们很容易想到激活函数sigmoid,它的输出正好是(0,1)之间,在lstm中一般称为门。

    LSTM的结构如下:

    从图中可以看出,lstm主要包括三个门,分别称为遗忘门,输入门和输出门。我们构建这个结构的起因就是想记住一部分过去的信息,这个主要通过最左侧的遗忘门实现,选择记住ft倍的Ct-1,另一部分当前的信息通过输入门实现,选择记住it倍的Ct(^),两个部分加起来就是当前所记住的信息,但是一般我们不会需要输出记住的所有信息,只需要输出记住的一部分有用信息,也就是输出门的功能,即选择ot倍的ct输出。

    这样我们可以通俗地理解,Ct为某个time-step记住的所有信息,ht为某个step输出的有用信息。

    由于lstm的结构复杂性且引入了一个新的状态变量,Cho, et al. (2014)基于lstm提出了一种变种,称为gru,其结构比标准的lstm的结构简单,在后来也很流行,结构如下所示:

    与lstm相比,从直观上我们可以看到“门”由三个变为两个,论文中称为重置门和更新门。同时,也少了ct这个状态变量。

    gru中通过1-zt倍的ht-1选择记住部分过去信息,通过zt倍的ht(~)选择记住部分当前信息,相加为当前step的输出信息。与lstm的核心原理相同,gru也是选择记住一定比例的过去的信息和一定比例的现在的信息,但在比例的选择上呈现差异,lstm对过去和现在的信息选择相同的比例输出,而gru对过去和现在的信息输出的比例和为1,对输出的过去信息和现在信息有一种权重的作用。

    核心区别在于gru在计算当前state信息时对过去信息有一种选择性,即当前信息的产生是否受过去信息的影响。

    举个例子:对于这样一句话“你喜欢吃苹果,而我喜欢吃香蕉”,“喜欢”这个信息的产生并不受“你”的影响,也有可能是讨厌之类的,但是“我”的信息的产生就受到“而”的转折的影响。

    对于lstm,“你”之后出现“喜欢”和“讨厌”的比例为4:3或4:1没有区别,最后的输出信息为“你喜欢”,谁大输出谁

    而对于gru,“你”之后出现“喜欢”和“讨厌”的比例为4:3或者4:1,表示最后的输出信息为“你喜欢”的可能性是输出“你讨厌”的可能性的1.3倍或者4倍,表示两种事件。

    所以gru与lstm相比,进行了更深层次的理解,增加了不同state之间信息的联系程度。

     

     

     

    展开全文
  • LSTMGRU区别与联系

    2019-08-03 05:08:22
    LSTMGRU都是特殊RNN架构,都是为了解决梯度消失问题而生。GRU可以认为是简化版本的LSTMGRU具体两个门结构:重置门和更新门。重置门用来控制新信息如何前面记忆结合,更新门用来控制当前新记忆过去...

    LSTM和GRU都是特殊的RNN架构,都是为了解决梯度消失问题而生。GRU可以认为是简化版本的LSTM。

    二者的核心概念:

    当前记忆 = 过去记忆 + 记忆增量

    1、LSTM网络

    LSTM具有三个门结构,输入门,输出门和遗忘门。
    记忆增量当前输入过去输出的加权和。
    遗忘门控制过去记忆的量,输入门控制记忆增量的量。
    输出门控制当前记忆当前输出的影响。
    遗忘门:
    f=σ(U1xt+W1ht1)f=\sigma(U_1x_t+W_1h_{t-1})
    输入门:
    i=σ(U2xt+W2ht1)i=\sigma(U_2x_t+W_2h_{t-1})

    当前记忆:
    ct=fct1+itanh(U3xt+W3ht1)c_{t}=f\odot c_{t-1}+i\odot tanh(U_3x_t+W_3h_{t-1})
    输出门:
    o=σ(U3xt+W3ht1)o=\sigma(U_3x_t+W_3h_{t-1})
    当前输出:
    ht=otanh(ct)h_t=o\odot tanh(c_{t})

    2、GRU网络

    GRU具体两个门结构:重置门 和更新门。
    记忆增量(或者说候选状态)由当前输入信息和过去记忆(或者说过去状态)累加形成,而重置门控制着过去记忆在当前记忆增量中的重要性。
    更新门控制过去记忆当前记忆增量的比例。
    重置门:
    rt=σ(U1xt+W1ht1)r_t=\sigma(U_1x_t+W_1h_{t-1})
    更新门:
    zt=σ(U2xt+W2ht1)z_t=\sigma(U_2x_t+W_2h_{t-1})
    记忆增量:
    h~=tanh(U3xt+W3(ht1rt))\tilde{h}=tanh(U_3x_t+W_3(h_{t-1}\odot r_t))
    当前记忆:
    ht=(1zt)ht1+zth~h_t=(1-z_t)\odot h_{t-1}+z_t\odot\tilde{h}

    可以看出GRU和LSTM非常类似,实际上性能也类似。只是GRU参数比LSTM少,训练速度更快。

    展开全文
  • 因为自己LSTMGRU时间相隔很远,并且当时学也有点小小蒙圈,也因为最近一直在用lstmgru等等,所以今天没事好好缕了一下,接下来跟着我一起区分并且每个单元全都非常深刻记一下把。 一、LSTM 这里我们只...
  • 图解LSTM与GRU单元各个公式和区别

    千次阅读 2019-08-26 17:41:42
    作者|Che_Hongshu来源 |AI蜗牛车 (ID:AI_For_Car)因为自己LSTMGRU时间相隔很远,并且当时学也有点小小蒙圈,也因为最近一...
  • 我自己的猜想:GRU的重置门就相当于LSTM中的更新门。 LSTM中的C经过输出门之后形成了H,因为有输出门所以H更关注当前状态的信息,而C携带者之前的所有状态的信息。GRU中的H就相当于LSTM中的C同样也携带者之前状态的...
  • RNN ...和普通神经网络一样,RNN有输入层输出层和隐含层,不一样是RNN在不同时间t会有不同状态,其中t-1时刻隐含层输出会作用到t时刻隐含层. 参数意义是:WhvWhv:输入层到隐含层权重...
  • 这篇博文只是根据我个人的直观感受来概括这些层的用法和效果,不涉及原理(较复杂不细说,有兴趣可以看李宏毅的...grucell,lstmcell与gru,lstm的区别: grucell是gru过程中的一个时间步操作,可以立即为gru由多个gr
  • 前言因为自己LSTMGRU时间相隔很远,并且当时学也有点小小蒙圈,也因为最近一直在用lstmgru等等,所以今天没事好好缕了一下,接下来跟着我一起区分并且每个...
  • Seq2Swq之LSTMGRU

    2020-03-14 14:57:33
    LSTM 全称是 Long Short Term Memory Network,又叫做长短时记忆网络,必须明确是它是一种特殊 RNN 结构,那么它标准 RNN结构区别在哪呢?让我们来看一下标准 RNN 结构: 由上图中可以看到,传统 ...
  • 普通MLP和CNN都没有事件维度,可以从RNN开始引入了事件维度,这在理解上给我们带来了一些困难,笔者为了避免遗忘,将这种区别和特点记录如下。 (没时间画图,就看文字吧,写比较简单。。。) 资料 ...
  • 文章目录前言一、传统RNN双向RNN深层双向RNN二、LSTM第一层第二层第三层第四层三、GRU四、 LSTMGRU区别参考 前言 为了复习NLP自己相关知识,整理一个博客 提示:以下是本篇文章正文内容,下面案例可供参考 一...
  • LSTM简介 LSTM,Long-Short Term Memory RNN,长短期记忆模型循环神经网络 LSTM是RNN的一个变种,为了解决RNN模型梯度弥散的...RNN与LSTM最大的区别在于LSTM中最顶层多了一条名为“cell state”的信息传送带,其实
  • 普通前馈网络最大的区别是, 网络节点在t时刻的输出不仅依赖于t时刻的输入, 还依赖前一时刻的输出状态. 即 ht,ct=f(ht−1,ct−1,xt)h_t,c_t=f(h_{t-1},c_{t-1},x_t) hh 为cell 输出, cc 为cell 状态.2. time_...
  • 1 递归神经网络前馈神经网络联系与区别 1)网络结构 2)输入角度 3)输出角度 2 递归神经网络架构类别 第一种架构类别:从输入和输出序列长度角度 1)N:N(最为常见架构) 2)N:M(Seq2Seq或者...
  • 首先通过公式我认为GRU(“Learning Phrase Representations using RNN EncoderDecoder for Statistical Machine Translation”)里h与LSTMC是非常类似之相对应GRULSTM非常类似。区别在于...
  • LSTM与GRU的区别7. LSTM可以使用别的激活函数吗?8. 代码实现9. 参考文献 1. 什么是LSTM 在你阅读这篇文章时候,你都是基于自己已经拥有的对先前所见词的理解来推断当前词的真实含义。我们不会将所有的东西都全部...
  • 如有缪误欢迎指正 GRU结构向前传播 心得(欢迎指正) 当遗忘门等于0的时候当前信息抛弃 之前记忆前传 ...Q:LSTM与GRU 的区别 A: LSTM 数据量大的时候选用 A: GRU 结构相对简单,但是训练...
  • rnn之lstm

    2021-05-29 18:27:17
    解决rnn弊端提出lstm rnn在有序数据上学习 梯度消失 w是小于1数; w>1 梯度爆炸 rnn没有办法回忆久远记忆 rnn : lstm gru rnn全连接神经网络区别 RNN缺陷
  • 深度学习2

    2019-09-26 12:39:10
    1 神经网络为啥用交叉熵 通过神经网络解决多分类问题时,最常用二道一种放肆就是在最后一层设置n...2 LSTM与GRU的区别 GRU和LSTM 的性能在很多任务上不分伯仲,2) GRU 参数更少,因此更容易收敛,但是数据集很大...
  • 它和其他任务根本区别在于它以序列作为处理对象,而序列由彼此独立又相互联系单词组成,为了处理这种关系,需要在层层之间记忆和传递状态,以表达单词之间联系,深度学习使用rnn及rnn变种(lstmgru)...
  • 【深度学习】GRU的结构图及公式

    千次阅读 2019-01-29 16:56:33
    GRU与LSTM的区别 前面说到过LSTM的出现是为了解决传统RNN无法解决的长距离依赖问题而出现的,而GRU也具有该功能,但是结构相对于LSTM来说相对简单,可以将GRU看作是LSTM的一种优化或变体。 GRU的结构图 前向...
  • LSTM网络 -- 学习笔记

    2020-12-05 17:52:29
    文章目录一、RNN产生的问题二、RNN和LSTM的结构比较三、RNN和LSTM的区别四、LSTM的图例五、LSTM的细胞状态六、LSTM的“门”结构七、LSTM的三个控制门八、LSTM网络的变种8.1 peephole connection8.2 coupled8.3 GRU...

空空如也

空空如也

1 2 3 4
收藏数 75
精华内容 30
关键字:

lstm与gru的区别