从RNN、LSTM到GRU的介绍

简介: 从RNN、LSTM到GRU的介绍

前言


循环神经网络(RNN),长短期记忆网络(LSTM),门限循环单元(GRU)。


一、RNN


a783d809c2fe4686ac43d30963a0dfb4.png


RNN原理:神经网络模块A,读取到某个输入x,并且输出一个值h,循环可以使得信息可以从当前一步传到下一步。RNN本质上是与序列和列表相关的。展开来看,RNN可以被看做是同一神经网络的多次复制,每一个神经网络模块都会把信息传递给下一个。展开上图的循环可以得到:


4487a2e5e20046b795648e077a675a33.png


注意:每一个神经网络模块所用的权重参数都是共享的,即权重共享。

RNN的缺点

1、受到短时记忆的影响,如果一条序列足够长,那它们将很难将信息从较早的时间步传送到后面的时间步,即长期依赖问题。

2、梯度可能会随着时间的推移不断下降减少,而梯度变的非常小的时候,就不会再继续学习,可能会发生梯度消失。

RNN神经网络模块内部结构:在标准RNN中,这个模块只有一个很简单的结构,例如tanh层。


80484b4b673748ceab13a76facd3537b.png



二、LSTM

LSTM定义:是一种RNN特殊的类型,通过刻意的结构设计来解决长期依赖问题。在传统RNN基础上引入了细胞状态,可以对输入信息进行选择和保存,这是LSTM的关键。


相比与RNN的优点

1、弥补RNN短时记忆的缺点,可以有效保存很长时间之前的关联信息。

2、可以减少梯度消失和梯度爆炸问题。


4dcd371064fd4766a576b4524e2716c7.png

细胞状态:细胞状态类似于传送带,直接在整个链上运行,交互较少,信息在上面流传保持不变会比较容易。



86b782e848e04df0b16decb5f5af8fbd.png

门结构:LSTM 有通过精心设计的称作为“门”的结构来去除或者增加信息到细胞状态的能力。门是一种让信息选择式通过的方法。他们包含一个 sigmoid 神经网络层和一个按位的乘法操作。Sigmoid 层输出 0 到 1 之间的数值,描述每个部分有多少量可以通过。0 代表“不许任何量通过”,1 就指“允许任意量通过”!LSTM 拥有三个门,来保护和控制细胞状态。


9b15aa80862746fab7f839857be937d4.png


遗忘门:该门的作用是将上一个细胞的输出h t − 1 和当前细胞的输入x t  ,经过线性变换(h t − 1 和 x t 分别与 W f相乘然后相加)再经过sifmoid层输出一个0到1之间的数值。1表示完全保留,0表示完全舍弃。我们可能希望忘记一些旧的主语,并且记住一些新的主语,这时候遗忘门就起到了作用。


f79ec54c4a6a4094813a0517e701592d.png



输入门:确定什么样的新信息被存放在细胞状态中。这里包含两个部分。第一,sigmoid 层称 “输入门层” 决定什么值我们将要更新。然后,一个 tanh 层创建一个新的候选值向量,会被加入到状态中。


e2f686c0be2946f7afc1a52c4587f143.png


细胞状态更新:更新细胞状态,使用上一个细胞状态C t − 1 ,遗忘门的输出、输入门的输出,经过点击、相加等操作, C t − 1更新为C t  。


4a07c09ef8934a02b1a4385efda9762c.png

输出门:确定输出值,即过滤后的一个版本。(首先上一个细胞状态h t − 1 和该细胞的输入x t 通过线性变换,再经过sigmoid层来确定将哪个部分输出,即o t ,接着我们把细胞状态C t − 1  通过tanh进行处理,得到一个-1到1之间的值,并将它和sigmoid门的输出o t  相乘,得到最终的输出h t  。)


d2dd12e195ab47af8d808c557ea42838.png


三、GRU


GRU定义:GRU是LSTM的一个变体,保持了LSTM效果的同时又使得结构更加简单。将遗忘门和输入们合并成为了一个单一的更新门。并且GRU没有细胞状态,大大简化了结构,相比于LSTM,GRU有更少的参数,训练的时候过拟合问题没有那么严重。


ab66339182584478bc95267eb042fb58.png


参考文章:

理解 LSTM 网络.

LSTM网络的变体之GRU网络.


总结

好热,烤熟了。


相关文章
|
14天前
|
机器学习/深度学习 自然语言处理 PyTorch
21_RNN与LSTM:序列建模的经典方法
在自然语言处理领域,处理序列数据是一个核心挑战。传统的机器学习方法难以捕捉序列中的时序依赖关系,而循环神经网络(Recurrent Neural Network,RNN)及其变种长短期记忆网络(Long Short-Term Memory,LSTM)通过其独特的循环结构,为序列建模提供了强大的解决方案。本教程将深入探讨RNN和LSTM的原理、实现方法和最新应用,帮助读者全面掌握这一NLP核心技术。
|
8月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GRU网络的MQAM调制信号检测算法matlab仿真,对比LSTM
本研究基于MATLAB 2022a,使用GRU网络对QAM调制信号进行检测。QAM是一种高效调制技术,广泛应用于现代通信系统。传统方法在复杂环境下性能下降,而GRU通过门控机制有效提取时间序列特征,实现16QAM、32QAM、64QAM、128QAM的准确检测。仿真结果显示,GRU在低SNR下表现优异,且训练速度快,参数少。核心程序包括模型预测、误检率和漏检率计算,并绘制准确率图。
220 65
基于GRU网络的MQAM调制信号检测算法matlab仿真,对比LSTM
|
机器学习/深度学习 PyTorch 算法框架/工具
RNN、LSTM、GRU神经网络构建人名分类器(三)
这个文本描述了一个使用RNN(循环神经网络)、LSTM(长短期记忆网络)和GRU(门控循环单元)构建的人名分类器的案例。案例的主要目的是通过输入一个人名来预测它最可能属于哪个国家。这个任务在国际化的公司中很重要,因为可以自动为用户注册时提供相应的国家或地区选项。
|
机器学习/深度学习
RNN、LSTM、GRU神经网络构建人名分类器(二)
这个文本描述了一个使用RNN(循环神经网络)、LSTM(长短期记忆网络)和GRU(门控循环单元)构建的人名分类器的案例。案例的主要目的是通过输入一个人名来预测它最可能属于哪个国家。这个任务在国际化的公司中很重要,因为可以自动为用户注册时提供相应的国家或地区选项。
|
机器学习/深度学习 人工智能 自然语言处理
7.1 NLP经典神经网络 RNN LSTM
该文章介绍了自然语言处理中的情感分析任务,探讨了如何使用深度神经网络,特别是循环神经网络(RNN)和长短时记忆网络(LSTM),来处理和分析文本数据中的复杂情感倾向。
|
机器学习/深度学习 数据采集
RNN、LSTM、GRU神经网络构建人名分类器(一)
这个文本描述了一个使用RNN(循环神经网络)、LSTM(长短期记忆网络)和GRU(门控循环单元)构建的人名分类器的案例。案例的主要目的是通过输入一个人名来预测它最可能属于哪个国家。这个任务在国际化的公司中很重要,因为可以自动为用户注册时提供相应的国家或地区选项。
|
2月前
|
机器学习/深度学习 算法 安全
【PSO-LSTM】基于PSO优化LSTM网络的电力负荷预测(Python代码实现)
【PSO-LSTM】基于PSO优化LSTM网络的电力负荷预测(Python代码实现)
115 0
|
4月前
|
机器学习/深度学习 算法 数据挖掘
基于WOA鲸鱼优化的BiLSTM双向长短期记忆网络序列预测算法matlab仿真,对比BiLSTM和LSTM
本项目基于MATLAB 2022a/2024b实现,采用WOA优化的BiLSTM算法进行序列预测。核心代码包含完整中文注释与操作视频,展示从参数优化到模型训练、预测的全流程。BiLSTM通过前向与后向LSTM结合,有效捕捉序列前后文信息,解决传统RNN梯度消失问题。WOA优化超参数(如学习率、隐藏层神经元数),提升模型性能,避免局部最优解。附有运行效果图预览,最终输出预测值与实际值对比,RMSE评估精度。适合研究时序数据分析与深度学习优化的开发者参考。
|
4月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GA遗传优化的BiLSTM双向长短期记忆网络序列预测算法matlab仿真,对比BiLSTM和LSTM
本内容包含基于BiLSTM与遗传算法(GA)的算法介绍及实现。算法通过MATLAB2022a/2024b运行,核心为优化BiLSTM超参数(如学习率、神经元数量),提升预测性能。LSTM解决传统RNN梯度问题,捕捉长期依赖;BiLSTM双向处理序列,融合前文后文信息,适合全局信息任务。附完整代码(含注释)、操作视频及无水印运行效果预览,适用于股票预测等场景,精度优于单向LSTM。
|
1月前
|
机器学习/深度学习 数据采集 资源调度
基于长短期记忆网络定向改进预测的动态多目标进化算法(LSTM-DIP-DMOEA)求解CEC2018(DF1-DF14)研究(Matlab代码实现)
基于长短期记忆网络定向改进预测的动态多目标进化算法(LSTM-DIP-DMOEA)求解CEC2018(DF1-DF14)研究(Matlab代码实现)

热门文章

最新文章