GRU与LSTM总结

LSTM模型理论总结(产生、发展和性能等) 从LSTM模型原文开始,对LSTM模型提出的动机,所采取的机制、设计的模型、算法进行了梳理。对现今采用的主流的LSTM进行了介绍,对LSTM的性能进行了阐述和总结。 阅读详情

转自lreaderl的博客_优快云博客https://blog.youkuaiyun.com/lreaderl

一、LSTM(长短期记忆网络)

LSTM是一种特殊的RNN类型,一般的RNN结构如下图所示,是一种将以往学习的结果应用到当前学习的模型,但是这种一般的RNN存在着许多的弊端。举个例子,如果我们要预测“the clouds are in the sky”的最后一个单词,因为只在这一个句子的语境中进行预测,那么将很容易地预测出是这个单词是sky。在这样的场景中,相关的信息和预测的词位置之间的间隔是非常小的,RNN 可以学会使用先前的信息。

 标准RNN结构

标准的RNN结构中只有一个神经元,一个tanh层进行重复的学习,这样会存在一些弊端。例如,在比较长的环境中,例如在“I grew up in France… I speak fluent French”中去预测最后的French,那么模型会推荐一种语言的名字,但是预测具体是哪一种语言时就需要用到很远以前的Franch,这就说明在长环境中相关的信息和预测的词之间的间隔可以是非常长的。在理论上,RNN 绝对可以处理这样的长环境问题。人们可以仔细挑选参数来解决这类问题中的最初级形式,但在实践中,RNN 并不能够成功学习到这些知识。然而,LSTM模型就可以解决这一问题。

如图所示,标准LSTM模型是一种特殊的RNN类型,在每一个重复的模块中有四个特殊的结构,以一种特殊的方式进行交互。在图中,每一条黑线传输着一整个向量,粉色的圈代表一种pointwise 操作(将定义域上的每一点的函数值分别进行运算),诸如向量的和,而黄色的矩阵就是学习到的神经网络层。
LSTM模型的核心思想是“细胞状态”。“细胞状态”类似于传送带。直接在整个链上运行,只有一些少量的线性交互。信息在上面流传保持不变会很容易。

细胞状态

LSTM 有通过精心设计的称作为“门”的结构来去除或者增加信息到细胞状态的能力。门是一种让信息选择式通过的方法。他们包含一个 sigmoid 神经网络层和一个 pointwise 乘法操作。 

Sigmoid 层输出 0 到 1 之间的数值,描述每个部分有多少量可以通过。0 代表“不许任何量通过”,1 就指“允许任意量通过”。LSTM 拥有三个门,来保护和控制细胞状态。
 

在LSTM模型中,第一步是决定我们从“细胞”中丢弃什么信息,这个操作由一个忘记门层来完成。该层读取当前输入x和前神经元信息h,由ft来决定丢弃的信息。输出结果1表示“完全保留”,0 表示“完全舍弃”。

确定更新

第二步是确定细胞状态所存放的新信息,这一步由两层组成。sigmoid层作为“输入门层”,决定我们将要更新的值i;tanh层来创建一个新的候选值向量~Ct加入到状态中。在语言模型的例子中,我们希望增加新的主语到细胞状态中,来替代旧的需要忘记的主语。 

确定更新的信息

第三步就是更新旧细胞的状态,将Ct-1更新为Ct。我们把旧状态与 ft相乘,丢弃掉我们确定需要丢弃的信息。接着加上 it * ~Ct。这就是新的候选值,根据我们决定更新每个状态的程度进行变化。在语言模型的例子中,这就是我们实际根据前面确定的目标,丢弃旧代词的信息并添加新的信息的地方。

最后一步就是确定输出了,这个输出将会基于我们的细胞状态,但是也是一个过滤后的版本。首先,我们运行一个 sigmoid 层来确定细胞状态的哪个部分将输出出去。接着,我们把细胞状态通过 tanh 进行处理(得到一个在 -1 到 1 之间的值)并将它和 sigmoid 门的输出相乘,最终我们仅仅会输出我们确定输出的那部分。在语言模型的例子中,因为语境中有一个代词,可能需要输出与之相关的信息。例如,输出判断是一个动词,那么我们需要根据代词是单数还是负数,进行动词的词形变化。 

二、GRU( Gated Recurrent Unit,LSTM变体)

GRU

GRU作为LSTM的一种变体,将忘记门和输入门合成了一个单一的更新门。同样还混合了细胞状态和隐藏状态,加诸其他一些改动。最终的模型比标准的 LSTM 模型要简单,也是非常流行的变体。

三、对比

概括的来说,LSTM和GRU都能通过各种Gate将重要特征保留,保证其在long-term 传播的时候也不会被丢失。

可以看出,标准LSTM和GRU的差别并不大,但是都比tanh要明显好很多,所以在选择标准LSTM或者GRU的时候还要看具体的任务是什么。
使用LSTM的原因之一是解决RNN Deep Network的Gradient错误累积太多,以至于Gradient归零或者成为无穷大,所以无法继续进行优化的问题。GRU的构造更简单:比LSTM少一个gate,这样就少几个矩阵乘法。在训练数据很大的情况下GRU能节省很多时间。 

五、应用

样例:预测当前词。每个时刻的输入都是一个embedding向量,它的长度是输入层神经元的个数,与时间步的个数(即句子的长度)没有关系。
每个时刻的输出是一个概率分布向量,其中最大值的下标决定了输出哪个词。
RNN&LSTM实际应用:
1. Language ModelThe Unreasonable Effectiveness of Recurrent Neural Networks The Unreasonable Effectiveness of Recurrent Neural Networks
2. Image Captioning[CVPR15]]Long-term Recurrent Convolutional Networks for Visual Recognition and DescriptionDeep Visual-Semantic Alignments for Generating Image Descriptions Deep Visual-Semantic Alignments for Generating Image Descriptions
3. Speech Recognition
4. Machine Translation[NIPS15]Sequence to Sequence Learning
with Neural Networks. http://papers.nips.cc/paper/5346-sequence-to-sequence-learning-with-neural-networks.pdf

长短期记忆网络(LSTM)和门控循环单元(GRU)算法详解 分别是更新门的权重矩阵和偏置。由于输入门、遗忘门和输出门都是由Sigmoid函数变换得到的,它们的取值范围在0和1之间,因此可以有效地控制信息的流动和梯度的传递。这两个门控单元可以学习在每个时间步如何调整输入信息和上一个时间步的隐藏状态信息的重要程度,某种程度上可以看作有选择性的记忆当前时刻的输入和上一时刻的隐藏状态。总结一下,LSTM(Long Short-Term Memory)网络可以优化梯度传播不稳定的问题,主要是因为它们的设计允许信息在多个时间步长上有效地流动,而不受梯度消失或爆炸的影响。 阅读详情

相关推荐

RNN,LSTM,GRU计算方式及优缺点

本文主要参考李宏毅老师的视频介绍RNN相关知识,主要包括两个部分: 分别介绍Navie RNN,LSTM,GRU的结构 对比这三者的优缺点 1.RNN,LSTM,GRU结构及计算方式 1.1 Navie RNN 结构图: 计算公式: ht=σ(Whht−1+Wxxt)yt=σ(Wyht) h^t=\sigma(W^hh^{t-1}+W^xx^t)\\y^t=\sigma(W^yh^t) ht=σ(Whht−1+Wxxt)yt=σ(Wyht) 依赖每一个时刻的隐状态产生当前的输出,具体计算方式根据自己任

Fan9_的博客 1万+

LSTM模型总结笔记

LSTMRNN的弊端LSTM结构 RNN的弊端 RNN是在有序的数据上进行学习的,RNN会像人一样,产生对之前发生事情的记忆,不过一般形式的RNN,就像一位老爷爷,有的时候比较健忘。 为什么会这样呢? 想象输入X是一句话, 现在请RNN来分析,我今天做的到底是什么菜呢? RNN可能会给出 辣子鸡 这个答案。 由于判断失误,RNN就要开始学习这个长序列X和红烧排骨之间的关系。而RNN所需要的关键数据红烧排骨却出现在句子开头 RNN是怎么学习的呢? 红烧排骨这个信息源的记忆,要经过长途跋涉,才能最终抵

weixin_45942265的博客 758

LSTM及GRU图解

lstm也是一种递归神经神经网络,那么要了解lstm之前先看看什么是RNN从上可以看出rnn有两个输入x1,h0;两个输出h1,y1.h1,x2作为下一时刻的输入,通过f函数,输出h2,y2;依次下去。。。。不管输入的序列有多长,只有一个f函数,那么自然减少了参数的数量;从上图也可看出为什么rnn可以作为时间序列的预测,下面是 深层的RNN,只是多了一层,然后下一层的输出是上衣一层的输入深层的RN...

颠沛的小丸子 6105

RNN、LSTM、GRU

RNN 在循环神经网络(RNN)中,神经元的输出在下一时刻是可以传递给自身的,可以对时间序列建模。很多任务的时间序列信息很重要,即一个样本中前后输入的信息是有关联的。样本出现时间顺序信息对语音识别、自然语言处理等问题很重要,所以对于这类问题,可以使用循环神经网络(Recurrent Neural Network)来对其建模。 先看上图左侧部分,x、s、o都是向量,分别表示输入层、隐藏层和输出层的...

qq_41168327的博客 1748

求助:有没有基于pscad的锂电池仿真模型

求助:有没有基于pscad的锂电池仿真模型 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变没有 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写...

qq_38922523的博客 1222

DataHub 架构设计与核心工作原理

DataHub 是一个第三代数据目录系统,专为现代数据栈设计,支持数据发现、协作、治理和端到端可观测性。其架构采用模型优先的设计理念,注重不同工具和系统之间的互操作性。

北斗云的博客 1224

[LSTM]时间序列预测存在的问题--滑动窗口是一把双刃剑【持续更新】

问题探究:【真实数据,不是经过加工和改造的,也不是人为生成的】 my task: 根据历史数据进行时间序列建模,并且进行预测未来。 我的数据是time列 和 price列 的dataframe。从2007~2021.02.28的数据。 我做的事情是 预测未来的price,注意!不是测试集上的!因为对于时间序列来说,测试集上的预测效果并不能证明模型的好坏,只能说明训练集的拟合好坏! 我翻过很多博客文章,也翻过几篇和我的项目相关的论文(国内的)。 基本很多博客文章的预测都是针对测试数据集上进行预测的,但是其实测

人生是一场修行 3万+

React项目实战:用AntV G6打造可折叠组织架构图(附完整代码)

本文详细介绍了如何在React项目中使用AntV G6库构建一个功能完整的可折叠组织架构图。通过实战代码演示了从环境搭建、自定义节点、折叠状态管理到性能优化的全流程,重点解决了企业级应用中处理复杂树形数据、实现流畅交互等核心问题,并提供了可直接复用的组件代码。

weixin_29016315的博客 312

门控循环单元GRU与长短期记忆网络LSTM

问题提出:对于第一个词元的影响至关重要。我们希望有某些机制能够在一个记忆元里存储重要的早期信息。如果没有这样的机制,我们将不得不给这个观测值指定一个非常大的梯度, 因为它会影响所有后续的观测值。

xiaoxu的博客 1299

Matlab并行运算

今天搞了一下matlab的并行计算,效果好的出乎我的意料。 本来CPU就是双核,不过以前一直注重算法,没注意并行计算的问题。今天为了在8核的dell服务器上跑程序才专门看了一下。本身写的程序就很容易实现并行化,因为beamline之间并没有考虑相互作用。等于可以拆成n个线程并行,要是有550核的话,估计1ms就算完了。。。 先转下网上找到的资料。 一、Matlab并行计算原理梗概 Matl

wenyusuran的专栏 1万+

Allegro174版本如何关闭模块复用后铜皮自动从动态变成静态操作指导

在用Allegro进行PCB设计的时候,模块复用是使用的十分频繁的操作,当Allegro升级到了174 S034版本的时候,当使用模块复用的功能的时候,模块内的铜皮会自动动静转换,大部分情况是不需要的。版本如何关闭模块复用后铜皮自动从动态变成静态操作指导。如何关闭这个功能,具体操作如下。

weixin_54787054的博客 1260

【长短时记忆网络(LSTM)和门控循环单元(GRU)】

长短时记忆网络(LSTM)和门控循环单元(GRU)两种网络的详细说明和比较。

m0_46230129的博客 1324

【Cursor+Playwright-MCP 实现 AI 自主功能测试】含实例代码脚本+保姆级教程

本文档详细介绍了如何使用 Cursor(AI 编程助手)和 Playwright-MCP 库实现基于 GPT 模型的自动化功能测试。文档从环境搭建开始,逐步指导读者如何通过 Playwright 进行浏览器自动化,并利用 Playwright-MCP 集成 GPT 模型生成测试计划、执行测试步骤及生成测试报告。核心步骤包括安装依赖、配置 OpenAI API 密钥、编写代码实现 AI 驱动的测试流程,以及生成详细的测试报告。通过本文档,读者可以快速掌握从 0 到 1 实现 AI 自主功能测试的全流程。

Dreams°的博客 2893

长短期记忆网络(LSTM)与门控循环单元(GRU)详解

普通循环神经网络(RNN)因「梯度消失/爆炸」问题难以处理长序列(如超过100个时间步的文本、语音)。长短期记忆网络(LSTM)和门控循环单元(GRU)通过门控机制解决这一问题,成为处理序列数据的核心模型。本文从原理、结构、实现到应用全面解析,适合作为学习笔记或技术博客。LSTM结构更复杂但记忆能力更强,适合超长序列和高精度需求;GRU简化高效,适合中等长度序列和资源受限场景。实际应用中,建议先尝试GRU(开发速度快),若性能不足再换LSTM;同时结合双向结构和注意力机制进一步提升效果。

weixin_70530563的博客 1844

windows下宝塔安装教程

windows下宝塔安装教程 目录宝塔是什么?宝塔安装流程1.下载2.配置3.登录4.安装的环境套件小结 宝塔是什么? 宝塔是管理服务器的免费的软件,宝塔上面可以进行对你的服务器批量进行管理,对于运维人员来说还是必不可少的一个软件,值得使用。 宝塔安装流程 1.下载 链接: https://download.bt.cn/win/panel/BtSoft.zip 下载后安装买最好自定义目录,方便找 2.配置 下载完成后会出现这个页面,对着页面进行配置 点击默认密码复制进来,这里注意一点就是一定要查看

你在看屏幕的同时,屏幕也在注视着你 4423

2026华为OD面试题084:贪心的商人

商人经营一家店铺,有 `number` 种商品。由于仓库限制,每件商品的最大持有数量是 `item[index]`。 每种商品每天有一个价格 `item_price[item_index][day]`。通过对商品买进和卖出获取利润,请给出商人在 `days` 天内能获取到的最大利润。 注:同一件商品可以反复买进和卖出。 输入描述: - 第一行输入商品数量 `number` - 第二行输入商人售货天数 `days` - 第三行输入 `number` 个整数,表示每件商品的最大持有数量 `item[in

琅嬛福地 274

深度学习知识点:循环神经网络(RNN)、长短期记忆网络(LSTM)、门控循环单元(GRU)

人工智能、深度学习、RNN、LSTM、GRU

FriendshipTang的博客 2754

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

GRU是什么?RNN、LSTM分别是什么?

在学习图网络(GN)的过程中,总会遇到不懂的知识,是因为自己的深度学习基础不够好。最早的GNN网络(详情见GNN)可以被用于处理有环图、有向图或无向图。然而,GNN网络本身必须使整个网络达到不动点之后才可以进行计算。针对这一问题,通过将GRU引入到网络结构中,进一步提出了GGNN网络(详情见GGNN)。那么,现在就介绍一下GRU是什么东西。 GRU中的G不是Graph,而是Gate,全称是Gat...

I‘m Frank Lee 3万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

长短期记忆网络(Long Short-Term Memory,LSTM)及其变体双向LSTM和GRU

LSTM(Long Short-Term Memory)长短期记忆网络,是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件。LSTM是解决循环神经网络RNN结构中存在的“梯度消失”问题而提出的,是一种特殊的循环神经网络。

陶将的博客 8万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Pytorch实现LSTM和GRU

为了解决传统RNN无法长时依赖问题,RNN的两个变体LSTM和GRU被引入。 LSTM Long Short Term Memory,称为长短期记忆网络,意思就是长的短时记忆,其解决的仍然是短时记忆问题,这种短时记忆比较长,能一定程度上解决长时依赖。 ...

winycg的博客 4万+

《零基础入门AI:长短期记忆网络(LSTM)与门控循环单元(GRU)(原理、结构与实现)》

LSTM 与 GRU 作为门控循环网络的代表,通过引入可学习的门控机制,有效缓解了标准 RNN 的梯度消失问题,显著提升了对长期依赖的建模能力。LSTM 通过细胞状态与三门结构实现精细控制,而 GRU 以更简洁的设计实现相近性能。然而,在反向传播过程中,梯度需沿时间维度传递。当序列过长时,梯度在链式法则下可能指数级衰减(消失)或增长(爆炸),导致模型难以学习远距离依赖。其将 LSTM 的细胞状态与隐藏状态合并,并将三个门简化为两个门。,通过可学习的门控变量动态调节信息流动,从而有效缓解长期依赖建模的困难。

m0_75034893的博客 1210

LSTM原理讲解 GRU原理讲解

2.1 LSTM(Long-short term memory) 长短期记忆((Long short-term memory)最早是1997年由Hochreiter 和 Schmidhuber在论文《LONG SHORT-TERM MEMORY》[3][3]^{[3]}中提出的。 在所有的循环神经网络中都有一个如图所示的循环链,链式结构的每个单元将输入的信息进行处理后输出。在常规循环神经网...

Amy_mm的博客 1万+

NLP基础笔记——图解LSTM和GRU

一、LSTM(Long-Short-Term-Memories) LSTM单元结构图及其公式 二、GRU(Gated Recurrent Units) GRU单元结构图及其公式 三、LSTM和GRU的区别? GRU和LSTM的性能在很多任务上不分伯仲。 GRU 参数更少因此更容易收敛,但是数据集很大的情况下,LSTM表达性能更好。 从结构上来说,GRU只有...

IOT_victor的博客 2480
上一篇: 矩阵完备和张量完备
下一篇: 强化学习 马尔科夫决策过程(MDP)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值