news 2026/6/23 12:04:55

学习笔记:循环神经网络(RNN)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
学习笔记:循环神经网络(RNN)

引入

FNN的特点:假定数据是相互独立的,当数据存在前后依赖关系时(即序列数据)模型的效果不好。在处理时间序列敏感的问题和任务时效果不好。

举一个小例子:

我喜欢吃苹果! 苹果真是一家很棒的公司!

问题:问题:哪个“苹果”指的是水果,哪个指的是公司?

在深度学习领域,FNN具有出色的表现,取得了许多成功。但是它每次处理数据都是独立的,无法处理前后具有关系的数据。这个问题在处理一些自然文本上比较致命。举一个关于苹果 的例子: 在这两个句子中,“苹果”都需要依靠前后文才能知道具体指代的意思。这就需要我们结合上下文去训练模型。

循环神经网络(RNN)

循环神经网络(RNN)是一种专门用于处理序列数据的人工神经网络,其通过在网络结构中引入循环连接,使当前时刻的隐藏状态不仅依赖于当前输入,还依赖于前一时刻的隐藏状态,从而能够建模序列中的时序依赖关系。

RNN的核心思想是网络的隐藏状态(hidden state)可以在时间上传递,这样网络就能够记住之前的信息。 简单来说,前馈神经网络的隐藏层状态仅由输入决定。循环神经网络的隐藏层状态由此刻的输出和上一刻的隐藏层状态同时决定。

RNN流程:

问题提出:传统单层网络的局限性

  • 单层网络的基本流程:输入 x → 线性变换 Wx+b → 激活函数 f → 输出 y。
  • 短板:这种结构只能处理独立的单个输入,无法处理多序列形数据(比如文本、时间序列等存在前后关联的数据)。

核心改进:引入隐状态 h 捕捉序列关联

  • 为解决序列问题,RNN 新增了隐状态(hidden state)h,这是 RNN 的核心。
  • 隐状态的计算逻辑:当前时刻的隐状态 ht​ 由 上一时刻的隐状态 ht−1​ 和 当前时刻的输入 xt​ 共同决定(对应内容里的 h1​ 由 h0​ 和 x1​ 计算而来),计算公式可参考对应的 PPT 左下角。

计算流程:时序迭代计算 + 输出生成

  • 隐状态迭代计算:从序列的第一个输入开始,依次计算每个时刻的隐状态。
    • 关键特点:所有时刻使用的参数 、、 完全相同,这是 RNN 的 “参数共享” 特性,也是它能处理任意长度序列的关键。
    • 序列长度:示例中仅展示了序列长度为 4 的情况,实际计算过程可以无限持续,适配任意长度的序列数据。
  • 输出生成:每个时刻的输出 yt​ 直接通过当前时刻的隐状态 ht​ 计算得到(对应内容里的最上面式子)。
    • 关键特点:生成所有输出时,使用的参数 、 也完全相同,和隐状态的参数共享逻辑一致。

经典 RNN 的局限性

  • 这段内容也点明了一个关键约束:输入序列和输出序列必须等长,这也是后续 LSTM、GRU 以及 Seq2Seq 模型需要解决的问题之一。

把刚刚的图简化一下,就是常见的RNN的网络样子啦!

RNN存在的问题

RNN 会受到短时记忆的影响。如果输入过长,就会产生“遗忘”

LSTM

长短期记忆网络(Long Short-Term Memory, LSTM)是一种特殊的RNN结构,旨在解决传统RNN在长序列建模中容易出现的梯度消失与梯度爆炸问题。

具体而言,LTSM引入了额外的记忆(memory)参数,来更好地保存长距离的序列依赖关系。 同时引入遗忘门、输入门、和输出门,能够有选择性地控制信息的流动。

RNN VS LSTM:

普通RNN:重复单一的神经网络层

LSTM:

  • LSTM 包含4个层,并以一种特殊的方式进行交互
  • 记忆状态C是贯穿整个网络的核心信息通道,它像一条“传送带”,用来储存长期依赖的信息。

遗忘门

遗忘门负责“丢弃”信息,读取上一个输出h_t−1和当前输入x_t,做一个Sigmoid 的非线性映射,然后输出一个向量f_t),最后与细胞状态C_t−1相乘。

输入门

确定什么样的新信息被存放在细胞状态中,输入门的根据上一时刻输入状态ht-1和这一时刻输入xt ,生成一个由0-1之间的数组成的向量,判断候选输入信息中哪些要存入长期状态ct。

记忆状态

ct-1更新为ct。

输出门

决定当前时刻隐藏状态输出多少信息。输出门的根据上一时刻输入状态ht-1和这一时刻输入xt ,生成一个由0-1之间的数组成的向量,判断长期状态ct中哪些信息要用于输出。

LSTM的变体:Peephole LSTM

  • 在计算门控时,直接“窥视”记忆单元C_t
  • 门的开闭不仅依赖h_t−1和x_t,还依赖于C_t−1

优势:对需要精确计时或长期依赖的任务(如时间序列预测)更有效。

LSTM的变体:GRU

  • 将 LSTM 的输入门和遗忘门合并为更新门(update gate)
  • 隐藏状态和记忆状态合并为一个统一状态
  • 结构比 LSTM 简单,参数更少

优势:训练速度快,在很多自然语言处理任务上效果接近或略优于 LSTM

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/22 21:17:46

Q#调用Python变量总是失败?90%开发者忽略的2个关键细节

第一章:Q#调用Python变量失败的根源剖析在量子计算与经典计算混合编程场景中,Q# 作为微软推出的量子编程语言,常需与 Python 协同工作。然而,开发者在尝试从 Q# 中直接调用 Python 变量时,往往遭遇运行时错误或编译失败…

作者头像 李华
网站建设 2026/6/22 19:47:30

ImageOptim跨平台图像优化:macOS全版本兼容实战指南

ImageOptim跨平台图像优化:macOS全版本兼容实战指南 【免费下载链接】ImageOptim GUI image optimizer for Mac 项目地址: https://gitcode.com/gh_mirrors/im/ImageOptim 在macOS生态系统中,ImageOptim作为一款专业的GUI图像优化工具&#xff0c…

作者头像 李华
网站建设 2026/6/23 13:08:52

配置丢失不再怕,VSCode量子开发环境备份实战经验分享

第一章:配置丢失不再怕,VSCode量子开发环境备份的意义在量子计算开发中,VSCode已成为主流集成开发环境之一,广泛用于Q#、Qiskit等框架的代码编写与调试。随着项目复杂度提升,开发者常依赖大量自定义配置、扩展插件和工…

作者头像 李华
网站建设 2026/6/23 5:08:21

深度解密:大模型DPO训练中隐藏的置信度衰减效应与优化策略

深度解密:大模型DPO训练中隐藏的置信度衰减效应与优化策略 【免费下载链接】Qwen3-4B-Base 探索语言极限,Qwen3-4B-Base引领大模型新篇章。集成多元训练数据与前沿技术,实现更高质的预训练与扩展的语言理解能力,助您开启智能文本处…

作者头像 李华
网站建设 2026/6/23 15:08:50

ConvertX性能优化终极指南:5个快速提升文件转换速度的秘诀

ConvertX性能优化终极指南:5个快速提升文件转换速度的秘诀 【免费下载链接】ConvertX 💾 Self-hosted online file converter. Supports 700 formats 项目地址: https://gitcode.com/GitHub_Trending/co/ConvertX 你是否曾经在文件转换时遇到页面…

作者头像 李华