当前位置: 首页 > news >正文

RNN 与 LSTM:解密序列数据的 “记忆大师”

在处理文本、语音、时间序列等序列数据时,传统神经网络因无法捕捉数据间的顺序依赖关系而受限。循环神经网络(RNN)及其进阶版长短期记忆网络(LSTM)应运而生,成为序列建模的核心工具。本文将带你深入了解 RNN 与 LSTM 的原理、差异及应用。

一、RNN:序列数据的 “入门记忆者”

(一)RNN 的诞生背景

序列数据(如文本中 “我喜欢自然语言处理”,当前词与前面的词紧密相关;或股票价格,今日走势受昨日影响)的核心特点是上下文依赖。但传统神经网络(如全连接网络)在处理这类数据时,是 “一次性” 输入所有信息,模型无法学习到数据的顺序关系,就像读文章时不按顺序看字,自然无法理解语义。

为解决这一问题,RNN 被提出。它在处理序列输入时具有记忆性,能保留之前输入的信息,并将其作为后续输入的一部分参与计算。

(二)RNN 的结构与原理

RNN 引入了 隐状态(hidden state,用h表示)的概念,隐状态可对序列数据提取特征并转换为输出。

从结构上看,RNN 按时间步展开,每个时间步t的计算都依赖当前输入 xt 和上一时间步的隐状态  h(t-1)。其核心计算公式为其中,U是输入到隐状态的权重矩阵,W是隐状态到隐状态的权重矩阵,b是偏置项,f通常是激活函数(如 tanh)。

同时,RNN 有一个重要特点:参数共享。每个时间步使用的U、W、b都是相同的,这大大减少了模型需要学习的参数数量。

在输出方面,RNN 的输出\(y_t\)由当前隐状态\(h_t\)计算得到,例如通过 softmax 函数:其中V是隐状态到输出的权重矩阵,c是偏置项。

(三)RNN 的缺陷

RNN 虽能处理序列数据,但存在长期依赖问题。随着序列长度增加,梯度在反向传播过程中会不断衰减(梯度消失)或爆炸,导致模型难以学习到长距离的依赖关系。

可以用 “传声筒游戏” 来类比:在游戏中,信息从第一个人传到最后一个人时,前面的关键信息会逐渐丢失,RNN 就像玩传声筒的人,距离远的信息很难被记住,因为梯度随时间推移不断下降,当梯度值过小时,模型就难以继续有效学习。

二、LSTM:长短期记忆的 “优化大师”

(一)LSTM 的设计初衷

为解决 RNN 的长期依赖问题,LSTM(Long Short - Term Memory,长短期记忆网络)被提出。它是 RNN 的一种特殊类型,能学习长期依赖信息,大部分与 RNN 模型结构相似,但用不同的函数来计算隐状态,从而更好地控制信息的留存与遗忘。

比如我们在网上看商品评价时,大脑会下意识记住 “好看”“真酷” 等关键评价词,而忽略 “我”“也” 等无关字词;第二天朋友问起,我们能说出核心观点,无关内容则被遗忘。LSTM 就如同这样的 “记忆筛选器”,学习保留相关信息用于预测,遗忘不相关数据。

(二)LSTM 的核心机制:门结构

LSTM 通过 门(gate) 的内部机制来调节信息流,主要有三种门结构:

1. 遗忘门(Forget Gate)

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

2. 输入门(Input Gate)

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

  • 首先将前一层隐藏状态的信息和当前输入的信息传递到 sigmoid 函数中,将值调整到 0~1 之间,以此决定要更新哪些信息(0 表示不重要,1 表示重要);
  • 再将前一层隐藏状态的信息和当前输入的信息传递到 tanh 函数中,创造一个新的候选值向量;
  • 最后将 sigmoid 的输出值与 tanh 的输出值相乘,sigmoid 的输出值决定 tanh 的输出值中哪些信息是重要且需要保留下来的。
3. 输出门(Output Gate)

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

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

这些门结构协同工作,让 LSTM 能有效控制长期信息的存储与短期无关信息的遗忘,从而解决了 RNN 的长期依赖问题。

(三)LSTM 与 RNN 的对比

特性RNNLSTM
长期依赖学习能力弱,易出现梯度消失 / 爆炸强,能学习长期依赖
内部机制无特殊门结构,仅通过简单的隐状态传递有遗忘门、输入门、输出门,精准控制信息流
应用场景短序列任务(如简单的词性标注)长序列任务(如机器翻译、文本生成、时间序列预测)

三、总结

RNN 开启了序列数据建模的大门,解决了传统神经网络无法处理顺序依赖的问题,但受限于长期依赖学习能力。LSTM 作为 RNN 的进阶,通过门结构巧妙地控制信息的留存与遗忘,突破了长期依赖的瓶颈,成为处理长序列数据的有力工具。在实际应用中,需根据序列长度、任务需求等因素选择合适的模型,让这些 “记忆大师” 更好地为序列数据建模服务。

http://www.dtcms.com/a/400025.html

相关文章:

  • 【力扣LeetCode】 1422_分割字符串的最大得分
  • 东莞企业网站推广公司可以看任何网站的浏览器
  • SQL,使用递归 CTE 删除层级菜单项
  • wordpress做英文站怎样做一个网站
  • 泰安本地网站南宁网站建设公司比优建站
  • 做视频上什么网站找创意青岛福瀛建设集团有限公司网站
  • 工程公司网站模板下载电子商务的网站设计
  • Linux安装tomcat
  • 02、Python从入门到癫狂:函数与数据容器
  • 新能源知识库(107)什么是欧盟的电池新规?
  • 杭州做网站优化广州注册公司在哪个网站
  • Docker 日志管理与备份实践文档
  • 做网站猫腻大吗wordpress 设置cookie
  • 网站提示风险可以做微积分的网站
  • 清河网站建设设计费用自媒体平台收益
  • 斯坦福Percy Liang团队:如果有足够显卡,如何设计最佳预训练策略?
  • 旅游网站设计图片内蒙古网上办事大厅官网
  • Tomcat服务器指南
  • 无用知识研究:用sfinae实现函数模板的overload [一]
  • 网站建设入门教学网站建设788gg
  • 湖南网站建设平台泰安网络安全培训
  • 做电视网站需要多大的服务器哈尔滨网站空间
  • 【Linux】基础IO(1)
  • 在目标图像中查找带 Alpha 掩码的 PNG 图标
  • MQTT 镜像部署文档
  • IPv4 报文中标识字段的理解
  • C语言:实现有序数组插入元素
  • day02-电路基础2
  • 开发避坑指南(56):IDEA2025.1.3新版本,这样配置工具栏,常用操作速度提升50%
  • springboot项目添加请求链路追踪日志traceId