机器学习与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)几部分组成。

原文地址:https://www.cnblogs.com/guoruxin/p/10228453.html

时间: 2024-10-09 01:12:34

机器学习与Tensorflow(5)——循环神经网络、长短时记忆网络的相关文章

(转)零基础入门深度学习(6) - 长短时记忆网络(LSTM)

无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的技术,会不会感觉马上就out了?现在救命稻草来了,<零基础入门深度学习>系列文章旨在讲帮助爱编程的你从零基础达到入门级水平.零基础意味着你不需要太多的数学知识,只要会写程序就行了,没错,这是专门为程序员写的文章.虽然文中会有很多公式你也许看不懂,但同时也会有更多的代码,程序员的你一定能看懂的(我周围是一群狂热的Clean

Tensorflow中循环神经网络及其Wrappers

tf.nn.rnn_cell.LSTMCell 又名:tf.nn.rnn_cell.BasicLSTMCell.tf.contrib.rnn.LSTMCell 参见: tf.nn.rnn_cell.LSTMCell 输出: output:LSTM单元输出,与LSTM cell state的区别在于该输出又经过激活以及和一个sigmoid函数输出相乘.shape: [batch_size,num_units] new_state:当前时间步上的LSTM cell state和LSTM output

循环和递归神经网络 (RNN) 与 长短时记忆 (LSTM)

即使不是 NLPer,现实中依然会面对很多序列问题. 全文内容来自 Ian Goodfellow, Yoshua Bengio 和 Aaron Courville 3位大老爷的作品"Deep Learning"的其中1章"Sequence Modeling: Recurrent and Recursive Nets" 1. 1986年 Rumelhart 等人提出循环神经网络.循环网络与多层网络相比,会共享每层的权重,从而能够扩展和应用网络于不同长度的序列案例,以及

学习笔记TF057:TensorFlow MNIST,卷积神经网络、循环神经网络、无监督学习

MNIST 卷积神经网络.https://github.com/nlintz/TensorFlow-Tutorials/blob/master/05_convolutional_net.py .TensorFlow搭建卷积神经网络(CNN)模型,训练MNIST数据集. 构建模型. 定义输入数据,预处理数据.读取数据MNIST,得到训练集图片.标记矩阵,测试集图片标记矩阵.trX.trY.teX.teY 数据矩阵表现.trX.teX形状变为[-1,28,28,1],-1 不考虑输入图片数量,28x

机器学习小白关于循环神经网络的5个问题

机器不学习 jqbxx.com-关注机器学习,深度学习,自然语言处理,大数据,个性化推荐,搜索算法,知识图谱 问题1:什么是循环神经网络RNN? 如下图,如何能让Alpha蚂蚁识别下图的句子(是让它识别句子理解句子而非文字),并且填入正确的答案呢? 如果用以往的方式,Alpha蚂蚁只能看到是这个字以及它后面的内容,关键是谁知道是后面该填写什么?Alpha蚂蚁去搜索了百度,百度上最高的统计结果是:"是"后面跟着"我"字,于是Alpha蚂蚁在这里填写了"我&q

Google发布机器学习平台Tensorflow游乐场~带你玩神经网络(转载)

Google发布机器学习平台Tensorflow游乐场-带你玩神经网络 原文地址:http://f.dataguru.cn/article-9324-1.html> 摘要: 昨天,Google发布了Tensorflow游乐场.Tensorflow是Google今年推出的机器学习开源平台.而有了Tensorflow游乐场,我们在浏览器中就可以训练自己的神经网络,还有酷酷的图像让我们更直观地了解神经网络的工作原理.今 ... 网络 工具 机器学习 神经网络 Tensorflow 昨天,Google发

TensorFlow框架(6)之RNN循环神经网络详解

1. RNN循环神经网络 1.1 结构 循环神经网络(recurrent neural network,RNN)源自于1982年由Saratha Sathasivam 提出的霍普菲尔德网络.RNN的主要用途是处理和预测序列数据.全连接的前馈神经网络和卷积神经网络模型中,网络结构都是从输入层到隐藏层再到输出层,层与层之间是全连接或部分连接的,但每层之间的节点是无连接的. 图 11 RNN-rolled 如图 11所示是一个典型的循环神经网络.对于循环神经网络,一个非常重要的概念就是时刻.循环神经网

机器学习及其matlab实现竞争神经网络与SOM神经网络进阶与提高视频教程

38套大数据,云计算,架构,数据分析师,Hadoop,Spark,Storm,Kafka,人工智能,机器学习,深度学习,项目实战视频教程 视频课程包含: 38套大数据和人工智能精品高级课包含:大数据,云计算,架构,数据挖掘实战,实时推荐系统实战,电视收视率项目实战,实时流统计项目实战,离线电商分析项目实战,Spark大型项目实战用户分析,智能客户系统项目实战,Linux基础,Hadoop,Spark,Storm,Docker,Mapreduce,Kafka,Flume,OpenStack,Hiv

循环神经网络

循环神经网络 作者:樱花猪 摘要: 本文为七月算法(julyedu.com)12月机器学习第二十次课在线笔记. 多层反馈RNN(Recurrent neural Network.循环神经网络)神经网络是一种节点定向连接成环的人工神经网络.这种网络的内部状态可以展示动态时序行为.不同于前馈神经网络的是,RNN可以利用它内部的记忆来处理任意时序的输入序列,这让它可以更容易处理如不分段的手写识别.语音识别等. 引言:   循环神经网络的目的使用来处理序列数据.在传统的神经网络模型中,是从输入层到隐含层