Schwertlilien
As a recoder: notes and ideas.

2025-4-23-RNN/LSTM简介

RNN(循环神经网络

核心结构: RNN 的设计目的是处理序列数据(如文本、语音),其核心特点是隐藏层神经元之间存在循环连接,允许信息在时间序列中传递。

(每个时间步 $t$ 的隐藏层共享同一组权重 $W_{xh}, W_{hh}$)

  • 输入层:接收当前时刻的输入 $x_t$。

  • 隐藏层

    • 不仅接收当前输入 $x_t$,还通过循环连接接收前一时刻的隐藏状态 $h_{t-1}$。

    • 隐藏层状态更新公式:

      其中,$W_{xh}$ 是输入到隐藏层的权重矩阵,$W_{hh}$ 是隐藏层自连接的权重矩阵,$\sigma$ 通常为 sigmoid 或 tanh 激活函数。

  • 输出层:根据当前隐藏状态 $h_t$ 生成输出 $o_t$,如分类任务中通过 softmax 输出概率。

局限性:梯度消失问题。当序列较长时,早期时间步的梯度通过多次矩阵乘法传递,若权重矩阵的特征值小于 1,梯度会指数级衰减,导致模型难以捕捉长距离依赖。

LSTM(长短期记忆网络)

核心结构: LSTM 是 RNN 的改进版本,通过引入门控机制解决长距离依赖和梯度消失问题。

在每个时间步 t,LSTM 接收当前输入 $x_t$ 和上一时刻的隐藏状态 $h_{t - 1}$ 及细胞状态 $C_{t - 1}$。

  1. 首先,遗忘门根据输入决定从细胞状态中遗忘哪些信息;
  2. 接着,输入门生成候选信息并决定添加哪些信息到细胞状态;
  3. 然后,细胞状态进行更新;
  4. 最后,输出门根据更新后的细胞状态生成当前时刻的隐藏状态 $h_t$ 用于后续计算或输出。

其核心单元是 LSTM 细胞(Cell),包含以下组件:

(门控机制通过 sigmoid 函数输出 0-1 之间的概率值,控制信息流动)

  1. 遗忘门(Forget Gate):决定丢弃细胞状态中的哪些信息,输出 $f_t$(0 表示丢弃,1 表示保留):

  2. 输入门(Input Gate):决定当前输入 $x_t$ 中哪些信息需要更新到细胞状态,输出 $i_t$(候选状态 $\tilde{C}_t$ 通过 tanh 生成):

  3. 细胞状态更新:结合遗忘门和输入门,更新细胞状态 $C_t$:
  4. 输出门(Output Gate):决定隐藏状态 $h_t$ 的输出内容,基于细胞状态 $C_t$ 和 tanh 激活:

关键优势

  • 门控机制:遗忘门和输入门允许模型选择性地保留或丢弃长期信息,缓解梯度消失问题。
  • 梯度传播路径:细胞状态 $C_t$ 直接通过线性操作(加法)传递,避免了传统 RNN 中多次非线性变换导致的梯度衰减。

为什么叫 “长短时”?

  • 短时记忆:LSTM 中的隐藏状态 $h_t$ 类似于传统 RNN 中的隐藏状态,它会根据当前输入和上一时刻的隐藏状态进行更新,能够捕捉到序列中近期的信息,反映了序列的短期变化,因此可以看作是短时记忆。例如,在处理文本时,隐藏状态可以记住当前词及其前后几个词的信息。
  • 长时记忆:细胞状态 $C_t$ 可以长期保存信息,它通过遗忘门和输入门的控制,能够选择性地保留或丢弃信息,使得模型能够记住序列中较远距离的信息。例如,在处理一篇长文章时,细胞状态可以记住文章开头提到的关键信息,并在后续的处理中使用,因此体现了长时记忆的能力。

对比总结

模型 结构特点 解决的问题 适用场景
RNN 隐藏层循环连接,结构简单 短期序列依赖 简单序列任务(如短文本分类)
LSTM 引入门控机制和细胞状态 长距离依赖、梯度消失 长序列任务(如机器翻译、语音识别)
搜索
匹配结果数:
未搜索到匹配的文章。