RNN循环卷积神经网络
第一:普通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内部主要有三个阶段:
忘记阶段。这个阶段主要是对上一个节点传进来的输入进行选择性忘记。简单来说就是会 “忘记不重要的,记住重要的”
选择记忆阶段。这个阶段将这个阶段的输入有选择性地进行“记忆”。主要是会对输入 [公式] 进行选择记忆。哪些重要则着重记录下来,哪些不重要,则少记一些。
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循环卷积神经网络相关推荐
- 【机器学习】RNN循环神经网络
循环神经网络归属: 领域:机器学习 方向:自然语言处理 贡献:自动文本生成 循环神经网络实际应用: 生活中因为原始数据都是序列化的,比如自然语言,语音处理,时间序列问题(股票价格)等问题, 这个时候需 ...
- [译] RNN 循环神经网络系列 2:文本分类
原文地址:RECURRENT NEURAL NETWORKS (RNN) – PART 2: TEXT CLASSIFICATION 原文作者:GokuMohandas 译文出自:掘金翻译计划 本文永 ...
- 小白学深度之RNN循环神经网络
不懂CNN的建议先看一下CNN 前言 我们先看一下普通的神经网络,只要训练的数据和次数足够,这种网络是可以拟合任意函数的. 但是这种最基本的网络肯定是有很多不足的,上面那种网络只能单独的处理每一个输入 ...
- RNN 循环神经网络系列 5: 自定义单元
原文地址:RECURRENT NEURAL NETWORK (RNN) – PART 5: CUSTOM CELLS 原文作者:GokuMohandas 译文出自:掘金翻译计划 本文永久链接:gith ...
- Recurrent Neural Networks(RNN) 循环神经网络初探
1. 针对机器学习/深度神经网络"记忆能力"的讨论 0x1:数据规律的本质是能代表此类数据的通用模式 - 数据挖掘的本质是在进行模式提取 数据的本质是存储信息的介质,而模式(pat ...
- rnn 循环神经网络
rnn 循环神经网络 创建日期 星期四 10 一月 2019 rnn为 recurrent natural network, 递归神经网络 是一种基于序列的神经网络, 序列可以是时间,文本序列等,和普 ...
- PyTorch-09 循环神经网络RNNLSTM (时间序列表示、RNN循环神经网络、RNN Layer使用、时间序列预测案例、RNN训练难题、解决梯度离散LSTM、LSTM使用、情感分类问题实战)
PyTorch-09 循环神经网络RNN&LSTM (时间序列表示.RNN循环神经网络.RNN Layer使用.时间序列预测案例(一层的预测点的案例).RNN训练难题(梯度爆炸和梯度离散)和解 ...
- LSTM -长短期记忆网络(RNN循环神经网络)
文章目录 基本概念及其公式 输入门.输出门.遗忘门 候选记忆元 记忆元 隐状态 从零开始实现 LSTM 初始化模型参数 定义模型 训练和预测 简洁实现 小结 基本概念及其公式 LSTM,即(long ...
- rnn 递归神经网络_递归神经网络rnn的简单解释
rnn 递归神经网络 Recurrent neural network is a type of neural network used to deal specifically with seque ...
最新文章
- 20165224 陆艺杰 网络攻防 实验1
- 现在比较流行的三级菜单,京东商城,淘宝网效果等等。(修正版)
- Vue.js 2.x笔记:指令(4)
- OpenCV图像处理篇之边缘检測算子
- printf参数的问题
- SpringBoot多模块项目整合Dubbo
- firefox css3 transform样式 位置偏移问题解决
- 基于MATLAB的有源三相滤波器的设计,基于MATLAB的电力系统有源滤波器设计
- 种草电商系统种草电商系统开发解决方案
- Chaotica for Mac(分形艺术图形设计工具)
- USG6310恢复管理员密码
- Win10如何修改外接显示器分辨率
- 安装geth时:解决Error(while upgrading Bor): build github.com/ethereum/go-ethereum/cmd/geth: cannot load ha
- 【jiasuba】让Win7系统下的硬盘不在狂闪的诀窍
- IPSC和IPSC衍生细胞
- 符号表工具addr2line
- 圣地亚哥分校 计算机,美国加州大学圣地亚哥分校计算机科学专业.pdf
- SQL中去除重复数据的几种方法,我一次性都告诉你​
- Brodmann 分区
- Springboot+axios+vue使用VerifyCodeUtils工具类实现验证码图片功能
热门文章
- 广东东软学院计算机一级考试,广东东软学院教务管理系统入口https://www.nuit.edu.cn/...
- linux 添加了错误的PATH变量,linux下环境变量PATH设置错误的补救
- Pytorch中使用Bert预训练模型,并给定句子得到对应的向量
- 计算机网络—网络协议
- ACM/ICPC 金牌进阶之路
- 虚拟内存解决内存不够
- 哥伦比亚大学计算机科学本科申请,哥伦比亚大学计算机科学申请要求有哪些?...
- [ROS2 Foxy]#1.1 ROS2安装
- 关于pc时出现--找不到网页视频播放地址的问题--解决办法
- 电脑开机就显示360服务器,我用360给电脑杀毒,一直到开机启动项会停止,显示“扫面服务意外终止,无法继续扫描,这可能是由于程序...