LSTM模型详解

article/2025/10/2 12:39:18

(一)LSTM模型理解

1.长短期记忆模型(long-short term memory)是一种特殊的RNN模型,是为了解决RNN模型梯度弥散的问题而提出的;在传统的RNN中,训练算法使用的是BPTT,当时间比较长时,需要回传的残差会指数下降,导致网络权重更新缓慢,无法体现出RNN的长期记忆的效果,因此需要一个存储单元来存储记忆,因此LSTM模型被提出;

2.下面两个图可以看出RNN与LSTM的区别:

(1)RNN


(2)LSTM


PS:

(1)部分图形含义如下:


(2)RNN与LSTM最大的区别在于LSTM中最顶层多了一条名为“cell state”的信息传送带,其实也就是信息记忆的地方;

3.LSTM的核心思想:

(1)理解LSTM的核心是“cell state”,暂且名为细胞状态,也就是上述图中最顶的传送线,如下:


(2)cell state也可以理解为传送带,个人理解其实就是整个模型中的记忆空间,随着时间而变化的,当然,传送带本身是无法控制哪些信息是否被记忆,起控制作用的是下面将讲述的控制门(gate);

(3)控制门的结构如下:主要由一个sigmoid函数跟点乘操作组成;sigmoid函数的值为0-1之间,点乘操作决定多少信息可以传送过去,当为0时,不传送,当为1时,全部传送;

(4)LSTM中有3个控制门:输入门,输出门,记忆门;

4.LSTM工作原理:

(1)forget gate:选择忘记过去某些信息:


(2)input gate:记忆现在的某些信息:


(3)将过去与现在的记忆进行合并:


(4)output gate:输出


PS:以上是标准的LSTM的结构,实际应用中常常根据需要进行稍微改善;

5.LSTM的改善

(1)peephole connections:为每个门的输入增加一个cell state的信号


(2)coupled forget and input gates:合并忘记门与输入门

(二)LSTM模型推导


1.LSTM模型的思想是将RNN中的每个隐藏单元换成了具有记忆功能的cell(如上图所示),其余的跟RNN一样;

2.每个cell的组成如下:

(1)输入节点(gc):与RNN中的一样,接受上一个时刻点的隐藏节点的输出以及当前的输入作为输入,然后通过一个tanh的激活函数;

(2)输入门(ic):起控制输入信息的作用,门的输入为上一个时刻点的隐藏节点的输出以及当前的输入,激活函数为sigmoid(原因为sigmoid的输出为0-1之间,将输入门的输出与输入节点的输出相乘可以起控制信息量的作用);

(3)内部状态节点(sc):输入为被输入门过滤后的当前输入以及前一时间点的内部状态节点输出,如图中公式;

(4)忘记门(fc):起控制内部状态信息的作用,门的输入为上一个时刻点的隐藏节点的输出以及当前的输入,激活函数为sigmoid(原因为sigmoid的输出为0-1之间,将内部状态节点的输出与忘记门的输出相乘可以起控制信息量的作用);

(5)输出门(oc):起控制输出信息的作用,门的输入为上一个时刻点的隐藏节点的输出以及当前的输入,激活函数为sigmoid(原因为sigmoid的输出为0-1之间,将输出门的输出与内部状态节点的输出相乘可以起控制信息量的作用);

3.LSTM层的计算可以表示如下(若干个cell组成一个LSTM层):


PS:公式1 中的Wih应改为Wgh;圆圈表示点乘;

4.具有2个cell的LSTM模型如下:


http://chatgpt.dhexx.cn/article/eof09uo5.shtml

相关文章

LSTM模型、双向LSTM模型以及模型输入输出的理解

循环神经网路(RNN)在工作时一个重要的优点在于,其能够在输入和输出序列之间的映射过程中利用上下文相关信息。然而不幸的是,标准的循环神经网络(RNN)能够存取的上下文信息范围很有限。这个问题就使得隐含层…

基于LSTM模型实现新闻分类

1、简述LSTM模型 LSTM是长短期记忆神经网络,根据论文检索数据大部分应用于分类、机器翻译、情感识别等场景,在文本中,主要使用tensorflow及keras,搭建LSTM模型实现新闻分类案例。(只讨论和实现其模型的应用案例&#…

Pytorch实现的LSTM模型结构

LSTM模型结构 1、LSTM模型结构2、LSTM网络3、LSTM的输入结构4、Pytorch中的LSTM4.1、pytorch中定义的LSTM模型4.2、喂给LSTM的数据格式4.3、LSTM的output格式4.4 LSTM笔记 5、LSTM和其他网络组合 1、LSTM模型结构 BP网络和CNN网络没有时间维,和传统的机器学习算法理…

【RNN架构解析】LSTM 模型

LSTM 模型 前言1. LSTM 内部结构图2. Bi-LSTM 介绍3. LSTM 代码实现4. LSTM 优缺点前言 了解LSTM内部结构及计算公式.掌握Pytorch中LSTM工具的使用.了解LSTM的优势与缺点.LSTM(Long Short-Term Memory)也称长短时记忆结构, 它是传统RNN的变体, 与经典RNN相比能够有效捕捉长序…

Pytorch LSTM模型 参数详解

本文主要依据 Pytorch 中LSTM官方文档,对其中的模型参数、输入、输出进行详细解释。 目录 基本原理 模型参数 Parameters 输入Inputs: input, (h_0, c_0) 输出Outputs: output, (h_n, c_n) 变量Variables 备注 基本原理 首先我们看下面这个LSTM图, 对…

猿创征文丨深度学习基于双向LSTM模型完成文本分类任务

大家好,我是猿童学,本期猿创征文的第三期,也是最后一期,给大家带来神经网络中的循环神经网络案例,基于双向LSTM模型完成文本分类任务,数据集来自kaggle,对电影评论进行文本分类。 电影评论可以蕴…

LSTM模型参数解释

其中,input_size(输入张量x的维度)6,hidden_size(隐藏层的维度, 隐藏层的神经元个数)6,num_layer(隐藏层层数)2 train loss与test loss结果分析: train loss 不断下降,test loss不断下降,说明网…

【用pytorch进行LSTM模型的学习】

用pytorch进行LSTM模型的学习 LSTM模型用pytorch,采用LSTM对seaborn数据集做预测基本步骤数据的观察特殊数据处理数据归一化模型的构建与选择模型的保存 飞机航班流量预测示例 LSTM模型 LSTM模型长下面这样,主要用在时间序列的预测,具有比RN…

LSTM模型预测新冠

LSTM是RNN的改进型,传统RNN模型会随着时间区间的增长,对早期的因素的权重越来越低,有可能会损失重要数据。而LSTM模型通过遗忘门、输入门、输出门三个逻辑,来筛选和保留数据。 原理详解可以参考如何从RNN起步,一步一步…

LSTM模型结构讲解

人类并不是每时每刻都从一片空白的大脑开始他们的思考。在你阅读这篇文章时候,你都是基于自己已经拥有的对先前所见词的理解来推断当前词的真实含义。我们不会将所有的东西都全部丢弃,然后用空白的大脑进行思考。我们的思想拥有持久性。 传统的神经网络…

LSTM 模型实践一

简单介绍 原因:普通的RNN(Recurrent Neural Network)对于长期依赖问题效果比较差,当序列本身比较长时,神经网络模型的训练是采用backward进行,在梯度链式法则中容易出现梯度消失和梯度爆炸的问题。 解决&…

理解LSTM模型

写在前面:这是翻译自colah的一篇博客,原文关于LSTM神经网络模型的理解写的非常直观、简单易懂,所以翻译过来帮助大家学习理解LSTM模型。 当然我不是按照原文一字不落的翻译,而是摘出其中对模型理解最有帮助的部分,然后…

LSTM模型预测时间序列(快速上手)

写在前面 LSTM模型的一个常见用途是对长时间序列数据进行学习预测,例如得到了某商品前一年的日销量数据,我们可以用LSTM模型来预测未来一段时间内该商品的销量。但对于不熟悉神经网络或者对没有了解过RNN模型的人来说,想要看懂LSTM模型的原理…

基于优化LSTM 模型的股票预测

LSTM自诞生以来,便以其在处理时间序列方面的优越性能在预测回归,语音翻译等领域广受青睐。今天,主要研究的是通过对LSTM模型的优化来实现股票预测。其实,关于股票预测,LSTM模型已经表现的相当成熟,然而&…

【机器学习】LSTM模型原理

文章目录 1. 序言2. RNN的基本概念与网络结构2.1 概念2.2 结构2.3 要素 3. LSTM的基本概念与网络结构3.1 概念3.2 结构3.3 要素 4. LSTM网络结构的说明5. 补充 1. 序言 临渊羡鱼不如归而结网 学习的目的是为了应用 2. RNN的基本概念与网络结构 LSTM是在RNN的基础上演进而来…

LSTM模型

LSTM比RNN复杂很多,RNN只有一个参数矩阵A,LSTM有4个(遗忘门,输入门,更新值,输出门) LSTM有一个非常重要的传输带Ct,过去的信息通过这个传输带送给下一时刻,不会发生太大变…

时间序列预测——LSTM模型(附代码实现)

目录 模型原理 模型实现 导入所需要的库 设置随机数种子 导入数据集 打印前五行数据进行查看 数据处理 归一化处理 查看归一化处理后的数据 将时间序列转换为监督学习问题 打印数据前五行 划分训练集和测试集 查看划分后的数据维度 搭建LSTM模型 得到损失图 模型…

phpstorm汉化操作

问题描述:如何进行phpstorm的汉化(原始为英文) 解决办法: 1.下载汉化包—resources_cn; 2.将汉化包添加到phpstorm文件夹下的lib文件夹内(其中的resources_en可以不删除); 3.重启Ph…

php 教程 phpstorm

目录 php开发流程 php 编辑工具 phpstudy phpstorm如何配置php环境 php 语言 什么是URI URL和URI差别: 一、HTTP和HTTPS的基本概念 经典类型和自定义 实现本机域映射​ php开发流程 1、下载php语言包 php作为一门语言,本身可以是一个纯绿色版的…

【PHP】Phpstorm环境配置与应用

一. Phpstorm环境配置 (1)点击左上端File,选择下拉框中的setting,进入环境配置页面,如下图 (2)如下图点击1处,选中下拉框中的Deployment,Type(图示2处),下拉框中选择Local or mounted folder …