机器学习与Tensorflow(5)——循环神经网络、长短时记忆网络
1.循环神经网络的标准模型
- 前馈神经网络能够用来建立数据之间的映射关系,但是不能用来分析过去信号的时间依赖关系,而且要求输入样本的长度固定
- 循环神经网络是一种在前馈神经网络中增加了分亏链接的神经网络,能够产生对过去数据的记忆状态,所以可以用于对序列数据的处理,并建立不同时段数据之间的依赖关系
- 循环神经网络是一类允许节点连接成有向环的人工神经网络。如下图:

2.循环神经网络与递归神经网络
- 从广义上说,递归神经网络可以分为结构递归神经网络和时间递归神经网络
- 从狭义上说,递归神经网络可以通常就是指结构递归神经网络,而时间递归神经网络则被称为循环神经网络
3.标准循环神经网络的结构类型(两种)
不妨设t时刻,网络的输入向量为x(t),隐含向量为h(t),网络的输出向量是o(t),用V表示输入层与隐含层之间的连接权值,U表示隐含层与隐含层之间的连接权值,W表示隐含层与输出层之间的连接权值,b和a表示隐含层的输出层的偏置
Elman网络:
- 网络结构如下图:

- Elman网络包含从隐含节点到上下文节点的反馈链接,以及从上下文节点调到隐含节点的前馈链接,其中上下文节点的输入是隐含层上一时刻的输出
- Elman网络从0时刻到T时刻的计算过程可以描述为:

Jordan网络:
- 网络结构如下图:

- Jordan网络包含从输出节点到上下文节点的反馈,以及从上下文节点到隐含节点的前馈链接,其中上下文节点的输入是输出层上一时刻的输出。此外,Jordan网络的上下文节点允许自连接
- Jordan网络从0时刻到T时刻的计算过程可以描述为:

4.长短时记忆网络(long short-term memory,LSTM)
- 长短时记忆网络(LSTM network),又称为长短时记忆循环网络,是一种在经典循环神经网络的基础上发展起来的改进模型。
- LSTM网络的特点在于利用记忆模块代替普通的隐含节点,确保梯度在传递跨越很多时间步骤之后不消失或爆炸,从而能够克服传统循环神经网络训练中遇到的某些困难
- 长短时记忆网络非常适合于从经验中学习分类,以及处理和预测那些在重要事件之间存在未知时长延迟的时间序列
- 循环神经网络和长短时记忆网络之间的对应关系如下图所示:

5.传统记忆块组成
- 传统记忆块有一个或者多个具有内部状态的记忆细胞(memory sell)、一个输入挤压单元(input squashing unit)、一个输入门控单元(input gating unit)、一个输入门单元(input gate unit)、一个输出门单元(output gate unit)、一个输出挤压单元(outnput squashing unit)、和一个输出门控单元(output gating unit)几部分组成。

机器学习与Tensorflow(5)——循环神经网络、长短时记忆网络的更多相关文章
- 基于TensorFlow的循环神经网络(RNN)
RNN适用场景 循环神经网络(Recurrent Neural Network)适合处理和预测时序数据 RNN的特点 RNN的隐藏层之间的节点是有连接的,他的输入是输入层的输出向量.extend(上一 ...
- 循环神经网络与LSTM网络
循环神经网络与LSTM网络 循环神经网络RNN 循环神经网络广泛地应用在序列数据上面,如自然语言,语音和其他的序列数据上.序列数据是有很强的次序关系,比如自然语言.通过深度学习关于序列数据的算法要比两 ...
- LSTM——长短时记忆网络
LSTM(Long Short-term Memory),长短时记忆网络是1997年Hochreiter和Schmidhuber为了解决预测位置与相关信息之间的间隔增大或者复杂语言场景中,有用信息间隔 ...
- 长短时记忆网络(LSTM)
长短时记忆网络 循环神经网络很难训练的原因导致它的实际应用中很处理长距离的依赖.本文将介绍改进后的循环神经网络:长短时记忆网络(Long Short Term Memory Network, LSTM ...
- (转)零基础入门深度学习(6) - 长短时记忆网络(LSTM)
无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的技术,会不会感觉马上就o ...
- RNN学习笔记(一):长短时记忆网络(LSTM)
一.前言 在图像处理领域,卷积神经网络(Convolution Nerual Network,CNN)凭借其强大的性能取得了广泛的应用.作为一种前馈网络,CNN中各输入之间是相互独立的,每层神经元的信 ...
- tensorflow实现循环神经网络
包括卷积神经网络(CNN)在内的各种前馈神经网络模型, 其一次前馈过程的输出只与当前输入有关与历史输入无关. 递归神经网络(Recurrent Neural Network, RNN)充分挖掘了序列数 ...
- tensorflow RNN循环神经网络 (分类例子)-【老鱼学tensorflow】
之前我们学习过用CNN(卷积神经网络)来识别手写字,在CNN中是把图片看成了二维矩阵,然后在二维矩阵中堆叠高度值来进行识别. 而在RNN中增添了时间的维度,因为我们会发现有些图片或者语言或语音等会在时 ...
- Tensorflow中循环神经网络及其Wrappers
tf.nn.rnn_cell.LSTMCell 又名:tf.nn.rnn_cell.BasicLSTMCell.tf.contrib.rnn.LSTMCell 参见: tf.nn.rnn_cell.L ...
随机推荐
- https://segmentfault.com/a/1190000014637728
原网站地址:https://segmentfault.com/a/1190000009657295#articleHeader3 基于 vue2 + element-ui 构建的后台管理系统 vue. ...
- HLSL ddx / ddy
[HLSL ddx / ddy] 在光栅化的时刻,GPUs会在同一时刻并行运行很多Fragment Shader,但是并不是一个pixel一个pixel去执行的,而是将其组织在2x2的一组pixels ...
- easyui多图片上传+预览切换+支持IE8
引入css和js: <link href="${pageContext.request.contextPath}/plugin/dialog/dialog.css" rel= ...
- ToolBar+Drawable实现一个好用的侧滑栏(侧边栏)和工具栏
先参考下ToolBar的使用和DrawableLayout的使用: 1.主界面布局,主要结构包含一个ToolBar和一个DrawableLayout,DrawableLayout里面有左侧边栏布局和主 ...
- webpack浅析---出口篇
webpack有四个核心概念: 入口(entry) 输出(output) loader 插件(plugins) 输出: 在哪里输出创建的bundles,以及如何命名这些文件, 默认./dist fil ...
- C语言输出格雷码
格雷码是以n位的二进制来表示数. 与普通的二进制表示不同的是,它要求相邻两个数字只能有1个数位不同. 首尾两个数字也要求只有1位之差. 有很多算法来生成格雷码.以下是较常见的一种: 从编码全0开始生成 ...
- 【APP测试(Android)】--安装卸载
- cookie方法封装
将cookie封装主要是为了方便使用,可通过修改参数直接引用在其他需要的地方,不用重新写. 1.添加,删除,修改cookie /** * @param name name:cookie的name * ...
- C#部分试题实例
1.在C#中,下列选项中自定义方法的语句错误的是().(选择一项) 正确答案:AD 解析:本题考查自定义方法的定义及调用.A项void是无返回值类型,D项定义方法的时候没有写返回值类型:故选AD. 2 ...
- 登录服务器失败 IP 统计和处理方法
一.登录ssh失败次数统计 1)错误的打开方式 awk '/Failed password/ {print $(NF-3)}' secure |sort -n |uniq -c|sort -n |ta ...