循环神经网络(RNN) LSTM与GRU
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相关推荐
- 循环神经网络之LSTM、GRU
循环神经网络之LSTM.GRU 1. 什么是 LSTM? LSTM(Long short-term memory,长短期记忆)是一种特殊的RNN,主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题 ...
- 深度学习~循环神经网络RNN, LSTM
目录 1. 循环神经网络RNN 1.1 RNN出现背景 1.2 RNN概念 2. LSTM 2.1 LSTM出现背景 2.2 LSTM结构 参考 1. 循环神经网络RNN 1.1 RNN出现背景 pr ...
- 循环神经网络(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 ...
- 深度学习笔记——循环神经网络RNN/LSTM
原文来自知乎专栏NLP进阶之路,作者韦伟. 以下文章是摘录了原文部分内容的学习笔记,侵删. 循环神经网络(Rerrent Neural Network) RNN是神经网络的一种,RNN对具有序列特性的 ...
- 循环神经网络_漫谈循环神经网络:LSTM、GRU
知乎视频www.zhihu.com 简单循环神经网络的局限性 循环神经网络横向结构也是借助激活函数进行传递的: 上图是循环神经网络按时间步展开,而如果一次处理的时间步过长,即从左到右的层数很深,那么 ...
- 循环神经网络(三)(常用循环神经网络,LSTM、GRU,文本生成)
文章目录 长短期记忆网络(LSTM) 模型定义 模型特点 用 LSTM 生成文本 门控循环单元网络(GRU) 模型定义 模型特点 References 长短期记忆网络(LSTM) 模型定义 简单循环神 ...
- 自然语言处理入门实战——基于循环神经网络RNN、LSTM、GRU的文本分类(超级详细,学不会找我!!!)
1 一.实验过程 1.1 实验目的 通过这个课程项目大,期望达到以下目的: 1.了解如何对 自然语言处理 的数据集进行预处理操作. 2.初识自然语言数据集处理操作的步骤流程. 3.进一步学习RNN ...
- 循环神经网络(RNN、LSTM、GRU)
循环神经网络(RNN.LSTM.GRU) 目录 循环神经网络(RNN.LSTM.GRU) 概述: 计算: LSTM(长短记忆模型): GRU:
- CS224N笔记(四) Lecture 7:循环神经网络RNN的进阶——LSTM与GRU
本文将介绍两种比RNN更好地应对梯度消失问题的模型结构--LSTM和GRU,文章以CS224N的课件和材料为基础,重点分析他们的结构特点和梯度计算,在梯度消失的解决策略上进行了深入探究,并进一步分析它 ...
- Tensorflow使用CNN卷积神经网络以及RNN(Lstm、Gru)循环神经网络进行中文文本分类
Tensorflow使用CNN卷积神经网络以及RNN(Lstm.Gru)循环神经网络进行中文文本分类 本案例采用清华大学NLP组提供的THUCNews新闻文本分类数据集的一个子集进行训练和测试http ...
最新文章
- PHP SSL certificate: unable to get local issuer certificate的解决办法
- 技术:常见视频会议网络线路介绍
- php imagecreate 白色,ImageCreateTrueColor白色背景问题
- Fedora 与 Ubuntu 深度比较
- BPF、eBPF、XDP 和 Bpfilter……这些东西是什么?
- (转载)20分钟读懂程序集
- 前端学习(2844):ui另一种按需加载
- 用Emit技术替代反射
- 配置tomcat用户
- linux alias命令
- android 打包问题,Android离线打包常见问题
- 数据共享是未来?通用福特丰田联手推进自动驾驶标准制定...
- [Flex]Flex3.0 Beta3下载地址
- svn linux客户端使用教程,linux svn 客户端安装配置
- 转载:如果我的生命里可以遇到一个这样的MM.夫复何求!
- 支付宝小程序对接错误
- android 声音控制面板,音量样式控制面板
- MUI-轮播插件实现-UI组件
- 服务器管理员账号sa,一次利用MSSQL的SA账户提权获取服务器权限
- 北鼎推出新品全能T535烤箱:小kate什么都能烤
热门文章
- php.ini_中文详解
- 「python自动化运维」之自动生成配置文件并上传到目标服务器指定的位置
- combox取值以及赋值的方法
- 计算机基础知识试题和答案6,计算机基础知识试题及答案选择题(九)
- React Native Button使用
- CF1A Theatre Square
- CF438D The Child and Sequence
- react native+typescript创建移动端项目-(慕课网喜马拉雅项目笔记)-(二,导航器navigator)
- linux精简版远程登录,Linux下定制SSH来简化远程访问的方法
- python生成wifi字典_用Python自带的itertools生成穷举字典