RNN、LSTM和GRU的简单介绍

1、RNN(Recurrent Neural Network,循环神经网络)

1.1为什么会有RNN的出现?
  因为以往的神经网络都只能单独的取处理一个个的输入,前一个输入和后一个输入是完全没有关系的。但是现实生活中很多情况是,这一个的输入需要参照前面一个的输入的.
  比如,当我们在理解一句话意思时,孤立的理解这句话的每个词是不够的,我们需要处理这些词连接起来的整个序列; 当我们处理视频的时候,我们也不能只单独的去分析每一帧,而要分析这些帧连接起来的整个序列。(用联系的眼光去看待各个神经元,而不是孤立而片面地去看待每个神经元)

1.2RNN的结构?
在这里插入图片描述

这个网络在t时刻接收到输入xt之后,隐藏层的值是 st,输出值是Ot。关键一点是, st的值不仅仅取决于xt,还取决于 s(t-1) 。我们可以用下面的公式来表示循环神经网络的计算方法:

用公式表示如下(为了方便理解,没有加入偏置b):
在这里插入图片描述

2、LSTM(Long Short Term Memory networks,长短期记忆网络)

2.1为什么会出现LSTM

有时候,我们仅仅需要知道先前的信息来执行当前的任务。例如,我们有一个语言模型用来基于先前的词来预测下一个词。如果我们试着预测 “the clouds are in the sky” 最后的词,我们并不需要任何其他的上下文 —— 因此下一个词很显然就应该是 sky。在这样的场景中,相关的信息和预测的词位置之间的间隔是非常小的,RNN 可以学会使用先前的信息。
在这里插入图片描述

但是同样会有一些更加复杂的场景。假设我们试着去预测“I grew up in France… I speak fluent French”最后的词。当前的信息建议下一个词可能是一种语言的名字,但是如果我们需要弄清楚是什么语言,我们是需要先前提到的离当前位置很远的 France 的上下文的。这说明相关信息和当前预测位置之间的间隔就肯定变得相当的大。
在这里插入图片描述

不幸的是,在这个间隔不断增大时,RNN 会丧失学习到连接如此远的信息的能力。于是,就出现了一种特殊的RNN来解决这种长期依赖的问题,即LSTM,长短期记忆网络。

2.2LSTM的结构
普通的RNN模型中,其重复神经网络模块的链式模型如下图所示,这个重复的模块只有一个非常简单的结构,一个单一的神经网络层(例如tanh层),这样就会导致信息的处理能力比较低。普通的RNN结构如下图:
在这里插入图片描述
而LSTM在此基础上将这个结构改进了,不再是单一的神经网络层,而是4个,并且以一种特殊的方式进行交互:

在这里插入图片描述
粗看起来,这个结构有点复杂,不过不用担心,接下来我们会慢慢解释。在解释这个神经网络层时我们先来认识一些基本的模块表示方法。图中的模块分为以下几种:

在这里插入图片描述

黄色方块: 表示一个神经网络层(Neural Network Layer);
粉色圆圈: 表示按位操作或逐点操作(pointwise operation),例如向量加和、向量乘积等;
单箭头: 表示信号传递(向量传递);
合流箭头: 表示两个信号的连接(向量拼接);
分流箭头: 表示信号被复制后传递到2个不同的地方。
下面我们将分别介绍这些模块如何在LSTM中作用。

注:
本文部分内容来自:
①知乎作者忆臻《一文搞懂RNN(循环神经网络)基础篇》
原文链接:https://zhuanlan.zhihu.com/p/30844905
②简书作者:朱小虎XiaohuZhu
原文链接:https://www.jianshu.com/p/9dc9f41f0b29
③知乎作者:沙漏
原文链接:https://zhuanlan.zhihu.com/p/104475016

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值