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

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) 依赖每一个时刻的隐状态产生当前的输出,具体计算方式根据自己任 阅读详情

前言

循环神经网络(RNN)

  • 核心思想:像人一样拥有记忆能力。用以往的记忆和当前的输入,生成输出。

  • RNN 和 传统神经网络 最大的区别:
    在于每次都会将前一次的输出结果,带到下一次的隐藏层中,一起训练。
    在这里插入图片描述

  • RNN应用场景:
    1.文本生成 2.语音识别 3.机器翻译 4.生成图像描述 5.视频标记
    在这里插入图片描述

  • 缺点:
    RNN 有短期记忆问题,无法处理很长的输入序列
    训练 RNN 需要投入极大的成本

  • RNN 是一种死板的逻辑,越晚的输入影响越大,越早的输入影响越小,且无法改变这个逻辑。

RNNs(循环神经网络)训练和传统ANN(人工神经网络)训练异同点?

相同点:都使用BP误差反向传播算法。
不同点:
RNNs网络参数W,U,V是共享的,而传统神经网络各层参数间没有直接联系。
对于RNNs,在使用梯度下降算法中,每一步的输出不仅依赖当前步的网络,还依赖于之前若干步的网络状态。

为什么RNN 训练的时候Loss波动很大?

​ 由于RNN特有的memory会影响后期其他的RNN的特点,梯度时大时小,学习率lr没法个性化的调整,导致RNN在train的过程中,Loss会震荡起伏,为了解决RNN的这个问题,在训练的时候,可以设置临界值,当梯度大于某个临界值,直接截断,用这个临界值作为梯度的大小,防止大幅震荡。

RNN中为什么会出现梯度消失?

梯度消失现象:累乘会导致激活函数导数的累乘,如果取tanh或sigmoid函数作为激活函数的话,那么必然是一堆小数在做乘法,结果就是越乘越小。随着时间序列的不断深入,小数的累乘就会导致梯度越来越小直到接近于0,这就是“梯度消失“现象。
实际使用中,会优先选择tanh函数,原因是tanh函数相对于sigmoid函数来说梯度较大,收敛速度更快且引起梯度消失更慢。

如何解决RNN中的梯度消失问题?

1.选取更好的激活函数,如Relu激活函数。ReLU函数的左侧导数为0,右侧导数恒为1,这就避免了“梯度消失“的发生。但恒为1的导数容易导致“梯度爆炸“,但设定合适的阈值可以解决这个问题。
2.加入BN层,其优点:加速收敛.控制过拟合,可以少用或不用Dropout和正则。降低网络对初始化权重不敏感,且能允许使用较大的学习率等。
3.改变传播结构,LSTM结构可以有效解决这个问题。

CNN VS RNN

在这里插入图片描述

不同点
1.CNN空间扩展,神经元与特征卷积;RNN时间扩展,神经元与多个时间输出计算
2.RNN可以用于描述时间上连续状态的输出,有记忆功能,CNN用于静态输出。

Keras搭建RNN

在这里插入图片描述

长短期记忆网络(LSTM)

  • 长短期记忆网络(Long Short-Term Memory)是一种时间循环神经网络,是为了解决一般的RNN存在的长期依赖问题而专门设计出来的,所有的RNN都具有一种重复神经网络模块的链式形式。

  • 三个门(遗忘门,输入门,输出门),两个状态(Ct,ht)
    在这里插入图片描述

    • 遗忘门
      ​ 作用对象:细胞状态 。
      ​ 作用:将细胞状态中的信息选择性的遗忘。
      Ft和Ct-1做点积操作,Ft确保Ct-1有哪些东西需要被遗忘掉
      在这里插入图片描述

    • 输入层门
      作用对象:细胞状态
      ​ 作用:将新的信息选择性的记录到细胞状态中。
      ​ 操作步骤:
      ​ 步骤一:sigmoid 层称 “输入门层” 决定什么值我们将要更新
      ​ 步骤二,tanh 层创建一个新的候选值向量加入到状态中
      在这里插入图片描述

    • 输出层门
      ​ 作用对象:隐层ht 作用:确定输出什么值。
      ​ 操作步骤:
      ​ 步骤一:通过sigmoid 层来确定细胞状态的哪个部分将输出。
      ​ 步骤二:把细胞状态通过 tanh 进行处理,并将它和 sigmoid 门的输出相乘,最终我们仅仅会输出我们确定输出的那部分。
      在这里插入图片描述

LSTM结构推导,为什么比RNN好?

推导forget gate,input gate,cell state, hidden information等的变化;因为LSTM有进有出且当前的cell information是通过input gate控制之后叠加的,RNN是叠乘,因此LSTM可以防止梯度消失或者爆炸。

为什么LSTM模型中既存在sigmoid又存在tanh两种激活函数,而不是选择统一一种sigmoid或者tanh?

sigmoid用在了各种gate上,产生0~1之间的值,一般只有sigmoid最直接了;
tanh用在了状态和输出上,是对数据的处理,这个用其他激活函数或许也可以。

LSTM中为什么经常是两层双向LSTM?

有些时候预测需要由前面若干输入和后面若干输入共同决定,这样会更加准确。

RNN扩展改进

Bidirectional RNNs

​ 将两层RNNs叠加在一起,当前时刻输出(第t步的输出)不仅仅与之前序列有关,还与之后序列有关。例如:为了预测一个语句中的缺失词语,就需要该词汇的上下文信息。Bidirectional RNNs是一个相对较简单的RNNs,是由两个RNNs上下叠加在一起组成的。输出由前向RNNs和后向RNNs共同决定。
在这里插入图片描述

CNN-LSTMs

该模型中,CNN用于提取对象特征,LSTMs用于预测。CNN由于卷积特性,其能够快速而且准确地捕捉对象特征。LSTMs的优点:能够捕捉数据间的长时依赖性。
在这里插入图片描述

Bidirectional LSTMs

有两层LSTMs。 一层处理过去的训练信息,另一层处理将来的训练信息。
通过前向LSTMs获得前向隐藏状态,后向LSTMs获得后向隐藏状态,当前隐藏状态是前向隐藏状态与后向隐藏状态的组合。
在这里插入图片描述

门控循环单元(GRU)

(14年提出)是一般的RNNs的变型版本,其主要是从以下两个方面进行改进。
1.以语句为例,序列中不同单词处的数据对当前隐藏层状态的影响不同,越前面的影响越小,即每个之前状态对当前的影响进行了距离加权,距离越远,权值越小。
2.在产生误差error时,其可能是由之前某一个或者几个单词共同造成,所以应当对对应的单词weight进行更新。GRUs的结构如下图所示。GRUs首先根据当前输入单词向量word vector以及前一个隐藏层状态hidden state计算出update gate和reset gate。再根据reset gate、当前word vector以及前一个hidden state计算新的记忆单元内容(new memory content)。当reset gate为1的时候,new memory content忽略之前所有memory content,最终的memory是由之前的hidden state与new memory content一起决定。
在这里插入图片描述
GRU(门控循环单元)也是一种循环神经网络(RNN)的变体,用于处理序列数据。与LSTM相比,GRU的结构相对简单,但它仍然能够有效地捕获序列数据中的长期依赖关系。

GRU的结构由两部分组成:更新门和重置门。更新门用于控制上一时刻隐藏状态对当前时刻隐藏状态的贡献程度,而重置门用于控制当前输入对当前时刻隐藏状态的更新程度。

在GRU中,更新门的作用类似于LSTM中的遗忘门和输入门,它决定了上一时刻隐藏状态对当前时刻隐藏状态的影响程度。重置门则控制着当前输入对当前时刻隐藏状态的更新程度。

GRU的公式如下:

  1. 更新门: z t = σ ( W z ∗ [ h t − 1 , x t ] + b z ) z_t = σ(W_z * [h_{t-1}, x_t] + b_z) zt​=σ(Wz​∗[ht−1​,xt​]+bz​)
  2. 重置门: r t = σ ( W r ∗ [ h t − 1 , x t ] + b r ) r_t = σ(W_r * [h_{t-1}, x_t] + b_r) rt​=σ(Wr​∗[ht−1​,xt​]+br​)
  3. 候选隐藏状态: h t ′ = t a n h ( W ∗ [ r t ∗ h t − 1 , x t ] + b ) h'_t = tanh(W * [r_t * h_{t-1}, x_t] + b) ht′​=tanh(W∗[rt​∗ht−1​,xt​]+b)
  4. 最终隐藏状态: h t = ( 1 − z t ) ∗ h t − 1 + z t ∗ h t ′ h_t = (1 - z_t) * h_{t-1} + z_t * h'_t ht​=(1−zt​)∗ht−1​+zt​∗ht′​

其中, W z 、 W r W_z、W_r Wz​、Wr​是权重矩阵, b z 、 b r b_z、b_r bz​、br​是偏置项, σ σ σ是sigmoid激活函数, t a n h tanh tanh是双曲正切激活函数。

与LSTM类似,在训练过程中,我们需要计算损失函数(loss function)的值,然后通过反向传播算法(backpropagation)来更新权重和偏置项。GRU的梯度反向传播过程也涉及复杂的计算和动态规划技巧。

需要注意的是,虽然GRU相对于LSTM在结构上更为简单,但在某些任务上可能表现不如LSTM。因此,在实际应用中,选择LSTM或GRU应该根据具体任务和数据的特点来进行决策。

LSTM、RNN、GRU区别?

在这里插入图片描述

与LSTM相比,GRU内部少了一个”门控“,参数比LSTM少,但是却也能够达到与LSTM相当的功能。考虑到硬件的计算能力和时间成本,因而很多时候我们也就会选择更加实用的GRU。

LSTM是如何实现长短期记忆功能的?

LSTM(长短期记忆网络)通过引入门控机制来实现长期记忆功能。这些门控机制允许LSTM有选择地遗忘、更新和输出信息,从而有效地管理信息的流动。

具体来说,LSTM包含三个门控:遗忘门、输入门和输出门。遗忘门控制着输入x和上一层隐藏层输出h被遗忘的程度大小,即决定是否保留之前的信息。当输入的序列中没有重要的信息时,LSTM的遗忘门的数值接近于1,更新门的数据接近于0,此时过去的记忆会被保存,从而实现了长期的记忆功能。当输入的序列中出现了重要的信息时,LSTM应该把其存入记忆时,此时更新门的数值将接近于1。

输入门控制着输入x和当前计算的状态更新到记忆单元的程度大小。它由输入门(input gate)与tanh神经网络层和一个按位乘操作构成。记忆门决定了当前时刻的记忆状态有多少来自于之前的记忆。

输出门控制着输入x和当前输出取决于当前记忆单元的程度大小。输出门(output gate)与函数以及按位乘操作共同作用将细胞状态和输入信号传递到输出端。

总之,LSTM通过精心设计的门控机制来实现长期记忆功能,使得模型能够更好地捕捉序列数据中的长期依赖关系。

LSTM的原理、写LSTM的公式、手推LSTM的梯度反向传播

LSTM是一种特殊的循环神经网络(RNN),用于处理具有长期依赖关系的序列数据。它的核心思想是通过引入门控机制来控制信息的流动,从而避免长期依赖问题。LSTM的结构由细胞状态和输出向量两部分组成,通过遗忘门、输入门和输出门来控制信息的传递。

LSTM的公式如下:

  1. 遗忘门: f t = σ ( W f ∗ [ h t − 1 , x t ] + b f ) f_t = σ(W_f * [h_{t-1}, x_t] + b_f) ft​=σ(Wf​∗[ht−1​,xt​]+bf​)
  2. 输入门: i t = σ ( W i ∗ [ h t − 1 , x t ] + b i ) i_t = σ(W_i * [h_{t-1}, x_t] + b_i) it​=σ(Wi​∗[ht−1​,xt​]+bi​)
  3. 更新单元: c t = f t ∗ c t − 1 + i t ∗ t a n h ( W c ∗ [ h t − 1 , x t ] + b c ) c_t = f_t * c_{t-1} + i_t * tanh(W_c * [h_{t-1}, x_t] + b_c) ct​=ft​∗ct−1​+it​∗tanh(Wc​∗[ht−1​,xt​]+bc​)
  4. 输出门: o t = σ ( W o ∗ [ h t − 1 , x t ] + b o ) o_t = σ(W_o * [h_{t-1}, x_t] + b_o) ot​=σ(Wo​∗[ht−1​,xt​]+bo​)
  5. 隐藏状态: h t = o t ∗ t a n h ( c t ) h_t = o_t * tanh(c_t) ht​=ot​∗tanh(ct​)

其中, W f 、 W i 、 W c W_f、W_i、W_c Wf​、Wi​、Wc​和 W o W_o Wo​是权重矩阵, b f 、 b i 、 b c b_f、b_i、b_c bf​、bi​、bc​和 b o b_o bo​是偏置项, σ σ σ是sigmoid激活函数, t a n h tanh tanh是双曲正切激活函数。

在训练过程中,我们需要计算损失函数(loss function)的值,然后通过反向传播算法(backpropagation)来更新权重和偏置项。LSTM的梯度反向传播过程如下:

  1. 根据当前输入x和前一时刻的隐藏状态 h t − 1 h_{t-1} ht−1​,计算当前时刻的各个门控值和隐藏状态 h t h_t ht​。
  2. 根据损失函数和隐藏状态 h t h_t ht​,计算损失对权重和偏置项的梯度。
  3. 使用梯度下降或其他优化算法来更新权重和偏置项。
  4. 重复步骤1-3,直到达到收敛或指定的训练轮数。

需要注意的是,LSTM的梯度反向传播过程可能会涉及到复杂的计算和动态规划技巧,因为每个时间步的梯度都依赖于前面时间步的计算结果。在实际应用中,可以使用成熟的深度学习框架(如TensorFlow或PyTorch)来实现LSTM的训练和推断过程。

RNN、LSTM、GRU详解 在深度学习领域,序列数据(如语音识别、机器翻译、文本生成等)广泛应用于自然语言处理(NLP)、时间序列预测、语音和视频处理等任务中。针对序列数据,循环神经网络(RNN, Recurrent Neural Network)及其改进版本——长短时记忆网络(LSTM, Long Short-Term Memory)和门控循环单元(GRU, Gated Recurrent Unit)成为处理时序任务的核心模型。RNN 是一种具有记忆能力的神经网络,能够处理序列数据(如文本、音频、时间序列信号)。 阅读详情

相关推荐

深度学习:循环神经网络(RNN)的变体LSTM、GRU

假设我们试着去预测“I grew up in France… I speak fluent French”最后的词。当前的信息建议下一个词可能是一种语言的名字,但是如果我们需要弄清楚是什么语言,我们是需要先前提到的离当前位置很远的 France 的上下文的。这说明相关信息和当前预测位置之间的间隔就肯定变得相当的大。 不幸的是,在这个间隔不断增大时,RNN 会丧失学习到连接如此远的信息的能力。 ...

机器学习 8657

循环神经网络(RNN)与长短时记忆网络(LSTM)

循环神经网络(RNN)是一种用于处理序列数据的神经网络,它具有时间递归的结构,可以将前一个时间步的输出作为当前时间步的输入。RNN在自然语言处理、语音识别、时间序列预测等领域有广泛应用。但是,RNN存在梯度消失和梯度爆炸等问题,这使得RNN在处理长序列时效果不佳。长短时记忆网络(LSTM)是一种改进的RNN,它能够解决RNN存在的梯度问题。LSTM引入了门控机制,可以选择性地忘记、保存或读取信息,使其在处理长序列时具有更好的表现。

AcceptedLin的博客 1万+

自然语言处理基础知识入门(三) RNN,LSTM,GRU模型详解

在上一章节中,深入探讨了Word2vec模型的两种训练策略以及创新的优化方法,从而得到了优质的词嵌入表示。不仅如此,Word2vec作为一种语言模型,也具备根据上下文预测中心词的能力,这是其训练的核心任务,也是模型所能实现的功能。那么,既然已有语言模型,为何还需要引入RNN呢?又或者,RNN具有何种独特性呢?而LSTM和GRU为什么会被视为RNN的变体?本章节将针对这些问题,用深入浅出的语言解读这些模型背后的核心逻辑,以便让读者对整个知识体系存在一个全面的理解。

WANGYANG的博客 3100

[模型基础] RNN及变体LSTM、GRU

1. RNN RNN被称为循环,因为它们对序列中的每个元素执行相同的任务,并且输出元素依赖于以前的元素或状态,RNN的输入和输出是可变的,并且在不停循环同样操作。循环公式有助于处理序列数据,因此RNN常用于处理序列数据。 上述W权重共享,L是每一层/时间步的损失L,将所有损失相加得到整体损失。由于共享权重。每一步的误差梯度也取决于前一步的损失。上述例子中,为了计算第4步的梯度,需要将前3步的损失和第4步的损失相加。这称为Time-BPPT的反向传播。 计算梯度是计算误差的过程,将loss值-梯度*学习率

qq_31225201的博客 1088

Frida实战:从adb连接到安卓设备参数加密Hook全流程解析

本文详细解析了使用Frida进行安卓应用动态分析的全流程。通过adb连接设备并部署Frida服务端,结合静态分析与动态Hook技术,精准定位并拦截关键函数,特别是针对参数加密等核心逻辑的实时监控与修改,为逆向分析与安全研究提供了高效实战方案。

weixin_29208077的博客 343

深度学习(问题集)

激活函数 用来加入非线性因素的,因为线性模型的表达力不够。RELU函数构建稀疏矩阵,也就是稀疏性,这个特性可以去除数据中的冗余,最大可能保留数据的特征,也就是大多数为0的稀疏矩阵来表示,加快计算收敛 Batch size 太大(内存,一般来说 Batch_Size 越大,其确定的下降方向越准,由于不同权重的梯度值差别巨大,因此选取一个全局的学习率很困难,容易达到局部最优,引起训练震荡越小,采用RM...

wolf_bailang的博客 8万+

Android WLAN STA/AP 并发

Android 9 引入了可让设备同时在 STA 和 AP 模式下运行的功能。对于支持双频并发 (DBS) 的设备,此功能让一些新功能得以实现,例如在用户想要启用热点 (softAP) 时不会中断 STA WLAN。

华南烹鱼宴 1248

AI 作业 12-LSTM

长短期记忆网络是一种特殊的递归神经网络,它通过特别设计的网络结构来解决普通RNN在处理长序列数据时的梯度消失和爆炸问题。1、 输入门(Input Gate):决定我们要在记忆细胞中存储多少来自输入的新信息。它由两部分组成,一个是sigmoid层,另一个是tanh层。sigmoid层输出0到1之间的值,表示我们要保存多少新信息,0表示“什么都不保存”,1表示“保存所有”,而tanh层则生成新的候选值,可能会被加入到状态中。2、 遗忘门(Forget Gate):决定我们要从记忆细胞中遗忘多少信息。

weixin_43809910的博客 461

Skyworks SKY85331-11的Wi-Fi 6 (802.11ax)标准 2.4G 高功率WLAN前端模块解决方案

SKY85331-11是高度集成的2 GHz前端模块(FEM)包含2 GHz单刀双掷(SPDT)发送/接收(T / R)开关,2 GHz低噪声放大器(LNA)带旁路和一个2 GHz功率放大器(PA),用于大功率802.11ax应用程序和系统LNA和PA禁用功能可确保低漏电流 关闭模式。 包括一个集成的功率检测器以提供系统内的闭环功率控制。该设备提供Small (24-pin, 3 x 5 mm) (LGA)封装。 图1.引脚配置和封装如图所示 图2.信号引脚分配和功能引脚描述 图...

zhangbao19890622的博客 4507

高通thermal-engine.conf配置详解:从虚拟传感器到CPU频率控制的完整指南

本文深入解析了高通thermal-engine.conf配置文件的架构与调优方法。从虚拟传感器的加权融合原理,到监控算法与CPU频率控制的多级策略,提供了完整的配置详解与实战调试指南。文章旨在帮助开发者与高级用户掌握底层温控逻辑,在性能与散热间实现精准平衡,并详细介绍了日志调试与场景化配置等高级技巧。

weixin_28327051的博客 495

RNN循环神经网络以及LSTM长短期记忆模型-简介

 写给自己的备忘内容:RNN的基础1概述Recurrentneural network,循环神经网络,在普通多层BP神经网络基础上,增加了隐藏层各单元间的横向联系,通过一个权重矩阵,可以将上一个时间序列的神经单元的值传递至当前的神经单元,从而使神经网络具备了记忆功能,对于处理有上下文联系的NLP、或者时间序列的机器学习问题,有很好的应用性。 2、特点、优点优点:模型具备记忆性。缺点:不能记忆太前或...

yoyofu007的博客 4万+

【WRF-Chem第二期】WRF-Chem有关 namelist 详解

【WRF-Chem第二期】WRF-Chem有关 namelist 详解

WW、forever的博客 2157

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

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

I‘m Frank Lee 3万+

g2o&PCL 四阶多项式拟合

g2o&PCL 四阶多项式拟合

dayuhaitang1的博客 140

详解大端模式和小端模式

详解大端模式和小端模式 一、大端模式和小端模式的起源         关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格利佛游记》:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原因:大家都知道,吃鸡蛋的时候,原始的方法是打破鸡蛋较大的一端,可以那时的皇帝的祖父由于小时侯吃鸡蛋,按这种方法把手指弄破了,因此他的父亲,就下令,命令

ce123的技术博客 19万+

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

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

深度学习之RNN,LSTM,GRU,CNN-GRU,ABLSTM(pytorch实现)

RNN模型最重要的贡献就是引入了隐藏层,隐状态存储的都是前一些时刻的相关特征信息,也是隐状态让模型有了记忆的能力。计算公式就类似于线性层。t时刻的H是由t-1时刻的H(也就是记忆的之前的信息),加上Xt(当前时刻的特征)GRU模型和前面的RNN模型很像,包括输入特征、隐藏态、输出。但是又有了改进,主要改进了隐藏态H的计算方法,通过门控制隐状态。这里引进了门,就是数电那种逻辑电路。这里引入了重置门和更新门,都是根据上一个时刻的隐藏态和t时刻的特征X计算得出。GRU还引入了候选隐状态。

Dog_King_的博客 4740

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

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

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

循环神经网络RNN、LSTM、GRU原理详解

一、写在前面 这部分内容应该算是近几年发展中最基础的部分了,但是发现自己忘得差不多了,很多细节记得不是很清楚了,故写这篇博客,也希望能够用更简单清晰的思路来把这部分内容说清楚,以此能够帮助更多的朋友,对于理解错误的地方也希望各位能够留下宝贵的意见,觉得不错别忘了点赞鼓励一下。 二、循环(递归)神经网络RNN 1、神经网络 在开始RNN之前我们先简单的回顾一下神经网络,下图就是一个简单的神经网络的示...

TheHonestBob的博客 4667

深度学习基础入门篇-序列模型[11]:循环神经网络 RNN、长短时记忆网络LSTM、门控循环单元GRU原理和应用详解

RNN会从左到右逐词阅读这个句子,并不断调用一个相同的RNN Cell来处理时序信息,每阅读一个单词,RNN首先将本时刻。

丨汀、的博客 4858

RNN、LSTM、GRU的原理和实现

个人博客:http://www.chenjianqu.com/ 原文链接:http://www.chenjianqu.com/show-41.html 用python实现了经典的RNN,LSTM和GRU单元以便更加深入的理解。 RNN 你在阅读这个句子时,你是一个词一个词地阅读(或者说,眼睛一次扫视一次扫视地阅读),同时会记住之前的内容。这让你能够动态理解这个句子所传达的...

陈建驱的博客 3490

大话循环神经网络RNN、LSTM、GRU

一文极速了解循环神经网络RNN、LSTM、GRU!

全栈O-Jay的博客 4142

深入解析 RNN、LSTM 与 GRU:原理、特点及适用范围

本文详细解析了循环神经网络(RNN)、长短期记忆网络(LSTM)和门控循环单元(GRU)三种模型的原理与特点。RNN结构简单但存在短期记忆缺陷,适合短序列任务;LSTM通过门控机制解决了长期依赖问题,适用于复杂序列任务但计算成本高;GRU在保持LSTM优势的同时简化结构,平衡了性能与效率。实际应用中应根据任务需求选择:短序列用RNN,高精度长序列用LSTM,平衡效率与性能则选GRU。理解三种模型特性对选择合适工具至关重要。

m0_52700943的博客 2048

GRU、LSTM、双向循环神经网络

动手学深度学习笔记一、门控循环单元(GRU)1.重置门和更新门2.候选隐状态3.隐状态4.PyTorch代码二、长短期记忆网络(LSTM)1.输入门、忘记门和输出门2.记忆元3.隐状态4.PyTorch代码三、深度循环神经网络四、双向循环神经网络 学习GRU和LSTM之前可以先看 RNN基础代码-PyTorch 这篇博客 一、门控循环单元(GRU) 1.重置门和更新门 重置⻔允许我们控制“可能还想记住”的过去状态的数量;更新⻔将允许我们控制新状态中有多少个是旧状态的副本。 Rt=σ(XtWxr+Ht−1

weixin_51221144的博客 2076

RNN、LSTM与GRU循环神经网络的深度探索与实战

RNN的核心在于其隐藏层中的节点之间存在循环连接,这种结构允许网络保持对之前输入的记忆,从而在处理序列数据时能够考虑上下文信息。输入层:在每个时间步ttt,接收一个输入向量xtx_txt​。隐藏层:包含一组神经元,每个神经元接收当前时间步的输入xtx_txt​和上一时间步隐藏层的状态ht−1h_{t-1}ht−1​作为输入,输出当前时间步的隐藏状态hth_tht​。隐藏层之间的循环连接是RNN的关键特性。输出层:基于当前时间步的隐藏状态hth_tht​。

qq_42538588的博客 2107

循环神经网络(RNN)、LSTM 与 GRU (一)

本文介绍了三种处理序列数据的神经网络模型:RNN、LSTM和GRU。RNN是最基础的循环神经网络,能够建模序列信息但存在梯度消失问题。LSTM通过引入门控机制和细胞状态解决了长期依赖问题,但计算复杂度较高。GRU作为LSTM的简化版本,仅保留更新门和重置门,在保持性能的同时提高了计算效率。三种模型各有特点:RNN适合简单序列任务,LSTM擅长长序列建模,GRU则在速度和效果间取得平衡。实际应用中可根据任务需求选择合适的模型结构。

Hao_diedie的博客 1688
上一篇: Vision Transformer:ViT网络结构
下一篇: 深度学习知识点:反向传播、生成式对抗网络(GAN)、超参数调整
FriendshipT
FriendshipT 优质创作者: 人工智能技术领域 优质创作者: 人工智能技术领域
博客等级 码龄8年 4万+粉丝 491原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FriendshipT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值