机器学习与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 ...
随机推荐
- HTML 元素大小
1.元素的偏移量 元素的可见大小是由其高度.宽度决定,包括所有的内边距.滚动条和边框大小(不包括外边距). offsetHeight :元素在垂直方向上占用的空间大小,以像素计算.包括元素的高度,水平 ...
- H5学习的例子
https://github.com/NalvyBoo/HTML5 https://github.com/yujinjin/fans github看到这里 https://github.com ...
- AngularJS学习笔记(一)
一.基本指令 1.ng-app=" " 指令初始化一个 AngularJS 应用程序,定义angularJS的使用范围; tips:一个页面里创建多个 ng-app 手动加载即可: ...
- windows 命令行出现中文乱码
1.打开CMD.exe命令行窗口 2.通过 chcp命令改变代码页chcp 65001 //UTF-8的代码页为65001
- 利用springloaded进行java class动态替换
我们知道对于一个java文件,如Test.java,首先需要通过javac命令(javac Test.java)进行编译,生成class文件,再将class文件在jvm上进行加载运行,也就是java命 ...
- [翻译]高并发框架 LMAX Disruptor 介绍
原文地址:Concurrency with LMAX Disruptor – An Introduction 译者序 前些天在并发编程网,看到了关于 Disruptor 的介绍.感觉此框架惊为天人,值 ...
- json字符转对象之new Function('return ' + str)
var jsonStr = '{"id":1,"name":"linda","hobbies":[{"id&q ...
- python_day13_js
JavaScript 基础 目录: javascript简介 javascrip历史 ecmascript标准 javascrip基础 js引入方式 js变量.常量.标识符 js数据类型 运算符 流程 ...
- 【Selenium】【BugList4】执行pip报错:Fatal error in launcher: Unable to create process using '""D:\Program Files\Python36\python.exe"" "D:\Program Files\Python36\Scripts\pip.exe" '
环境信息: python版本:V3.6.4 安装路径:D:\Program Files\python36 环境变量PATH:D:\Program Files\Python36;D:\Program F ...
- 标准时间转YYYY-MMM-DD
// 时间处理 formatDate(date, fmt) { let o = { 'M+': date.getMonth() + 1, //月份 'd+': date.getDate(), //日 ...