我是靠谱客的博主 美丽星月,最近开发中收集的这篇文章主要介绍RNN,GRU和LSTM模型比较,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文中图片来源:吴恩达老师的深度学习视频
视频链接:https://www.bilibili.com/video/av49445369?p=152

对于标准的RNN来说,它是利用前一时刻的隐藏单元该时刻的输入一起学习,但是当小序列的相关信息相隔较长时,普通RNN常常不能学习的很好。举个例子(1)如果我们要预测“the clouds are in the sky”的最后一个单词,因为只在这一个句子的语境中进行预测,那么将很容易地预测出是这个单词是sky。在这样的场景中,相关的信息和预测的词位置之间的间隔是非常小的,RNN 可以学会使用先前的信息。(2) 而在比较长的环境中,例如在“I grew up in France… I speak fluent French”中去预测最后的French,那么模型会推荐一种语言的名字,但是预测具体是哪一种语言时就需要用到很远以前的France,这就说明在长环境中相关的信息和预测的词之间的间隔可以是非常长的。在理论上,RNN 绝对可以处理这样的长环境问题。人们可以仔细挑选参数来解决这类问题中的最初级形式,但在实践中,RNN 并不能够成功学习到这些知识。然而,LSTM和GRU模型就可以解决这一问题。

标准RNN结构:
在这里插入图片描述
简易GRU结构:
在这里插入图片描述
完整GRU结构
GRU模型包含两个门,分别是更新门(update)和相关性门(relevant)。
在这里插入图片描述
和标准的RNN相比,GRU模型多了更新(update)门和相关性门(relevant),更新门用来控制是否对记忆进行更新,如果相关联的cat和was连接的比较远,则会一直保持上个时刻的状态从而有记忆效果,解决了长序列的问题。相关性门表示前一时刻的c和它的候选值之间的相关性。其中更新门和相关性门的激活函数均是sigmoid,因为系数取值要在[0,1]之间。也有点像遗忘因子。
在这里插入图片描述
LSTM结构
LSTM包含三个门,分别是遗忘门(forget),更新门(update),输出门(output)
并且引入了内部状态c
在这里插入图片描述
如图红线部分所示,只要设置好遗忘门和更新门,0时刻的记忆会和3时刻的记忆相同,从而也达到了保存记忆的效果。

GRU只有两个门,当构建庞大的网络是更加有力,效率更高
LSTM有三个门,更加灵活和强大,计算量可能会比较大。
没有说这两个方法孰优孰劣,他们都能在长序列模型中解决长期记忆的问题,

最后

以上就是美丽星月为你收集整理的RNN,GRU和LSTM模型比较的全部内容,希望文章能够帮你解决RNN,GRU和LSTM模型比较所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部