学习笔记:循环神经网络(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

相关推荐
桜吹雪2 小时前
DeepSeekV3.2模型内置Agent体验
javascript·人工智能
2501_945318492 小时前
2025年数字化转型:AI技能+CAIE认证夯实进阶根基
人工智能
今夕资源网2 小时前
[AI工具]Infinite Talk数字人对口型图像转视频AI工具 支持无限时长视频生成
人工智能·数字人·视频生成·ai工具·infinite talk·对口型图像转视频·无限时长
炒毛豆2 小时前
前端可视化-----svg学习笔记
笔记·学习
暗之星瞳2 小时前
PYTHON学习——决策树
python·学习·随机森林
咚咚王者2 小时前
人工智能之数学基础 概率论与统计:第二章 核心定理
人工智能·概率论
式5162 小时前
线性代数(九)线性相关性、基与维数
线性代数·算法·机器学习
小徐Chao努力2 小时前
Spring AI Alibaba A2A 使用指南
java·人工智能·spring boot·spring·spring cloud·agent·a2a
啊阿狸不会拉杆2 小时前
《数字图像处理》第7章:小波变换和其他图像变换
图像处理·人工智能·python·算法·机器学习·计算机视觉·数字图像处理