GRU和LSTM之间的主要区别在于,GRU具有两个门(重置和更新门),而LSTM具有三个门(即输入,输出和忘记门)。
当我们显然通过LSTM模型对网络具有更多控制权时(因为我们有三个闸门),为什么要使用GRU?在哪种情况下,GRU优于LSTM?
GRU和LSTM之间的主要区别在于,GRU具有两个门(重置和更新门),而LSTM具有三个门(即输入,输出和忘记门)。
当我们显然通过LSTM模型对网络具有更多控制权时(因为我们有三个闸门),为什么要使用GRU?在哪种情况下,GRU优于LSTM?
Answers:
GRU与LSTM有关,因为如果使用门控信息来防止梯度问题消失,两者都将采用不同的方式。以下是有关GRU与LSTM-的一些要点-
有关详细说明,您可以浏览此研究论文-Arxiv.org。这篇论文很好地解释了这一切。
另外,您也可以浏览这些博客,以获得更好的主意-
希望能帮助到你!
*以补充上面已经很不错的答案。
根据我的经验,如果您要进行语言建模(不确定其他任务),则GRU在更少的训练数据上训练更快,并且比LSTM表现更好。
GRU更简单,因此更易于修改,例如,在网络有额外输入的情况下添加新的门。一般而言,这只是更少的代码。
从理论上讲,LSTM应该比GRU 记住更长的序列,并且在需要对远距离关系建模的任务中要胜过它们。
*一些分析GRU和LSTM的其他论文。
“神经GPU学习算法”(ŁukaszKaiser,Ilya Sutskever,2015年) https://arxiv.org/abs/1511.08228
“用于自然语言处理的CNN与RNN的比较研究”(尹文鹏等人,2017年)https://arxiv.org/abs/1702.01923
这个答案实际上取决于数据集和用例。很难确定到底哪个更好。
实际上,关键的区别不仅仅在于此:长期(LSTM)感知器是使用动量和梯度下降算法组成的。当您将LSTM感知器与其递归对应的RNN调和时,您会想到GRU,它实际上只是广义的递归单位或Gradient Recurrent Unit(取决于上下文),它更紧密地集成了动量和梯度下降算法。如果您是我,我将对AdamOptimizers进行更多研究。
顺便说一句,GRU是一个过时的概念。但是,如果您想对TF进行适度高级的深入了解,我可以理解您的研究。