LSTM论文解读
LSTM 的 “记忆逻辑”
可以把它想象成一个带 “门卫” 和 “仓库” 的记忆系统:
-
输入门是 “仓库管理员”,决定哪些新货物(新信息)能放进仓库(细胞状态);
-
细胞状态是 “仓库”,用来长期存放关键货物(长期记忆);
-
输出门是 “提货员”,决定仓库里的哪些货物能被取出去用(输出记忆);
-
整个存储单元通过这种 “门控 + 循环记忆” 的机制,解决了传统循环网络 “记不住长时信息” 的问题。

输入门
输入
来自当前时间步的输入 x_t(如文本序列中的当前词向量、时间序列的当前观测值)。
来自上一时间步的隐藏状态 h_t-1上一时刻 LSTM 的输出,包含历史信息)。
输出
输入门通过Sigmoid 激活函数生成一个 0 到 1 之间的向量 i_t,公式为:

这个向量的作用是控制 “新信息” 进入细胞状态的比例:0 表示完全不让新信息进入,1 表示完全让新信息进入。

输出门:
输入
同样来自当前时间步的输入x_t
同样来自上一时间步的隐藏状态 h_t-1
输出
输出门通过Sigmoid 激活函数生成一个 0 到 1 之间的向量 o_t,公式为:

这个向量的作用是控制 “细胞状态中的记忆” 输出到隐藏状态的比例:0 表示完全不让记忆输出,1 表示完全让记忆输出。
可以看到,输入门和输出门都用 了“当前输入 x_t + 上一隐藏状态 h_t-1” 作为输入,是因为 LSTM 需要同时参考 “历史记忆” 和 “当前信息” 来做决策:
- 输入门要决定 “当前新信息是否值得存入长期记忆”,必须结合 “历史记忆h_t-1 里包含的细胞状态信息)” 和 “当前输入(\(x_t\) 的新内容)”。
- 输出门要决定 “当前记忆是否值得输出”,也必须结合 “历史记忆的上下文h_t-1” 和 “当前任务的需求x_t 的当前目标)”。
- 权重和偏置不同,是为了让输入门专注于 “存信息” 的决策、输出门专注于 “取信息” 的决策
权重和偏置不同,是为了让输入门专注于 “存信息” 的决策、输出门专注于 “取信息” 的决策
遗忘门
输入:
当前时间步的输入 x_t
.上一时间步的隐藏状态 h_t-1
输出
通过Sigmoid 激活函数生成一个 0 到 1 之间的向量 f_t,公式为:

遗忘门的核心作用是控制 “历史细胞状态 \(C_{t-1}\) 中有多少信息需要被遗忘”:
输出 f_t 中,接近 1 的元素表示 “对应位置的历史记忆要保留”;
接近 0 的元素表示 “对应位置的历史记忆要遗忘”。
它与上一细胞状态 C_t-1 做逐元素相乘
,实现 “选择性遗忘历史记忆” 的效果。
简单来说,遗忘门是 LSTM 的 “记忆清理工”—— 它决定了历史记忆中哪些是冗余的、需要丢弃的,从而让细胞状态能高效存储真正有价值的长期信息。
细胞状态
阶段 1:细胞状态的更新
输入
上一时间步的细胞状态(历史记忆)。
输入门的输出 (控制新信息的权重)。
候选细胞状态
生成方式:由当前输入 x_t 和上一隐藏状态 h_t-1 经Tanh 激活函数计算得到,公式为:
Tanh 的输出范围是\([-1, 1]\),可以理解为对 “新信息” 的压缩与归一化,让新信息的幅度更可控。
候选细胞状态是当前时间步 “潜在的新记忆”,它的作用是为细胞状态 C_t 提供 “待存入的新信息”。
运算和输出
细胞状态的更新公式为:

阶段2:细胞状态的输出
输入:
新的细胞状态 C_t(当前更新后的记忆)
输出门的输出 o_t(控制记忆输出的权重)
输出
隐藏状态的生成公式为:

即 “输出门过滤后的细胞状态(经 Tanh 缩放)”,这个 h_t 会作为当前时间步的输出,同时传递到下一时间步作为输入。
信息流动的完整逻辑


这样设计的核心目的是让 LSTM 能在 “长期记忆的存储” 和 “短期输出的决策” 之间找到平衡,既不会因为只关注当前而忘记历史,也不会因为执着于历史而忽略当前任务
补充
一、Sigmoid 激活函数

在 LSTM 中,Sigmoid 被用于 “门控”(输入门、输出门、遗忘门),因为它的输出在 0 到 1 之间,天然适合表示 “开关的强度”:
输出接近 1 时,表示 “门完全打开”(允许信息通过);
输出接近 0 时,表示 “门完全关闭”(阻止信息通过)。
二、Tanh 激活函数

在 LSTM 中,Tanh 主要用于 “信息的压缩与归一化”:

简单来说,Sigmoid 是 LSTM 的 “决策者”(决定哪些信息该存、该取),而 Tanh 是 “整理者”(把新信息或记忆整理成适合存储 / 输出的形式)。这种分工让 LSTM 既能精准控制信息的流动,又能高效管理长期记忆的存储。

