序列模型(3)---LSTM(长短时记忆)

一、RNN回顾

略去上面三层,即o,L,y,则RNN的模型可以简化成如下图的形式:

二、LSTM模型结构:

整体模型:

由于RNN梯度消失的问题,大牛们对于序列索引位置t的隐藏结构做了改进,可以说通过一些技巧让隐藏结构复杂了起来,来避免梯度消失的问题,这样的特殊RNN就是我们的LSTM。由于LSTM有很多的变种,这里我们以最常见的LSTM为例讲述。LSTM的结构如下图:

记忆细胞:

从上图中可以看出,在每个序列索引位置t时刻向前传播的除了和RNN一样的隐藏状态h(t),还多了另一个隐藏状态,如图中上面的长横线。这个隐藏状态我们一般称为细胞状态(Cell State),记为C(t)。如下图所示:

门控结构:

除了细胞状态,LSTM图中还有了很多奇怪的结构,这些结构一般称之为门控结构(Gate)。LSTM在在每个序列索引位置t的门一般包括遗忘门,输入门和输出门三种。下面我们就来研究上图中LSTM的遗忘门,输入门和输出门以及细胞状态。

  • 遗忘门:是控制是否遗忘的,在LSTM中即以一定的概率控制是否遗忘上一层的隐藏细胞状态。遗忘门子结构如下图所示:

  • 输入门:负责处理当前序列位置的输入,它的子结构如下图:

LSTM之细胞状态更新:

在研究LSTM输出门之前,我们要先看看LSTM之细胞状态。前面的遗忘门和输入门的结果都会作用于细胞状态C(t)。我们来看看从细胞状态C(t−1)如何得到C(t)。如下图所示:

我们把旧状态与ft相乘,丢弃掉我们确定需要丢弃的信息。接着加上it∗Ct~。这就是新的候选值,根据我们决定更新每个状态的程度进行变化。

  • 输出门:有了新的隐藏细胞状态C(t),我们就可以来看输出门了,子结构如下:

三、LSTM的前向传播

四、LSTM反向传播算法

原文地址:https://www.cnblogs.com/Lee-yl/p/10065864.html

时间: 2024-10-09 13:18:18

序列模型(3)---LSTM(长短时记忆)的相关文章

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

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

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

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

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

1.循环神经网络的标准模型 前馈神经网络能够用来建立数据之间的映射关系,但是不能用来分析过去信号的时间依赖关系,而且要求输入样本的长度固定 循环神经网络是一种在前馈神经网络中增加了分亏链接的神经网络,能够产生对过去数据的记忆状态,所以可以用于对序列数据的处理,并建立不同时段数据之间的依赖关系 循环神经网络是一类允许节点连接成有向环的人工神经网络.如下图: 2.循环神经网络与递归神经网络 从广义上说,递归神经网络可以分为结构递归神经网络和时间递归神经网络 从狭义上说,递归神经网络可以通常就是指结构

deeplearning.ai 序列模型 Week 1 循环序列模型

1. Notations 循环序列模型的输入和输出都是时间序列.$x^{(i)<t>}$表示第$i$个输入样本的第$t$个元素,$T_x^{(i)}$表示输入的第$i$个样本的元素个数:$y^{(i)<t>}$表示第$i$个样本的输出的第$t$个元素,$T_y^{(i)}$表示第$i$个样本的输出的元素个数. 在NLP领域,为了描述一句话,会有一个词典(vocabulary),里面保存了所有的英文单词(一般包含3万到5万单词),每个单词依次有一个编号.这样每个单词都可以用一个向量表

PyTorch 1.0 中文官方教程:序列模型和LSTM网络

译者:ETCartman 之前我们已经学过了许多的前馈网络. 所谓前馈网络, 就是网络中不会保存状态. 然而有时 这并不是我们想要的效果. 在自然语言处理 (NLP, Natural Language Processing) 中, 序列模型是一个核心的概念. 所谓序列模型, 即输入依赖于时间信息的模型. 一个典型的序列模型是隐马尔科夫模型 (HMM, Hidden Markov Model). 另一个序列模型的例子是条件随机场 (CRF, Conditional Random Field). 循

02 序列模型问题

序列模型问题 给定一个序列, 预测下一个出现的item. 如字迹预测, 语句单词预测, 行为预测等等. LSTM 网络 Long Short Term 网络,一般就叫做 LSTM ,是一种 RNN 特殊的类型,可以学习长期依赖信息.LSTM 通过刻意的设计来避免长期依赖问题.记住长期的信息在实践中是 LSTM 的默认行为,而非需要付出很大代价才能获得的能力! LSTM前向传播算法 原文地址:https://www.cnblogs.com/lee3258/p/11993983.html

求解两个序列的所有最长公共子序列(LCSes)

 摘要 本篇博文提供了实现求解所有最长公共子序列的程序实现,并提供输出所有公共子序列的方法解释,需要具备基础知识是求解一个公共子序列的动态规划方法,请自行查阅相关资料. 题目重述 子序列概念:设X=< x1, x2,┅, xm>,若有1≤i1< i2< ┅ <ik≤m,使得Z=< z1, z2,┅, zk> = < xi1, xi2,┅, xik>,则称Z是X的子序列,记为Z<X. 例如: X=<A,B,C,B,D,A,B>, 

吴恩达《深度学习》-课后测验-第五门课 序列模型(Sequence Models)-Week 1: Recurrent Neural Networks(第一周测验:循环神经网络)

Week 1 Quiz: Recurrent Neural Networks(第一周测验:循环神经网络) \1. Suppose your training examples are sentences (sequences of words). Which of the following refers to the jth word in the ith training example?( 假设你的训练样本是句子(单词序列),下 面哪个选项指的是第??个训练样本中的第??个词?) [ ]

TensorFlow文本摘要生成 - 基于注意力的序列到序列模型

1 相关背景 维基百科对自动摘要生成的定义是, "使用计算机程序对一段文本进行处理, 生成一段长度被压缩的摘要, 并且这个摘要能保留原始文本的大部分重要信息". 摘要生成算法主要分为抽取型(Extraction-based)和概括型(Abstraction-based)两类. 传统的摘要生成系统大部分都是抽取型的, 这类方法从给定的文章中, 抽取关键的句子或者短语, 并重新拼接成一小段摘要, 而不对原本的内容做创造性的修改. 这类抽取型算法工程上已经有很多开源的解决办法了, 例如Git