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

news2024/11/25 0:58:55

        长短期记忆网络(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.coloradmin.cn/o/1835667.html

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

相关文章

迷你手持小风扇十大名牌排名有哪些?公认迷你小风扇排行榜揭开!

随着夏季的到来,炎热的天气让人们迫切需要一款便携、高效的降温工具。迷你手持小风扇因其小巧便携、操作简单而备受欢迎,成为人们日常生活中不可或缺的降温神器。然而,市场上迷你手持小风扇品牌繁多,如何挑选一款既实用又耐用的小…

SpringBoot + thymeleaf 修改文件,刷新页面不能实时展示修改后的内容问题解决

修改页面后文件后,刷新页面,内容不变,是因为项目没有编译,没有将新的页面文件编译,以下方法可以完美解决次问题 具体内容请查看:http://www.haozgx.top/blog/article/2

GD32调试篇:JLink驱动下载安装

本文章基于兆易创新GD32 MCU所提供的2.2.4版本库函数开发 向上代码兼容GD32F450ZGT6中使用 后续项目主要在下面该专栏中发布: https://blog.csdn.net/qq_62316532/category_12608431.html?spm1001.2014.3001.5482 感兴趣的点个关注收藏一下吧! 电机驱动开发可以跳转…

学会这几点,轻松制作引人入胜的电子期刊

随着数字化时代的到来,电子期刊已经成为了信息传播的重要载体。它以方便快捷、形式多样、互动性强等特点,受到了广泛的欢迎。那么,如何制作一份引人入胜的电子期刊呢?下面就来为大家分享几点制作电子期刊的小技巧。 1.选择合适的制…

【机器学习】第2章 线性回归及最大熵模型

一、概念 1.回归就是用一条曲线对数据点进行拟合,该曲线称为最佳拟合曲线,这个拟合过程称为回归。 2.一个自变量 叫 一元线性回归,大于一个自变量 叫 多元线性回归。 (1)多元回归:两个x,一个…

Vue3鼠标悬浮个人头像时出现修改头像,点击出现弹框,上传头像使用cropperjs可裁剪预览

实现效果&#xff1a; 鼠标悬浮到头像上&#xff0c;下方出现修改头像 点击修改头像出现弹框&#xff0c;弹框中可上传头像&#xff0c;并支持头像的裁剪及预览 实现方式&#xff1a; 1.tempalte中 <div class"img-box"><img v-if"avatarImgUrl&qu…

开始报名啦!智能可观测运维技术 MeetUp 议题硬核来袭

「龙蜥社区“走进系列”MeetUp」是由龙蜥社区与生态合作伙伴联合主办的系列月度活动&#xff0c;每期走进一家企业&#xff0c;聚焦龙蜥社区和合作伙伴的技术、产品和创新动态&#xff0c;展示硬核技术&#xff0c;共建繁荣生态。 龙蜥社区“走进系列”第 11 期走进中兴通讯-智…

【Axure高保真原型】动态统计中继器表格项目数

今天和大家分享动态统计中继器表格项目数的原型模板&#xff0c;具体包括以下功能&#xff1a; 表格下方可以自动根据表格内容统计表格的总项目数、启用和禁用数、选中和未选中数 我们可以点击开发切换启用和禁用 点击多选按钮&#xff0c;选中或取消选中对应行内容 选中后可…

关于Markdown的使用与创建

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

《收获,不止oracle》读书笔记一:oracle体系结构

从图中可以看出,oracle数据库是由实例和一组数据库文件组成。实例是由oracle开辟的内存区和一组后台进程组成的。

【多线程】线程状态

&#x1f970;&#x1f970;&#x1f970;来都来了&#xff0c;不妨点个关注叭&#xff01; &#x1f449;博客主页&#xff1a;欢迎各位大佬!&#x1f448; 文章目录 1. 枚举线程所有状态2. 线程转移2.1 示意图2.2 观察 NEW 、 RUNNABLE 、 TERMINATED 状态的转换2.3 观察 WAI…

fastsam-pytorch基于YOLACT方法的实例分割分支的目标检测器模型

FastSAM 论文 Fast Segment Anything 模型结构 以yolov8-seg的instance segmentation为基础&#xff0c;检测时集成instance segmentation分支,主要分为两步全实例分割(all instance Segmentation)和基于prompt的mask输出(Prompt-guided Selection)&#xff0c;仅使用了2%的…

采用了宽电压设计的测径仪为什么仍旧需要到现场勘察电力环境

关键字: 测径仪宽电压设计,测径仪电压范围,电压影响测径仪,测径仪车间电压 设备宽电压设计是指该设备能够在一定范围的电压波动内正常工作&#xff0c;而不会因为电压的轻微变化而导致性能下降或损坏。宽电压设计通常涉及到电源电路的优化和设计&#xff0c;以确保设备在电压波…

POSIX信号量以及读写者模型/环形队列

POSIX信号量 POSIX信号量和SystemV信号量作用相同&#xff0c;都是用于同步操作&#xff0c;达到无冲突的访问共享资源目的。 但POSIX可以用于线程间同步,他的本质是一个计数器,对共享资源进行等待或释放 POSIX信号量的重要概念 1.计数器:信号量维护一个计数器&#xff0c;它…

AI大佬都在说下一个爆点是智能体,建议开发者抢占先机!

现在大模型行至一年&#xff0c;风口与炒作如影随形&#xff0c;相信很多人身处其中但仍然感到很迷失&#xff0c;这个行业到底发展到什么程度了&#xff0c;作为普通开发者还有什么可以抓住的机会&#xff1f;从AI大佬的观点中&#xff0c;我们能获得一些行业变化的新风向。 …

corona渲染器与vray比哪个好?支持云渲染平台吗

​在视觉渲染技术领域&#xff0c;V-Ray和Corona都以其卓越的性能和广泛应用赢得了高度评价。这两款渲染器各有其独特的优势&#xff0c;使得在它们之间做出选择并非易事。不同的应用场景和用户需求可能会让它们各自展现出不同的优势。 一、corona渲染器跟vray怎么样 在比较V-…

Paragon NTFS For Mac 15软件下载_Paragon NTFS For Mac 15官网最新版下载

Paragon NTFS For Mac 15是一款强大的Mac读写工具。paragon ​​ntfs for mac​​​中文版为您轻松解决Mac不能识别 Windows NTFS文件难题&#xff0c;简单自如读写NTFS外置存储文件。在Mac OS X下全读/写访问NTFS的任何分区&#xff0c;paragon ntfs for mac中文版实现在Windo…

java 面试题--基础

文章目录 基础java SE 、 EE 、 ME 的区别jdk 和 jre 区别&#xff1f;java 的日志级别基本数据类型 特性关键字finalabstractsuperswitchfortry catch 接口和抽象类的区别接口抽象类适用场景 类的加载循序静态代码块 传参问题访问修饰符运算符 反射java 里的应用为什么反射的性…

Cascadia Code 字体

维护一个很老的程序&#xff0c;打开了尘封已久的 Visual Studio 2010&#xff0c;默认的字体看着非常不舒服&#xff0c;于是更换了一下字体。当尝试更换成 Cascadia Code 字体之后&#xff0c;一下子舒服了。 之前比较习惯 Consolas 字体&#xff0c;以后记住了&#xff0c;C…

音乐管理系统 SpringBoot + vue

文章目录 1、简要介绍2、数据库设计3、解决的问题1、图片和音频的上传和存储2、分页功能 4、数据返回 也算是进行了半个学期&#xff0c;跟着老师讲的进行 后端使用SpringBoot 前端 vue layui jdk 18 项目地址&#xff1a;gitee 1、简要介绍 只有管理端&#xff0c;但是对用…