GRU与LSTM结构

论文笔记:GRU----RNN Encoder-Decoder <<Learning Phrase Representations using RNN Encoder–Decoderfor Statistical Machine Translation>>这篇论文在传统的Encoder-Decoder模型上使用RNN,模型结构如下:看图就知道要说什么了,亮点在于文章对隐层节点的创新:先回顾下传统的 naive RNN:看图就行,不多说。... 阅读详情
AI摘要

本文详细介绍了GRU(门控循环单元)和LSTM(长短期记忆网络)两种循环神经网络的基本结构与工作原理。对比了重置门、更新门与忘记门、输入门及输出门的作用,阐述了候选隐藏状态和记忆单元的概念。


由于原始的RNN会在每一次输入时堆叠之前的隐藏状态,所以在nlp中面对长句子时RNN往往会忘掉之前比较重要的信息,故隐藏转态的更新与保留需要控制,所以出现了门的概念,具有代表性的就是LSTM与GRU。

GRU结构

原论文:Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation
GRU(Gated Recurrent Unit)又称为门控循环单元,GRU在2014年被首次提出,用于统计机器翻译,和LSTM一样,它们都是循环神经网络的一种,GRU的出现晚于LSTM,但它的结构更为简单,可以看做是LSTM的简化的变体。

重置门与更新门

GRU 有两个门,一个重置门(reset gate)和一个更新门(update gate),重置门用于决定保留多少之前的隐状态,更新门用于决定更新隐藏状态,它们都是向量,GRU的思想就是通过重置门与更新门与原输入或者候选隐状态之间运算得到状态的更新。
重置门与更新门的计算公式如下:
R t = σ ( X t W x r + H t − 1 W h r + b r ) R_t=\sigma(X_tW_{xr}+H_{t-1}W_{hr}+b_r) Rt​=σ(Xt​Wxr​+Ht−1​Whr​+br​)
Z t = σ ( X t W x z + H t − 1 W h z + b z ) Z_t=\sigma(X_tW_{xz}+H_{t-1}W_{hz}+b_z) Zt​=σ(Xt​Wxz​+Ht−1​Whz​+bz​)
其中Xt表示t时刻输入,Wxr表示权重矩阵,Ht-1表示上一时刻的隐藏状态,br表示偏置项,下面一个类似, σ \sigma σ为sigmoid变换,将向量所有元素控制在0-1范围。从上面公式看出,重置门与更新门由输入与隐状态决定,并且会不断变化,长度与隐状态长度相同。如下图所示:
在这里插入图片描述

候选隐藏状态

随后利用重置门计算保留的隐状态,称作候选隐状态:
H t ~ = t a n h ( X t W x h + ( R t ⊙ H t − 1 ) W h h + b h ) \widetilde{H_t}=tanh(X_tW_{xh}+(R_t⊙H_{t-1})W_{hh}+b_h) Ht​ ​=tanh(Xt​Wxh​+(Rt​⊙Ht−1​)Whh​+bh​)
可以发现候选隐状态由输入、上一时刻隐状态与重置门决定,⊙表示Hadamard积(向量对应元素相乘),特别的,当重置门的元素全为0时, R t ⊙ H t − 1 R_t⊙H_{t-1} Rt​⊙Ht−1​等于0,此时表示丢弃所有之前的隐状态。
如下图:
在这里插入图片描述

更新隐状态

得到候选隐状态后,通过更新门更新隐状态,更新后的隐状态由前一时刻隐状态与这一时刻候选隐状态决定。
H t = Z t ⊙ H t − 1 + ( 1 − Z t ) ⊙ H t ~ H_t=Z_t⊙H_{t-1}+(1-Z_t)⊙\widetilde{H_t} Ht​=Zt​⊙Ht−1​+(1−Zt​)⊙Ht​ ​
在这里插入图片描述
特别的,当Zt全部元素都为1时,更新的隐状态就是前一时刻的隐状态。

LSTM结构

原论文:LONG SHORT-TERM MEMORY
LSTM(Long Short-Term Memory)又称为长短期记忆网络,该论文首次发表于 1997 年。由德国慕尼黑工业大学的计算机科学家 Sepp Hochreiter 与 Jürgen Schmidhuber(现任瑞士 Dalle Molle 人工智能研究所的联合主任)共同完成。是具有长期记忆能力的一种时间递归神经网络 (Recurrent Neural Network),其网络结构含有一个或多个具有遗忘和记忆功能的单元。由于独特的设计结构,LSTM 适合于处理和预测时间序列中间隔和延迟非常长的重要事件。

忘记门、输入门与输出门

LSTM较GRU复杂,理解了GRU的思想,LSTM就比较容易,它有三个门:忘记门、输入门与输出门。它们的作用会在下面讲述,计算公式如下:
F t = σ ( X t W x f + H t − 1 W h f + b f ) F_t=\sigma(X_tW_{xf}+H_{t-1}W_{hf}+b_f) Ft​=σ(Xt​Wxf​+Ht−1​Whf​+bf​)
I t = σ ( X t W x i + H t − 1 W h i + b i ) I_t=\sigma(X_tW_{xi}+H_{t-1}W_{hi}+b_i) It​=σ(Xt​Wxi​+Ht−1​Whi​+bi​)
O t = σ ( X t W x o + H t − 1 W h o + b o ) O_t=\sigma(X_tW_{xo}+H_{t-1}W_{ho}+b_o) Ot​=σ(Xt​Wxo​+Ht−1​Who​+bo​)
与GRU相同,Xt表示输入向量,W表示权重矩阵,Ht-1表示前一时刻隐状态,b为偏置项。

候选记忆单元

C t ~ = t a n h ( X t W x c + H t − 1 W h c + b c ) \widetilde{C_t}=tanh(X_tW_{xc}+H_{t-1}W_{hc}+b_c) Ct​ ​=tanh(Xt​Wxc​+Ht−1​Whc​+bc​)
可以发现,候选记忆单元就是RNN隐状态的计算结果。

记忆单元

C t = F t ⊙ C t − 1 + I t ⊙ C t ~ C_t=F_t⊙C_{t-1}+I_t⊙\widetilde{C_t} Ct​=Ft​⊙Ct−1​+It​⊙Ct​ ​
其中忘记门主要是在更新记忆单元时对上一个时刻的记忆单元进行选择性忘记,输入门用于选择性记忆当前时刻的候选隐藏单元,它们的作用分别是从前一时刻与当前时刻提取信息更新记忆单元

隐状态

最后更新的隐状态由输出门与记忆单元决定。
H t = O t ⊙ t a n h ( C t ) H_t=O_t⊙tanh(C_t) Ht​=Ot​⊙tanh(Ct​)
输出门用于对记忆单元信息的留弃来更新隐状态。
总体结构图如下:
在这里插入图片描述

总结

总的来说,LSTM与GRU的一个不同就是LSTM使用记忆单元来更新隐状态,而GRU使用的是候选隐状态。但本质上都是对原有信息和现有信息的保留与丢弃的选择,最后的目的也都是隐状态的更新。实际应用中LSTM与GRU效果并没有大的差距,但GRU更加简便。经过发展,老驴时序数据的双向的顺序,后面也出现了双向LSTM与双向GRU。

参考资料:
https://blog.youkuaiyun.com/mrjkzhangma/article/details/103753375
https://www.jiqizhixin.com/articles/2017-12-24
https://www.bilibili.com/video/BV1JU4y1H7PC?spm_id_from=333.999.0.0
《动手学深度学习》


深度学习笔记 12/24

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

相关推荐

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万+

GRU 浅析

门控循环单元 (Gate Recurrent Unit, GRU) 于 2014 年在论文《》中提出。GRU 是循环神经网络的一种,和 LSTM 一样,是为了解决长期依赖问题而提出。GRU 总体结构与 RNN 相似,如下图所示。但其内部结构 (思想) 却与 LSTM 更加相似,如下图所示。LSTM 使用三个门 (遗忘门、输入门和输出门) 来控制信息传递,GRU 只使用了两个门 (重置门和更新门)。与 LSTM 相比,GRU 去除了单元状态,转而使用隐藏状态来传输信息。

晓野豬 1万+

RNN、LSTM与GRU:深度解析三大神经网络,掌握它们的原理与应用场景

文章摘要: RNN、LSTM和GRU是处理时序数据的三大深度学习模型。RNN通过循环结构保留记忆,但存在梯度消失问题;LSTM引入记忆单元和三门机制(输入、遗忘、输出门),有效捕捉长期依赖;GRU是LSTM的简化版,仅用更新门和重置门,计算更高效。 对比: RNN:结构简单,适合短序列,但难以处理长期依赖。 LSTM:精度高,适合复杂长期依赖任务(如机器翻译),但计算量大。 GRU:平衡性能与效率,适合实时应用(如语音识别)。 实际应用中,LSTM和GRU更适用于长序列任务,而GRU在资源有限时更具优势。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1107

DATA-GRU 论文学习

DATA-GRU,巧妙利用高斯过程的插补值和协方差,分别对不可靠数据(高方差数据)和可靠数据(实际数据和低方差数据)提出了机制模型,最后对其进行结合。

weixin_43425490的博客 715

【NLP】第六章:门控循环单元GRU

哎,笑一会儿,本来记忆和遗忘就是一体两面,非此即彼的。从上图的公式看,其实这两个门,仅仅是两个门而已,它们两个的计算一模一样,输入一模一样,只是使用了两个不同的矩阵线性变换了一下,而且这两个矩阵都是随机生成的,只有在训练过程中,这两个门才会慢慢迭代成其功能的门。有的资料叫节点,有的叫单元,有的叫循环单元,,,等等各种叫法,所以我们也不用纠结。第二个坑就是上图的C处,我一开始先计算的rt*ht-1,然后再进行线性变换,一看结果对不上,查看GRU的说明文档才发现,pytorch人家是先线性变换后再乘rt的。

因为热爱所以坚持 2245

RNN变体——GRU网络论文原文

GRU在LSTM网络的基础上减少一个门限,用更新门代替了遗忘门和输出门,其训练参数更少,效果更好。

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

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

m0_75034893的博客 1211

LabVIEW内存优化实战:用DVR和队列高效处理大型数组,告别数据副本

本文深入探讨LabVIEW内存优化技术,重点介绍数据值引用(DVR)和单元素队列(SEQs)在高效处理大型数组中的应用。通过对比传统方法与现代引用技术的性能差异,提供减少内存副本、提升程序效率的实战方案,帮助开发者在测试测量、图像处理等数据密集型场景中实现显著性能提升。

weixin_30835649的博客 1062

GRU原理理解

1. 什么是GRU GRU(Gate Recurrent Unit)是循环神经网络(Recurrent Neural Network, RNN)的一种。和LSTM(Long-Short Term Memory)一样,也是为了解决长期记忆和反向传播中的梯度等问题而提出来的。 GRU和LSTM在很多情况下实际表现上相差无几,那么为什么我们要使用新人GRU(2014年提出)而不是相对经受了更多考验的LSTM(1997提出)呢。 在我们的实验中选择GRU是因为它的实验效果与LSTM相似,但是更易于计算。 简单来说就

yanglee0 2万+

单细胞转录组肿瘤细胞识别:inferCNV与CopyKAT实战解析

单细胞转录组测序(scRNA-seq)是解析肿瘤微环境的重要技术,但如何从海量细胞中准确区分恶性细胞与正常细胞,始终是数据分析的关键难题。传统marker注释在异质性肿瘤中常失效,而基于拷贝数变异(CNV)的推断方法为这一问题提供了更稳健的解决路径。CNV通过检测染色体大片段的增益或缺失,可在无先验标记的情况下识别恶性细胞,尤其适合实体瘤研究。inferCNV利用染色体滑动窗口分析相对表达量,生成直观的CNV热图;CopyKAT则结合高斯混合模型对每个细胞直接分类,输出肿瘤/正常/非整倍体标签。本文从原理出

weixin_31236101的博客 250

VFIO框架源码分析(二十一)- IOMMUFD 模式下的 DMA 映射机制

在虚拟化 I/O 的世界里,无论上层管理面(如对象模型、设备绑定)如何重构,数据面最核心的任务始终未变——DMA 映射(DMA Mapping)。即如何建立 Guest Physical Address (GPA) 到 Host Physical Address (HPA) 的映射关系,并将其填入 IOMMU 的硬件页表中,使得直通设备能够正确访问虚拟机内存。在 Legacy VFIO (Type1) 时代,这一职责由承担,它通过ioctl 操作 Container。

qq_36071928的博客 1011

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

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

FriendshipTang的博客 2761

Ubuntu+Dify实战:如何让大模型知识库完美支持图片召回(附避坑指南)

本文详细介绍了在Ubuntu系统上部署Dify平台,并实现大模型知识库图片召回功能的完整实战方案。通过解析Dify处理图片的底层逻辑,重点讲解了配置Nginx代理服务器将本地图片路径转换为可公开访问URL的核心工程步骤,并提供了文档预处理、环境变量配置以及父子分段策略等高级技巧,帮助开发者构建图文并茂的AI应用,有效提升知识库的丰富性和用户体验。

c7d8e的博客 447

GRU与LSTM总结

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

lreaderl的博客 12万+

手把手教你用Qt5打造二次元游戏启动器(附鸣潮同款UI源码)

本文详细介绍了如何使用Qt5框架从零开始构建一个功能完整、UI风格贴近《鸣潮》的二次元游戏启动器。教程涵盖无边框窗口、动态背景、自定义控件绘制、多线程资源加载以及下载管理等核心模块的实现,并提供了可运行的源码参考,帮助C++开发者和Qt爱好者深入掌握现代桌面应用开发技术。

weixin_29291863的博客 265

SBM与超效率SBM模型实战:从原始面板数据到MATLAB高效实现

本文详细介绍了SBM模型与超效率SBM模型的核心原理,并提供了从原始面板数据预处理到MATLAB高效实现的完整实战指南。通过具体代码解析,帮助研究者掌握如何利用MATLAB进行数据标准化、模型构建、效率求解及结果可视化,从而精准评估决策单元的相对效率,尤其适用于在高效单元中进一步精细排名的场景。

weixin_29100399的博客 481

RNN中的门控循环结构---lSTM和GRU

一:门控循环神经网络简介 门控循环神经网络是在经典RNN基础之上调整而出的网络结构,通过加入门控机制(非线性激活函数,通常是sigmoid), 用来控制神经网络中的信息传递。门控机制可以用来控制记忆单元中哪些信息需要留下,哪些需要丢弃,新的输入信息又有 多少需要保留到记忆单元中。这样门控循环神经网络就可以学习跨度相对较长的长期依赖关系,而且不会产生梯度爆炸或 梯度弥散。具体的原理是:从数学角度上讲,在一般的循环神经网络中,网络的状态XT和XT-1之间是非线性的。而网络又是 在时间上共享参数W(cnn是空间上

qq_39691463的博客 4075

保研考研机试攻略:python笔记(4)

保研考研机试攻略:python笔记(4)二分法+最大公约数+最小公倍数+素数判断+幂次方mod方法+匹配问题+哈希算法+哈夫曼编码+二叉树

qq_63349644的博客 1097

Pytorch实现LSTM和GRU

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

winycg的博客 4万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

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

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

IOT_victor的博客 2480

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Pytorch:RNN、LSTM、GRU、Bi-GRU、Bi-LSTM、梯度消失、梯度爆炸

日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 1. RNN架构解析 1.1 认识RNN模型 学习目标: 了解什么是RNN模型. 了解RNN模型的作用. 了解RNN模型的分类. 什么是RNN模型: RNN(Recurrent Neural Network), 中文称作循环神...

あずにゃん梓喵的博客 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

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

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

m0_46230129的博客 1326

算法学习笔记:Bi-LSTM和Bi-GRU

Bi-LSTM(Bidirectional Long Short Term Memory)网络是是一种基于长短期记忆网络(LSTM)的时间序列预测方法;(其实就是两个LSTM组合在一起,具体的原理和结构和LSTM一样啦)Bi-GRU的整体结构由两个方向的GRU网络组成,

weixin_61573157的博客 7980

简化的LSTM - 门控循环神经网络GRU

GRU(Gate Recurrent Unit)和LSTM(Long-Short Term Memory)一样,是循环神经网络(Recurrent Neural Network, RNN)的一种。目的为了解决长期记忆和反向传播中的梯度等问题而提出来的。 实际上GRU和LSTM的效果差别不大,但是GRU更容易进行训练,能够很大程度上提高训练效率,因此很多时候会更倾向于使用GRU。LSTM 和 GRU网络原理如下所示: LSTM 网络原理 输入门iti_tit​:计算当前计算的新状态以多大的程度更新到记忆

十三 2143
上一篇: ResNet结构与论文理解
下一篇: 注意力机制Attention Mechanism及论文
helluy
博客等级 码龄6年 202粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值