RNN循环神经网络学习——概述
循环神经网络(Recurrent Neural NetWork,RNN)是一种将节点定向连接成环的人工神经网络,其内部状态可以展示动态时序行为。
循环神经网络的主要用途是处理和预测序列数据。循环神经网络最初就是为了刻画一个序列当前的输出与之前信息的关系。从网络结构上来看,循环神经网络会记忆之前的信息,并利用之前的信息影响后面节点的输出。也就是说,循环神经网络的隐藏层之间的节点是有连接的,隐藏层的输入不仅包含输入层的输出,还包括上一时刻隐藏层的输出。

如图为典型的RNN结构示意图。RNN主体结构的输入,除了来自输入层的xt 还有一个循环的边来提供上一时刻的隐层状态St。在每一时刻,RNN的模块在读取了Xt和St-1之后会产生新的隐藏状态St,并产生本时刻的输出Ot。RNN当前的状态是由上一时刻的状态St-1和当前的输入Xt共同决定的。对于一个序列数据,可以将这个序列上不同时刻的数据依次传入循环神经网络的输入层;而输出既可以是对序列下一时刻的预测,也可以是对当前时刻信息的处理结果。循环神经网络要求每一时刻都有一个输入,但是不一定每个时刻都有输出。
网络在t时刻接收到输入Xt之后,隐藏层的值是St,输出值是Ot。St的值不仅仅取决于St,还取决于St-1。可以用下面的公式来表示。
Ot=g(V*St) 式1
St=f(U*Xt+W*St-1) 式2
式1是输出层的计算公式,输出层是一个全连接层,它的每个节点都和隐藏层的每个节点相连。其中V是输出层的权重矩阵,g是激活函数。
式2是隐藏层的计算公式,它是循环层。其中U是输入x的权重矩阵,W是上一次的值St-1作为这一次输入的权重矩阵,f是激活函数。
由上面两个式子可以得出,循环层和全连接层的区别就是循环层多了一个权重矩阵W。
循环神经网络的训练算法:
如果将RNN进行网络展开,那么参数W、U、V是共享的,并且在使用梯度下降算法时,每一步的输出不仅仅依赖于当前步网络的状态,还依赖于前面若干步网络的状态。采用BPTT(Back Propagation Trough Time)沿时间反向传播算法进行训练,步骤如下:
(1)前向计算每个神经元的输入值
(2)反向计算每个神经元的误差值,包括两个方向:一个是沿时间爱你的反向传播,计算每个时刻的误差项;另一个是将误差项向上一层传播。
(3)计算每个权重的梯度。
(4)用梯度下降的误差后向传播算法更新权重。
需要注意:理论上,RNN可以支持任意长度的序列。然而,在实际训练过程中,如果序列过长,一方面会导致训练时出现梯度消失和梯度爆炸的问题;另一方面,展开后的循环神经网络会占用过大的内存。所以,实际中会规定一个最大长度,当序列长度超过规定长度后会对序列进行截断。
循环神经网络的变种
(1)双向循环神经网络(BRNN)
双向循环神经网络的基本思想是每一个训练序列向前和向后分别是两个循环神经网络,而且两个网络都连接着一个输出层。这个结构给输出层提供输入序列中每一个点的完整的过去和未来的上下文信息。
双向循环神经网络由两个独立的循环神经网络叠加在一起组成的,其输出也是由这两个循环神经网络的输出拼接而成。下图为一个双向RNN结构。

在任一时刻,输入会同时提供给这两个方向相反的循环神经网络,两个独立的网络独立进行计算,各自产生该时刻的新状态和输出;而双向循环神经网络的最终输出是这两个单向循环神经网络输出的简单拼接。两个循环神经网络除方向不同外,其余结构完全对称。每一个网络中的循环体可以自由选用任意机构,如RNN或LSTM网络。
(2)深层循环神将网络
深层循环神将网络是指为了增强模型的表达能力,在网络中设置多个循环层,将每层循环神经网络的输出传给下一层进行处理。
RNN循环神经网络学习——概述的更多相关文章
- TensorFlow框架(6)之RNN循环神经网络详解
1. RNN循环神经网络 1.1 结构 循环神经网络(recurrent neural network,RNN)源自于1982年由Saratha Sathasivam 提出的霍普菲尔德网络.RNN的主 ...
- CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别?
https://www.zhihu.com/question/34681168 CNN(卷积神经网络).RNN(循环神经网络).DNN(深度神经网络)的内部网络结构有什么区别?修改 CNN(卷积神经网 ...
- Recurrent Neural Networks(RNN) 循环神经网络初探
1. 针对机器学习/深度神经网络“记忆能力”的讨论 0x1:数据规律的本质是能代表此类数据的通用模式 - 数据挖掘的本质是在进行模式提取 数据的本质是存储信息的介质,而模式(pattern)是信息的一 ...
- CNN(卷积神经网络)、RNN(循环神经网络)、DNN,LSTM
http://cs231n.github.io/neural-networks-1 https://arxiv.org/pdf/1603.07285.pdf https://adeshpande3.g ...
- Keras(四)CNN 卷积神经网络 RNN 循环神经网络 原理及实例
CNN 卷积神经网络 卷积 池化 https://www.cnblogs.com/peng8098/p/nlp_16.html 中有介绍 以数据集MNIST构建一个卷积神经网路 from keras. ...
- 关于 RNN 循环神经网络的反向传播求导
关于 RNN 循环神经网络的反向传播求导 本文是对 RNN 循环神经网络中的每一个神经元进行反向传播求导的数学推导过程,下面还使用 PyTorch 对导数公式进行编程求证. RNN 神经网络架构 一个 ...
- 4.5 RNN循环神经网络(recurrent neural network)
自己开发了一个股票智能分析软件,功能很强大,需要的点击下面的链接获取: https://www.cnblogs.com/bclshuai/p/11380657.html 1.1 RNN循环神经网络 ...
- Recurrent Neural Network系列1--RNN(循环神经网络)概述
作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 本文翻译自 RECURRENT NEURAL NETWORKS T ...
- 神经网络6_CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)概念区分理解
sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程,QQ:231469242) https://study.163.com/course/introduction.htm?courseId ...
随机推荐
- 标签中href="javascript:;"表示什么意思?
1.标签的 href 属性用于指定超链接目标的 URL,href 属性的值可以是任何有效文档的相对或绝对 URL,包括片段标识符和 JavaScript 代码段. 2.javascript: 是一个伪 ...
- vue调用高德地图:vue-amap
前言:之前没有接触过页面调用地图的项目,某次面试,老板要求我用vue-amap调用高德地图,回家以后,我去网上查了一些案例和教程,看似很简单的引入调用,我却整整弄了一宿,还没弄出来!!!百般无奈之下, ...
- url中的20%、22%、26%、28%、29%怎么解析还原成真实的字符
- 201871010113-刘兴瑞《面向对象程序设计(java)》第二周学习总结
项目 内容 这个作业属于哪个课程 <任课教师博客主页链接> https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 <作业链接地址> ...
- PyCharm工具配置和快捷键使用
PyCharm是一款高效开发Python程序的IDE,包含有自动联想.语法高亮.代码调试.管理多个版本Python解释器等功能.本文主要描述Python界面个性化定制方法(字体.颜色配置).常用配置和 ...
- 第02组 Beta冲刺(4/5)
队名:無駄無駄 组长博客 作业博客 组员情况 张越洋 过去两天完成了哪些任务 讨论校园百科究竟如何实现,并分配了任务 提交记录(全组共用) 接下来的计划 加快校园百科的进度 准备Beta版本的汇报 还 ...
- 消息队列的使用<一>:介绍、使用场景和JMS概念知识
目录 介绍 消息队列的理解 举个栗子 使用场景 消息队列的模型与概念理解 JMS模型 基本概念: 内容: JMS定义的消息结构: PTP式消息传递 PUB/SUB式消息传递 可靠性机制 事务 消息持久 ...
- 模型的细致程度--Level of Development
模型的细致程度,英文称作Level of Details,也叫作Level of Development.描述了一个BIM模型构件单元从最低级的近似概念化的程度发展到最高级的演示级精度的步骤.美国建筑 ...
- 漫谈微服务架构:什么是Spring Cloud,为何要选择Spring Cloud
Spring Cloud是基于Spring Boot的,因此还在使用SpringMVC的同学要先了解Spring Boot.先上一段官话,Spring Cloud是一个基于Spring Boo ...
- react 练习参考
项目地址:https://gitee.com/dhclly/icedog.react React 练习项目 相关资源链接 React官方 https://reactjs.org React 中国 ht ...