长短期记忆网络(LSTM)中的三个门控机制及其作用
字数 1758 2025-11-21 06:35:18

长短期记忆网络(LSTM)中的三个门控机制及其作用

题目描述
长短期记忆网络(LSTM)是一种特殊的循环神经网络(RNN),专为解决传统RNN的梯度消失和长期依赖问题而设计。其核心在于三个门控机制:输入门、遗忘门和输出门。这些门控通过sigmoid和tanh激活函数,协同调控信息的流动,实现长期记忆的保留与更新。本题将详细讲解这三个门控的原理、计算步骤及其在序列建模中的作用。


解题过程

1. LSTM的基本结构

LSTM的单元结构包含一个细胞状态(Cell State)和三个门控。细胞状态贯穿整个时间步,充当“记忆通道”,而门控则通过参数学习决定信息的添加或移除。下面逐步分析每个组件。


2. 遗忘门(Forget Gate)

作用:决定从上一细胞状态 \(C_{t-1}\) 中丢弃哪些信息。
计算步骤

  1. 输入当前时间步的输入 \(x_t\) 和上一时间步的隐藏状态 \(h_{t-1}\)
  2. 通过sigmoid函数输出一个介于0到1之间的值,对应 \(C_{t-1}\) 中每个维度的保留比例:

\[ f_t = \sigma(W_f \cdot [h_{t-1}, x_t] + b_f) \]

其中:

  • \(W_f\)\(b_f\) 是遗忘门的权重和偏置。
  • \(\sigma\) 是sigmoid函数,将输出映射到 [0,1]:接近0表示“完全遗忘”,接近1表示“完全保留”。

示例:若句子为“今天天气很好,但下午__”,遗忘门可能弱化“今天”的无关信息,强化“下午”的上下文。


3. 输入门(Input Gate)

作用:控制当前输入 \(x_t\) 对细胞状态的更新程度。
计算步骤

  1. 生成候选值:使用tanh函数创建一个新的候选记忆向量 \(\tilde{C}_t\),范围在 [-1,1]:

\[ \tilde{C}_t = \tanh(W_C \cdot [h_{t-1}, x_t] + b_C) \]

  1. 生成输入权重:通过sigmoid函数决定候选值的哪些部分被纳入细胞状态:

\[ i_t = \sigma(W_i \cdot [h_{t-1}, x_t] + b_i) \]

  1. 更新细胞状态:结合遗忘门和输入门的结果,更新细胞状态 \(C_t\)

\[ C_t = f_t \odot C_{t-1} + i_t \odot \tilde{C}_t \]

其中 \(\odot\) 表示逐元素乘法。

示例:输入门可能学习到“下午”后应添加“下雨”等新信息,同时忽略无关词汇。


4. 输出门(Output Gate)

作用:基于当前细胞状态 \(C_t\),决定隐藏状态 \(h_t\) 的输出内容。
计算步骤

  1. 通过sigmoid函数筛选 \(C_t\) 中需要输出的部分:

\[ o_t = \sigma(W_o \cdot [h_{t-1}, x_t] + b_o) \]

  1. \(C_t\) 通过tanh函数缩放至 [-1,1],再与输出门逐元素相乘,得到当前隐藏状态 \(h_t\)

\[ h_t = o_t \odot \tanh(C_t) \]

\(h_t\) 用于当前时间步的预测,并传递至下一时间步。

示例:输出门可能只暴露“下雨”这一关键信息,用于预测后续词(如“带伞”)。


5. 门控的协同作用与意义

  • 长期依赖处理:遗忘门和输入门共同调节细胞状态,使网络能保留远期信息(如段落开头的主题),同时融入新信息。
  • 梯度流动优化:细胞状态的加法更新(非乘法)缓解了梯度消失,使梯度在反向传播时更稳定。
  • 参数化控制:所有门控的权重在训练中学习,使LSTM自适应不同序列模式。

总结
LSTM通过三个门控(输入门、遗忘门、输出门)和细胞状态,实现了对序列信息的精细控制。其计算过程可概括为:

  1. 遗忘门决定保留多少过去记忆。
  2. 输入门选择添加多少新信息。
  3. 输出门控制当前隐藏状态的暴露内容。
    这种设计使LSTM在长序列任务(如机器翻译、时间序列预测)中显著优于传统RNN。
长短期记忆网络(LSTM)中的三个门控机制及其作用 题目描述 长短期记忆网络(LSTM)是一种特殊的循环神经网络(RNN),专为解决传统RNN的梯度消失和长期依赖问题而设计。其核心在于三个门控机制:输入门、遗忘门和输出门。这些门控通过sigmoid和tanh激活函数,协同调控信息的流动,实现长期记忆的保留与更新。本题将详细讲解这三个门控的原理、计算步骤及其在序列建模中的作用。 解题过程 1. LSTM的基本结构 LSTM的单元结构包含一个细胞状态(Cell State)和三个门控。细胞状态贯穿整个时间步,充当“记忆通道”,而门控则通过参数学习决定信息的添加或移除。下面逐步分析每个组件。 2. 遗忘门(Forget Gate) 作用 :决定从上一细胞状态 \( C_ {t-1} \) 中丢弃哪些信息。 计算步骤 : 输入当前时间步的输入 \( x_ t \) 和上一时间步的隐藏状态 \( h_ {t-1} \)。 通过sigmoid函数输出一个介于0到1之间的值,对应 \( C_ {t-1} \) 中每个维度的保留比例: \[ f_ t = \sigma(W_ f \cdot [ h_ {t-1}, x_ t] + b_ f) \] 其中: \( W_ f \) 和 \( b_ f \) 是遗忘门的权重和偏置。 \( \sigma \) 是sigmoid函数,将输出映射到 [ 0,1 ]:接近0表示“完全遗忘”,接近1表示“完全保留”。 示例 :若句子为“今天天气很好,但下午__ ”,遗忘门可能弱化“今天”的无关信息,强化“下午”的上下文。 3. 输入门(Input Gate) 作用 :控制当前输入 \( x_ t \) 对细胞状态的更新程度。 计算步骤 : 生成候选值 :使用tanh函数创建一个新的候选记忆向量 \( \tilde{C}_ t \),范围在 [ -1,1 ]: \[ \tilde{C} t = \tanh(W_ C \cdot [ h {t-1}, x_ t] + b_ C) \] 生成输入权重 :通过sigmoid函数决定候选值的哪些部分被纳入细胞状态: \[ i_ t = \sigma(W_ i \cdot [ h_ {t-1}, x_ t] + b_ i) \] 更新细胞状态 :结合遗忘门和输入门的结果,更新细胞状态 \( C_ t \): \[ C_ t = f_ t \odot C_ {t-1} + i_ t \odot \tilde{C}_ t \] 其中 \( \odot \) 表示逐元素乘法。 示例 :输入门可能学习到“下午”后应添加“下雨”等新信息,同时忽略无关词汇。 4. 输出门(Output Gate) 作用 :基于当前细胞状态 \( C_ t \),决定隐藏状态 \( h_ t \) 的输出内容。 计算步骤 : 通过sigmoid函数筛选 \( C_ t \) 中需要输出的部分: \[ o_ t = \sigma(W_ o \cdot [ h_ {t-1}, x_ t] + b_ o) \] 将 \( C_ t \) 通过tanh函数缩放至 [ -1,1],再与输出门逐元素相乘,得到当前隐藏状态 \( h_ t \): \[ h_ t = o_ t \odot \tanh(C_ t) \] \( h_ t \) 用于当前时间步的预测,并传递至下一时间步。 示例 :输出门可能只暴露“下雨”这一关键信息,用于预测后续词(如“带伞”)。 5. 门控的协同作用与意义 长期依赖处理 :遗忘门和输入门共同调节细胞状态,使网络能保留远期信息(如段落开头的主题),同时融入新信息。 梯度流动优化 :细胞状态的加法更新(非乘法)缓解了梯度消失,使梯度在反向传播时更稳定。 参数化控制 :所有门控的权重在训练中学习,使LSTM自适应不同序列模式。 总结 LSTM通过三个门控(输入门、遗忘门、输出门)和细胞状态,实现了对序列信息的精细控制。其计算过程可概括为: 遗忘门决定保留多少过去记忆。 输入门选择添加多少新信息。 输出门控制当前隐藏状态的暴露内容。 这种设计使LSTM在长序列任务(如机器翻译、时间序列预测)中显著优于传统RNN。