【机器学习300问】124、什么是LSTM?LSTM的基本结构是怎样的?

        长短期记忆网络(LSTM)是一种解决隐变量模型长期信息保存和短期输入缺失问题的方法,有趣的是,长短期记忆网络的设计比门控循环单元稍微复杂一些, 却比门控循环单元早诞生了近20年。

一、什么是LSTM?

        LSMT全称为长短期记忆网络(Long Short-Term Memory)是一种特殊的循环神经网络(RNN),专门设计用于解决长期依赖的问题,即在处理序列数据时能够记住较长时间间隔的信息。RNNs通过在序列中每个时间步传递隐藏状态来保留过去信息,但它在处理长序列时往往会遇到梯度消失或梯度爆炸的问题,这限制了它记忆远距离信息的能力

        位于序列后端的was和were的选择取决于前面的名词是单数还是复数,图中的序列还比较短,但若是对长序列而言,记忆cat的单复数就显得非常关键。

二、LSTM的基本结构

        LSTM的基本结构由四个主要组件构成:输入门、遗忘门、输出门以及记忆细胞(也称为细胞状态)。还有一个额外的概念是候选记忆状态,它是新信息被考虑加入到细胞状态之前的形式。下面先把LSTM的网络模型图放出来,有助于理解这四个组件。

LSTM基本结构图解

        为了更加直观的展示LSTM的结构,我把B站UP主梗直哥丶的视频截取出来给大家看,强烈推荐大家去看他的视频,讲的非常好。

(1)输入门

        输入门(Input Gate)记为 i_t ,是决定当前输入中哪些部分应当被更新到细胞状态。它使用一个sigmoid函数来产生一个0到1之间的值,表示新信息的多少应该被“记忆”。 数学表达式为:

i_t = \sigma(W_i \cdot [h_{t-1}, x_t] + b_i)

\tilde{C}_t = \tanh(W_C \cdot [h_{t-1}, x_t] + b_C)

        其中 W_i 和 W_C 分别是输入门和候选细胞状态的权重矩阵,b_i和 b_C 是对应的偏置项。x_t是当前时间步的输入。\tilde{C_t}是候选细胞状态。

(2)遗忘门

        遗忘门(Forget Gate)记为 f_t ,是确定细胞状态中哪些信息应当被遗忘。同样使用sigmoid函数,决定过往记忆的重要性,值接近1表示大部分保留,接近0表示大部分遗忘。 数学表达式为:

f_t = \sigma(W_f \cdot [h_{t-1}, x_t] + b_f)

        其中 \sigma 是sigmoid激活函数,W_f是遗忘门的权重矩阵,b_f是遗忘门的偏置项,h_{t-1}是上一个时间步的隐藏状态,x_t是当前时间步的输入。

删除对应遗忘门和增加对应输入门

(3)细胞状态

        细胞状态(Cell State)记为 C_t, 是LSTM的核心,一个能够存储长期信息的向量。它通过点积运算结合遗忘门和前一时间步的细胞状态,以及输入门和一个新的候选记忆状态来更新。候选记忆状态是由当前输入和一个输入的权重矩阵通过tanh激活函数得到的。 数学表达式为:

  C_t = f_t * C_{t-1} + i_t * \tilde{C}_t

        候选细胞状态,记为 \tilde{C}_t ,是在每个时间步中,当前输入x_t和前一隐藏状态h_{t-1}的信息经过处理生成了一个候选细胞状态,该候选细胞状态包含可能加入长期状态的信息。

        隐藏状态,记为 h_t ,包含了当前时间步的输出信息,它是基于细胞状态的过滤输出,输出门控制着细胞状态中的哪些信息会传输到隐藏状态,然后用于输出或传递到下一个时间步。

(4)输出门

        输出门(Output Gate)记为 o_t ,是控制细胞状态中哪些信息应当被用于生成当前时间步的输出。它结合了sigmoid函数(决定哪些细胞状态的内容应该输出)和tanh函数(对选定的记忆进行缩放,确保输出在-1到1之间)。 数学表达式为:

o_t = \sigma(W_o \cdot [h_{t-1}, x_t] + b_o)

h_t = o_t * \tanh(C_t)

        其中W_o是输出门的权重矩阵,b_o 是输出门的偏置项。h_{t-1}是上一个时间步的隐藏状态,x_t是当前时间步的输入。

三种门和候选记忆细胞的计算图解

 

三、LSTM和GRU的区别与联系

        LSTM(长短期记忆网络)和GRU(门控循环单元)都是循环神经网络(RNN)的变种,目的是解决标准RNN中的梯度消失问题,并更好地捕捉长期依赖关系。下面是它们之间的一些关键区别与联系

(1)联系

  1. 共同目标:LSTM和GRU都被设计来改善标准RNN在处理长期依赖问题上的能力,通过引入门控机制来控制信息的遗忘和更新。
  2. 门控机制:两者都使用门(gate)来调节信息流,允许网络选择性地忘记旧信息或记住新信息。
  3. 解决梯度消失:它们都能有效缓解梯度消失问题,从而在序列数据建模中表现得更为稳定和强大。

(2)区别

① 门的数量和结构

  • LSTM拥有三个门:遗忘门(forget gate)、输入门(input gate)和输出门(output gate),以及一个细胞状态(cell state)和隐藏状态(hidden state)。遗忘门决定哪些旧信息被遗忘,输入门控制新信息的接纳程度,输出门则决定细胞状态中多少信息将被用于生成隐藏状态。
  • GRU简化了结构只有两个门:重置门(reset gate)和更新门(update gate)。重置门决定在处理新输入时,多少以前的信息应该被“重置”或遗忘;更新门则同时控制着旧信息的保留和新信息的加入。

② 记忆单元

  • LSTM拥有独立的细胞状态,这个细胞状态可以长期存储信息,而隐藏状态则基于此细胞状态计算得出,这为信息的长期保留提供了专门的机制。
  • GRU没有明确区分细胞状态和隐藏状态,而是直接在一个状态中通过门控机制控制信息的更新,使得模型结构更为简洁。

③ 计算复杂性和参数量

  • LSTM结构更复杂,拥有更多的门和独立的细胞状态,因此在计算上通常比GRU更耗时且需要更多的参数。
  • GRU结构简化,计算效率较高,所需参数较少,这在资源有限或数据量较小的场景下可能更有优势。

④ 性能

  • 在多数任务上,LSTM和GRU的表现相近,但在某些特定任务或大规模数据集上,LSTM由于其更强的表达能力和参数量,可能会取得更好的性能。
  • GRU以其较少的参数量和较简单的结构,在训练速度和资源消耗上占有优势,尤其是在处理较短序列或资源受限环境时

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/29630.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

M41T00串行实时时钟-国产兼容RS4C1339

RS4C1340是一种实时时钟(RTC)/日历,与ST M41T00引脚兼容,功能等效,包括软件时钟校准。该器件还提供VBAT引脚上的涓流充电能力、较低的计时电压和振荡器STOP标志。寄存器映射的块访问与ST设备相同。涓流充电器和标志需要…

vue+springboot导入Excel表格

1.创建一个excel表格,与数据库需要的表头对应 2.(前端)导入excel的按钮 <template class"importExcel"><el-button type"primary" click"chooseFile">导入<i class"el-icon-upload el-icon--right"></i><…

短路是怎么形成的

1. 短路分为电源短路和用电器短路。 电源短路&#xff1a;电流不经过任何用电器&#xff0c;直接由正极经过导线流向负极&#xff0c;由于电源内阻很小&#xff0c;导致短路电流很大&#xff0c;特别容易烧坏电源。 用电器短路&#xff1a;也叫部分电路短路&#xff0c;即一根…

利用AI云防护实现高效负载均衡

在当今高度数字化的世界里&#xff0c;保证网站和应用的高可用性和响应速度对企业的业务连续性和用户体验至关重要。传统的负载均衡技术虽然能够分发流量&#xff0c;但在面对突发流量、DDoS攻击或资源动态调整时往往力不从心。本文将探讨如何借助AI云防护服务&#xff0c;不仅…

搭贝低代码开发平台:高效、灵活、经济的软件开发解决方案

在当今快速发展的数字化时代&#xff0c;企业对于快速、灵活且成本效益高的软件开发需求日益增长。搭贝低代码开发平台以其强大的功能和用户友好的体验&#xff0c;正在成为众多企业&#xff0c;特别是中小企业&#xff0c;软件开发的首选工具。 &#x1f4c8; 什么是低代码开发…

中力股份注册获批复:“重营销轻研发”明显,屡屡因违规被罚

《港湾商业观察》施子夫 王璐 冲刺上交所主板即将满两年&#xff0c;浙江中力机械股份有限公司&#xff08;以下简称&#xff0c;中力股份&#xff09;于4月24日宣布&#xff0c;首次公开发行股票的注册申请已获证监会同意。 不出意外的话&#xff0c;预计不久的数月内中力股…

电子期刊制作秘籍:如何让你的出版物脱颖而出?

​如何让你的电子期刊在众多出版物中脱颖而出&#xff0c;吸引读者的目光呢&#xff1f;在微信公众号这个平台上&#xff0c;让你的电子期刊内容更具吸引力、专业性和创新性&#xff0c;是至关重要的。下面&#xff0c;我将教你制作电子期刊一些方法&#xff0c;助你打造出一本…

【Pepper机器人开发与应用】二、Pepper机器人图形化开发:医疗服务机器人程序设计

‍‍&#x1f3e1;博客主页&#xff1a; virobotics(仪酷智能)&#xff1a;LabVIEW深度学习、人工智能博主 &#x1f4d1;上期文章&#xff1a;『【Pepper机器人开发与应用】一、教你如何使用图形化开发软件高效开发pepper机器人&#xff08;Pepper SDK for LabVIEW&#xff09…

卷积神经网络 convolution neural network

1.数学卷积&#xff1a;滑动窗口 2.图像具有局部相关性和平移不变性&#xff0c;有许多冗余的特征点&#xff0c;如果用全连接的神经网络会很浪费时间。 3.卷积nn&#xff1a;减少参数&#xff0c;滑动提取特征&#xff0c;特征作为下层卷积的输入&#xff0c;然后放到全连接…

VM4.3 二次开发03 小技巧

VM4.3 二次开发03 小技巧 1.查看SDK帮助文档。 SDK帮助文档路径&#xff1a;安装目录下的路径&#xff0c;注意自己安装时的盘符&#xff0c;我是安装在D盘的。 D:\Program Files\VisionMaster4.3.0\Development\V4.x\Documentations\CH 示例程序目录 D:\Program Files\Visi…

Java 18新特性概览与解读

随着技术的不断进步&#xff0c;Java作为最流行的编程语言之一&#xff0c;也在持续地进行版本更新&#xff0c;为开发人员提供更强大、更高效的工具和特性。Java 18作为最新的稳定版本&#xff0c;引入了一系列引人注目的新特性和改进。以下是对Java 18中一些主要新特性的详细…

电商淘宝京东,精准关键词搜索API接口

当使用电商淘宝京东的精准关键词搜索API接口时&#xff0c;以下是清晰的步骤指南&#xff1a; 一、注册与申请API密钥 注册账号&#xff1a;在淘宝开放平台或京东开放平台注册成为开发者&#xff0c;并创建账号。 创建应用&#xff1a;登录后&#xff0c;在开放平台创建一个应…

最值得入手的宠物空气净化器!希喂、352、安德迈真实测评~

随着天气越来越热&#xff0c;猫咪们也都开始掉毛啦。这时候&#xff0c;家里面到处都飘浮着猫咪们的浮毛和粑粑异味。抵抗力较差的铲屎官&#xff0c;身体就会出现一些问题&#xff0c;例如打喷嚏、咳嗽等呼吸道问题。 很多铲屎官以为用粘毛器、吸尘器等工具就能将猫咪们掉落…

msvcp100.dll已加载但找不到入口点的处理方法,分析比较靠谱的msvcp100.dll解决方法

用户在日常使用中有时会遇到一个错误提示&#xff1a;“已加载 msvcp100.dll&#xff0c;但找不到入口点”。这一信息不仅引发了使用上的不便&#xff0c;也对软件的稳定性产生了质疑。理解并解决该问题不仅对确保计算机正常运行至关重要&#xff0c;也对维护软件的长期稳定性和…

虚拟货币投资指南|XEX交易所

什么是虚拟货币&#xff1f; 虚拟货币是一种基于区块链技术的数字资产&#xff0c;具有去中心化、透明性和安全性等特点。比特币&#xff08;BTC&#xff09;、以太坊&#xff08;ETH&#xff09;和莱特币&#xff08;LTC&#xff09;等是目前较为知名的虚拟货币。 虚拟货币投…

JavaScript 的新技能:5 大技巧,打造更强大的 Web 应用

大家好&#xff0c;我是前端宝哥。 JavaScript 在现代 Web 开发中简直是必不可少的工具&#xff01; 它一直在不断变化&#xff0c;为我们带来新玩法。今天就来跟大家聊聊 5 个顶尖的 JavaScript 技术&#xff0c;教你用更酷炫的方式构建 Web 应用&#xff01; 为什么 JavaScri…

shell脚本编程(概念、编程和语句)

一、shell脚本概述 1、shell脚本概念 Shell 脚本是利用 shell 的功能所写的一个程序。这个程序是使用纯文本文件&#xff0c;将一些 shell 的语法与命令&#xff08;含外部命令&#xff09;写在里面&#xff0c;搭配正则表达式、管道命令与数据流重定向等功能。 2、Shell 脚…

上证50etf期权的手续费要多少钱?期权懂分享

今天带你了解上证50etf期权的手续费要多少钱&#xff1f;上证50ETF期权的开户一般交易手续费默认为7元一张。在进行期权开户之前&#xff0c;建议提前联系一名券商的客户经理&#xff0c;协商期权手续费优惠事宜。 上证50etf期权的手续费要多少钱&#xff1f; 上证50ETF期权的…

IDEA中SpringMVC的运行环境问题

文章目录 一、IEAD 清理缓存二、用阿里云和spring创建 SpringMVC 项目中 pom.xml 文件的区别 一、IEAD 清理缓存 springMVC 运行时存在一些之前运行过的缓存导致项目不能运行&#xff0c;可以试试清理缓存 二、用阿里云和spring创建 SpringMVC 项目中 pom.xml 文件的区别 以下…

通过LotusScript中的NotesDateTime类来进行时间计算

大家好&#xff0c;才是真的好。 今天我们介绍的是时间日期处理&#xff0c;其实以前也讲过&#xff0c;主要是通过LotusScript中的NotesDateTime类来进行时间计算。 但是这里也存在一个问题&#xff1a;就是时间日期类的比较只能计算出秒&#xff0c;不能计算出毫秒。 毕竟…