GRU与LSTM的区别是什么?

2024-05-14

1. GRU与LSTM的区别是什么?

GRU(Gated Recurrent Unit)和LSTM(Long Short-Term Memory)都是常用的递归神经网络(RNN)算法。
GRU和LSTM都可以在序列数据中处理长期依赖性。GRU和LSTM都由多个单元组成,每个单元都包含一个输入门、一个输出门和一个记忆单元。
但是GRU相对于LSTM有一些简化:
GRU没有LSTM的输入门,它只有一个更新门,用于决定当前输入信息是否要被更新到记忆单元。
GRU没有LSTM的遗忘门,它的更新门只负责更新记忆单元,不负责遗忘信息。
因为简化了一些结构,GRU通常比LSTM更快,但是LSTM可能更好地处理更长的依赖关系,因此在处理长期依赖性问题时可能更有效。

GRU与LSTM的区别是什么?

2. 快速理解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各有什么优势? 
最新文章
热门文章
推荐阅读