《动手学深度学习》-54循环神经网络RNN

1. 核心思想:引入"记忆"

传统的神经网络(如全连接层)假设输入是相互独立的。但语言、视频、股票等数据是序列数据 (Sequence Data),上下文有关联。

  • RNN 的突破:在处理当前时刻t的输入时,不仅看当前的输入Xt,还要看上一时刻的隐状态Ht-1
2. 数学模型 (核心公式

RNN 的核心在于隐状态 (Hidden State) 的更新。假设时间步为 t

  1. 隐状态更新

  2. 输出计算

    • : 当前时刻的输出(例如预测下一个词的概率分布)。
3. 结构图解:时间展开

可以将 RNN 理解为多个全连接层在时间上串联,但它们共用同一套权重

4. 训练方法:BPTT
  • BPTT (Backpropagation Through Time):随时间反向传播。

  • 计算梯度时,误差不仅反向传过当前的层,还要沿着时间轴向前回溯,一直传到序列的开始(或截断点)。

5. RNN vs N-gram (对比笔记)

你刚学过 N-gram,两者的区别在于:

  • N-gram:只能看有限的历史(N-1) 阶),参数量随 N指数级爆炸,无法建模长距离依赖。

  • RNN:理论上可以看任意长的历史(信息存储在 H中),参数量固定(权重共享),更适合处理变长序列。

6. 局限性与挑战

虽然 RNN 理论上能记忆长距离信息,但实际上很难训练:

  • 梯度消失 (Vanishing Gradient):时间步太长,早期的信息在反向传播中逐渐归零,导致模型"忘掉"了开头的词。

  • 梯度爆炸 (Exploding Gradient):梯度指数级增长,导致权重更新过大,模型崩溃。

    • 解决爆炸:梯度裁剪 (Gradient Clipping)

    • 解决消失:使用 LSTMGRU (门控机制)。


相关推荐
Linguwen31 分钟前
外贸GEO01|GEO是什么?生成式引擎优化,AI时代的新流量密码
人工智能
物质波波波37 分钟前
WS-RPE:面向边缘物理AI实时特征值计算的硬件工作窃取调度器与冗余PE激活架构
人工智能·fpga开发·架构·系统架构·硬件架构
起个名字好难啊这也被占用了40 分钟前
LangGraphjs可中断可恢复的AI工作流
人工智能·ai编程
@Mr_LiuYang44 分钟前
状态栏动态上下文信息追加到Agent --《深入理解 AI Agent :设计原理与工程实践》实验2-8
人工智能·大模型·动态上下文·状态栏信息追加
碳基猿1 小时前
新媒体运营的终局:从“内容创作”走向“运营系统竞争”
人工智能·新媒体运营·产品运营·新媒体矩阵·多账号管理·矩阵分发·矩阵运营方法论
阿里云大数据AI技术1 小时前
阿里云 EMR Daft AI Function:用 DataFrame 表达式搞定大模型调用与多模态向量化
人工智能·spark
jerryinwuhan1 小时前
鱼苗投放检测系统设计
人工智能
阿里云大数据AI技术2 小时前
官宣|Apache Fluss 毕业成为顶级项目,湖流一体开启 Agentic Lake 全面实时化时代
人工智能·flink
敲代码的玉米C2 小时前
测试一直在写你的真实数据根
前端·人工智能·架构