LSTM模型

article/2025/10/2 13:04:03

LSTM比RNN复杂很多,RNN只有一个参数矩阵A,LSTM有4个(遗忘门,输入门,更新值,输出门)

 

LSTM有一个非常重要的传输带Ct,过去的信息通过这个传输带送给下一时刻,不会发生太大变化,并且通过这个传输带避免梯度消失的问题

LSTM有很多门让信息有选择的通过

遗忘门:

 

 

将a向量待入sigmod函数得到相对应的f值,然后将这个f值与c传输带相乘得到output,当的值为0时,output也会相应的等于0,那么该条信息就不通过,当值为1时,output输出c本身,该条信息通过

 

 h(t-1) 与xt做点积得到更高的向量,然后计算Wf与这个向量的乘积得到新的向量,再将这个新向量带入sigmod函数得到ft,且ft在0~1之间,Wf需要通过反向传播在训练数据里传播

 

输入门:

it的计算依赖于上一时刻的状态向量h(t-1)和新的时刻输入Xt,与遗忘门类似,h(t-1) 与xt做点积得到更高的向量,然后计算Wi与这个向量的乘积得到新的向量,再将这个新向量带入sigmod函数得到it,且it在0~1之间,输入门有自己的参数矩阵记作Wi,需要在训练数据中学习,

 

 计算每次更新的值:

h(t-1) 与xt做点积得到更高的向量,然后计算Wc与这个向量的乘积得到新的向量,再将这个新向量带入tanh函数得到it,且Ct在-1~1之间,它有自己的参数矩阵记作Wc

 

计算出遗忘门ft ,输入门it, 更新值Ct, 以及传输带旧值C(t-1), 就可以更新现在的传输带值Ct

ft 和 C(t-1) 是维度相同的向量,二者进行点积,遗忘门ft可以选择性的遗忘C(t-1)中的元素(那些output=0的信息),it 和 Ct点积更新新的值在传输带上,它们的和记作Ct,这样就完成了对传输带的一轮更新

用遗忘门删除了传送带上的某些信息,同时再加入新的信息,得到新的传输带的值Ct 

 

输出门

更新完Ct,就到了最后一步,状态向量ht的输出

首先计算输出门Ot,与之前一样,h(t-1) 与xt做点积得到更高维的向量,然后计算Wo与这个向量的乘积得到新的向量,再将这个新向量带入sigmod函数得到Ot,且Ot在0~1之间,输入门有自己的参数矩阵记作Wo,需要在训练数据中学习

 

 对Ct元素的每一个向量做双曲正切,带入tanh()函数中得到的新向量与Ot做点积,得到ht

ht有两份copies,一份传给下一时刻的状态向量ht,一份作为LSTM的输出

 

LSTM参数

LSTM共有4个参数矩阵,所以×4

 

 用Keras实现LSTM

from keras.models import Sequential
from keras.layers import LSTM, Embedding, Dense,Flatten
vocabulary = 10000   #一共有10000个词
embedding_dim = 32  #词向量X的维度
word_num = 500       #句子的长度,超过500会截断,不够的通过zero_padding补零
state_dim = 32       #状态向量h的维度model = Sequential()  #建立一个Sequential模型,往里加层
model.add(Embedding(vocabulary, embedding_dim, input_length=word_num)) #首先第一层word embedding
model.add(LSTM(state_dim, return_sequences=False))   #然后是SimpleRNN layer,return_sequences=False只输入最后一个状态ht,其余不输出
model.add(Dense(1,activation='sigmoid') ) #全连接层,输出一个0/1的数
model.summary()

 

 由于我们只输出最后一个状态向量,所以是32维

 

 LSTM与SimpleRNN对比:

二者主要的区别是多了一条传输带,让过去的信息可以很容易的传到下一时刻,这样就有了更长的记忆


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

相关文章

时间序列预测——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 …

PHP开发工具PhpStorm v2022.3——完全支持PHP 8.2

PhpStorm是一个轻量级且便捷的PHP IDE,其旨在提高用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。可随时帮助用户对其编码进行调整,运行单元测试或者提供可视化debug功能。 PhpStorm v20…

phpstorm10.0.3汉化方法:

PhpStorm10.0.3汉化方法: 1、安装原版PhpStorm10.0.3,在打开最新的PhpStorm10汉化包下载地址: http://pan.baidu.com/s/1bouoyF9 2、双击用压缩软件打开resources_cn.jar(注意是打开而不是解压出来),将下载的汉化包…

PHPSTORM 中文版/汉化 即常用快捷键和配置

PHPStorm配置和快捷键大全(最新版)支持Win和Mac http://blog.csdn.net/fenglailea/article/details/53350080 推荐 1.汉化/中文版 使用的是开源的,翻译的还好,因为是开源,有些人不自觉,在翻译过程中加入广告 开源汉化地址&…

phpstorm10安装并汉化

一、下载phpstorm 下载地址:https://pan.baidu.com/s/1R64ZROVP1ljGbYfCwWjwxA 二、一直点击下一步安装即可 注意:第3步的时候选择一下支持的后缀 三、安装完毕,进行汉化 1、来到安装目录,PhpStorm 10.0.3\lib 目录下 2、…

PhpStorm 中文设置教程

本文仅供学习交流使用,如侵立删!demo下载见文末 Pycharm中文设置教程 1.首先打开PhpStorm ,点击file-settings.找到plugins,搜索Marketplace,然后搜索chinese。 2.找到之后直接点击安装. 3.安装完成之后点击Restart。…

PHPStorm运行PHP代码(新手教程)

PHPStorm是流行对PHP及前端开发IDE,在开发者初次使用写PHP代码时该怎么用呢~ 1、Create New Project 2、选择PHP Empty Project,并新建一个空目录(名字建议为英文,目录不要放在C盘!!!&#xff…

PHP教程二:开发工具 phpstorm 的下载、安装与激活

接着上一章节,我们继续开发工具的安装 phpstorm 的概括:PhpStorm 是 JetBrains 公司开发的一款商业的 PHP 集成开发工具,旨在提高用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检…

下载phpstorm2021汉化包

网址 网址:https://plugins.jetbrains.com/plugin/13710-chinese-simplified-language-pack---- 点安装到phpstorm 打开phpstorm2021版本 点file-------seeting-------k~(省略了)-----搜索chinese--------最后点安装就可以了。

phpstorm官方汉化包

注意:这个汉化包是官方出品的,并不是网友做的,所以有很强的兼容性不会出现各种乱七八糟bug以及汉化不完全的现象 先一睹为快 我们可以看到全都有翻译 以前的我还觉得那么多选项和按钮都不敢乱点,或者点之前都要百度一下英文 现在可以随便…

PHP开发工具phpstorm的安装及汉化详解

PHP开发工具phpstorm的安装及汉化详解 最近在研究PHP,PHP是目前较为流行的一款PHP开发工具,内容丰富,功能强大,下面将详细介绍一下他的具体安装及汉化步骤。 下载 这个是PHPstorm官网地址,可直接免费下载 我下载的是…

phpstorm安装+新建项目+phpstorm中文版

一、 安装phpstorm 1. 运行安装包 2. 点击next 3. 选择安装路径 点击next 4. 我的电脑系统是windows64位 所以选择64-bit 5. 点击INSTALL安装 6.安装成功后 运行phpstorm 选择evaluate for free 然后点击evaluate 二、 新建项目 1. 点击new project 2. 选择项目路径 点击c…

PhpStorm 汉化包

JetBrains 系列软件汉化包 关键字: Android Studio 3.0-3.1.3 汉化包 CLion 2018.1-2018.2 汉化包 GoLand 2017.3.2-2018.2 汉化包 IntelliJ IDEA 2017.3-2018.2 汉化包 PhpStorm 2017.3-2018.2 汉化包 PyCharm 2017.3-2018.2 汉化包 RubyMine 2017.3.2-2018.2 汉化包 …

PHPStorm安装汉化插件

File下拉菜单 找到Settings 左侧选择Plugins列表,右侧选择tab切换项Marketplace,下面的输入框里输入chinese,然后从列表中选择Chinese(simplified)Language,点击右侧的Install按钮进行安装 安装成功后重启编辑器,整个编辑器就全部是中文的了。…

phpstorm 2020.1汉化教程

提示:如果phpstorm2021.1 Plugins 里面没有搜索到Chinese(Simplified)汉化插件 解决:进入官网:https://plugins.jetbrains.com 搜索 :Chinese(Simplified) 进到这个里面 :Chinese ​(Simplified)​ Language Pa…

phpstorm怎么改成中文 怎么调中文版 汉化

phpstorm版本:2020.2.3 系统版本:windows10专业版 汉化步骤: 1.file->settings 2.左上角输入框输入chinese搜索插件 3.点击chinese开头的插件点击install进行安装插件 4.重启phpstorm 其他:如果搜索不到插件,可…