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)——循环神经网络、长短时记忆网络的更多相关文章

  1. 基于TensorFlow的循环神经网络(RNN)

    RNN适用场景 循环神经网络(Recurrent Neural Network)适合处理和预测时序数据 RNN的特点 RNN的隐藏层之间的节点是有连接的,他的输入是输入层的输出向量.extend(上一 ...

  2. 循环神经网络与LSTM网络

    循环神经网络与LSTM网络 循环神经网络RNN 循环神经网络广泛地应用在序列数据上面,如自然语言,语音和其他的序列数据上.序列数据是有很强的次序关系,比如自然语言.通过深度学习关于序列数据的算法要比两 ...

  3. LSTM——长短时记忆网络

    LSTM(Long Short-term Memory),长短时记忆网络是1997年Hochreiter和Schmidhuber为了解决预测位置与相关信息之间的间隔增大或者复杂语言场景中,有用信息间隔 ...

  4. 长短时记忆网络(LSTM)

    长短时记忆网络 循环神经网络很难训练的原因导致它的实际应用中很处理长距离的依赖.本文将介绍改进后的循环神经网络:长短时记忆网络(Long Short Term Memory Network, LSTM ...

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

    无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的技术,会不会感觉马上就o ...

  6. RNN学习笔记(一):长短时记忆网络(LSTM)

    一.前言 在图像处理领域,卷积神经网络(Convolution Nerual Network,CNN)凭借其强大的性能取得了广泛的应用.作为一种前馈网络,CNN中各输入之间是相互独立的,每层神经元的信 ...

  7. tensorflow实现循环神经网络

    包括卷积神经网络(CNN)在内的各种前馈神经网络模型, 其一次前馈过程的输出只与当前输入有关与历史输入无关. 递归神经网络(Recurrent Neural Network, RNN)充分挖掘了序列数 ...

  8. tensorflow RNN循环神经网络 (分类例子)-【老鱼学tensorflow】

    之前我们学习过用CNN(卷积神经网络)来识别手写字,在CNN中是把图片看成了二维矩阵,然后在二维矩阵中堆叠高度值来进行识别. 而在RNN中增添了时间的维度,因为我们会发现有些图片或者语言或语音等会在时 ...

  9. Tensorflow中循环神经网络及其Wrappers

    tf.nn.rnn_cell.LSTMCell 又名:tf.nn.rnn_cell.BasicLSTMCell.tf.contrib.rnn.LSTMCell 参见: tf.nn.rnn_cell.L ...

随机推荐

  1. django 环境配置.

    1. 一个虚拟环境对应一个 dajngo项目 2. mkvirtruenv pycham 创建Pure Python 新项目,不是Django 2018.3 其他版本 3.  Add Configur ...

  2. .NET, ASP.NET, ADO.NET, C# 区别

    1. .NET 是一套框架 1.1 CLR  (common language runtime) 公共语言运行时,-提供内在管理,代码安全性检测等功能 1.1.1 CLS (common langua ...

  3. 标志寄存器在Debug中的表示

    在Debug中,标志寄存器是按照有意义的各个标志位单独表示的. 下面列出Debug对我们已知的标志位的表示.

  4. linux 下安装arm-linux-gnueabi交叉编译器

    1,开发平台 虚拟机:vm12 系统:ubuntu14.04 LTS  32位 2.准备ARM交叉编译工具包 编译uboot和linux kernel都需要ARM交叉工具链支持,这里使用Linaro提 ...

  5. 线程的使用方法start run sleep join

    今天回顾了Java的线程的一些知识 例1:下面代码存有详细的解释 主要是继承Thread类与实现Runnable接口 以及start()和run()方法 package com.date0607; / ...

  6. Python开发——基础

    注释 单行注释 # 被注释的内容 多行注释 """ 被注释的内容 """ 解释器路径 #!/usr/bin/env python # 用于L ...

  7. 这里有一篇简单易懂的webSocket 快到碗里来~

    这篇文章是我在学习的时候看到的  刚开始还不是很理解  后来自己百度 又问了一些人  回过头在看这篇文章 真的挺好的 但是原创已经不知道是谁了  转载哦~~~ -------------------- ...

  8. 学习Hibernate的体会

    这个学期老师让我们做一个系统(服务器和客户端),语言自选,我也随大家开始学习java web 和android . 下面是我自学的一些体会和遇到的问题. 关于jar包. jsds.jar javasi ...

  9. centos7 mysql的安装与配置

    用yum直接安装,不用更改配置 1. #yum install mysql #yum install mysql-server #yum install mysql-devel yum运行报错的化有可 ...

  10. Spring事务传递

    2018-09-25 @Transactional(propagation=Propagation.NEVER) public void update(){ Session s = sessionFa ...