第一:普通RNN基本结构

展开

RNN:其存在的最大问题是,当w1、w2、w3这些值小于0时,如果一句话够长,那么其在神经网络进行反向传播与前向传播时,存在梯度消失的问题。
0.925=0.07,如果一句话有20到30个字,那么第一个字的隐含层输出传递到最后,将会变为原来的0.07倍,相比于最后一个字的影响,大大降低。

原始RNN的隐藏层只有一个状态h,从头传递到尾,它对于短期的输入非常敏感。
如果我们再增加一个状态c,让它来保存长期的状态,问题就可以解决了。

LSTM用两个门来控制单元状态cn的内容:
1、遗忘门(forget gate),它决定了上一时刻的单元状态cn-1有多少保留到当前时刻;
2、输入门(input gate),它决定了当前时刻网络的输入c’n有多少保存到单元状态。
LSTM用一个门来控制当前输出值hn的内容:

第二:LSTM是一种特殊的RNN,主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题

LSTM内部主要有三个阶段:

  1. 忘记阶段。这个阶段主要是对上一个节点传进来的输入进行选择性忘记。简单来说就是会 “忘记不重要的,记住重要的”

  2. 选择记忆阶段。这个阶段将这个阶段的输入有选择性地进行“记忆”。主要是会对输入 [公式] 进行选择记忆。哪些重要则着重记录下来,哪些不重要,则少记一些。

    3.输出阶段。这个阶段将决定哪些将会被当成当前状态的输出

RNN 代码

def RNN(X,weights,biases):#X最开始的形状为(128 batch,28 steps,28 inputs)#转化为(128 batch*28 steps,128 hidden)X = tf.reshape(X,[-1,n_inputs])#经过乘法后结果为(128 batch*28 steps,256 hidden)X_in = tf.matmul(X,weights['in'])+biases['in']#再次转化为(128 batch,28 steps,256 hidden) X_in = tf.reshape(X_in,[-1,n_steps,n_hidden_units])# RNN的基本单元RNN_cell = tf.nn.rnn_cell.BasicRNNCell(n_hidden_units,activation=tf.nn.tanh)# 初始化_init_state =  RNN_cell.zero_state(batch_size,tf.float32)# 以RNN单元为基础的 循环RNNoutputs,states = tf.nn.dynamic_rnn(RNN_cell,X_in,initial_state = _init_state,time_major = False)# 输出结果results = tf.matmul(states,weights['out'])+biases['out']return results

总结
LSTM适合长期记忆
他会有重要性的记忆
RNN不适合长期
他只是会全部记住

RNN循环卷积神经网络相关推荐

  1. 【机器学习】RNN循环神经网络

    循环神经网络归属: 领域:机器学习 方向:自然语言处理 贡献:自动文本生成 循环神经网络实际应用: 生活中因为原始数据都是序列化的,比如自然语言,语音处理,时间序列问题(股票价格)等问题, 这个时候需 ...

  2. [译] RNN 循环神经网络系列 2:文本分类

    原文地址:RECURRENT NEURAL NETWORKS (RNN) – PART 2: TEXT CLASSIFICATION 原文作者:GokuMohandas 译文出自:掘金翻译计划 本文永 ...

  3. 小白学深度之RNN循环神经网络

    不懂CNN的建议先看一下CNN 前言 我们先看一下普通的神经网络,只要训练的数据和次数足够,这种网络是可以拟合任意函数的. 但是这种最基本的网络肯定是有很多不足的,上面那种网络只能单独的处理每一个输入 ...

  4. RNN 循环神经网络系列 5: 自定义单元

    原文地址:RECURRENT NEURAL NETWORK (RNN) – PART 5: CUSTOM CELLS 原文作者:GokuMohandas 译文出自:掘金翻译计划 本文永久链接:gith ...

  5. Recurrent Neural Networks(RNN) 循环神经网络初探

    1. 针对机器学习/深度神经网络"记忆能力"的讨论 0x1:数据规律的本质是能代表此类数据的通用模式 - 数据挖掘的本质是在进行模式提取 数据的本质是存储信息的介质,而模式(pat ...

  6. rnn 循环神经网络

    rnn 循环神经网络 创建日期 星期四 10 一月 2019 rnn为 recurrent natural network, 递归神经网络 是一种基于序列的神经网络, 序列可以是时间,文本序列等,和普 ...

  7. PyTorch-09 循环神经网络RNNLSTM (时间序列表示、RNN循环神经网络、RNN Layer使用、时间序列预测案例、RNN训练难题、解决梯度离散LSTM、LSTM使用、情感分类问题实战)

    PyTorch-09 循环神经网络RNN&LSTM (时间序列表示.RNN循环神经网络.RNN Layer使用.时间序列预测案例(一层的预测点的案例).RNN训练难题(梯度爆炸和梯度离散)和解 ...

  8. LSTM -长短期记忆网络(RNN循环神经网络)

    文章目录 基本概念及其公式 输入门.输出门.遗忘门 候选记忆元 记忆元 隐状态 从零开始实现 LSTM 初始化模型参数 定义模型 训练和预测 简洁实现 小结 基本概念及其公式 LSTM,即(long ...

  9. rnn 递归神经网络_递归神经网络rnn的简单解释

    rnn 递归神经网络 Recurrent neural network is a type of neural network used to deal specifically with seque ...

最新文章

  1. 20165224 陆艺杰 网络攻防 实验1
  2. 现在比较流行的三级菜单,京东商城,淘宝网效果等等。(修正版)
  3. Vue.js 2.x笔记:指令(4)
  4. OpenCV图像处理篇之边缘检測算子
  5. printf参数的问题
  6. SpringBoot多模块项目整合Dubbo
  7. firefox css3 transform样式 位置偏移问题解决
  8. 基于MATLAB的有源三相滤波器的设计,基于MATLAB的电力系统有源滤波器设计
  9. 种草电商系统种草电商系统开发解决方案
  10. Chaotica for Mac(分形艺术图形设计工具)
  11. USG6310恢复管理员密码
  12. Win10如何修改外接显示器分辨率
  13. 安装geth时:解决Error(while upgrading Bor): build github.com/ethereum/go-ethereum/cmd/geth: cannot load ha
  14. 【jiasuba】让Win7系统下的硬盘不在狂闪的诀窍
  15. IPSC和IPSC衍生细胞
  16. 符号表工具addr2line
  17. 圣地亚哥分校 计算机,美国加州大学圣地亚哥分校计算机科学专业.pdf
  18. SQL中去除重复数据的几种方法,我一次性都告诉你​
  19. Brodmann 分区
  20. Springboot+axios+vue使用VerifyCodeUtils工具类实现验证码图片功能

热门文章

  1. 广东东软学院计算机一级考试,广东东软学院教务管理系统入口https://www.nuit.edu.cn/...
  2. linux 添加了错误的PATH变量,linux下环境变量PATH设置错误的补救
  3. Pytorch中使用Bert预训练模型,并给定句子得到对应的向量
  4. 计算机网络—网络协议
  5. ACM/ICPC 金牌进阶之路
  6. 虚拟内存解决内存不够
  7. 哥伦比亚大学计算机科学本科申请,哥伦比亚大学计算机科学申请要求有哪些?...
  8. [ROS2 Foxy]#1.1 ROS2安装
  9. 关于pc时出现--找不到网页视频播放地址的问题--解决办法
  10. 电脑开机就显示360服务器,我用360给电脑杀毒,一直到开机启动项会停止,显示“扫面服务意外终止,无法继续扫描,这可能是由于程序...