一、 RNN介绍

循环神经网络(Recurrent Neural Network,简称 RNN)是一种专门用于处理序列数据的神经网络,在自然语言处理、语音识别、时间序列预测等领域有广泛应用。

传统神经网络

无法训练出具有顺序的数据。模型搭建时没有考虑数据上下之间的关系。

提出一种新的神经网络

RNNRecurrent Neural Network)在处理序列输入时具有记忆性,可以保留之前输入的信息并继续作为后续输入的一部分进行计算。

RNN的特点:引入了隐状态hhidden state)的概念,隐状态h可以对序列形的数据提取特征,接着再转换为输出。

(1)、在计算时,每一步使用的参数UWb都是一样的,也就是说每个步骤的参数都是共享的,这是RNN的重要特点;

(2)下文的LSTMGRU中的权值则不共享。

RNN结构中输入是x1, x2, .....xn,输出为y1, y2, ...yn,也就是说,输入和输出序列必须要是等长的。

RNN的局限性:

        当出现“我的职业是程序员,…,我最擅长的是电脑。当需要预测最后的词“电脑。当前的信息建议下一个词可能是一种技能,但是如果我们需要弄清楚是什么技能,需要先前提到的离当前位置很远的“职业是程序员的上下文。这说明相关信息和当前预测位置之间的间隔就变得相当的大。

在理论上,RNN绝对可以处理这样的长期依赖问题。人们可以仔细挑选参数来解决这类问题中的最初级形式,但在实践中,RNN则没法太好的学习到这些知识。

原因是:梯度会随着时间的推移不断下降减少,而当梯度值变得非常小时,就不会继续学习。​

二、LSTM

长短期记忆网络(Long Short - Term Memory,LSTM)是一种特殊的循环神经网络(RNN),它在处理序列数据时,能有效解决传统 RNN 存在的梯度消失和梯度爆炸问题,从而更好地捕捉序列中的长期依赖关系。

原理:

传统 RNN 在处理长序列时,由于在反向传播过程中梯度会不断相乘,容易导致梯度消失(梯度趋近于 0)或梯度爆炸(梯度变得非常大),使得模型难以学习到序列中的长期依赖信息。LSTM 通过引入门控机制,能够选择性地记忆和遗忘信息,从而有效解决这一问题。

结构

LSTM 单元主要由三个门(输入门、遗忘门、输出门)和一个细胞状态组成:

遗忘门(Forget Gate):

功能决定应丢弃哪些关键词信息。

步骤:来自前一个隐藏状态的信息和当前输入的信息同时传递到 sigmoid 函数中去,输出值介于 0 1 之间,越接近 0 意味着越应该丢弃,越接近 1 意味着越应该保留。

输入门(Input Gate):

功能:用于更新细胞状态。

步骤:1首先将前一层隐藏状态的信息和当前输入的信息传递到 sigmoid 函数中去。将值调整到 0~1 之间来决定要更新哪些信息。0 表示不重要,1 表示重要。2、将前一层隐藏状态的信息和当前输入的信息传递到 tanh 函数中去,创造一个新的侯选值向量。最后将 sigmoid 的输出值与 tanh 的输出值相乘,sigmoid 的输出值将决定 tanh 的输出值中哪些信息是重要且需要保留下来的。

细胞状态(Cell State):它是 LSTM 的核心,用于保存序列中的长期信息。在每个时间步,细胞状态会根据遗忘门和输入门的输出进行更新。

输出门(Output Gate):

功能:用来确定下一个隐藏状态的值。

步骤:1、将前一个隐藏状态和当前输入传递到 sigmoid 函数中,然后将新得到的细胞状态传递给 tanh 函数。2、将 tanh 的输出与 sigmoid 的输出相乘,以确定隐藏状态应携带的信息。再将隐藏状态作为当前细胞的输出,把新的细胞状态和新的隐藏状态传递到下一个时间步长中去。

sigmoid函数图像:

tanh函数图像:

三、总结

RNN:在每个时间步,接收当前输入和上一时刻的隐藏状态,通过激活函数计算当前隐藏状态和输出,信息传递较为直接,但容易出现梯度消失或爆炸问题,导致长序列信息难以有效传递和利用。
LSTM:在每个时间步,输入门决定当前输入信息有多少要存入细胞状态,遗忘门控制细胞状态中需要遗忘的信息,输出门根据细胞状态和当前隐藏状态决定输出内容。这种机制使得 LSTM 能够选择性地记忆和遗忘信息,更有效地处理长序列中的关键信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/903198.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/903198.shtml
英文地址,请注明出处:http://en.pswp.cn/news/903198.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

优考试V4.20机构版【附百度网盘链接】

优考试局域网考试系统具有强大的统计分析功能。优考试通过对考试数据进行统计分析,诸如考试分数分布,考试用时分布,错排行等,让你从整体上了解你的学员(员工)状态, 同时你也可以对学员&#xff…

【Amazing晶焱科技高速 CAN Bus 传输与 TVS/ESD/EOS 保护,将是车用电子的生死关键无标题】

台北国际车用电子展是亚洲地区重量级的车用电子科技盛会,聚焦于 ADAS、电动车动力系统、智慧座舱、人机界面、车联网等领域。各大车厂与 Tier 1 供应链无不摩拳擦掌,推出最新技术与创新解决方案。 而今年,“智慧座舱” 无疑将成为全场焦点&am…

面试:结构体默认是对齐的嘛?如何禁止对齐?

是的。 结构体默认是对齐的‌。结构体对齐是为了优化内存访问速度和减少CPU访问内存时的延迟。结构体对齐的规则如下: 某数据类型的变量存放的地址需要按有效对齐字节剩下的字节数可以被该数据类型所占字节数整除,char可以放在任意位置,int存…

如何优雅地解决AI生成内容粘贴到Word排版混乱的问题?

随着AI工具的广泛应用,越来越多人开始使用AI辅助撰写论文、报告或博客。然而,当我们直接将AI生成的文本复制到Word文档中时,常常会遇到排版混乱、格式异常的问题。这是因为大部分AI输出时默认使用了Markdown格式,而Word对Markdown…

Golang | HashMap实现原理

HashMap是一种基于哈希表实现的键值对存储结构,它通过哈希函数将键映射到数组的索引位置,支持高效的插入、查找和删除操作。其核心原理如下: 哈希函数:将键转换为数组索引。理想情况下,不同键应映射到不同索引&#xf…

vue3学习之防抖和节流

​ 在前端开发中,我们经常会遇到这样的情况:某些事件(如滚动、输入、点击等)会频繁触发,如果不加以控制,可能会导致性能问题。Vue3 中的防抖(Debounce)和节流(Throttle&a…

4.2.2 MySQL索引原理以及SQL优化

文章目录 4.2.2 MySQL索引原理以及SQL优化1. 索引与约束1. 索引是什么2. 索引的目的3. 几种索引4. 约束1.外键2. 约束 vs 索引的区别 5. 索引实现1. 索引存储2. 页3. B树4. B树层高问题5. 自增id6. 聚集索引7. 辅助索引 8. innnodb体系结构1. buffer pool2. change buffer 9. 最…

【学习笔记】文件包含漏洞--本地远程包含、伪协议、加密编码

一、文件包含漏洞 和SQL等攻击方式一样,文件包含漏洞也是一种注入型漏洞,其本质就是输入一段用户能够控制的脚本或者代码,并让服务端执行。 什么叫包含呢?以PHP为例,我们常常把可重复使用的函数写入到单个文件中&…

蓝桥杯 2021年模拟赛 扫雷问题

题目: 在一个 n 行 m 列的方格图上有一些位置有地雷,另外一些位置为空。 请为每个空位置标一个整数,表示周围八个相邻的方格中有多少个地雷。 输入描述 输入的第一行包含两个整数 n,m。 第 22行到第n1 行每行包含 m 个整数,相…

写windows服务日志-.net4.5.2-定时修改数据库中某些参数

环境: windows 11 Visual Studio 2015 .net 4.5.2 SQL Server 目的: 定时修改数据库中某些参数的值 定时修改24小时内,SQL数据库中,表JD_Reports 内,如果部门是‘体检科,设置打印类型为 1 可以打印。步骤&a…

madvise MADV_FREE对文件页统计的影响及原理

一、背景 madvise系统调用是一个与性能优化强相关的一个系统调用。madvise系统调用包括使用madvise函数,也包含使用posix_fadvise函数。如我们可以使用posix_fadvise传入POSIX_FADV_DONTNEED来清除文件页的page cache以减少内存压力。 这篇博客里,我们…

于键值(KV)的表

基于键值(KV)的表 将行编码为键值(KVs) 索引查询:点查询和范围查询 在关系型数据库中,数据被建模为由行和列组成的二维表。用户通过SQL表达他们的意图,而数据库则神奇地提供结果。不那么神奇的…

2025年邵阳市工程技术研究中心申报流程、条件、奖补

一、邵阳市工程技术研究中心申报条件 (一)工程技术研究中心主要依托科技型企业组建,依托单位应具有以下条件: 1. 具有较强技术创新意识的领导班子和技术水平高、工程化实践经验丰富的工程技术研发队伍,其中固定人员…

Python+AI提示词出租车出行轨迹预测:梯度提升GBR、KNN、LR回归、随机森林融合及贝叶斯概率异常检测研究

原文链接:tecdat.cn/?p41693 在当今数字化浪潮席卷全球的时代,城市交通领域的海量数据如同蕴藏着无限价值的宝藏等待挖掘。作为数据科学家,我们肩负着从复杂数据中提取关键信息、构建有效模型以助力决策的使命(点击文末“阅读原文…

系统重装——联想sharkbay主板电脑

上周给一台老电脑重装系统系统,型号是lenovo sharkbay主板的电脑,趁着最近固态便宜,入手了两块长城的固态,装上以后插上启动U盘,死活进不去boot系统。提示 bootmgr 缺失,上网查了许久,终于解决了…

python连接Elasticsearch并完成增删改查

python库提供了elasticsearch模块,可以通过以下命令进行快速安装,但是有个细节需要注意一下,安装的模块版本要跟es软件版本一致,此处举例:7.8.1 pip install elasticsearch==7.8.1 首先连接elasticsearch,以下是免密示例 from elasticsearch import Elasticsearch# El…

PDF嵌入图片

所需依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itext-core</artifactId><version>9.0.0</version><type>pom</type> </dependency>源码 /*** PDF工具*/ public class PdfUtils {/*** 嵌入图…

目标检测篇---faster R-CNN

目标检测系列文章 第一章 R-CNN 第二篇 Fast R-CNN 目录 目标检测系列文章&#x1f4c4; 论文标题&#x1f9e0; 论文逻辑梳理1. 引言部分梳理 (动机与思想) &#x1f4dd; 三句话总结&#x1f50d; 方法逻辑梳理&#x1f680; 关键创新点&#x1f517; 方法流程图关键疑问解答…

Seaborn模块练习题

1.使用tips数据集&#xff0c;创建一个展示不同时间段(午餐/晚餐)账单总额分布的箱线图 import seaborn as sns import matplotlib.pyplot as plt import pandas as pdsns.set_style("darkgrid") plt.rcParams["axes.unicode_minus"] Falsetips pd.read…

计算机网络 | 应用层(1)--应用层协议原理

&#x1f493;个人主页&#xff1a;mooridy &#x1f493;专栏地址&#xff1a;《计算机网络&#xff1a;自定向下方法》 大纲式阅读笔记 关注我&#x1f339;&#xff0c;和我一起学习更多计算机的知识 &#x1f51d;&#x1f51d;&#x1f51d; 目录 1. 应用层协议原理 1.1 …