深度学习-大白话解释循环神经网络RNN

发布于:2025-03-05 ⋅ 阅读:(185) ⋅ 点赞:(0)

目录

一、RNN的思想

 二、RNN的基本结构

网络架构

​关键点

 三、RNN的前向传播

四、RNN的挑战:梯度爆炸和梯度消失

问题分析

​示例推导

五、LSTM:RNN的改进

核心组件

​网络架构

3. LSTM 的工作流程

4. 数学公式总结

5. LSTM 的优缺点

​优点

​缺点

6. LSTM 的变种与改进

​1. Peephole LSTM

​2. 双向 LSTM

六:GRU

1. GRU 的核心目标

2. GRU 的基本结构

​核心组件

网络架构

3. GRU 的工作流程

4. 数学公式总结

5. GRU 的优缺点

​优点

​缺点

6. GRU 的变种与改进

​1. 双向 GRU

​2. 带 Peephole 的 GRU


一、RNN的思想

  • 目标: 处理具有 ​时序关系​(时间顺序上的相互联系和依存关系) 的数据(如时间序列、自然语言、语音等)。
  • 核心特点:
    • 隐藏状态的传递: 隐藏状态在每个时间步被更新并传递到下一个时间步。
    • 记忆能力: 通过隐藏状态捕捉序列中的长期依赖关系。

 二、RNN的基本结构

网络架构

一个典型的 RNN 包含以下部分:

  1. 输入层​ (Xt​): 接收当前时间步的输入。
  2. 隐藏层​ (Ht​):
    • 公式:
    • Wih​: 输入到隐藏层的权重矩阵。
    • Whh​: 隐藏层到隐藏层的权重矩阵(核心参数)。
    • bh​: 隐藏层偏置项。
    • f: 激活函数(如 Tanh、ReLU)。
  3. 输出层​ (Yt​): 生成当前时间步的输出。
    • 公式:
    • Who​: 隐藏层到输出层的权重矩阵。
    • bo​: 输出层偏置项。
    • g: 输出激活函数(如 Sigmoid、Softmax)。

关键点

  • 时间步: 数据按顺序依次处理(如单词序列逐词处理)。
  • 隐藏状态 Ht​: 承载序列的历史信息,是 RNN 的“记忆”。

 三、RNN的前向传播

以序列长度为 T 的数据为例:

  1. 初始化: 初始隐藏状态 H0​(通常设为全零)。没次增加时间步时,都会增加一个H,用来保证后面的输出和前面的输出有关,乘上的权重代表前面的与后面的相关性大小。
  2. 迭代计算:
    • 对每个时间步 t=1,2,...,T

四、RNN的挑战:梯度爆炸和梯度消失

问题分析

  • 梯度消失: 在长序列中,梯度随时间步指数级衰减(反向传播时多次相乘)。
  • 梯度爆炸: 梯度随时间步指数级增长。

示例推导

假设简单 RNN 的误差项 δt​ 反向传播:

若 ∣Whh​∣<1,乘积趋近于零(梯度消失);若 ∣Whh​∣>1,乘积趋近于无穷(梯度爆炸)。 反向传播的时候需要对权重连乘,很容易梯度消失或爆炸

五、LSTM:RNN的改进

核心组件

  1. 记忆单元(Memory Cell)​:
    • 用于存储长期序列中的关键信息。
  2. 门控单元:
    • 输入门(Input Gate)​: 控制新信息进入记忆单元。
    • 遗忘门(Forget Gate)​: 控制旧信息从记忆单元中移除。
    • 输出门(Output Gate)​: 控制记忆单元的信息输出到下一层。

网站公告

今日签到

点亮在社区的每一天
去签到