RNN简介

RNN是两种神经网络模型的缩写,一种是递归神经网络(Recursive Neural Network),一种是循环神经网络(Recurrent Neural Network)。虽然这两种神经网络有着千丝万缕的联系,但是本文主要讨论的是第二种神经网络模型——循环神经网络(Recurrent Neural Network)。
循环神经网络是指一个随着时间的推移,重复发生的结构。在自然语言处理(NLP),语音图像等多个领域均有非常广泛的应用。RNN网络和其他网络最大的不同就在于RNN能够实现某种“记忆功能”,是进行时间序列分析时最好的选择。如同人类能够凭借自己过往的记忆更好地认识这个世界一样。RNN也实现了类似于人脑的这一机制,对所处理过的信息留存有一定的记忆,而不像其他类型的神经网络并不能对处理过的信息留存记忆。

RNN结构图


每个cell变为时序的

“门结构(gate)”,分为遗忘门,输入门和输出门。

遗忘门


可以看到公式里面的[h, x],这里表示将这一时刻的输入x[t],和上一时刻t-1的输出h[t-1]做一个concat,然后经过sigmoid函数。
因为sigmoid输出是0和1(大部分),这里面0和1与后面做乘法的时候,等于相应的让一些信息变成了0,就等于是忘记了一些信息。这里其实一个开关,控制信息的通过。

输入门

公式中[h,x]还是做的concat操作。

之前两步的操作就是为了更新细胞的状态,更新知识体系。包括让细胞忘记一些东西,然后给细胞补充新知识。
这里另外说一点,为什么lstm可以解决RNN中梯度弥散/消失的问题。
因为C[t]是又两个结果相加得到,求导时会保留更新梯度。

输出门


最后一个输出,也有一个信息筛选的操作,其实可以这么说,在lstm中sigmoid函数的作用基本就是筛选信息。比如我们可能需要单复数信息来确定输出“他”还是“他们”。

GRU

:

这里和lstm不同的是:
将遗忘门和输入门合成了一个单一的重置门(reset gate),也就是说多大程度上擦除以前的状态state,另外细胞更新操作变为更新门(update gete),它的作用是多大程度上要用candidate 来更新当前的hidden layer
同样还混合了细胞状态和隐藏状态
比标准LSTM简单
如果r[t] = 1,z[t] = 1,那么gru和普通rnn的cell就是一样的。
对比lstm和gru
因为gru参数更少,所以gru训练起来比lstm更简单。
但是,这两种cell最后的结果差不了太多!用的时候不必纠结选择哪种结构。

循环神经网络(RNN) LSTM与GRU相关推荐

  1. 循环神经网络之LSTM、GRU

    循环神经网络之LSTM.GRU 1. 什么是 LSTM? LSTM(Long short-term memory,长短期记忆)是一种特殊的RNN,主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题 ...

  2. 深度学习~循环神经网络RNN, LSTM

    目录 1. 循环神经网络RNN 1.1 RNN出现背景 1.2 RNN概念 2. LSTM 2.1 LSTM出现背景 2.2 LSTM结构 参考 1. 循环神经网络RNN 1.1 RNN出现背景 pr ...

  3. 循环神经网络(LSTM和GRU)(1)

    循环神经网络的简单实现: import tensorflow as tf x=[1,2] state=[0.0,0.0] w_cell_state=np.array([[0.1,0.2],[0.3,0 ...

  4. 深度学习笔记——循环神经网络RNN/LSTM

    原文来自知乎专栏NLP进阶之路,作者韦伟. 以下文章是摘录了原文部分内容的学习笔记,侵删. 循环神经网络(Rerrent Neural Network) RNN是神经网络的一种,RNN对具有序列特性的 ...

  5. 循环神经网络_漫谈循环神经网络:LSTM、GRU

    知乎视频​www.zhihu.com 简单循环神经网络的局限性 循环神经网络横向结构也是借助激活函数进行传递的: 上图是循环神经网络按时间步展开,而如果一次处理的时间步过长,即从左到右的层数很深,那么 ...

  6. 循环神经网络(三)(常用循环神经网络,LSTM、GRU,文本生成)

    文章目录 长短期记忆网络(LSTM) 模型定义 模型特点 用 LSTM 生成文本 门控循环单元网络(GRU) 模型定义 模型特点 References 长短期记忆网络(LSTM) 模型定义 简单循环神 ...

  7. 自然语言处理入门实战——基于循环神经网络RNN、LSTM、GRU的文本分类(超级详细,学不会找我!!!)

    1  一.实验过程 1.1  实验目的 通过这个课程项目大,期望达到以下目的: 1.了解如何对 自然语言处理 的数据集进行预处理操作. 2.初识自然语言数据集处理操作的步骤流程. 3.进一步学习RNN ...

  8. 循环神经网络(RNN、LSTM、GRU)

    循环神经网络(RNN.LSTM.GRU) 目录 循环神经网络(RNN.LSTM.GRU) 概述: 计算: LSTM(长短记忆模型): GRU:

  9. CS224N笔记(四) Lecture 7:循环神经网络RNN的进阶——LSTM与GRU

    本文将介绍两种比RNN更好地应对梯度消失问题的模型结构--LSTM和GRU,文章以CS224N的课件和材料为基础,重点分析他们的结构特点和梯度计算,在梯度消失的解决策略上进行了深入探究,并进一步分析它 ...

  10. Tensorflow使用CNN卷积神经网络以及RNN(Lstm、Gru)循环神经网络进行中文文本分类

    Tensorflow使用CNN卷积神经网络以及RNN(Lstm.Gru)循环神经网络进行中文文本分类 本案例采用清华大学NLP组提供的THUCNews新闻文本分类数据集的一个子集进行训练和测试http ...

最新文章

  1. PHP SSL certificate: unable to get local issuer certificate的解决办法
  2. 技术:常见视频会议网络线路介绍
  3. php imagecreate 白色,ImageCreateTrueColor白色背景问题
  4. Fedora 与 Ubuntu 深度比较
  5. BPF、eBPF、XDP 和 Bpfilter……这些东西是什么?
  6. (转载)20分钟读懂程序集
  7. 前端学习(2844):ui另一种按需加载
  8. 用Emit技术替代反射
  9. 配置tomcat用户
  10. linux alias命令
  11. android 打包问题,Android离线打包常见问题
  12. 数据共享是未来?通用福特丰田联手推进自动驾驶标准制定...
  13. [Flex]Flex3.0 Beta3下载地址
  14. svn linux客户端使用教程,linux svn 客户端安装配置
  15. 转载:如果我的生命里可以遇到一个这样的MM.夫复何求!
  16. 支付宝小程序对接错误
  17. android 声音控制面板,音量样式控制面板
  18. MUI-轮播插件实现-UI组件
  19. 服务器管理员账号sa,一次利用MSSQL的SA账户提权获取服务器权限
  20. 北鼎推出新品全能T535烤箱:小kate什么都能烤

热门文章

  1. php.ini_中文详解
  2. 「python自动化运维」之自动生成配置文件并上传到目标服务器指定的位置
  3. combox取值以及赋值的方法
  4. 计算机基础知识试题和答案6,计算机基础知识试题及答案选择题(九)
  5. React Native Button使用
  6. CF1A Theatre Square
  7. CF438D The Child and Sequence
  8. react native+typescript创建移动端项目-(慕课网喜马拉雅项目笔记)-(二,导航器navigator)
  9. linux精简版远程登录,Linux下定制SSH来简化远程访问的方法
  10. python生成wifi字典_用Python自带的itertools生成穷举字典