文章目录
- [一、LSTM 网络概述](#一、LSTM 网络概述)
-
- [1. 什么是 LSTM 网络](#1. 什么是 LSTM 网络)
- [2. RNN 网络的基础结构](#2. RNN 网络的基础结构)
- [3. Tanh 双曲正切函数](#3. Tanh 双曲正切函数)
- [4. Sigmoid 函数](#4. Sigmoid 函数)
- [二、LSTM 网络内部结构](#二、LSTM 网络内部结构)
-
- [1. 遗忘门](#1. 遗忘门)
- [2. 输入门](#2. 输入门)
- [3. 输出门](#3. 输出门)
一、LSTM 网络概述
1. 什么是 LSTM 网络
LSTM 网络,全称为长短期记忆网络(Long Short‑Term Memory),是循环神经网络(RNN)的一种经典变体。它的大部分基础架构与标准 RNN 一致,但通过重新设计隐状态 h 的更新方式,有效缓解了传统 RNN 在处理长序列时容易出现的梯度弥散或梯度激增问题。LSTM 的核心创新在于引入了带自循环的"细胞状态"通道,使得信息能够在时间步之间选择性地持续传递或被舍弃,从而具备捕捉远距离时序依赖关系的能力。
生活类比:
假设你在浏览某电商平台的商品评论区,打算根据买家反馈决定是否下单。当你快速翻阅大量评论时,大脑会下意识地记住一些关键形容词,比如"性价比高""做工精细"或"物流很快",而自动忽略"了""的""吗"等虚词。第二天朋友问起这些评论的内容,你肯定不会逐字复述,而是概括出印象最深的几个结论,例如"质量不错,值得购买"。那些无关紧要的细节早已从你的短期记忆中淡出,这正是注意力与遗忘机制的直观体现。
2. RNN 网络的基础结构
如下图所示,RNN 按时间步依次处理输入序列:每个单词的词向量首先与上一时刻的隐状态结合,经过线性变换和 tanh 激活函数后,得到当前时刻的隐状态,再传递给下一时刻。如此反复,直到最后一个输入处理完毕,最终产生整体输出。

3. Tanh 双曲正切函数
该激活函数将输入值压缩至 (-1, 1) 区间,起到非线性映射和数值归一化的作用,常用于控制状态更新的幅度。
4. Sigmoid 函数
Sigmoid 函数将输入映射到 (0, 1) 范围,其输出可解释为"门控信号"的开启程度,0 表示完全关闭,1 表示完全打开,是 LSTM 中所有门控单元的基础激活函数。

二、LSTM 网络内部结构
LSTM 的精髓在于其内部的"细胞状态"(即记忆单元),该状态贯穿整个时间链,并由三种门控机制(遗忘门、输入门、输出门)协同调控信息的流入、保留与流出。
1. 遗忘门
当前输入 x 和上一时刻隐状态 h 分别与各自的权重矩阵 U、W 相乘,加上偏置后,送入 Sigmoid 激活函数,产生一个介于 0 和 1 之间的遗忘系数。随后,该系数与上一时刻的细胞状态 c(即"记忆仓库")进行点积运算,结果中接近 0 的部分会被丢弃,接近 1 的部分则得以保留。
初始时刻,细胞状态 c 为空。随着每个新词的输入,经过遗忘门筛选后,保留下来的重要信息会被逐渐添加到仓库中。这一过程反复进行,最终仓库中累积的即为整个序列的关键特征。

功能:决定从上一时间步的细胞状态中剔除哪些无用信息。
执行步骤:
将前一隐状态与当前输入共同输入 Sigmoid 函数,输出值越接近 0 表示越应遗忘,越接近 1 表示越应保留。
2. 输入门
功能:判断当前时刻的输入数据中有哪些新信息值得被存入细胞状态,从而完成状态的更新。

执行步骤:
① 将前一隐状态和当前输入同时送入 Sigmoid 函数,得到"更新权重",取值 0~1,用以评估各分量是否重要。
② 将同样的两份信息送入 tanh 函数,生成一个候选值向量(新知识的雏形)。
③ 将 Sigmoid 的输出(权重)与 tanh 的输出(候选值)逐元素相乘,只有被权重标记为重要的候选内容才被允许写入细胞状态。最终,这些筛选后的信息与原有状态相加,完成记忆的更新。
3. 输出门
功能:基于当前更新后的细胞状态,确定下一时刻的隐状态应当携带哪些信息,即决定最终要对外输出的内容。

执行步骤:
① 将前一隐状态和当前输入一同送入 Sigmoid 函数,得到一个输出门控信号。
② 将刚刚更新完毕的细胞状态送入 tanh 函数,将值缩放至 (-1, 1)。
③ 将 tanh 的输出与 Sigmoid 的输出相乘,得到当前时刻的隐状态。该隐状态既作为本时间步的输出,也会连同新的细胞状态一起传递给下一个时间步,继续参与后续的计算。
(此过程确保了每一步的输出都经过门控筛选,避免无关噪声干扰后续预测)